From 4456f43c6c73185a9f7ce46cdcdf94ab2053f02e Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 07 5月 2025 14:19:43 +0800
Subject: [PATCH] 修改生成器及出入库记录页面

---
 HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx |  589 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 308 insertions(+), 281 deletions(-)

diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
index f8e1bb1..5c2295b 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
@@ -1,281 +1,308 @@
-import {
-  ref,
-  onMounted,
-  reactive,
-  computed,
-  Ref,
-  watch,
-  SetupContext,
-  h,
-} from 'vue'
-import { injectModel } from '@/libs/Provider/Provider'
-import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer'
-import { ElMessage } from 'element-plus'
-import isEqual from 'lodash/isEqual'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { cloneDeep } from 'lodash'
-
-export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => {
-  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>(
-    'WmsInOutStockRecordDrawer'
-  )
-  /**
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
-   */
-  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 visible = computed({
-    get() {
-      return props.modelValue
-    },
-    set(val) {
-      ctx.emit('update:modelValue', val)
-    },
-  })
-  /**
-   * 娣诲姞鐨刦orm瀛楁
-   */
-  const formItems = reactive([
-    {
-      label: '鍗曟嵁缂栧彿',
-      prop: 'orderNo',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ュ崟鎹紪鍙�',
-    },
-    {
-      label: '鐗╂枡鍚嶇О',
-      prop: 'materialName',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
-    },
-    {
-      label: '鐗╂枡浠跺彿',
-      prop: 'materialNo',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�',
-    },
-    {
-      label: '鎿嶄綔绫诲瀷',
-      prop: 'stockType',
-      el: 'select',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ユ搷浣滅被鍨�',
-    },
-    {
-      label: '瀹瑰櫒缂栧彿',
-      prop: 'containerNo',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
-    },
-    {
-      label: '鏈哄瀷',
-      prop: 'materialModel',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ユ満鍨�',
-    },
-    {
-      label: '鎿嶄綔鏃堕棿',
-      prop: 'operateTime',
-      type: 'datetimerange',
-      el: 'date-picker',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ユ搷浣滄椂闂�',
-    },
-    {
-      label: '澶囨敞',
-      prop: 'remark',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ュ娉�',
-    },
-    {
-      label: '鐗╂枡ID',
-      prop: 'materialId',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ョ墿鏂橧D',
-    },
-    {
-      label: '浠诲姟鍙�',
-      prop: 'taskNo',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ヤ换鍔″彿',
-    },
-    {
-      label: '璧峰搴撲綅',
-      prop: 'sourcePlace',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
-    },
-    {
-      label: '鐩爣搴撲綅',
-      prop: 'toPlace',
-      el: 'input',
-      //disabled: disabled,
-      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
-    },
-  ])
-  /**
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
-   */
-  const checkIsEqualObject = () => {
-    const data = {
-      formData: formData.value,
-    }
-    const check = isEqual(initiateData.value, data)
-    return check
-  }
-  const commonGetFormData = () => {
-    const data = {
-      OrderNo: formData.value.OrderNo,
-      MaterialName: formData.value.MaterialName,
-      MaterialNo: formData.value.MaterialNo,
-      StockType: formData.value.StockType,
-      ContainerNo: formData.value.ContainerNo,
-      MaterialModel: formData.value.MaterialModel,
-      OperateTime: formData.value.OperateTime,
-      Remark: formData.value.Remark,
-      MaterialId: formData.value.MaterialId,
-      TaskNo: formData.value.TaskNo,
-      SourcePlace: formData.value.SourcePlace,
-      ToPlace: formData.value.ToPlace,
-      materialCode: formData.value.materialCode,
-      materialName: formData.value.materialName,
-      purchaseType: formData.value.purchaseType,
-      materialType: formData.value.materialType,
-      primaryUnit: formData.value.primaryUnit,
-      standard: formData.value.standard,
-      outerDiameter: formData.value.outerDiameter,
-      wallThickness: formData.value.wallThickness,
-      materialQuality: formData.value.materialQuality,
-      length: formData.value.length,
-      isMainBranch: formData.value.isMainBranch,
-      factory: formData.value.factory,
-      certification: formData.value.certification,
-      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.OrderNo = ''
-    formData.value.MaterialName = ''
-    formData.value.MaterialNo = ''
-    formData.value.StockType = ''
-    formData.value.ContainerNo = ''
-    formData.value.MaterialModel = ''
-    formData.value.OperateTime = ''
-    formData.value.Remark = ''
-    formData.value.MaterialId = ''
-    formData.value.TaskNo = ''
-    formData.value.SourcePlace = ''
-    formData.value.ToPlace = ''
-    formData.value.materialCode = ''
-    formData.value.materialName = ''
-    formData.value.purchaseType = ''
-    formData.value.materialType = ''
-    formData.value.primaryUnit = ''
-    formData.value.standard = ''
-    formData.value.outerDiameter = ''
-    formData.value.wallThickness = ''
-    formData.value.materialQuality = ''
-    formData.value.length = ''
-    formData.value.isMainBranch = ''
-    formData.value.factory = ''
-    formData.value.certification = ''
-    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 stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({
-      EnumName: 'StockTypeEnum',
-    })
-    updateFormItemOptions('stockType', stockTypeEnumEnum)
-  }
-  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 { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer' 
+import { ElMessage } from 'element-plus' 
+import isEqual from 'lodash/isEqual' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { cloneDeep } from 'lodash' 
+ 
+export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => { 
+  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('WmsInOutStockRecordDrawer') 
+  /** 
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
+   */ 
+  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: 'orderNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ崟鎹紪鍙�', 
+                }, 
+                { 
+                   label: '鐗╂枡鍚嶇О', 
+                   prop: 'materialName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
+                }, 
+                { 
+                   label: '鐗╂枡浠跺彿', 
+                   prop: 'materialNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�', 
+                }, 
+                { 
+                   label: '鎿嶄綔绫诲瀷', 
+                   prop: 'stockType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滅被鍨�', 
+                }, 
+                { 
+                   label: '瀹瑰櫒缂栧彿', 
+                   prop: 'containerNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', 
+                }, 
+                { 
+                   label: '鏈哄瀷', 
+                   prop: 'materialModel', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ満鍨�', 
+                }, 
+                { 
+                   label: '鎿嶄綔鏃堕棿', 
+                   prop: 'operateTime', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(dateTimePickerRange, {  
+                       ...props,
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滄椂闂�', 
+                }, 
+                { 
+                   label: '澶囨敞', 
+                   prop: 'remark', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ娉�', 
+                }, 
+                { 
+                   label: '鐗╂枡ID', 
+                   prop: 'materialId', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂橧D', 
+                }, 
+                { 
+                   label: '浠诲姟鍙�', 
+                   prop: 'taskNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
+                }, 
+                { 
+                   label: '璧峰搴撲綅', 
+                   prop: 'sourcePlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
+                }, 
+                { 
+                   label: '鐩爣搴撲綅', 
+                   prop: 'toPlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
+                }, 
+                { 
+                   label: '鏄惁绂佺敤', 
+                   prop: 'isDisabled', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ槸鍚︾鐢�', 
+                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] 
+                }, 
+                { 
+                   label: '', 
+                   prop: 'creationTime', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(dateTimePickerRange, {  
+                       ...props,
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏�', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  const checkIsEqualObject = () => { 
+    const data = { 
+      formData: formData.value, 
+    } 
+    const check = isEqual(initiateData.value, data) 
+    return check 
+  } 
+  const commonGetFormData=()=>{ 
+    const data = { 
+      orderNo: formData.value.orderNo || '', 
+materialName: formData.value.materialName || '', 
+materialNo: formData.value.materialNo || '', 
+stockType: formData.value.stockType || '', 
+containerNo: formData.value.containerNo || '', 
+materialModel: formData.value.materialModel || '', 
+operateTime: formData.value.operateTime || '', 
+remark: formData.value.remark || '', 
+materialId: formData.value.materialId || '', 
+taskNo: formData.value.taskNo || '', 
+sourcePlace: formData.value.sourcePlace || '', 
+toPlace: formData.value.toPlace || '', 
+isDisabled: formData.value.isDisabled || '', 
+creationTime: formData.value.creationTime || '',  
+    } 
+    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.OrderNo = '' 
+formData.value.MaterialName = '' 
+formData.value.MaterialNo = '' 
+formData.value.StockType = '' 
+formData.value.ContainerNo = '' 
+formData.value.MaterialModel = '' 
+formData.value.OperateTime = '' 
+formData.value.Remark = '' 
+formData.value.MaterialId = '' 
+formData.value.TaskNo = '' 
+formData.value.SourcePlace = '' 
+formData.value.ToPlace = ''  
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
+    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 stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({ 
+ EnumName: 'StockTypeEnum', 
+}) 
+updateFormItemOptions('stockType', stockTypeEnumEnum) 
+ 
+  } 
+  commonQueryEnumForFrom() 
+  /** 
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
+   */ 
+  const onOpen = async () => { 
+    disabled.value = false 
+    updateCheckData() 
+  } 
+ 
+  watch(() => current.value, onOpen) 
+ 
+  return { 
+    formItems, 
+    formData, 
+    visible, 
+    formRef, 
+    onOpen, 
+    onClose, 
+    onConfirmQuery, 
+    onReset, 
+  } 
+} 

--
Gitblit v1.9.3