zs
2025-05-20 1772504da433bec2f1695d47e5946c1192e876fb
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Controllers/EntityModeQueryDrawerÄ£°å.txt
@@ -14,6 +14,15 @@
import isEqual from 'lodash/isEqual'
import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
import { cloneDeep } from 'lodash'
// å¼•入公共选项配置
import {
  FILTER_MODE_OPTIONS_STRING,
  FILTER_MODE_OPTIONS_NUM,
  FILTER_MODE_OPTIONS_BOOL
} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
import {
  BOOLEAN_OPTIONS
} from '@/utils/commonOptionConstants';
export const use$EntityName$QueryDrawer = (props: any, ctx?: any) => {
  const $PageMenuInstanceName$Drawer = injectModel<$EntityName$Drawer>('$EntityName$Drawer')
@@ -90,12 +99,26 @@
    const check = isEqual(initiateData.value, data)
    return check
  }
  const commonGetFormData=()=>{
    const data = {
      $Save_PageAddFormAttributes_Query$
  /**
 * èŽ·å–è¡¨å•æ•°æ® - ä¼˜åŒ–版
 */
const commonGetFormData = () => {
  const data = {};
  // éåŽ†è¡¨å•é…ç½®æ”¶é›†æ•°æ®
  formItems.forEach(item => {
    // æ”¶é›†åŸºç¡€å­—段
    data[item.prop] = formData.value[item.prop] || '';
    // æ”¶é›†è¿‡æ»¤æ¨¡å¼å­—段
    if (item.highSelectAttrs && item.highSelectAttrs.prop) {
      const filterModeProp = item.highSelectAttrs.prop;
      data[filterModeProp] = formData.value[filterModeProp] || '';
    }
    return data;
  }
  });
  return data;
}
  const onClose = (done: () => void) => {
    if (visible.value) {
      visible.value = false
@@ -110,15 +133,45 @@
    const data =commonGetFormData();
    ctx.emit('confirmQuery', data)
  }
  /**
   * é‡ç½®æŸ¥è¯¢
   */
  const onReset = async () => {
    formData.value = {}
    $Save_PageAddFormAttributes_Query_Clear$
    //向父组件发送自定义事件
    ctx.emit('restQuery');
  }
  /**
   * é‡ç½®å…¬å…±select查询
   */
  const onResetForHighSelect = () => {
      // éåŽ†æ‰€æœ‰è¡¨å•å­—æ®µ
      formItems.forEach(item => {
        // æ£€æŸ¥å­—段是否有高级查询的过滤模式配置
        if (item.highSelectAttrs && item.highSelectAttrs.prop) {
          const filterModeProp = item.highSelectAttrs.prop;
          const options = item.highSelectAttrs.options || [];
          // å¦‚果存在选项,则设置为第一个选项的值
          if (options.length > 0) {
            // å‡è®¾é€‰é¡¹æ ¼å¼ä¸º { value, label } æˆ–类似结构
            const firstValue = options[0].value !== undefined ? options[0].value : options[0];
            formData.value[filterModeProp] = firstValue;
          }
        }
      });
  }
    /**
    * é‡ç½®æŸ¥è¯¢ - ä¼˜åŒ–版
    */
    const onReset = async () => {
        // 1. æ¸…空所有基础字段(不包含过滤模式字段)
        const baseFields = formItems.reduce((acc, item) => {
        acc[item.prop] = '';
        return acc;
        }, {});
        // 2. åº”用基础字段初始值
        formData.value = { ...baseFields };
        // 3. ä½¿ç”¨åŽŸæœ‰æ–¹æ³•é‡ç½®è¿‡æ»¤æ¨¡å¼å­—æ®µ
        onResetForHighSelect(); // ä¿ç•™åŽŸæœ‰æ–¹æ³•è°ƒç”¨
        // 4. å‘父组件发送自定义事件
        ctx.emit('restQuery');
    }
  const updateCheckData = () => {
    initiateData.value = {
@@ -143,6 +196,7 @@
    $CommonQueryEnumForFrom$
  }
  commonQueryEnumForFrom()
  onResetForHighSelect();//重置公共select查询
  /**
   * å¼¹çª—打开获取详情
   */