From 9cf7b57cd6f3d56a80a5925add2d8dabee28437f Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 13 5月 2025 16:37:31 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts                                                |   35 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss             |    3 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss |    3 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts                                                       |   34 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs                                                                |    2 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts                                                 |   16 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs                               |    2 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts                                          |   35 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss                                    |  226 ++--
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss                        |  226 ++--
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts                                                     |    4 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx                                            |  510 +++++------
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库存详情.txt                                                                            |   14 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx                                                  |  457 ++++++++++
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx                                |  347 ++++---
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts                                                  |   44 +
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx                     |   71 +
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx         |   71 +
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts                                                                                      |    4 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx                                            |  445 ++++++++++
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts                                                              |   33 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx                                                       |   44 +
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts                                                             |    6 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts                                                                          |    6 
 24 files changed, 1,957 insertions(+), 681 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts
index 9d21733..e608a16 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts
@@ -52,6 +52,12 @@
     isAdd: false,
   })
 
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
+
   const dialogSettingConfig = reactive({
     visible: false,
     title: '',
@@ -72,6 +78,15 @@
     dialogConfig.title = row.name
     dialogConfig.isAdd = false
     sort.value = row.sort
+  }
+
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
   }
 
   const contextMenu = [
@@ -174,13 +189,15 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile(
-      '/api/v1/HIAWms/wmsMaterialStock/export',
-      params,
-      'wmsMaterialStock'
-    )
+  const onExport = (data = {}) => {
+    // const params = tableRef.value?.getParams()
+    // exportFile(
+    //   '/api/v1/HIAWms/wmsMaterialStock/export',
+    //   params,
+    //   'wmsMaterialStock'
+
+    exportFile('/api/v1/HIAWms/wmsMaterialStock/export', data, 'HIAWms')
+    // )
   }
 
   /**
@@ -251,6 +268,7 @@
     sort,
     wmsMaterialStockColumns,
     paginationParams,
+    dialogConfigForQuery,
     headers,
     onBeforeUpload,
     onError,
@@ -262,5 +280,6 @@
     onConfirmWmsMaterialStock,
     onCheck,
     onAddWmsMaterialStock,
+    onAdvancedQuery,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx
new file mode 100644
index 0000000..a7ecbbf
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx
@@ -0,0 +1,445 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialStockDrawer } from '../Models/WmsMaterialStockDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsMaterialStockDetalQueryDrawer = (props: any, ctx?: any) => {
+  const wmsMaterialStockDetailDrawer = injectModel<WmsMaterialStockDrawer>(
+    'WmsMaterialStockDrawer'
+  )
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  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: '鐗╂枡ID',
+    //   prop: 'materialId',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ョ墿鏂橧D',
+    // },
+    {
+      label: '鐗╂枡鍚嶇О',
+      prop: 'materialName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+    },
+    // {
+    //   label: '瀹瑰櫒缂栧彿',
+    //   prop: 'containerNo',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
+    // },
+    // {
+    //   label: '瀹瑰櫒鐘舵��',
+    //   prop: 'containerStatus',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ姸鎬�',
+    // },
+    // {
+    //   label: '瀹瑰櫒绫诲瀷',
+    //   prop: 'containerType',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ被鍨�',
+    // },
+    {
+      label: '鐗╂枡缂栧彿',
+      prop: 'materialNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欑紪鍙�',
+    },
+    {
+      label: '搴撳瓨鏁伴噺',
+      prop: 'stockNumber',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱瀛樻暟閲�',
+    },
+    {
+      label: '鐗╂枡鎵规',
+      prop: 'materialBatch',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�',
+    },
+    // {
+    //   label: '渚涘簲鍟嗙紪鍙�',
+    //   prop: 'supplierCode',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ヤ緵搴斿晢缂栧彿',
+    // },
+    {
+      label: '鍨嬪彿',
+      prop: 'materialModel',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瀷鍙�',
+    },
+    {
+      label: '搴撲綅缂栧彿',
+      prop: 'placeNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�',
+    },
+    {
+      label: '搴撲綅鐘舵��;',
+      prop: 'placeStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇姸鎬�;',
+    },
+    {
+      label: '搴撲綅绫诲瀷',
+      prop: 'storageTypeNo',
+      el: 'select',
+      clearable: false,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇被鍨�',
+    },
+    {
+      label: '鍖哄煙缂栧彿',
+      prop: 'areaCode',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ尯鍩熺紪鍙�',
+    },
+    // {
+    //   label: '搴撳尯鍚嶇О',
+    //   prop: 'areaName',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�',
+    // },
+    // {
+    //   label: '妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)',
+    //   prop: 'checkStatus',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ユ楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)',
+    // },
+    {
+      label: '鏄惁閿佸畾',
+      prop: 'isLock',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�',
+    },
+    // {
+    //   label: '鏄惁绌烘墭(2:鍚�,1:鏄�)',
+    //   prop: 'emptyContainer',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�(2:鍚�,1:鏄�)',
+    // },
+    {
+      label: '鍏ュ簱鏃堕棿',
+      prop: 'inStockTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ叆搴撴椂闂�',
+    },
+    // {
+    //   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField1',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField2',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    // },
+    {
+      label: '鍒涘缓鏃堕棿',
+      prop: 'creationTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //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 = {
+      materialId: formData.value.materialId || '',
+      materialName: formData.value.materialName || '',
+      containerNo: formData.value.containerNo || '',
+      containerStatus: formData.value.containerStatus || '',
+      containerType: formData.value.containerType || '',
+      materialNo: formData.value.materialNo || '',
+      stockNumber: formData.value.stockNumber || '',
+      materialBatch: formData.value.materialBatch || '',
+      supplierCode: formData.value.supplierCode || '',
+      materialModel: formData.value.materialModel || '',
+      placeNo: formData.value.placeNo || '',
+      placeStatus: formData.value.placeStatus || '',
+      storageTypeNo: formData.value.storageTypeNo || 1,
+      areaCode: formData.value.areaCode || '',
+      areaName: formData.value.areaName || '',
+      checkStatus: formData.value.checkStatus || '',
+      isLock: formData.value.isLock || '',
+      emptyContainer: formData.value.emptyContainer || '',
+      inStockTime: formData.value.inStockTime || '',
+      remark: formData.value.remark || '',
+      redundantField1: formData.value.redundantField1 || '',
+      redundantField2: formData.value.redundantField2 || '',
+      redundantField3: formData.value.redundantField3 || '',
+      creationTime: formData.value.creationTime || '',
+      lastModificationTime: formData.value.lastModificationTime || '',
+    }
+    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.materialId = ''
+    formData.value.materialName = ''
+    formData.value.containerNo = ''
+    formData.value.containerStatus = ''
+    formData.value.containerType = ''
+    formData.value.materialNo = ''
+    formData.value.stockNumber = ''
+    formData.value.materialBatch = ''
+    formData.value.supplierCode = ''
+    formData.value.materialModel = ''
+    formData.value.placeNo = ''
+    formData.value.placeStatus = ''
+    formData.value.storageTypeNo = 1
+    formData.value.areaCode = ''
+    formData.value.areaName = ''
+    formData.value.checkStatus = ''
+    formData.value.isLock = ''
+    formData.value.emptyContainer = ''
+    formData.value.inStockTime = ''
+    formData.value.remark = ''
+    formData.value.redundantField1 = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.deletionTime = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    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 containerStatusEnumEnum =
+      await wmsMaterialStockDetailDrawer.getWmsEnumData({
+        EnumName: 'ContainerStatusEnum',
+      })
+    updateFormItemOptions('containerStatus', containerStatusEnumEnum)
+    const containerTypeEnumEnum =
+      await wmsMaterialStockDetailDrawer.getWmsEnumData({
+        EnumName: 'ContainerTypeEnum',
+      })
+    updateFormItemOptions('containerType', containerTypeEnumEnum)
+    const placeStatusEnumEnum =
+      await wmsMaterialStockDetailDrawer.getWmsEnumData({
+        EnumName: 'PlaceStatusEnum',
+      })
+    updateFormItemOptions('placeStatus', placeStatusEnumEnum)
+    const placeTypeEnumEnum = await wmsMaterialStockDetailDrawer.getWmsEnumData(
+      {
+        EnumName: 'PlaceTypeEnum',
+      }
+    )
+    updateFormItemOptions('storageTypeNo', placeTypeEnumEnum)
+    const materialCheckStatusEnumEnum =
+      await wmsMaterialStockDetailDrawer.getWmsEnumData({
+        EnumName: 'MaterialCheckStatusEnum',
+      })
+    updateFormItemOptions('checkStatus', materialCheckStatusEnumEnum)
+    const yesNoEnumEnum = await wmsMaterialStockDetailDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isLock', yesNoEnumEnum)
+    const yesNoEnumEnum2 = await wmsMaterialStockDetailDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('emptyContainer', yesNoEnumEnum2)
+  }
+  commonQueryEnumForFrom()
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx
new file mode 100644
index 0000000..23d375b
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx
@@ -0,0 +1,457 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialStockDrawer } from '../Models/WmsMaterialStockDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsMaterialStockQueryDrawer = (props: any, ctx?: any) => {
+  const wmsMaterialStockDrawer = injectModel<WmsMaterialStockDrawer>(
+    'WmsMaterialStockDrawer'
+  )
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  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: 'materialName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+    },
+    // {
+    //   label: '瀹瑰櫒缂栧彿',
+    //   prop: 'containerNo',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
+    // },
+    // {
+    //   label: '瀹瑰櫒鐘舵��',
+    //   prop: 'containerStatus',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ姸鎬�',
+    // },
+    // {
+    //   label: '瀹瑰櫒绫诲瀷',
+    //   prop: 'containerType',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ鍣ㄧ被鍨�',
+    // },
+    {
+      label: '鐗╂枡缂栧彿',
+      prop: 'materialNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欑紪鍙�',
+    },
+    // {
+    //   label: '搴撳瓨鏁伴噺',
+    //   prop: 'stockNumber',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(inputNumber, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   step: 1,
+    //   precision: 0,
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ簱瀛樻暟閲�',
+    // },
+    {
+      label: '鐗╂枡鎵规',
+      prop: 'materialBatch',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�',
+    },
+    // {
+    //   label: '渚涘簲鍟嗙紪鍙�',
+    //   prop: 'supplierCode',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ヤ緵搴斿晢缂栧彿',
+    // },
+    {
+      label: '鍨嬪彿',
+      prop: 'materialModel',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瀷鍙�',
+    },
+    {
+      label: '搴撲綅缂栧彿',
+      prop: 'placeNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�',
+    },
+    {
+      label: '搴撲綅鐘舵��;',
+      prop: 'placeStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇姸鎬�;',
+    },
+    {
+      label: '搴撲綅绫诲瀷',
+      prop: 'storageTypeNo',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇被鍨�',
+    },
+    {
+      label: '鍖哄煙缂栧彿',
+      prop: 'areaCode',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ尯鍩熺紪鍙�',
+    },
+    // {
+    //   label: '搴撳尯鍚嶇О',
+    //   prop: 'areaName',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�',
+    // },
+    // {
+    //   label: '妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)',
+    //   prop: 'checkStatus',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ユ楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)',
+    // },
+    {
+      label: '鏄惁閿佸畾',
+      prop: 'isLock',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�',
+    },
+    // {
+    //   label: '鏄惁绌烘墭(2:鍚�,1:鏄�)',
+    //   prop: 'emptyContainer',
+    //   el: 'select',
+    //   clearable: true,
+    //   option: [],
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�(2:鍚�,1:鏄�)',
+    // },
+    {
+      label: '鍏ュ簱鏃堕棿',
+      prop: 'inStockTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ叆搴撴椂闂�',
+    },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+    },
+    // {
+    //   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField1',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField2',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField3',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    // },
+    // {
+    //   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: '璇疯緭鍏�',
+    // },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      materialId: formData.value.materialId || '',
+      materialName: formData.value.materialName || '',
+      containerNo: formData.value.containerNo || '',
+      containerStatus: formData.value.containerStatus || '',
+      containerType: formData.value.containerType || '',
+      materialNo: formData.value.materialNo || '',
+      stockNumber: formData.value.stockNumber || '',
+      materialBatch: formData.value.materialBatch || '',
+      supplierCode: formData.value.supplierCode || '',
+      materialModel: formData.value.materialModel || '',
+      placeNo: formData.value.placeNo || '',
+      placeStatus: formData.value.placeStatus || '',
+      storageTypeNo: formData.value.storageTypeNo || 1,
+      areaCode: formData.value.areaCode || '',
+      areaName: formData.value.areaName || '',
+      checkStatus: formData.value.checkStatus || '',
+      isLock: formData.value.isLock || '',
+      emptyContainer: formData.value.emptyContainer || '',
+      inStockTime: formData.value.inStockTime || '',
+      remark: formData.value.remark || '',
+      redundantField1: formData.value.redundantField1 || '',
+      redundantField2: formData.value.redundantField2 || '',
+      redundantField3: formData.value.redundantField3 || '',
+      creationTime: formData.value.creationTime || '',
+      lastModificationTime: formData.value.lastModificationTime || '',
+    }
+    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.materialId = ''
+    formData.value.materialName = ''
+    formData.value.containerNo = ''
+    formData.value.containerStatus = ''
+    formData.value.containerType = ''
+    formData.value.materialNo = ''
+    formData.value.stockNumber = ''
+    formData.value.materialBatch = ''
+    formData.value.supplierCode = ''
+    formData.value.materialModel = ''
+    formData.value.placeNo = ''
+    formData.value.placeStatus = ''
+    formData.value.storageTypeNo = ''
+    formData.value.areaCode = ''
+    formData.value.areaName = ''
+    formData.value.checkStatus = ''
+    formData.value.isLock = ''
+    formData.value.emptyContainer = ''
+    formData.value.inStockTime = ''
+    formData.value.remark = ''
+    formData.value.redundantField1 = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.deletionTime = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    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 containerStatusEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData(
+      {
+        EnumName: 'ContainerStatusEnum',
+      }
+    )
+    updateFormItemOptions('containerStatus', containerStatusEnumEnum)
+    const containerTypeEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({
+      EnumName: 'ContainerTypeEnum',
+    })
+    updateFormItemOptions('containerType', containerTypeEnumEnum)
+    const placeStatusEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({
+      EnumName: 'PlaceStatusEnum',
+    })
+    updateFormItemOptions('placeStatus', placeStatusEnumEnum)
+    const placeTypeEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({
+      EnumName: 'PlaceTypeEnum',
+    })
+    updateFormItemOptions('storageTypeNo', placeTypeEnumEnum)
+    const materialCheckStatusEnumEnum =
+      await wmsMaterialStockDrawer.getWmsEnumData({
+        EnumName: 'MaterialCheckStatusEnum',
+      })
+    updateFormItemOptions('checkStatus', materialCheckStatusEnumEnum)
+    const yesNoEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isLock', yesNoEnumEnum)
+    const yesNoEnumEnum2 = await wmsMaterialStockDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('emptyContainer', yesNoEnumEnum2)
+  }
+  commonQueryEnumForFrom()
+  formData.value.storageTypeNo = 1
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts
new file mode 100644
index 0000000..d3cfa4a
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterialStock = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterialStockDetail', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsMaterialStock = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsMaterialStock = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts
index 85545dd..54602f0 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts
@@ -27,3 +27,7 @@
 ) => {
   return request.put(`/api/v1/HIAWms/wmsMaterialStock/${id}`, data)
 }
+
+export const getWmsEnumData = (data: Record<string, any>) => {
+  return request.post('/api/v1/HIAWms/WmsEnum', data)
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts
new file mode 100644
index 0000000..d3cfa4a
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterialStock = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterialStockDetail', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsMaterialStock = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsMaterialStock = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts
new file mode 100644
index 0000000..821f34f
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsMaterialStock,
+  getWmsMaterialStock,
+  updateWmsMaterialStock,
+  getWmsEnumData,
+} from './Service/WmsMaterialStockDetailQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsMaterialStockQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsMaterialStockDetail: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsMaterialStock(data: Record<string, any>) {
+    return addWmsMaterialStock(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsMaterialStock(id: string, data: Record<string, any>) {
+    return updateWmsMaterialStock(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsMaterialStockDetail(current: any, id?: string) {
+    return getWmsMaterialStock(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts
index 5ebbc0d..3fe7081 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts
@@ -3,6 +3,7 @@
   addWmsMaterialStock,
   getWmsMaterialStock,
   updateWmsMaterialStock,
+  getWmsEnumData,
 } from './Service/WmsMaterialStockDrawer'
 import { useGlobalState } from '@/libs/Store/Store'
 
@@ -35,4 +36,9 @@
   async getWmsMaterialStockDetail(current: any, materialNo?: string) {
     return getWmsMaterialStock(current?.materialNo)
   }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx
new file mode 100644
index 0000000..821f34f
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsMaterialStock,
+  getWmsMaterialStock,
+  updateWmsMaterialStock,
+  getWmsEnumData,
+} from './Service/WmsMaterialStockDetailQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsMaterialStockQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsMaterialStockDetail: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsMaterialStock(data: Record<string, any>) {
+    return addWmsMaterialStock(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsMaterialStock(id: string, data: Record<string, any>) {
+    return updateWmsMaterialStock(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsMaterialStockDetail(current: any, id?: string) {
+    return getWmsMaterialStock(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx
new file mode 100644
index 0000000..b5a331c
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+ */
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsMaterialStockDetailQueryDrawer.module.scss'
+import { useWmsMaterialStockDetalQueryDrawer } from '../../../../Controllers/WmsMaterialStockDetailQueryDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+  [key: string]: any
+}>({
+  name: '寮圭獥',
+  props: {
+    //鏋氫妇绫诲瀷瀛楀吀
+    enumListDict: {
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
+      default: () => [], // 榛樿鍊�
+    },
+    modelValue: {
+      type: Boolean,
+      default: false,
+    },
+    title: {
+      type: String,
+      default: '',
+    },
+    row: {
+      type: Object,
+    },
+    sort: {
+      type: Number,
+      default: 0,
+    },
+  },
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
+  setup(props: Record<string, any>, ctx: SetupContext) {
+    const {
+      onClose,
+      onConfirmQuery,
+      onOpen,
+      onReset,
+      formRef,
+      visible,
+      formItems,
+      formData,
+    } = useWmsMaterialStockDetalQueryDrawer(props, ctx)
+    return () => (
+      <BaseQueryDrawer
+        class={styles.drawer}
+        size="800px"
+        title={props.title || '楂樼骇鏌ヨ'}
+        v-model={visible.value}
+        close-on-click-modal={true}
+        onReset={onReset}
+        onConfirmQueryForBase={onConfirmQuery}
+        onOpen={onOpen}
+        before-close={onClose}
+        onClose={onClose}
+      >
+        <DyForm
+          ref={formRef}
+          formData={formData.value}
+          labelWidth="106px"
+          formItemProps={formItems}
+        ></DyForm>
+      </BaseQueryDrawer>
+    )
+  },
+})
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx
new file mode 100644
index 0000000..e6f47b8
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+ */
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsMaterialStockQueryDrawer.module.scss'
+import { useWmsMaterialStockQueryDrawer } from '../../../../Controllers/WmsMaterialStockQueryDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+  [key: string]: any
+}>({
+  name: '寮圭獥',
+  props: {
+    //鏋氫妇绫诲瀷瀛楀吀
+    enumListDict: {
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
+      default: () => [], // 榛樿鍊�
+    },
+    modelValue: {
+      type: Boolean,
+      default: false,
+    },
+    title: {
+      type: String,
+      default: '',
+    },
+    row: {
+      type: Object,
+    },
+    sort: {
+      type: Number,
+      default: 0,
+    },
+  },
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
+  setup(props: Record<string, any>, ctx: SetupContext) {
+    const {
+      onClose,
+      onConfirmQuery,
+      onOpen,
+      onReset,
+      formRef,
+      visible,
+      formItems,
+      formData,
+    } = useWmsMaterialStockQueryDrawer(props, ctx)
+    return () => (
+      <BaseQueryDrawer
+        class={styles.drawer}
+        size="800px"
+        title={props.title || '楂樼骇鏌ヨ'}
+        v-model={visible.value}
+        close-on-click-modal={true}
+        onReset={onReset}
+        onConfirmQueryForBase={onConfirmQuery}
+        onOpen={onOpen}
+        before-close={onClose}
+        onClose={onClose}
+      >
+        <DyForm
+          ref={formRef}
+          formData={formData.value}
+          labelWidth="106px"
+          formItemProps={formItems}
+        ></DyForm>
+      </BaseQueryDrawer>
+    )
+  },
+})
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
index 035b581..7145af1 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
@@ -20,18 +20,18 @@
     field: 'placeStatusDesc',
     title: '搴撲綅鐘舵��',
   },
