From 1ad40156ec25db1b9d90c3f94819434e20d52b00 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 16 5月 2025 13:12:45 +0800
Subject: [PATCH] 222

---
 PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx |  693 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 400 insertions(+), 293 deletions(-)

diff --git a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
index 1b66ffb..a43d578 100644
--- a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
+++ b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
@@ -1,293 +1,400 @@
-import { 
-  ref, 
-  onMounted, 
-  reactive, 
-  computed, 
-  Ref, 
-  watch, 
-  SetupContext, 
-  h, 
-} from 'vue' 
-import { injectModel } from '@/libs/Provider/Provider' 
-import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer' 
-import { ElMessage } from 'element-plus' 
-import isEqual from 'lodash/isEqual' 
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
-import { cloneDeep } from 'lodash' 
- 
-export const useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => { 
-  const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>('CallMaterialOrderDrawer') 
-  /** 
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
-   */ 
-  const initiateData: Ref<Record<string, any>> = ref({}) 
-  const formData = ref<Record<string, any>>({}) 
-  // ref 
-  const formRef = ref() 
- 
-  const disabled = ref(false) 
- 
-  const current = computed(() => { 
-    return props.row || null 
-  }) 
- 
-  const inputNumber = (attrs) => { 
-    return ( 
-      <el-input-number 
-        min="1" 
-        step="1" 
-        precision="0" 
-        {...attrs} 
-      ></el-input-number> 
-    ) 
-  } 
- 
-    const datePickerRange = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="daterange" 
-        value-format="YYYY-MM-DD HH:mm:ss" 
-        start-placeholder="寮�濮嬫棩鏈�" 
-        end-placeholder="缁撴潫鏃ユ湡" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-  const dateTimePickerRange = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="datetimerange" 
-        value-format="YYYY-MM-DD HH:mm:ss" 
-        start-placeholder="寮�濮嬫棩鏈�" 
-        end-placeholder="缁撴潫鏃ユ湡" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-  const visible = computed({ 
-    get() { 
-      return props.modelValue 
-    }, 
-    set(val) { 
-      ctx.emit('update:modelValue', val) 
-    }, 
-  }) 
-  /** 
-   * 楂樼骇鏌ヨ鐨刦orm瀛楁 
-   */ 
-  const formItems = reactive([ 
-                    { 
-                   label: '鍘熸枡鏍囪瘑', 
-                   prop: 'dataIdentifier', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ師鏂欐爣璇�', 
-                }, 
-                { 
-                   label: '鍘熸枡鍨嬪彿', 
-                   prop: 'materialMode', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�', 
-                }, 
-                { 
-                   label: '鍙枡鐘舵��', 
-                   prop: 'callMaterialStatus', 
-                   el: 'select', 
-                   clearable:true, 
-                   option: [], 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�', 
-                }, 
-                { 
-                   label: '鍙枡鏁伴噺', 
-                   prop: 'quantity', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true,  
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�', 
-                }, 
-                { 
-                   label: 'WMS杩斿洖缁撴灉', 
-                   prop: 'wmsRetResult', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏MS杩斿洖缁撴灉', 
-                }, 
-                { 
-                   label: 'WMS浠诲姟鍙�', 
-                   prop: 'wmsTaskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏MS浠诲姟鍙�', 
-                }, 
-                { 
-                   label: '鍒涘缓鏃堕棿', 
-                   prop: 'creationTime', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(dateTimePickerRange, {  
-                       ...props,
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ垱寤烘椂闂�', 
-                }, 
-                { 
-                   label: '淇敼鏃堕棿', 
-                   prop: 'lastModificationTime', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(dateTimePickerRange, {  
-                       ...props,
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�', 
-                }, 
-                { 
-                   label: '鍒涘缓浜�', 
-                   prop: 'creatorName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ垱寤轰汉', 
-                }, 
-                { 
-                   label: '淇敼浜�', 
-                   prop: 'lastModifierName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ慨鏀逛汉', 
-                }, 
-                { 
-                   label: '澶囨敞', 
-                   prop: 'remark', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ娉�', 
-                },  
-  ]) 
-  /** 
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
-   */ 
-  const checkIsEqualObject = () => { 
-    const data = { 
-      formData: formData.value, 
-    } 
-    const check = isEqual(initiateData.value, data) 
-    return check 
-  } 
-  const commonGetFormData=()=>{ 
-    const data = { 
-      dataIdentifier: formData.value.dataIdentifier || '', 
-materialMode: formData.value.materialMode || '', 
-callMaterialStatus: formData.value.callMaterialStatus || '', 
-quantity: formData.value.quantity || '', 
-wmsRetResult: formData.value.wmsRetResult || '', 
-wmsTaskNo: formData.value.wmsTaskNo || '', 
-creationTime: formData.value.creationTime || '', 
-lastModificationTime: formData.value.lastModificationTime || '', 
-creatorName: formData.value.creatorName || '', 
-lastModifierName: formData.value.lastModifierName || '', 
-remark: formData.value.remark || '',  
-    } 
-    return data; 
-  } 
-  const onClose = (done: () => void) => { 
-    if (visible.value) { 
-      visible.value = false 
-      const data =commonGetFormData(); 
-      ctx.emit('close', data) 
-    } 
-  } 
-  /** 
-   * 纭鏌ヨ 
-   */ 
-  const onConfirmQuery = async () => { 
-    const data =commonGetFormData(); 
-    ctx.emit('confirmQuery', data) 
-  } 
-  /** 
-   * 閲嶇疆鏌ヨ 
-   */ 
-  const onReset = async () => { 
-    formData.value = {} 
-    formData.value.dataIdentifier = '' 
-formData.value.materialMode = '' 
-formData.value.callMaterialStatus = '' 
-formData.value.quantity = '' 
-formData.value.wmsRetResult = '' 
-formData.value.wmsTaskNo = '' 
-formData.value.deletionTime = '' 
-formData.value.operationRemark = '' 
-formData.value.deleteRemark = '' 
-formData.value.remark = '' 
-formData.value.extraField1 = '' 
-formData.value.extraField2 = '' 
-formData.value.extraField3 = ''  
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
-    ctx.emit('restQuery'); 
-  } 
- 
-  const updateCheckData = () => { 
-    initiateData.value = { 
-      formData: { 
-        ...formData.value, 
-      }, 
-    } 
-  } 
-  const updateFormItemOptions = (propName: string, enumData: any[]) => { 
-    const item = formItems.find((item) => item.prop === propName) 
-    if (item && enumData) { 
-      item.options = enumData.map((item) => ({ 
-        label: item.description, 
-        value: item.value, 
-      })) 
-    } 
-  } 
-  /** 
-   * 閫氱敤鏌ヨ鏋氫妇 
-   */ 
-  const commonQueryEnumForFrom = async () => { 
-    const callMaterialStatusEnumEnum = await callMaterialOrderDrawer.getWmsEnumData({ 
- EnumName: 'CallMaterialStatusEnum', 
-}) 
-updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum) 
- 
-  } 
-  commonQueryEnumForFrom() 
-  /** 
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
-   */ 
-  const onOpen = async () => { 
-    disabled.value = false 
-    updateCheckData() 
-  } 
- 
-  watch(() => current.value, onOpen) 
- 
-  return { 
-    formItems, 
-    formData, 
-    visible, 
-    formRef, 
-    onOpen, 
-    onClose, 
-    onConfirmQuery, 
-    onReset, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer'
+import { ElMessage } from 'element-plus'
+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 useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => {
+  const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>(
+    'CallMaterialOrderDrawer'
+  )
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+  const datePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="daterange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetimerange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 楂樼骇鏌ヨ鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '鍘熸枡鏍囪瘑',
+      prop: 'dataIdentifier',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ師鏂欐爣璇�',
+      highSelectAttrs: {
+        prop: 'dataIdentifier_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鍘熸枡鍨嬪彿',
+      prop: 'materialMode',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�',
+      highSelectAttrs: {
+        prop: 'materialMode_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鍘熸枡鎵规',
+      prop: 'materialBatch',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ師鏂欐壒娆�',
+      highSelectAttrs: {
+        prop: 'materialBatch_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鍙枡鐘舵��',
+      prop: 'callMaterialStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�',
+      highSelectAttrs: {
+        prop: 'callMaterialStatus_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鍙枡鏁伴噺',
+      prop: 'quantity',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�',
+      highSelectAttrs: {
+        prop: 'quantity_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: 'WMS杩斿洖缁撴灉',
+      prop: 'wmsRetResult',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏MS杩斿洖缁撴灉',
+      highSelectAttrs: {
+        prop: 'wmsRetResult_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: 'WMS浠诲姟鍙�',
+      prop: 'wmsTaskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏MS浠诲姟鍙�',
+      highSelectAttrs: {
+        prop: 'wmsTaskNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鍒涘缓鏃堕棿',
+      prop: 'creationTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
+      isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    },
+    {
+      label: '淇敼鏃堕棿',
+      prop: 'lastModificationTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�',
+      isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    },
+    {
+      label: '鍒涘缓浜�',
+      prop: 'creatorName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ垱寤轰汉',
+      highSelectAttrs: {
+        prop: 'creatorName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '淇敼浜�',
+      prop: 'lastModifierName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
+      highSelectAttrs: {
+        prop: 'lastModifierName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+      highSelectAttrs: {
+        prop: 'remark_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      dataIdentifier: formData.value.dataIdentifier || '',
+      dataIdentifier_FilterMode: formData.value.dataIdentifier_FilterMode || '',
+      materialMode: formData.value.materialMode || '',
+      materialMode_FilterMode: formData.value.materialMode_FilterMode || '',
+      materialBatch: formData.value.materialBatch || '',
+      materialBatch_FilterMode: formData.value.materialBatch_FilterMode || '',
+      callMaterialStatus: formData.value.callMaterialStatus || '',
+      callMaterialStatus_FilterMode:
+        formData.value.callMaterialStatus_FilterMode || '',
+      quantity: formData.value.quantity || '',
+      quantity_FilterMode: formData.value.quantity_FilterMode || '',
+      wmsRetResult: formData.value.wmsRetResult || '',
+      wmsRetResult_FilterMode: formData.value.wmsRetResult_FilterMode || '',
+      wmsTaskNo: formData.value.wmsTaskNo || '',
+      wmsTaskNo_FilterMode: formData.value.wmsTaskNo_FilterMode || '',
+      creationTime: formData.value.creationTime || '',
+      lastModificationTime: formData.value.lastModificationTime || '',
+      creatorName: formData.value.creatorName || '',
+      creatorName_FilterMode: formData.value.creatorName_FilterMode || '',
+      lastModifierName: formData.value.lastModifierName || '',
+      lastModifierName_FilterMode:
+        formData.value.lastModifierName_FilterMode || '',
+      remark: formData.value.remark || '',
+      remark_FilterMode: formData.value.remark_FilterMode || '',
+    }
+    return data
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data = commonGetFormData()
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 纭鏌ヨ
+   */
+  const onConfirmQuery = async () => {
+    const data = commonGetFormData()
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 閲嶇疆鍏叡select鏌ヨ
+   */
+  const onResetForHighSelect = async () => {
+    formData.value.dataIdentifier_FilterMode = 1
+    formData.value.materialMode_FilterMode = 1
+    formData.value.materialBatch_FilterMode = 1
+    formData.value.callMaterialStatus_FilterMode = 2
+    formData.value.quantity_FilterMode = 2
+    formData.value.wmsRetResult_FilterMode = 1
+    formData.value.wmsTaskNo_FilterMode = 1
+    formData.value.creatorName_FilterMode = 1
+    formData.value.lastModifierName_FilterMode = 1
+    formData.value.remark_FilterMode = 1
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+    formData.value.dataIdentifier = ''
+    formData.value.materialMode = ''
+    formData.value.materialBatch = ''
+    formData.value.callMaterialStatus = ''
+    formData.value.quantity = ''
+    formData.value.wmsRetResult = ''
+    formData.value.wmsTaskNo = ''
+    formData.value.creationTime = ''
+    formData.value.lastModificationTime = ''
+    formData.value.creatorName = ''
+    formData.value.lastModifierName = ''
+    formData.value.remark = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const callMaterialStatusEnumEnum =
+      await callMaterialOrderDrawer.getWmsEnumData({
+        EnumName: 'CallMaterialStatusEnum',
+      })
+    updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum)
+  }
+  commonQueryEnumForFrom()
+  onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}

--
Gitblit v1.9.3