zs
2025-06-04 5a149d626ae8bc3fa4bddbb53f8caf40f51f6da6
PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Views/Pages/CallMaterialOrder/CallMaterialOrder.tsx
@@ -14,6 +14,12 @@
import { 
  getWmsEnumData 
} from '@/widgets/CallMaterialOrder/Models/Service/CallMaterialOrderDrawer' 
// 引入公共选项配置
import {
  FILTER_MODE_OPTIONS_STRING_KEY
} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
// 引入公共高级查询工具文件
import { commonSaveCurHighQueryData,setValueForCurHighQueryData,commonGetHighQueryForm,initQueryForm,GetFilteredData } from '@/utils/myHighQueryUtils';
import { 
  ElInput, 
  ElSelect, 
@@ -66,11 +72,7 @@
 
    //定义高级查询引用 
   const callMaterialOrderQueryDrawerRef=ref(null); 
    // 新增的查询条件
    const queryForm = ref({
      searchVal: '',
      str_searchFormInputAttrs:[]
    })
    //定义整体模糊查询的列数组(注意:必须大小写跟后端的实体类属性名一致,否则会导致匹配不对的问题) 
    const _searchFormInputAttrs = ref([ 
     'DataIdentifier','MaterialMode','WmsRetResult','WmsTaskNo','CreatorName','LastModifierName','Remark' 
@@ -98,62 +100,40 @@
        console.error('获取枚举数据失败:', error) 
      } 
    } 
    // 组件挂载时获取枚举数据
    onMounted(() => {
      fetchEnumData()
    })
    // 定义响应式查询数据
    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] });
    // 新版的查询方法(主页面中的按钮【查询】)
    const handleQueryForMain = async () => {
      _curHighQueryData.value.searchVal = queryForm.value.searchVal;
      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
      tableRef.value.getList(_curHighQueryData.value)
    }
    // 新版的查询方法(高级查询中的按钮【查询】)
    const handleQuery = async (extraParams = {}) => {
      let filteredData = commonGetHighQueryForm(extraParams);
      commonSaveCurHighQueryData(filteredData);
      tableRef.value.getList(filteredData)
    }
    // 新版的查询重置
    const resetQuery = () => {
      queryForm.value.searchVal = ''
      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
    }
     //新版的导出方法
     const handleExport=()=>{
      onExport(_curHighQueryData.value);
    }
    // 新版的查询弹出框关闭方法
    const closeQuery = (extraParams={}) => {
      let filteredData = commonGetHighQueryForm(extraParams);
      console.log("closeQuery方法");
      console.log(filteredData);
      commonSaveCurHighQueryData(filteredData);
    }
    //保存查询值
    const commonSaveCurHighQueryData=(filteredData={})=>{
      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
      _curHighQueryData.value.searchVal = queryForm.value.searchVal
      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
    }
     //获取高级查询弹出框的查询值
     const commonGetHighQueryForm=(extraParams={})=>{
      // 过滤掉 undefined 的值
      let filteredData = Object.assign(
        {},
        ...Object.entries(extraParams).map(([key, value]) =>
          value !== undefined ? { [key]: value } : {}
        )
      )
      //组合模糊查询
      filteredData.searchVal = queryForm.value.searchVal
      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
      return filteredData;
    }
 // 组件挂载时获取枚举数据
     onMounted(() => {
       fetchEnumData()
       resetQuery();
     })
     /*******************************************************[高级查询]开始********************************************************************************* */
     // 新增的查询条件
     const queryForm = ref({ searchVal: '',str_searchFormInputAttrs:[],searchVal_FilterMode:'' });
     // 定义响应式查询数据
     const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[],searchVal_FilterMode:'' });
     // 新版的查询方法(主页面中的按钮【查询】)
     const handleQueryForMain = async () => {
       setValueForCurHighQueryData(_curHighQueryData,queryForm,_searchFormInputAttrs);
       tableRef.value.getList(_curHighQueryData.value)
     }
     // 新版的查询方法(高级查询中的按钮【查询】)
     const handleQuery = async (extraParams = {}) => {
       let filteredData = GetFilteredData(extraParams,queryForm,_searchFormInputAttrs,_curHighQueryData);
       tableRef.value.getList(filteredData)
     }
     // 新版的查询重置
     const resetQuery = () => {
       initQueryForm(queryForm,_searchFormInputAttrs,FILTER_MODE_OPTIONS_STRING_KEY);
       setValueForCurHighQueryData(_curHighQueryData,queryForm,_searchFormInputAttrs);
     }
      //新版的导出方法
      const handleExport=()=>{
       onExport(_curHighQueryData.value);
     }
     // 新版的查询弹出框关闭方法
     const closeQuery = (extraParams={}) => {
       GetFilteredData(extraParams,queryForm,_searchFormInputAttrs,_curHighQueryData);
     }
     /*******************************************************[高级查询]结束********************************************************************************* */
    
 
    /** 
@@ -335,6 +315,21 @@
                /> 
                </el-tooltip> 
              </ElFormItem> 
              <ElFormItem label="" style="width:100px;">
                   <ElSelect
                                v-model={queryForm.value.searchVal_FilterMode}
                                placeholder="请选择"
                                class={styles.formItem}
                              >
                                {FILTER_MODE_OPTIONS_STRING_KEY.map((option) => (
                                  <ElOption
                                    key={option.value}
                                    label={option.label}
                                    value={option.value}
                                  />
                                ))}
                              </ElSelect>
              </ElFormItem>
              <IconButton type="primary" icon="search" onClick={handleQueryForMain}> 
                查询 
              </IconButton>