-  {
-    field: 'containerNo',
-    title: '瀹瑰櫒缂栧彿',
-  },
+  // {
+  //   field: 'containerNo',
+  //   title: '瀹瑰櫒缂栧彿',
+  // },
   {
     field: 'stockNumber',
     title: '搴撳瓨鏁伴噺',
   },
-  {
-    field: 'materialBatch',
-    title: '鐗╂枡鎵规',
-  },
+  // {
+  //   field: 'materialBatch',
+  //   title: '鐗╂枡鎵规',
+  // },
   {
     field: 'materialModel',
     title: '鍨嬪彿',
@@ -40,15 +40,15 @@
     field: 'areaName',
     title: '鎵�灞炲簱鍖�',
   },
-  {
-    field: 'checkStatusDesc',
-    title: '妫�楠岀姸鎬�',
-  },
-  {
-    field: 'inStockTime',
-    title: '鍏ュ簱鏃堕棿',
-    width: 180,
-  },
+  // {
+  //   field: 'checkStatusDesc',
+  //   title: '妫�楠岀姸鎬�',
+  // },
+  // {
+  //   field: 'inStockTime',
+  //   title: '鍏ュ簱鏃堕棿',
+  //   width: 180,
+  // },
   {
     field: 'isLockDesc',
     title: '閿佸畾鐘舵��',
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss
index 365acbf..ac415d3 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss
@@ -1,113 +1,113 @@
-.wmsMaterialStockContent {
-  width: 100%;
-  height: 80%;
-
-  .wmsMaterialStockList {
-    width: 100%;
-    height: calc(100% - 70px);
-  }
-  .headerContent {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 43px;
-  }
-  .header {
-    margin-bottom: 12px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-
-.tagBox {
-  width: auto;
-  min-width: 80px;
-  height: 24px;
-  background: #ffffff;
-  border-radius: 19px 19px 19px 19px;
-  opacity: 1;
-  border: 1px dashed #bcc4cc;
-  width: 50px;
-  height: 20px;
-  font-size: 14px;
-  font-family: PingFang SC, PingFang SC;
-  font-weight: 400;
-  color: #5a84ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  // cursor: pointer;
-}
-
-.group {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.groupTable {
-  width: 100%;
-}
-
-.overBox {
-  width: 100%;
-  height: calc(100% - 20px);
-  overflow: auto;
-  :global(.cs-collapse-item__header) {
-    background-color: #f1f1f1;
-    padding: 0 20px;
-    height: 35px;
-    font-size: 16px;
-    font-family: PingFang SC, PingFang SC;
-    font-weight: 500;
-  }
-  :global(.cs-collapse-item__content) {
-    padding-bottom: 0px;
-  }
-}
-.groupHeader {
-  width: 100%;
-  height: 30px;
-  background: #ccc;
-}
-
-.hideBlock {
-  display: none;
-}
-.queryForm {
-  padding: 10px;
-  background: #f5f7fa;
-  margin-bottom: 0px;
-  border-radius: 4px;
-  
-  .el-form-item {
-    margin-right: 20px;
-    margin-bottom: 0;
-    
-    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
-    .el-input, .el-select {
-      width: 200px; // 璁剧疆缁熶竴鐨勫搴�
-    }
-    
-    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
-    .el-select .el-input__wrapper {
-      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
-      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
-    }
-    
-    // 鏃ユ湡閫夋嫨鍣ㄥ搴�
-    .el-date-editor {
-      width: 220px;
-    }
-  }
-}
-
-// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
-.formItem {
-  width: 200px;
-  
-  &.el-input, &.el-select {
-    width: 100%;
-  }
-}
\ No newline at end of file
+.wmsMaterialStockDetailContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsMaterialStockDetailList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-end; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
index ca0e0ed..977dd17 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
@@ -5,20 +5,22 @@
 import { useWmsMaterialStock } from '../../../Controllers/WmsMaterialStock'
 import IconButton from '@/components/IconButton/IconButton'
 import WmsMaterialStockDrawer from '../Dialog/WmsMaterialStockDrawer/WmsMaterialStockDrawer'
+import WmsMaterialStockQueryDrawer from '../Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer'
 import Search from '@/components/Search/Search'
 import { columns } from './Config'
 import TdButton from '@/components/TdButton/TdButton'
 import { vPermission } from '@/libs/Permission/Permission'
 import dayjs from 'dayjs'
+import { getWmsEnumData } from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
 import {
+  ElInput,
+  ElSelect,
+  ElOption,
   ElDatePicker,
   ElForm,
   ElFormItem,
-  ElInput,
-  ElOption,
-  ElSelect,
 } from 'element-plus'
-import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+import { injectModel } from '@/libs/Provider/Provider'
 
 interface RenderTableType {
   url?: string
@@ -40,6 +42,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -51,91 +54,82 @@
       onConfirmWmsMaterialStock,
       onCheck,
       onAddWmsMaterialStock,
+      onAdvancedQuery,
       onExport,
       openDetail,
       onSuccess,
       onBeforeUpload,
     } = useWmsMaterialStock(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsMaterialStockDetailQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      containerNo: '',
-      materialNo: '',
-      materialName: '',
-      containerType: '',
-      containerStatus: '',
+      searchVal: '',
       storageTypeNo: 1,
-      placeStatus: '',
-      placeNo: '',
-      isLock: '',
-      emptyContainer: '',
-      dateRange: [],
-      filter: '',
+      str_searchFormInputAttrs: [],
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺
-      containerStatus: queryForm.value.containerStatus || '',
-      storageTypeNo: queryForm.value.storageTypeNo || 1, // 澶勭悊涓嬫媺
-      placeStatus: queryForm.value.placeStatus || '',
-      islock: queryForm.value.isLock || '',
-      emptyContainer: queryForm.value.emptyContainer || '',
-      startTime: queryForm.value.dateRange[0] || '',
-      endTime: queryForm.value.dateRange[1] || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['OrderNo', 'MaterialNo', 'MaterialId'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
-      containerType: [] as Array<{ label: string; value: any }>,
       containerStatus: [] as Array<{ label: string; value: any }>,
-      storageTypeNo: [] as Array<{ label: string; value: any }>,
+      containerType: [] as Array<{ label: string; value: any }>,
       placeStatus: [] as Array<{ label: string; value: any }>,
-      yesOrNo: [] as Array<{ label: string; value: any }>,
+      storageTypeNo: [] as Array<{ label: string; value: any }>,
+      checkStatus: [] as Array<{ label: string; value: any }>,
+      isLock: [] as Array<{ label: string; value: any }>,
+      emptyContainer: [] as Array<{ label: string; value: any }>,
     })
 
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const containerTypeData = await getWmsEnumData({
-          EnumName: 'ContainerTypeEnum',
-        })
-        enumOptions.containerType = containerTypeData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const storageTypeNoData = await getWmsEnumData({
-          EnumName: 'PlaceTypeEnum',
-        })
-        enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const placeStatusData = await getWmsEnumData({
-          EnumName: 'PlaceStatusEnum',
-        })
-        enumOptions.placeStatus = placeStatusData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const containerStatusData = await getWmsEnumData({
+        const containerStatusEnumData = await getWmsEnumData({
           EnumName: 'ContainerStatusEnum',
         })
-        enumOptions.containerStatus = containerStatusData.map((item) => ({
+        enumOptions.containerStatus = containerStatusEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        const yesNoData = await getWmsEnumData({
+        const containerTypeEnumData = await getWmsEnumData({
+          EnumName: 'ContainerTypeEnum',
+        })
+        enumOptions.containerType = containerTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const placeStatusEnumData = await getWmsEnumData({
+          EnumName: 'PlaceStatusEnum',
+        })
+        enumOptions.placeStatus = placeStatusEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const placeTypeEnumData = await getWmsEnumData({
+          EnumName: 'PlaceTypeEnum',
+        })
+        enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const materialCheckStatusEnumData = await getWmsEnumData({
+          EnumName: 'MaterialCheckStatusEnum',
+        })
+        enumOptions.checkStatus = materialCheckStatusEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const yesNoEnumData = await getWmsEnumData({
           EnumName: 'YesNoEnum',
         })
-        enumOptions.yesOrNo = yesNoData.map((item) => ({
+        enumOptions.isLock = yesNoEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        enumOptions.emptyContainer = yesNoEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
@@ -147,33 +141,72 @@
     // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
     onMounted(() => {
       fetchEnumData()
-      handleQuery()
+
+      tableRef.value = {
+        dataSource: [],
+      }
+      handleQueryForMain()
     })
 
-    // 鏂板鐨勬煡璇㈡柟娉�
-    const handleQuery = async () => {
-      console.log('鏌ヨ鏉′欢:', queryParams.value)
-      // tableRef.value.getTableList()
-      tableRef.value.getList(queryParams.value)
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+    })
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
+      if (!_curHighQueryData.value?.storageTypeNo) {
+        _curHighQueryData.value.storageTypeNo = 1
+      }
+      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
     }
 
-    // 閲嶇疆鏌ヨ鏉′欢
-    const resetQuery = () => {
-      queryForm.value = {
-        containerNo: '',
-        materialNo: '',
-        materialName: '',
-        containerType: '',
-        containerStatus: '',
-        storageTypeNo: 1,
-        placeStatus: '',
-        placeNo: '',
-        isLock: '',
-        emptyContainer: '',
-        dateRange: [],
-        filter: '',
-      }
-    }
     /**
      * @returns 琛ㄦ牸
      */
@@ -187,20 +220,17 @@
         params,
         autoHeight,
       } = props
-      props.params = {
-        ...queryParams.value,
-        ...params,
-      }
+
       return (
         <div
           class={{
-            [styles.wmsMaterialStockList]: true,
+            [styles.wmsMaterialStockDetailList]: true,
           }}
         >
           <BaseTable
             ref={tableRef}
             url={url}
-            sortUrlTpl="/api/v1/HIAWms/wmsMaterialStock/{id}/adjustsort/{sort}"
+            sortUrlTpl="/api/v1/HIAWms/wmsMaterialStockDetail/{id}/adjustsort/{sort}"
             v-model:dataSource={dataSource.value}
             columns={columns}
             contextMenu={contextMenu}
@@ -218,6 +248,57 @@
                   <div>
                     {row.inStockTime != null
                       ? dayjs(row.inStockTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              isDisabled: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDisabled != null
+                      ? row.isDisabled
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              creationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.creationTime != null
+                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              lastModificationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.lastModificationTime != null
+                      ? dayjs(row.lastModificationTime).format(
+                          'YYYY-MM-DD HH:mm:ss'
+                        )
+                      : '-'}
+                  </div>
+                )
+              },
+              isDeleted: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDeleted != null
+                      ? row.isDeleted
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              deletionTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.deletionTime != null
+                      ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
                       : '-'}
                   </div>
                 )
@@ -242,9 +323,10 @@
         </div>
       )
     }
+
     return () => {
       return (
-        <div class={styles.wmsMaterialStockContent}>
+        <div class={styles.wmsMaterialStockDetailContent}>
           {/* 娣诲姞/缂栬緫 */}
           <WmsMaterialStockDrawer
             v-model={dialogConfig.visible}
@@ -253,183 +335,22 @@
             sort={sort.value}
             onConfirm={onConfirmWmsMaterialStock}
           />
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <ElForm
-            inline
-            model={queryForm.value}
-            class={styles.queryForm}
-            label-width="80px"
-          >
-            <ElFormItem label="鍏抽敭瀛�">
-              <ElInput
-                v-model={queryForm.value.filter}
-                placeholder="璇疯緭鍏ュ叧閿瓧鎼滅储"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡缂栫爜">
-              <ElInput
-                v-model={queryForm.value.materialNo}
-                placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡鍚嶇О">
-              <ElInput
-                v-model={queryForm.value.materialName}
-                placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鎵樼洏缂栫爜">
-              <ElInput
-                v-model={queryForm.value.containerNo}
-                placeholder="璇疯緭鍏ユ墭鐩樼紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鎵樼洏绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.containerType}
-                placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
-                clearable
-                loading={enumOptions.containerType.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.containerType.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="鎵樼洏鐘舵��">
-              <ElSelect
-                v-model={queryForm.value.containerStatus}
-                placeholder="璇烽�夋嫨鎵樼洏鐘舵��"
-                clearable
-                loading={enumOptions.containerStatus.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.containerStatus.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="搴撲綅缂栧彿">
-              <ElInput
-                v-model={queryForm.value.placeNo}
-                placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="搴撲綅绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.storageTypeNo}
-                placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
-                loading={enumOptions.storageTypeNo.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.storageTypeNo.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="搴撲綅鐘舵��">
-              <ElSelect
-                v-model={queryForm.value.placeStatus}
-                placeholder="璇烽�夋嫨鎵樼洏鐘舵��"
-                clearable
-                loading={enumOptions.placeStatus.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.placeStatus.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="鏄惁閿佸畾">
-              <ElSelect
-                v-model={queryForm.value.isLock}
-                placeholder="璇烽�夋嫨鏄惁閿佸畾"
-                clearable
-                loading={enumOptions.yesOrNo.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.yesOrNo.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="鏄惁绌烘墭">
-              <ElSelect
-                v-model={queryForm.value.emptyContainer}
-                placeholder="璇烽�夋嫨鏄惁绌烘墭"
-                clearable
-                loading={enumOptions.yesOrNo.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.yesOrNo.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="鏃ユ湡鑼冨洿">
-              <ElDatePicker
-                v-model={queryForm.value.dateRange}
-                type="datetimerange"
-                range-separator="鑷�"
-                show-now="true"
-                start-placeholder="寮�濮嬫棩鏈�"
-                end-placeholder="缁撴潫鏃ユ湡"
-                format="YYYY-MM-DD HH:mm:ss"
-                valueFormat="YYYY-MM-DD HH:mm:ss"
-              />
-            </ElFormItem>
-            <ElFormItem>
-              <IconButton type="primary" icon="search" onClick={handleQuery}>
-                鏌ヨ
-              </IconButton>
-              <IconButton
-                style="margin-left: 10px;"
-                icon="refresh"
-                onClick={resetQuery}
-              >
-                閲嶇疆
-              </IconButton>
-            </ElFormItem>
-          </ElForm>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsMaterialStockQueryDrawer
+            ref="wmsMaterialStockDetailQueryDrawerRef"
+            v-model={dialogConfigForQuery.visible}
+            title={dialogConfigForQuery.title}
+            row={current.value}
+            sort={sort.value}
+            onConfirmQuery={handleQuery}
+            onRestQuery={resetQuery}
+            onClose={closeQuery}
+          />
+
           <div class={styles.headerContent}>
             <div class={styles.header}>
               <IconButton
-                v-permission="wmsMaterialStock-add"
+                v-permission="wmsMaterialStockDetail-add"
                 icon="add-p"
                 onClick={onAddWmsMaterialStock}
                 type="primary"
@@ -437,8 +358,9 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
-              <el-upload
-                v-permission="wmsMaterialStock-import"
+
+              {/* <el-upload
+                v-permission="wmsMaterialStockDetail-import"
                 name="file"
                 accept=".xlsx,.xls,.csv"
                 show-file-list={false}
@@ -446,28 +368,58 @@
                 onSuccess={onSuccess}
                 before-upload={onBeforeUpload}
                 headers={headers.value}
-                action="/api/v1/HIAWms/wmsMaterialStock/import"
+                action="/api/v1/HIAWms/wmsMaterialStockDetail/import"
               >
                 <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
+              </el-upload> */}
 
               <IconButton
-                v-permission="wmsMaterialStock-output"
+                v-permission="wmsMaterialStockDetail-output"
                 icon="out"
-                onClick={onExport}
+                onClick={handleExport}
               >
                 瀵煎嚭
               </IconButton>
             </div>
-            {/* <Search
-              placeholder="璇疯緭鍏ュ叧閿瓧"
-              v-model={search.value}
-              onConfirm={onSearch}
-              style={{ marginTop: '-1px' }}
-            /> */}
+            <ElFormItem style={{ marginTop: '15px' }}>
+              <ElFormItem label="鍏抽敭瀛�">
+                <el-tooltip
+                  class="box-item"
+                  effect="dark"
+                  content={searchFormInputAttrs_Placeholder.value}
+                  placement="top-start"
+                >
+                  <ElInput
+                    v-model={queryForm.value.searchVal}
+                    placeholder={searchFormInputAttrs_Placeholder.value}
+                    clearable
+                    class={styles.formItem}
+                  />
+                </el-tooltip>
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsMaterialStock-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsMaterialStock"
+            url="/api/v1/HIAWms/wmsmaterialstock/"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts
index 035b581..00d458f 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts
@@ -20,10 +20,10 @@
     field: 'placeStatusDesc',
     title: '搴撲綅鐘舵��',
   },
-  {
-    field: 'containerNo',
-    title: '瀹瑰櫒缂栧彿',
-  },
+  // {
+  //   field: 'containerNo',
+  //   title: '瀹瑰櫒缂栧彿',
+  // },
   {
     field: 'stockNumber',
     title: '搴撳瓨鏁伴噺',
@@ -40,10 +40,10 @@
     field: 'areaName',
     title: '鎵�灞炲簱鍖�',
   },
-  {
-    field: 'checkStatusDesc',
-    title: '妫�楠岀姸鎬�',
-  },
+  // {
+  //   field: 'checkStatusDesc',
+  //   title: '妫�楠岀姸鎬�',
+  // },
   {
     field: 'inStockTime',
     title: '鍏ュ簱鏃堕棿',
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss
index 365acbf..ac415d3 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss
@@ -1,113 +1,113 @@
-.wmsMaterialStockContent {
-  width: 100%;
-  height: 80%;
-
-  .wmsMaterialStockList {
-    width: 100%;
-    height: calc(100% - 70px);
-  }
-  .headerContent {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 43px;
-  }
-  .header {
-    margin-bottom: 12px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-
-.tagBox {
-  width: auto;
-  min-width: 80px;
-  height: 24px;
-  background: #ffffff;
-  border-radius: 19px 19px 19px 19px;
-  opacity: 1;
-  border: 1px dashed #bcc4cc;
-  width: 50px;
-  height: 20px;
-  font-size: 14px;
-  font-family: PingFang SC, PingFang SC;
-  font-weight: 400;
-  color: #5a84ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  // cursor: pointer;
-}
-
-.group {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.groupTable {
-  width: 100%;
-}
-
-.overBox {
-  width: 100%;
-  height: calc(100% - 20px);
-  overflow: auto;
-  :global(.cs-collapse-item__header) {
-    background-color: #f1f1f1;
-    padding: 0 20px;
-    height: 35px;
-    font-size: 16px;
-    font-family: PingFang SC, PingFang SC;
-    font-weight: 500;
-  }
-  :global(.cs-collapse-item__content) {
-    padding-bottom: 0px;
-  }
-}
-.groupHeader {
-  width: 100%;
-  height: 30px;
-  background: #ccc;
-}
-
-.hideBlock {
-  display: none;
-}
-.queryForm {
-  padding: 10px;
-  background: #f5f7fa;
-  margin-bottom: 0px;
-  border-radius: 4px;
-  
-  .el-form-item {
-    margin-right: 20px;
-    margin-bottom: 0;
-    
-    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
-    .el-input, .el-select {
-      width: 200px; // 璁剧疆缁熶竴鐨勫搴�
-    }
-    
-    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
-    .el-select .el-input__wrapper {
-      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
-      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
-    }
-    
-    // 鏃ユ湡閫夋嫨鍣ㄥ搴�
-    .el-date-editor {
-      width: 220px;
-    }
-  }
-}
-
-// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
-.formItem {
-  width: 200px;
-  
-  &.el-input, &.el-select {
-    width: 100%;
-  }
-}
\ No newline at end of file
+.wmsMaterialStockDetailContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsMaterialStockDetailList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-end; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx
index 40d7b2b..a2f4737 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx
@@ -4,21 +4,22 @@
 import styles from './WmsMaterialStockDetail.module.scss'
 import { useWmsMaterialStock } from '../../../Controllers/WmsMaterialStock'
 import IconButton from '@/components/IconButton/IconButton'
-import WmsMaterialStockDrawer from '../Dialog/WmsMaterialStockDrawer/WmsMaterialStockDrawer'
+import WmsMaterialStockDetailQueryDrawer from '../Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer'
 import Search from '@/components/Search/Search'
 import { columns } from './Config'
 import TdButton from '@/components/TdButton/TdButton'
 import { vPermission } from '@/libs/Permission/Permission'
 import dayjs from 'dayjs'
+import { getWmsEnumData } from '@/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer'
 import {
+  ElInput,
+  ElSelect,
+  ElOption,
   ElDatePicker,
   ElForm,
   ElFormItem,
-  ElInput,
-  ElOption,
-  ElSelect,
 } from 'element-plus'
-import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+import { injectModel } from '@/libs/Provider/Provider'
 
 interface RenderTableType {
   url?: string
@@ -31,7 +32,7 @@
 }
 
 export default defineComponent({
-  name: 'WmsMaterialStock',
+  name: 'WmsMaterialStockDetail',
   directives: {
     permission: vPermission,
   },
@@ -40,6 +41,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -51,91 +53,81 @@
       onConfirmWmsMaterialStock,
       onCheck,
       onAddWmsMaterialStock,
+      onAdvancedQuery,
       onExport,
       openDetail,
       onSuccess,
       onBeforeUpload,
     } = useWmsMaterialStock(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsMaterialStockDetailQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      containerNo: '',
-      materialNo: '',
-      materialName: '',
-      containerType: '',
-      containerStatus: '',
-      storageTypeNo: 1,
-      placeStatus: '',
-      placeNo: '',
-      isLock: '',
-      emptyContainer: '',
-      dateRange: [],
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺
-      containerStatus: queryForm.value.containerStatus || '',
-      storageTypeNo: queryForm.value.storageTypeNo || 1, // 澶勭悊涓嬫媺
-      placeStatus: queryForm.value.placeStatus || '',
-      islock: queryForm.value.isLock || '',
-      emptyContainer: queryForm.value.emptyContainer || '',
-      startTime: queryForm.value.dateRange[0] || '',
-      endTime: queryForm.value.dateRange[1] || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['OrderNo', 'MaterialNo', 'MaterialId'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
-      containerType: [] as Array<{ label: string; value: any }>,
       containerStatus: [] as Array<{ label: string; value: any }>,
-      storageTypeNo: [] as Array<{ label: string; value: any }>,
+      containerType: [] as Array<{ label: string; value: any }>,
       placeStatus: [] as Array<{ label: string; value: any }>,
-      yesOrNo: [] as Array<{ label: string; value: any }>,
+      storageTypeNo: [] as Array<{ label: string; value: any }>,
+      checkStatus: [] as Array<{ label: string; value: any }>,
+      isLock: [] as Array<{ label: string; value: any }>,
+      emptyContainer: [] as Array<{ label: string; value: any }>,
     })
 
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const containerTypeData = await getWmsEnumData({
-          EnumName: 'ContainerTypeEnum',
-        })
-        enumOptions.containerType = containerTypeData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const storageTypeNoData = await getWmsEnumData({
-          EnumName: 'PlaceTypeEnum',
-        })
-        enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const placeStatusData = await getWmsEnumData({
-          EnumName: 'PlaceStatusEnum',
-        })
-        enumOptions.placeStatus = placeStatusData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const containerStatusData = await getWmsEnumData({
+        const containerStatusEnumData = await getWmsEnumData({
           EnumName: 'ContainerStatusEnum',
         })
-        enumOptions.containerStatus = containerStatusData.map((item) => ({
+        enumOptions.containerStatus = containerStatusEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        const yesNoData = await getWmsEnumData({
+        const containerTypeEnumData = await getWmsEnumData({
+          EnumName: 'ContainerTypeEnum',
+        })
+        enumOptions.containerType = containerTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const placeStatusEnumData = await getWmsEnumData({
+          EnumName: 'PlaceStatusEnum',
+        })
+        enumOptions.placeStatus = placeStatusEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const placeTypeEnumData = await getWmsEnumData({
+          EnumName: 'PlaceTypeEnum',
+        })
+        enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const materialCheckStatusEnumData = await getWmsEnumData({
+          EnumName: 'MaterialCheckStatusEnum',
+        })
+        enumOptions.checkStatus = materialCheckStatusEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const yesNoEnumData = await getWmsEnumData({
           EnumName: 'YesNoEnum',
         })
-        enumOptions.yesOrNo = yesNoData.map((item) => ({
+        enumOptions.isLock = yesNoEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        enumOptions.emptyContainer = yesNoEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
@@ -147,33 +139,65 @@
     // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
     onMounted(() => {
       fetchEnumData()
-      handleQuery()
+      handleQueryForMain()
     })
 
-    // 鏂板鐨勬煡璇㈡柟娉�
-    const handleQuery = async () => {
-      console.log('鏌ヨ鏉′欢:', queryParams.value)
-      // tableRef.value.getTableList()
-      tableRef.value.getList(queryParams.value)
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    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
     }
 
-    // 閲嶇疆鏌ヨ鏉′欢
-    const resetQuery = () => {
-      queryForm.value = {
-        containerNo: '',
-        materialNo: '',
-        materialName: '',
-        containerType: '',
-        containerStatus: '',
-        storageTypeNo: 1,
-        placeStatus: '',
-        placeNo: '',
-        isLock: '',
-        emptyContainer: '',
-        dateRange: [],
-        filter: '',
-      }
-    }
     /**
      * @returns 琛ㄦ牸
      */
@@ -187,20 +211,17 @@
         params,
         autoHeight,
       } = props
-      props.params = {
-        ...queryParams.value,
-        ...params,
-      }
+
       return (
         <div
           class={{
-            [styles.wmsMaterialStockList]: true,
+            [styles.wmsMaterialStockDetailList]: true,
           }}
         >
           <BaseTable
             ref={tableRef}
             url={url}
-            sortUrlTpl="/api/v1/HIAWms/wmsMaterialStock/{id}/adjustsort/{sort}"
+            sortUrlTpl="/api/v1/HIAWms/wmsMaterialStockDetail/{id}/adjustsort/{sort}"
             v-model:dataSource={dataSource.value}
             columns={columns}
             contextMenu={contextMenu}
@@ -218,6 +239,57 @@
                   <div>
                     {row.inStockTime != null
                       ? dayjs(row.inStockTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              isDisabled: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDisabled != null
+                      ? row.isDisabled
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              creationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.creationTime != null
+                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              lastModificationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.lastModificationTime != null
+                      ? dayjs(row.lastModificationTime).format(
+                          'YYYY-MM-DD HH:mm:ss'
+                        )
+                      : '-'}
+                  </div>
+                )
+              },
+              isDeleted: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDeleted != null
+                      ? row.isDeleted
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              deletionTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.deletionTime != null
+                      ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
                       : '-'}
                   </div>
                 )
@@ -242,20 +314,13 @@
         </div>
       )
     }
+
     return () => {
       return (
-        <div class={styles.wmsMaterialStockContent}>
-          {/* 娣诲姞/缂栬緫 */}
-          <WmsMaterialStockDrawer
-            v-model={dialogConfig.visible}
-            title={dialogConfig.title}
-            row={current.value}
-            sort={sort.value}
-            onConfirm={onConfirmWmsMaterialStock}
-          />
+        <div class={styles.wmsMaterialStockDetailContent}>
           {/* 楂樼骇鏌ヨ */}
-          {/* <WmsMaterialStockDetailDrawer
-            ref="wmsTaskQueryDrawerRef"
+          <WmsMaterialStockDetailQueryDrawer
+            ref="wmsMaterialStockDetailQueryDrawerRef"
             v-model={dialogConfigForQuery.visible}
             title={dialogConfigForQuery.title}
             row={current.value}
@@ -263,49 +328,57 @@
             onConfirmQuery={handleQuery}
             onRestQuery={resetQuery}
             onClose={closeQuery}
-          /> */}
+          />
+
           <div class={styles.headerContent}>
             <div class={styles.header}>
               <IconButton
-                v-permission="wmsMaterialStock-add"
-                icon="add-p"
-                onClick={onAddWmsMaterialStock}
-                type="primary"
-              >
-                娣诲姞
-              </IconButton>
-              <el-divider direction="vertical" />
-              <el-upload
-                v-permission="wmsMaterialStock-import"
-                name="file"
-                accept=".xlsx,.xls,.csv"
-                show-file-list={false}
-                onError={onError}
-                onSuccess={onSuccess}
-                before-upload={onBeforeUpload}
-                headers={headers.value}
-                action="/api/v1/HIAWms/wmsMaterialStock/import"
-              >
-                <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
-
-              <IconButton
-                v-permission="wmsMaterialStock-output"
+                v-permission="wmsMaterialStockDetail-output"
                 icon="out"
                 onClick={onExport}
               >
                 瀵煎嚭
               </IconButton>
             </div>
-            {/* <Search
-              placeholder="璇疯緭鍏ュ叧閿瓧"
-              v-model={search.value}
-              onConfirm={onSearch}
-              style={{ marginTop: '-1px' }}
-            /> */}
+            <ElFormItem style={{ marginTop: '15px' }}>
+              <ElFormItem label="鍏抽敭瀛�">
+                <el-tooltip
+                  class="box-item"
+                  effect="dark"
+                  content={searchFormInputAttrs_Placeholder.value}
+                  placement="top-start"
+                >
+                  <ElInput
+                    v-model={queryForm.value.searchVal}
+                    placeholder={searchFormInputAttrs_Placeholder.value}
+                    clearable
+                    class={styles.formItem}
+                  />
+                </el-tooltip>
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsMaterialStockDetail-hightQuery"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsMaterialStock"
+            url="/api/v1/HIAWms/wmsMaterialStock/StockDetail"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts
index 947c2b0..8edf3af 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts
@@ -12,4 +12,8 @@
   'wmsMaterialStock-add': '鍒楄〃-娣诲姞',
   'wmsMaterialStock-import': '鍒楄〃-瀵煎叆',
   'wmsMaterialStock-output': '鍒楄〃-杈撳嚭',
+
+  'wmsMaterialStockDetail-hightQuery': '鍒楄〃-楂樼骇鏌ヨ',
+  'wmsMaterialStockDetail-query': '鍒楄〃-鏌ヨ',
+  'wmsMaterialStockDetail-output': '鍒楄〃-瀵煎嚭',
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
index ab7a6e4..5de66e7 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
@@ -1,9 +1,5 @@
 import { Base } from '@/libs/Base/Base'
-import {
-  addWmsArea,
-  getWmsArea,
-  updateWmsArea,
-} from './Service/WmsAreaDrawer'
+import { addWmsArea, getWmsArea, updateWmsArea } from './Service/WmsAreaDrawer'
 import { useGlobalState } from '@/libs/Store/Store'
 
 export class WmsAreaDrawer extends Base<{ [key: string]: any }> {
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs
index 79db668..37f3ca4 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs
@@ -90,7 +90,7 @@
     /// <summary>
     /// 搴撲綅绫诲瀷缂栧彿
     /// </summary>
-    public PlaceTypeEnum? StorageTypeNo { get; set; }
+    public PlaceTypeEnum? StorageTypeNo { get; set; } = PlaceTypeEnum.YUANLIAOKUWEI;
 
     /// <summary>
     /// 鍖哄煙缂栧彿
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
index e47bac5..6944397 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
@@ -64,7 +64,7 @@
         /// <returns></returns>
         [HttpGet]
         [Route("StockDetail")]
-        public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStocksInput input)
+        public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync([FromQuery]GetWmsMaterialStocksInput input)
         {
             return await _wmsmaterialstockAppService.GetStockDetailAsync(input);
         }
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/File/GenerateCodeConfigParamFiles/\345\272\223\345\255\230\350\257\246\346\203\205.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/File/GenerateCodeConfigParamFiles/\345\272\223\345\255\230\350\257\246\346\203\205.txt"
new file mode 100644
index 0000000..f85b5ac
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/File/GenerateCodeConfigParamFiles/\345\272\223\345\255\230\350\257\246\346\203\205.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmsmaterialstocks
+[瀹炰綋绫诲悕]:WmsMaterialStock
+[瀹炰綋绫诲璞″悕]:WmsMaterialStock
+[椤甸潰鑿滃崟鍚峕:搴撳瓨璇︽儏
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsMaterialStockDetail
+[琛ㄧ殑涓枃娉ㄨВ]:鍑哄叆搴撳崟鎹鎯�
+[閲嶅鎬ф牎楠屽瓧娈礭:MaterialId
+[鍒犻櫎鎻愮ず瀛楁]:MaterialId
+[妯$硦鏌ヨ瀛楁]:'OrderNo', 'MaterialNo', 'MaterialId'
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:ContainerStatus,ContainerStatusEnum&ContainerType,ContainerTypeEnum&PlaceStatus,PlaceStatusEnum&StorageTypeNo,PlaceTypeEnum&CheckStatus,MaterialCheckStatusEnum&IsLock,YesNoEnum&EmptyContainer,YesNoEnum
+[鍓嶇鏍规枃浠跺す鍚嶇О]:web
+[鎺掑簭]:CreationTime
\ No newline at end of file

--
Gitblit v1.9.3