From 1225fbcf6dd197c39853e2cb0f70c7318836abcb Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周一, 19 5月 2025 16:53:12 +0800
Subject: [PATCH] 仓库信息高级查询

---
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs                                              |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs                                               |    1 
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/仓库信息配置.txt                                                |   14 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx                                    |  549 ++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs                         |  213 +++
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts                                               |    5 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx         |   71 +
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts                                           |   44 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx                                      |  376 ++---
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs                                              |    5 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts                                        |    7 
 HIAWms/hiawms_web/src/config/menu.ts                                                                              |   26 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs                         |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs                   |   68 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs                  |   60 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs                                         |    6 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts                                   |   35 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs                      |  233 +++
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx           |   71 +
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs                                       |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs                                   |   65 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss |    3 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts                                  |   35 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx                                      |  231 ++-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs                                  |   68 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs                       |  179 ++
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库区配置.txt                                                  |   14 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx                                    |  314 ++++
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts                                          |   44 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts                                                 |   27 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts                                          |   44 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts                                                |   27 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx                                        |  282 ++-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs                |    2 
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库位配置信息.txt                                                |   14 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs                  |  141 +
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts                                       |    7 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss |    3 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts                                                |   27 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss   |    3 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx                                     |  428 ++++++
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts                                                      |    7 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs                                       |   24 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs                                  |   53 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs                                 |   25 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts                                  |   35 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts                                                |   11 
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx         |   71 +
 49 files changed, 3,364 insertions(+), 617 deletions(-)

diff --git a/HIAWms/hiawms_web/src/config/menu.ts b/HIAWms/hiawms_web/src/config/menu.ts
index 1847594..39d0d71 100644
--- a/HIAWms/hiawms_web/src/config/menu.ts
+++ b/HIAWms/hiawms_web/src/config/menu.ts
@@ -28,16 +28,16 @@
     "notPage": false
   },
   {
-    "name": "鍑哄叆搴撳崟鎹鎯�",
-    "path": "/information-base/WmsInOutStockOrderDetail",
-    "patchName": "WmsInOutStockOrderDetail",
+    "name": "鍑哄叆搴撹褰�",
+    "path": "/information-base/WmsInOutStockRecord",
+    "patchName": "WmsInOutStockRecord",
     "icon": "p",
     "notPage": false
   },
   {
-    "name": "鍑哄叆搴撹褰�",
-    "path": "/information-base/WmsInOutStockRecord",
-    "patchName": "WmsInOutStockRecord",
+    "name": "鍑哄叆搴撳崟鎹鎯�",
+    "path": "/information-base/WmsInOutStockOrderDetail",
+    "patchName": "WmsInOutStockOrderDetail",
     "icon": "p",
     "notPage": false
   },
@@ -99,13 +99,6 @@
     "icon": "p",
     "notPage": false
   },
-  "WmsInOutStockOrderDetail": {
-    "name": "鍑哄叆搴撳崟鎹鎯�",
-    "path": "/information-base/WmsInOutStockOrderDetail",
-    "patchName": "WmsInOutStockOrderDetail",
-    "icon": "p",
-    "notPage": false
-  },
   "WmsInOutStockRecord": {
     "name": "鍑哄叆搴撹褰�",
     "path": "/information-base/WmsInOutStockRecord",
@@ -113,6 +106,13 @@
     "icon": "p",
     "notPage": false
   },
+  "WmsInOutStockOrderDetail": {
+    "name": "鍑哄叆搴撳崟鎹鎯�",
+    "path": "/information-base/WmsInOutStockOrderDetail",
+    "patchName": "WmsInOutStockOrderDetail",
+    "icon": "p",
+    "notPage": false
+  },
   "WmsInOutStockOrder": {
     "name": "鍑哄叆搴撳崟鎹�",
     "path": "/information-base/WmsInOutStockOrder",
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts
index 47b0f94..c7dc644 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts
@@ -52,6 +52,12 @@
     isAdd: false,
   })
 
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
+
   const dialogSettingConfig = reactive({
     visible: false,
     title: '',
@@ -170,9 +176,22 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/HIAWms/wmsArea/export', params, 'wmsStoreInfo')
+  // const onExport = () => {
+  //   const params = tableRef.value?.getParams()
+  //   exportFile('/api/v1/HIAWms/wmsArea/export', params, 'wmsStoreInfo')
+  // }
+  const onExport = (data = {}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/HIAWms/wmsArea/export', data, '搴撳尯淇℃伅')
+  }
+
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
   }
 
   /**
@@ -236,6 +255,7 @@
     dataSource,
     contextMenu,
     dialogConfig,
+    dialogConfigForQuery,
     dialogSettingConfig,
     tableRef,
     current,
@@ -254,5 +274,6 @@
     onConfirmWmsArea,
     onCheck,
     onAddWmsArea,
+    onAdvancedQuery,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx
new file mode 100644
index 0000000..1c32fe0
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx
@@ -0,0 +1,428 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsAreaDrawer } from '../Models/WmsAreaDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+  FILTER_MODE_OPTIONS_STRING,
+  FILTER_MODE_OPTIONS_NUM,
+  FILTER_MODE_OPTIONS_BOOL,
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants'
+import { getStoreDataList } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+
+export const useWmsAreaQueryDrawer = (props: any, ctx?: any) => {
+  const wmsAreaDrawer = injectModel<WmsAreaDrawer>('WmsAreaDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+  const storeList = 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: 'areaNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱鍖虹紪鍙�',
+      highSelectAttrs: {
+        prop: 'areaNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '搴撳尯鍚嶇О',
+      prop: 'areaName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�',
+      highSelectAttrs: {
+        prop: 'areaName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鎻忚堪',
+      prop: 'areaDesc',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ弿杩�',
+      highSelectAttrs: {
+        prop: 'areaDesc_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '搴撳尯鐘舵��',
+      prop: 'areaStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱鍖虹姸鎬�',
+      highSelectAttrs: {
+        prop: 'areaStatus_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '搴撳尯绫诲瀷',
+      prop: 'areaType',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱鍖虹被鍨�',
+      highSelectAttrs: {
+        prop: 'areaType_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    // {
+    //   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField1',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField1_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField2',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField2_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField3',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField3_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    {
+      label: '浠撳簱',
+      prop: 'storeCode',
+      el: 'select',
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�',
+      highSelectAttrs: {
+        prop: 'storeCode_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '浠撳簱鍚嶇О',
+      prop: 'storeName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�',
+      highSelectAttrs: {
+        prop: 'storeName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+      highSelectAttrs: {
+        prop: 'remark_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    // {
+    //   label: '',
+    //   prop: 'creationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+    // {
+    //   label: '',
+    //   prop: 'lastModificationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      areaNo: formData.value.areaNo || '',
+      areaNo_FilterMode: formData.value.areaNo_FilterMode || '',
+      areaName: formData.value.areaName || '',
+      areaName_FilterMode: formData.value.areaName_FilterMode || '',
+      areaDesc: formData.value.areaDesc || '',
+      areaDesc_FilterMode: formData.value.areaDesc_FilterMode || '',
+      areaStatus: formData.value.areaStatus || '',
+      areaStatus_FilterMode: formData.value.areaStatus_FilterMode || '',
+      areaType: formData.value.areaType || '',
+      areaType_FilterMode: formData.value.areaType_FilterMode || '',
+      redundantField1: formData.value.redundantField1 || '',
+      redundantField1_FilterMode:
+        formData.value.redundantField1_FilterMode || '',
+      redundantField2: formData.value.redundantField2 || '',
+      redundantField2_FilterMode:
+        formData.value.redundantField2_FilterMode || '',
+      redundantField3: formData.value.redundantField3 || '',
+      redundantField3_FilterMode:
+        formData.value.redundantField3_FilterMode || '',
+      storeCode: formData.value.storeCode || '',
+      storeCode_FilterMode: formData.value.storeCode_FilterMode || '',
+      storeName: formData.value.storeName || '',
+      storeName_FilterMode: formData.value.storeName_FilterMode || '',
+      remark: formData.value.remark || '',
+      remark_FilterMode: formData.value.remark_FilterMode || '',
+      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)
+  }
+  /**
+   * 閲嶇疆鍏叡select鏌ヨ
+   */
+  const onResetForHighSelect = async () => {
+    formData.value.areaNo_FilterMode = 1
+    formData.value.areaName_FilterMode = 1
+    formData.value.areaDesc_FilterMode = 1
+    formData.value.areaStatus_FilterMode = 2
+    formData.value.areaType_FilterMode = 2
+    formData.value.redundantField1_FilterMode = 1
+    formData.value.redundantField2_FilterMode = 1
+    formData.value.redundantField3_FilterMode = 1
+    formData.value.storeCode_FilterMode = 1
+    formData.value.storeName_FilterMode = 1
+    formData.value.remark_FilterMode = 1
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+    formData.value.areaNo = ''
+    formData.value.areaName = ''
+    formData.value.areaDesc = ''
+    formData.value.areaStatus = ''
+    formData.value.areaType = ''
+    formData.value.redundantField1 = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.storeCode = ''
+    formData.value.storeName = ''
+    formData.value.remark = ''
+    formData.value.creationTime = ''
+    formData.value.lastModificationTime = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    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 updateFormStoreOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.storeName,
+        value: item.storeCode,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const areaStatusEnumEnum = await wmsAreaDrawer.getWmsEnumData({
+      EnumName: 'AreaStatusEnum',
+    })
+    updateFormItemOptions('areaStatus', areaStatusEnumEnum)
+    const areaTypeEnumEnum = await wmsAreaDrawer.getWmsEnumData({
+      EnumName: 'AreaTypeEnum',
+    })
+    updateFormItemOptions('areaType', areaTypeEnumEnum)
+    const stores = await getStoreDataList()
+    storeList.value = stores
+    console.log('storeList', stores)
+    updateFormStoreOptions('storeCode', stores)
+  }
+  commonQueryEnumForFrom()
+  onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  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/WmsStoreInfo/Controllers/WmsPlace.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts
index 96efbd1..3efa706 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts
@@ -56,6 +56,11 @@
     visible: false,
     title: '',
   })
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
 
   /**
    * 鍒嗛〉鏁版嵁
@@ -159,6 +164,15 @@
       await tableRef.value?.getList()
     }
   }
+
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+  }
   /**
    * 琛岀偣鍑绘椂鏇存柊current
    */
@@ -170,11 +184,14 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/HIAWms/wmsPlace/export', params, 'wmsStoreInfo')
+  // const onExport = () => {
+  //   const params = tableRef.value?.getParams()
+  //   exportFile('/api/v1/HIAWms/wmsPlace/export', params, 'wmsStoreInfo')
+  // }
+  const onExport = (data = {}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/HIAWms/wmsPlace/export', data, '搴撲綅淇℃伅')
   }
-
   /**
    * 鍏抽敭瀛楁悳绱�
    */
@@ -236,6 +253,7 @@
     dataSource,
     contextMenu,
     dialogConfig,
+    dialogConfigForQuery,
     dialogSettingConfig,
     tableRef,
     current,
@@ -253,6 +271,7 @@
     onRowClick,
     onConfirmWmsPlace,
     onCheck,
+    onAdvancedQuery,
     onAddWmsPlace,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx
new file mode 100644
index 0000000..e7b708e
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx
@@ -0,0 +1,549 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsPlaceDrawer } from '../Models/WmsPlaceDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+  FILTER_MODE_OPTIONS_STRING,
+  FILTER_MODE_OPTIONS_NUM,
+  FILTER_MODE_OPTIONS_BOOL,
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants'
+import { getAreaAreaDataList } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+
+export const useWmsPlaceQueryDrawer = (props: any, ctx?: any) => {
+  const wmsPlaceDrawer = injectModel<WmsPlaceDrawer>('WmsPlaceDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+  const areas = ref([])
+
+  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: 'placeNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�',
+      highSelectAttrs: {
+        prop: 'placeNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '璐т綅绫诲瀷',
+      prop: 'storageTypeNo',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ揣浣嶇被鍨�',
+      highSelectAttrs: {
+        prop: 'storageTypeNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '璐т綅鐘舵��',
+      prop: 'placeStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ揣浣嶇姸鎬�',
+      highSelectAttrs: {
+        prop: 'placeStatus_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鎵�鍦ㄥ簱鍖�',
+      prop: 'areaCode',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墍鍦ㄥ簱鍖�',
+      highSelectAttrs: {
+        prop: 'areaCode_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '宸烽亾',
+      prop: 'aisle',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏�',
+      highSelectAttrs: {
+        prop: 'aisle_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '鎺�',
+      prop: 'rowNo',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ帓',
+      highSelectAttrs: {
+        prop: 'rowNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '鍒�',
+      prop: 'columnNo',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ垪',
+      highSelectAttrs: {
+        prop: 'columnNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '灞�',
+      prop: 'layerNo',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ眰',
+      highSelectAttrs: {
+        prop: 'layerNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '鏄惁閿佸畾',
+      prop: 'islock',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�',
+      highSelectAttrs: {
+        prop: 'islock_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鏄惁绌烘墭',
+      prop: 'emptyContainer',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�',
+      highSelectAttrs: {
+        prop: 'emptyContainer_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鏈�澶у簱瀛橀噺',
+      prop: 'maxStockNumber',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ渶澶у簱瀛橀噺',
+      highSelectAttrs: {
+        prop: 'maxStockNumber_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    // {
+    //   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField1',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField1_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+      highSelectAttrs: {
+        prop: 'remark_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    // {
+    //   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField2',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField2_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField3',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField3_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '',
+    //   prop: 'creationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+    // {
+    //   label: '',
+    //   prop: 'lastModificationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      placeNo: formData.value.placeNo || '',
+      placeNo_FilterMode: formData.value.placeNo_FilterMode || '',
+      storageTypeNo: formData.value.storageTypeNo || '',
+      storageTypeNo_FilterMode: formData.value.storageTypeNo_FilterMode || '',
+      placeStatus: formData.value.placeStatus || '',
+      placeStatus_FilterMode: formData.value.placeStatus_FilterMode || '',
+      areaCode: formData.value.areaCode || '',
+      areaCode_FilterMode: formData.value.areaCode_FilterMode || '',
+      aisle: formData.value.aisle || '',
+      aisle_FilterMode: formData.value.aisle_FilterMode || '',
+      rowNo: formData.value.rowNo || '',
+      rowNo_FilterMode: formData.value.rowNo_FilterMode || '',
+      columnNo: formData.value.columnNo || '',
+      columnNo_FilterMode: formData.value.columnNo_FilterMode || '',
+      layerNo: formData.value.layerNo || '',
+      layerNo_FilterMode: formData.value.layerNo_FilterMode || '',
+      islock: formData.value.islock || '',
+      islock_FilterMode: formData.value.islock_FilterMode || '',
+      emptyContainer: formData.value.emptyContainer || '',
+      emptyContainer_FilterMode: formData.value.emptyContainer_FilterMode || '',
+      maxStockNumber: formData.value.maxStockNumber || '',
+      maxStockNumber_FilterMode: formData.value.maxStockNumber_FilterMode || '',
+      redundantField1: formData.value.redundantField1 || '',
+      redundantField1_FilterMode:
+        formData.value.redundantField1_FilterMode || '',
+      remark: formData.value.remark || '',
+      remark_FilterMode: formData.value.remark_FilterMode || '',
+      redundantField2: formData.value.redundantField2 || '',
+      redundantField2_FilterMode:
+        formData.value.redundantField2_FilterMode || '',
+      redundantField3: formData.value.redundantField3 || '',
+      redundantField3_FilterMode:
+        formData.value.redundantField3_FilterMode || '',
+      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)
+  }
+  /**
+   * 閲嶇疆鍏叡select鏌ヨ
+   */
+  const onResetForHighSelect = async () => {
+    formData.value.placeNo_FilterMode = 1
+    formData.value.storageTypeNo_FilterMode = 2
+    formData.value.placeStatus_FilterMode = 2
+    formData.value.areaCode_FilterMode = 1
+    formData.value.aisle_FilterMode = 2
+    formData.value.rowNo_FilterMode = 2
+    formData.value.columnNo_FilterMode = 2
+    formData.value.layerNo_FilterMode = 2
+    formData.value.islock_FilterMode = 2
+    formData.value.emptyContainer_FilterMode = 2
+    formData.value.maxStockNumber_FilterMode = 2
+    formData.value.redundantField1_FilterMode = 1
+    formData.value.remark_FilterMode = 1
+    formData.value.redundantField2_FilterMode = 1
+    formData.value.redundantField3_FilterMode = 1
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+    formData.value.placeNo = ''
+    formData.value.storageTypeNo = ''
+    formData.value.placeStatus = ''
+    formData.value.areaCode = ''
+    formData.value.aisle = ''
+    formData.value.rowNo = ''
+    formData.value.columnNo = ''
+    formData.value.layerNo = ''
+    formData.value.islock = ''
+    formData.value.emptyContainer = ''
+    formData.value.maxStockNumber = ''
+    formData.value.redundantField1 = ''
+    formData.value.remark = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.creationTime = ''
+    formData.value.lastModificationTime = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    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 updateFormAreaOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.areaName,
+        value: item.areaNo,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const placeTypeEnumEnum = await wmsPlaceDrawer.getWmsEnumData({
+      EnumName: 'PlaceTypeEnum',
+    })
+    updateFormItemOptions('storageTypeNo', placeTypeEnumEnum)
+    const placeStatusEnumEnum = await wmsPlaceDrawer.getWmsEnumData({
+      EnumName: 'PlaceStatusEnum',
+    })
+    updateFormItemOptions('placeStatus', placeStatusEnumEnum)
+    const yesNoEnumEnum = await wmsPlaceDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('islock', yesNoEnumEnum)
+    updateFormItemOptions('emptyContainer', yesNoEnumEnum)
+    const areaList = await getAreaAreaDataList()
+    areas.value = areaList
+    updateFormAreaOptions('areaCode', areaList)
+  }
+  commonQueryEnumForFrom()
+  onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  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/WmsStoreInfo/Controllers/WmsStore.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts
index 1a7c9ec..471d6e3 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts
@@ -51,7 +51,11 @@
     title: '',
     isAdd: false,
   })
-
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
   const dialogSettingConfig = reactive({
     visible: false,
     title: '',
@@ -148,6 +152,14 @@
     dialogConfig.title = '娣诲姞'
     sort.value = params.totalCount + 1
   }
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+  }
 
   const onConfirmWmsStore = async () => {
     dialogConfig.visible = false
@@ -170,11 +182,14 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/HIAWms/wmsStore/export', params, 'wmsStoreInfo')
+  // const onExport = () => {
+  //   const params = tableRef.value?.getParams()
+  //   exportFile('/api/v1/HIAWms/wmsStore/export', params, 'wmsStoreInfo')
+  // }
+  const onExport = (data = {}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/HIAWms/wmsStore/export', data, '浠撳簱淇℃伅')
   }
-
   /**
    * 鍏抽敭瀛楁悳绱�
    */
@@ -241,6 +256,7 @@
     current,
     search,
     sort,
+    dialogConfigForQuery,
     wmsStoreColumns,
     paginationParams,
     headers,
@@ -254,5 +270,6 @@
     onConfirmWmsStore,
     onCheck,
     onAddWmsStore,
+    onAdvancedQuery,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx
new file mode 100644
index 0000000..aa92d5b
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx
@@ -0,0 +1,314 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsStoreDrawer } from '../Models/WmsStoreDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+  FILTER_MODE_OPTIONS_STRING,
+  FILTER_MODE_OPTIONS_NUM,
+  FILTER_MODE_OPTIONS_BOOL,
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants'
+
+export const useWmsStoreQueryDrawer = (props: any, ctx?: any) => {
+  const wmsStoreDrawer = injectModel<WmsStoreDrawer>('WmsStoreDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  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: '浠撳簱浠g爜',
+      prop: 'storeCode',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�',
+      highSelectAttrs: {
+        prop: 'storeCode_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '浠撳簱鍚嶇О',
+      prop: 'storeName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�',
+      highSelectAttrs: {
+        prop: 'storeName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    // {
+    //   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField1',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField1_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField2',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField2_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    // {
+    //   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   prop: 'redundantField3',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��',
+    //   highSelectAttrs: {
+    //     prop: 'redundantField3_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+      highSelectAttrs: {
+        prop: 'remark_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    // {
+    //   label: '',
+    //   prop: 'creationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+    // {
+    //   label: '',
+    //   prop: 'lastModificationTime',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(dateTimePickerRange, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏�',
+    //   isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+    // },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      storeCode: formData.value.storeCode || '',
+      storeCode_FilterMode: formData.value.storeCode_FilterMode || '',
+      storeName: formData.value.storeName || '',
+      storeName_FilterMode: formData.value.storeName_FilterMode || '',
+      redundantField1: formData.value.redundantField1 || '',
+      redundantField1_FilterMode:
+        formData.value.redundantField1_FilterMode || '',
+      redundantField2: formData.value.redundantField2 || '',
+      redundantField2_FilterMode:
+        formData.value.redundantField2_FilterMode || '',
+      redundantField3: formData.value.redundantField3 || '',
+      redundantField3_FilterMode:
+        formData.value.redundantField3_FilterMode || '',
+      remark: formData.value.remark || '',
+      remark_FilterMode: formData.value.remark_FilterMode || '',
+      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)
+  }
+  /**
+   * 閲嶇疆鍏叡select鏌ヨ
+   */
+  const onResetForHighSelect = async () => {
+    formData.value.storeCode_FilterMode = 1
+    formData.value.storeName_FilterMode = 1
+    formData.value.redundantField1_FilterMode = 1
+    formData.value.redundantField2_FilterMode = 1
+    formData.value.redundantField3_FilterMode = 1
+    formData.value.remark_FilterMode = 1
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+    formData.value.storeCode = ''
+    formData.value.storeName = ''
+    formData.value.redundantField1 = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.remark = ''
+    formData.value.creationTime = ''
+    formData.value.lastModificationTime = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    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 () => {}
+  commonQueryEnumForFrom()
+  onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  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/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts
index 49b1bbe..bb54c33 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts
@@ -24,3 +24,10 @@
 export const updateWmsArea = (id: string, data: Record<string, any>) => {
   return request.put(`/api/v1/HIAWms/wmsArea/${id}`, data)
 }
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data)
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts
new file mode 100644
index 0000000..a6bff41
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsArea = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsArea', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsArea = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsArea/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsArea = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsArea/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts
index 7e046ae..f626556 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts
@@ -24,3 +24,10 @@
 export const updateWmsPlace = (id: string, data: Record<string, any>) => {
   return request.put(`/api/v1/HIAWms/wmsPlace/${id}`, data)
 }
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data)
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts
new file mode 100644
index 0000000..a4d7bda
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsPlace = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsPlace', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsPlace = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsPlace/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsPlace = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsPlace/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts
new file mode 100644
index 0000000..a86784b
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsStore = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsStore', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsStore = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsStore/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsStore = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsStore/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts
index 470b1fd..127e929 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts
@@ -1,9 +1,5 @@
 import { Base } from '@/libs/Base/Base'
-import {
-  deleteWmsAreas,
-  addWmsArea,
-  cloneData,
-} from './Service/WmsArea'
+import { deleteWmsAreas, addWmsArea, cloneData } from './Service/WmsArea'
 
 export class WmsArea extends Base<{ [key: string]: any }> {
   constructor() {
@@ -38,4 +34,5 @@
   cloneData(ids: string[]) {
     return cloneData(ids)
   }
+
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
index 5de66e7..f33af26 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts
@@ -1,5 +1,10 @@
 import { Base } from '@/libs/Base/Base'
-import { addWmsArea, getWmsArea, updateWmsArea } from './Service/WmsAreaDrawer'
+import {
+  addWmsArea,
+  getWmsArea,
+  updateWmsArea,
+  getWmsEnumData,
+} from './Service/WmsAreaDrawer'
 import { useGlobalState } from '@/libs/Store/Store'
 
 export class WmsAreaDrawer extends Base<{ [key: string]: any }> {
@@ -31,4 +36,8 @@
   async getWmsAreaDetail(current: any, id?: string) {
     return getWmsArea(id || current?.id)
   }
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts
new file mode 100644
index 0000000..b31cb9b
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsArea,
+  getWmsArea,
+  updateWmsArea,
+  getWmsEnumData,
+} from './Service/WmsAreaQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsAreaQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsArea: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsArea(data: Record<string, any>) {
+    return addWmsArea(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsArea(id: string, data: Record<string, any>) {
+    return updateWmsArea(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsAreaDetail(current: any, id?: string) {
+    return getWmsArea(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts
index e82e60f..567037f 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts
@@ -3,6 +3,7 @@
   addWmsPlace,
   getWmsPlace,
   updateWmsPlace,
+  getWmsEnumData,
 } from './Service/WmsPlaceDrawer'
 import { useGlobalState } from '@/libs/Store/Store'
 
@@ -35,4 +36,8 @@
   async getWmsPlaceDetail(current: any, id?: string) {
     return getWmsPlace(id || current?.id)
   }
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts
new file mode 100644
index 0000000..7915492
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsPlace,
+  getWmsPlace,
+  updateWmsPlace,
+  getWmsEnumData,
+} from './Service/WmsPlaceQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsPlaceQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsPlace: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsPlace(data: Record<string, any>) {
+    return addWmsPlace(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsPlace(id: string, data: Record<string, any>) {
+    return updateWmsPlace(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsPlaceDetail(current: any, id?: string) {
+    return getWmsPlace(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts
new file mode 100644
index 0000000..36d4d5a
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsStore,
+  getWmsStore,
+  updateWmsStore,
+  getWmsEnumData,
+} from './Service/WmsStoreQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsStoreQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsStore: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsStore(data: Record<string, any>) {
+    return addWmsStore(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsStore(id: string, data: Record<string, any>) {
+    return updateWmsStore(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsStoreDetail(current: any, id?: string) {
+    return getWmsStore(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx
new file mode 100644
index 0000000..134de97
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsAreaQueryDrawer.module.scss' 
+import { useWmsAreaQueryDrawer } from '../../../../Controllers/WmsAreaQueryDrawer.tsx' 
+import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery'  
+ 
+// @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, 
+    } = useWmsAreaQueryDrawer(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} 
+      > 
+        <DyFormForHighQuery 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyFormForHighQuery> 
+      </BaseQueryDrawer> 
+    ) 
+  }, 
+}) 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx
new file mode 100644
index 0000000..321bb35
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsPlaceQueryDrawer.module.scss' 
+import { useWmsPlaceQueryDrawer } from '../../../../Controllers/WmsPlaceQueryDrawer.tsx' 
+import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery'  
+ 
+// @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, 
+    } = useWmsPlaceQueryDrawer(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} 
+      > 
+        <DyFormForHighQuery 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyFormForHighQuery> 
+      </BaseQueryDrawer> 
+    ) 
+  }, 
+}) 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx
new file mode 100644
index 0000000..8946f56
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsStoreQueryDrawer.module.scss' 
+import { useWmsStoreQueryDrawer } from '../../../../Controllers/WmsStoreQueryDrawer.tsx' 
+import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery'  
+ 
+// @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, 
+    } = useWmsStoreQueryDrawer(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} 
+      > 
+        <DyFormForHighQuery 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyFormForHighQuery> 
+      </BaseQueryDrawer> 
+    ) 
+  }, 
+}) 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx
index 0ff3d54..3765110 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx
@@ -14,6 +14,9 @@
   getWmsEnumData,
   getStoreDataList,
 } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import WmsAreaQueryDrawer from '../Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer'
 
 interface RenderTableType {
   url?: string
@@ -35,6 +38,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -45,6 +49,7 @@
       onRowClick,
       onConfirmWmsArea,
       onCheck,
+      onAdvancedQuery,
       onAddWmsArea,
       onExport,
       openDetail,
@@ -52,44 +57,38 @@
       onBeforeUpload,
     } = useWmsArea(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsAreaQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      areaNo: '',
-      areaName: '',
-      areaType: '',
-      areaStatus: '',
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      areaType: queryForm.value.areaType || '', // 澶勭悊涓嬫媺
-      areaStatus: queryForm.value.areaStatus || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['AreaNo', 'AreaName'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ簱鍖虹紪鍙�/搴撳尯鍚嶇О')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
-      areaType: [] as Array<{ label: string; value: any }>,
       areaStatus: [] as Array<{ label: string; value: any }>,
+      areaType: [] as Array<{ label: string; value: any }>,
     })
 
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const areaTypeData = await getWmsEnumData({
-          EnumName: 'AreaTypeEnum',
+        const areaStatusEnumData = await getWmsEnumData({
+          EnumName: 'AreaStatusEnum',
         })
-        enumOptions.areaType = areaTypeData.map((item) => ({
+        enumOptions.areaStatus = areaStatusEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const areaStatusData = await getWmsEnumData({
-          EnumName: 'AreaStatusEnum',
+        const areaTypeEnumData = await getWmsEnumData({
+          EnumName: 'AreaTypeEnum',
         })
-        enumOptions.areaStatus = areaStatusData.map((item) => ({
+        enumOptions.areaType = areaTypeEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
@@ -98,28 +97,80 @@
       }
     }
 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
+    })
     // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
     onMounted(() => {
       fetchEnumData()
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
     })
 
-    // 鏂板鐨勬煡璇㈡柟娉�
-    const handleQuery = async () => {
-      // tableRef.value.getTableList()
-      tableRef.value.getList(queryParams.value)
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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 = {
-        areaNo: '',
-        areaName: '',
-        areaType: '',
-        areaStatus: '',
-        filter: '',
-      }
+      queryForm.value.searchVal = ''
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      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.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+      filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+      return filteredData
+    }
     /**
      * @returns 琛ㄦ牸
      */
@@ -187,94 +238,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsArea}
           />
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <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.areaNo}
-                placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="搴撳尯鍚嶇О">
-              <ElInput
-                v-model={queryForm.value.areaName}
-                placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="搴撲綅绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.areaType}
-                placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
-                clearable
-                loading={enumOptions.areaType.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.areaType.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="搴撳尯鐘舵��">
-              <ElSelect
-                v-model={queryForm.value.areaStatus}
-                placeholder="璇烽�夋嫨鎵樼洏鐘舵��"
-                clearable
-                loading={enumOptions.areaStatus.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.areaStatus.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            {/* <ElFormItem label="鏃ユ湡鑼冨洿">
-              <ElDatePicker
-                v-model={queryForm.value.dateRange}
-                type="daterange"
-                range-separator="鑷�"
-                start-placeholder="寮�濮嬫棩鏈�"
-                end-placeholder="缁撴潫鏃ユ湡"
-                value-format="YYYY-MM-DD"
-              />
-            </ElFormItem> */}
-            <ElFormItem>
-              <IconButton type="primary" icon="search" onClick={handleQuery}>
-                鏌ヨ
-              </IconButton>
-              <IconButton
-                style="margin-left: 10px;"
-                icon="refresh"
-                onClick={resetQuery}
-              >
-                閲嶇疆
-              </IconButton>
-            </ElFormItem>
-          </ElForm>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsAreaQueryDrawer
+            ref="wmsAreaQueryDrawerRef"
+            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}>
@@ -287,6 +261,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
+
               <el-upload
                 v-permission="wmsArea-import"
                 name="file"
@@ -304,20 +279,65 @@
               <IconButton
                 v-permission="wmsArea-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>
+              <ElFormItem label="" style="width:100px;">
+                <ElSelect
+                  v-model={queryForm.value.searchVal_FilterMode}
+                  placeholder="璇烽�夋嫨"
+                  class={styles.formItem}
+                >
+                  {FILTER_MODE_OPTIONS_STRING.map((option) => (
+                    <ElOption
+                      key={option.value}
+                      label={option.label}
+                      value={option.value}
+                    />
+                  ))}
+                </ElSelect>
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsArea-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsArea"
+            url="/api/v1/HIAWms/wmsArea/page"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
index 1a09758..733d1d8 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
@@ -15,6 +15,9 @@
   getAreaAreaDataList,
   getAisleDataList,
 } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import WmsPlaceQueryDrawer from '../Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer'
 
 interface RenderTableType {
   url?: string
@@ -44,72 +47,62 @@
       onError,
       onSearch,
       onRowClick,
+      dialogConfigForQuery,
       onConfirmWmsPlace,
       onCheck,
       onAddWmsPlace,
       onExport,
       openDetail,
       onSuccess,
+      onAdvancedQuery,
       onBeforeUpload,
     } = useWmsPlace(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsPlaceQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      placeNo: '',
-      storageTypeNo: '',
-      placeStatus: '',
-      areaCode: '',
-      aisle: '',
-      islock: '',
-      emptyContainer: '',
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      storageTypeNo: queryForm.value.storageTypeNo || '', // 澶勭悊涓嬫媺
-      placeStatus: queryForm.value.placeStatus || '',
-      islock: queryForm.value.islock || '',
-      aisle: queryForm.value.aisle || '',
-      areaCode: queryForm.value.areaCode || '',
-      emptyContainer: queryForm.value.emptyContainer || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['PlaceNo'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ簱浣嶇紪鍙�')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
       storageTypeNo: [] as Array<{ label: string; value: any }>,
       placeStatus: [] as Array<{ label: string; value: any }>,
-      yesOrNo: [] as Array<{ label: string; value: any }>,
+      islock: [] as Array<{ label: string; value: any }>,
+      emptyContainer: [] as Array<{ label: string; value: any }>,
     })
-
-    let areaTypelist = [] as Array<{ label: string; value: any }>
-    let aisleTypelist = [] as Array<{ label: string; value: any }>
 
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const storageTypeNoData = await getWmsEnumData({
+        const placeTypeEnumData = await getWmsEnumData({
           EnumName: 'PlaceTypeEnum',
         })
-        enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({
+        enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const placeStatusData = await getWmsEnumData({
+        const placeStatusEnumData = await getWmsEnumData({
           EnumName: 'PlaceStatusEnum',
         })
-        enumOptions.placeStatus = placeStatusData.map((item) => ({
+        enumOptions.placeStatus = placeStatusEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        const yesNoData = await getWmsEnumData({
+        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,
         }))
@@ -117,56 +110,80 @@
         console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
       }
     }
-    const getAreaType = async () => {
-      try {
-        const areaListData = await getAreaAreaDataList()
-        areaTypelist = areaListData.map((item) => ({
-          label: item.areaName || '',
-          value: item.areaNo || '', // 鍚屼笂
-        }))
-      } catch (error) {
-        areaTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁�
-      }
-    }
 
-    const getAisleList = async () => {
-      try {
-        const aisleListData = await getAisleDataList()
-        aisleTypelist = aisleListData.map((item) => ({
-          label: item.aisleName || '',
-          value: item.aisle || '',
-        }))
-      } catch (error) {
-        console.error('鑾峰彇宸烽亾鍒楄〃澶辫触:', error)
-        aisleTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁�
-      }
-    }
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
+    })
     // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
     onMounted(() => {
       fetchEnumData()
-      getAreaType()
-      getAisleList()
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
     })
 
-    // 鏂板鐨勬煡璇㈡柟娉�
-    const handleQuery = async () => {
-      console.log('鏌ヨ鏉′欢:', queryParams.value)
-      // tableRef.value.getTableList()
-      tableRef.value.getList(queryParams.value)
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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 = {
-        placeNo: '',
-        storageTypeNo: '',
-        placeStatus: '',
-        aisle: '',
-        areaCode: '',
-        islock: '',
-        emptyContainer: '',
-        filter: '',
-      }
+      queryForm.value.searchVal = ''
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      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.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+      filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+      return filteredData
     }
 
     /**
@@ -247,144 +264,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsPlace}
           />
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <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.placeNo}
-                placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="搴撲綅绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.storageTypeNo}
-                placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
-                clearable
-                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.areaCode}
-                placeholder="璇烽�夋嫨搴撳尯"
-                clearable
-                loading={areaTypelist.length === 0}
-                class={styles.formItem}
-              >
-                {areaTypelist.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="宸烽亾">
-              <ElSelect
-                v-model={queryForm.value.aisle}
-                placeholder="璇烽�夋嫨搴撳尯"
-                clearable
-                loading={aisleTypelist.length === 0}
-                class={styles.formItem}
-              >
-                {aisleTypelist.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>
-              <IconButton type="primary" icon="search" onClick={handleQuery}>
-                鏌ヨ
-              </IconButton>
-              <IconButton
-                style="margin-left: 10px;"
-                icon="refresh"
-                onClick={resetQuery}
-              >
-                閲嶇疆
-              </IconButton>
-            </ElFormItem>
-          </ElForm>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsPlaceQueryDrawer
+            ref="wmsPlaceQueryDrawerRef"
+            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}>
@@ -397,6 +287,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
+
               <el-upload
                 v-permission="wmsPlace-import"
                 name="file"
@@ -414,20 +305,65 @@
               <IconButton
                 v-permission="wmsPlace-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>
+              <ElFormItem label="" style="width:100px;">
+                <ElSelect
+                  v-model={queryForm.value.searchVal_FilterMode}
+                  placeholder="璇烽�夋嫨"
+                  class={styles.formItem}
+                >
+                  {FILTER_MODE_OPTIONS_STRING.map((option) => (
+                    <ElOption
+                      key={option.value}
+                      label={option.label}
+                      value={option.value}
+                    />
+                  ))}
+                </ElSelect>
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsPlace-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsPlace"
+            url="/api/v1/HIAWms/wmsPlace/page"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx
index 82d75dd..cbda8f9 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx
@@ -1,4 +1,4 @@
-import { defineComponent, reactive, ref, computed } from 'vue'
+import { defineComponent, reactive, ref, computed, onMounted } from 'vue'
 import type { Ref } from 'vue'
 import BaseTable from '@/components/Table/Table'
 import styles from './WmsStore.module.scss'
@@ -9,8 +9,10 @@
 import { columns } from './Config'
 import TdButton from '@/components/TdButton/TdButton'
 import { vPermission } from '@/libs/Permission/Permission'
-import { ElForm, ElFormItem, ElInput } from 'element-plus'
+import { ElForm, ElFormItem, ElInput, ElOption, ElSelect } from 'element-plus'
 import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import WmsStoreQueryDrawer from '../Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer'
 
 interface RenderTableType {
   url?: string
@@ -32,6 +34,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -41,6 +44,7 @@
       onSearch,
       onRowClick,
       onConfirmWmsStore,
+      onAdvancedQuery,
       onCheck,
       onAddWmsStore,
       onExport,
@@ -49,31 +53,102 @@
       onBeforeUpload,
     } = useWmsStore(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsStoreQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      storeCode: '',
-      storeName: '',
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['StoreCode', 'StoreName'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ粨搴撲唬鐮�/浠撳簱鍚嶇О')
 
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-    }))
+    // 鍔ㄦ�佹灇涓鹃�夐」
+    const enumOptions = reactive({})
 
-    // 鏂板鐨勬煡璇㈡柟娉�
-    const handleQuery = async () => {
-      console.log('鏌ヨ鏉′欢:', queryParams.value)
-      // tableRef.value.getTableList()
-      tableRef.value.getList(queryParams.value)
+    // 鑾峰彇鏋氫妇鏁版嵁
+    const fetchEnumData = async () => {
+      try {
+      } catch (error) {
+        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
+      }
     }
 
-    // 閲嶇疆鏌ヨ鏉′欢
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
+    })
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+    onMounted(() => {
+      fetchEnumData()
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
+    })
+
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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 = {
-        storeCode: '',
-        storeName: '',
-        filter: '',
-      }
+      queryForm.value.searchVal = ''
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+      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.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+      filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+      return filteredData
     }
 
     /**
@@ -143,51 +218,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsStore}
           />
-
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <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.storeCode}
-                placeholder="璇疯緭鍏ヤ粨搴撶紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="浠撳簱鍚嶇О">
-              <ElInput
-                v-model={queryForm.value.storeName}
-                placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem>
-              <IconButton type="primary" icon="search" onClick={handleQuery}>
-                鏌ヨ
-              </IconButton>
-              <IconButton
-                style="margin-left: 10px;"
-                icon="refresh"
-                onClick={resetQuery}
-              >
-                閲嶇疆
-              </IconButton>
-            </ElFormItem>
-          </ElForm>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsStoreQueryDrawer
+            ref="wmsStoreQueryDrawerRef"
+            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}>
@@ -200,6 +241,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
+
               <el-upload
                 v-permission="wmsStore-import"
                 name="file"
@@ -217,20 +259,65 @@
               <IconButton
                 v-permission="wmsStore-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>
+              <ElFormItem label="" style="width:100px;">
+                <ElSelect
+                  v-model={queryForm.value.searchVal_FilterMode}
+                  placeholder="璇烽�夋嫨"
+                  class={styles.formItem}
+                >
+                  {FILTER_MODE_OPTIONS_STRING.map((option) => (
+                    <ElOption
+                      key={option.value}
+                      label={option.label}
+                      value={option.value}
+                    />
+                  ))}
+                </ElSelect>
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsStore-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsStore"
+            url="/api/v1/HIAWms/wmsStore/page"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs
index d7f0f26..821432a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs
@@ -1,4 +1,5 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions.Extension;
 using Volo.Abp.Application.Dtos;
 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsArea;
@@ -8,15 +9,40 @@
 /// </summary>
 public class GetWmsAreaInput : ExtensiblePagedAndSortedResultRequestDto
 {
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
 
-    /// <summary>
-    /// Gets or sets the name.
-    /// </summary>
-    public string Name { get; set; }
+    #region 鍏抽敭瀛楁煡璇� 
+
+    /// <summary> 
+    /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
+    /// </summary> 
+    public string searchVal { get; set; }
+
+    /// <summary> 
+    /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    [NoAutoQuery]
+    public string str_searchFormInputAttrs { get; set; }
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public List<string> searchFormInputAttrs
+    {
+        get
+        {
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
+            {
+                return str_searchFormInputAttrs.Split(',').ToList();
+            }
+            return new List<string>();
+        }
+    }
+
+    #endregion
 
     /// <summary>
     /// 搴撳尯缂栧彿
@@ -24,27 +50,190 @@
     public string AreaNo { get; set; }
 
     /// <summary>
+    /// 搴撳尯缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
     /// 搴撳尯鍚嶇О
     /// </summary>
     public string AreaName { get; set; }
 
     /// <summary>
+    /// 搴撳尯鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
     /// 鎻忚堪
     /// </summary>
-    public string? AreaDesc { get; set; }
+    public string AreaDesc { get; set; }
+
+    /// <summary>
+    /// 鎻忚堪-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaDesc_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
     /// <summary>
     /// 搴撳尯鐘舵��
     /// </summary>
-    public AreaStatusEnum AreaStatus { get; set; }
+    public int? AreaStatus { get; set; }
+
+    /// <summary>
+    /// 搴撳尯鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 搴撳尯绫诲瀷
     /// </summary>
-    public AreaTypeEnum AreaType { get; set; }
+    public int? AreaType { get; set; }
+
+    /// <summary>
+    /// 搴撳尯绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
     /// <summary>
     /// 浠撳簱浠g爜
     /// </summary>
-    public string? StoreCode { get; set; }
+    public string StoreCode { get; set; }
+
+    /// <summary>
+    /// 浠撳簱浠g爜-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StoreCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 浠撳簱鍚嶇О
+    /// </summary>
+    public string StoreName { get; set; }
+
+    /// <summary>
+    /// 浠撳簱鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StoreName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int? Sort { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string CreationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string CreatorId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string LastModificationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string LastModifierId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool? IsDeleted { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string DeleterId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string DeletionTime { get; set; }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs
index 01a0001..dce188a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs
@@ -1,4 +1,5 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions.Extension;
 using Volo.Abp.Application.Dtos;
 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlace;
@@ -6,32 +7,71 @@
 /// <summary>
 /// WmsPlace鏌ヨ鍙傛暟瀵硅薄
 /// </summary>
-public class GetWmsMaterialInfoInput : ExtensiblePagedAndSortedResultRequestDto
+public class GetWmsPlaceInput : ExtensiblePagedAndSortedResultRequestDto
 {
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
+    #region 鍏抽敭瀛楁煡璇� 
+
+    /// <summary> 
+    /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
+    /// </summary> 
+    public string searchVal { get; set; }
+
+    /// <summary> 
+    /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    [NoAutoQuery]
+    public string str_searchFormInputAttrs { get; set; }
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public List<string> searchFormInputAttrs
+    {
+        get
+        {
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
+            {
+                return str_searchFormInputAttrs.Split(',').ToList();
+            }
+            return new List<string>();
+        }
+    }
+
+    #endregion
 
     /// <summary>
-    /// Gets or sets the name.
+    /// 搴撲綅缂栧彿
     /// </summary>
-    public string Name { get; set; }
+    public string PlaceNo { get; set; }
 
     /// <summary>
-    /// 缂栧彿
+    /// 搴撲綅缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
     /// </summary>
-    public virtual string PlaceNo { get; set; }
+    public SearchFilterModeEnum PlaceNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
     /// <summary>
     /// 璐т綅绫诲瀷
     /// </summary>
-    public PlaceTypeEnum? StorageTypeNo { get; set; }
+    public int? StorageTypeNo { get; set; }
+
+    /// <summary>
+    /// 璐т綅绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StorageTypeNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 璐т綅鐘舵��
     /// </summary>
-    public PlaceStatusEnum? PlaceStatus { get; set; }
+    public int? PlaceStatus { get; set; }
+
+    /// <summary>
+    /// 璐т綅鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum PlaceStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 鎵�鍦ㄥ簱鍖�
@@ -39,13 +79,19 @@
     public string AreaCode { get; set; }
 
     /// <summary>
-    /// 宸烽亾
+    /// 鎵�鍦ㄥ簱鍖�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
     /// </summary>
     public int? Aisle { get; set; }
+
     /// <summary>
-    /// 鏄惁绂佺敤
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
     /// </summary>
-    public virtual bool IsDisabled { get; set; }
+    public SearchFilterModeEnum Aisle_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 鎺�
@@ -53,9 +99,19 @@
     public int? RowNo { get; set; }
 
     /// <summary>
+    /// 鎺�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RowNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
     /// 鍒�
     /// </summary>
     public int? ColumnNo { get; set; }
+
+    /// <summary>
+    /// 鍒�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ColumnNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 灞�
@@ -63,17 +119,160 @@
     public int? LayerNo { get; set; }
 
     /// <summary>
+    /// 灞�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LayerNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
     /// 鏄惁閿佸畾
     /// </summary>
-    public YesNoEnum? Islock { get; set; }
+    public int? Islock { get; set; }
+
+    /// <summary>
+    /// 鏄惁閿佸畾-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Islock_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 鏄惁绌烘墭
     /// </summary>
-    public YesNoEnum? EmptyContainer { get; set; }
+    public int? EmptyContainer { get; set; }
+
+    /// <summary>
+    /// 鏄惁绌烘墭-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum EmptyContainer_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int? Sort { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
     /// <summary>
     /// 鏈�澶у簱瀛橀噺
     /// </summary>
-    public int MaxStockNumber { get; set; }
+    public int? MaxStockNumber { get; set; }
+
+    /// <summary>
+    /// 鏈�澶у簱瀛橀噺-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaxStockNumber_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string CreationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string CreatorId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string LastModificationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string LastModifierId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool? IsDeleted { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string DeleterId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string DeletionTime { get; set; }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs
index 99714e1..040ab51 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs
@@ -1,3 +1,4 @@
+using CmsQueryExtensions.Extension;
 using Volo.Abp.Application.Dtos;
 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStore;
@@ -7,23 +8,181 @@
 /// </summary>
 public class GetWmsStoreInput : ExtensiblePagedAndSortedResultRequestDto
 {
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
+    #region 鍏抽敭瀛楁煡璇� 
 
-    /// <summary>
-    /// Gets or sets the name.
-    /// </summary>
-    public string Name { get; set; }
+    /// <summary> 
+    /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
+    /// </summary> 
+    public string searchVal { get; set; }
+
+    /// <summary> 
+    /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    [NoAutoQuery]
+    public string str_searchFormInputAttrs { get; set; }
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public List<string> searchFormInputAttrs
+    {
+        get
+        {
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
+            {
+                return str_searchFormInputAttrs.Split(',').ToList();
+            }
+            return new List<string>();
+        }
+    }
+
+    #endregion
 
     /// <summary>
     /// 浠撳簱浠g爜
     /// </summary>
-    public string? StoreCode { get; set; }
+    public string StoreCode { get; set; }
+
+    /// <summary>
+    /// 浠撳簱浠g爜-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StoreCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
     /// <summary>
     /// 浠撳簱鍚嶇О
     /// </summary>
-    public string? StoreName { get; set; }
+    public string StoreName { get; set; }
+
+    /// <summary>
+    /// 浠撳簱鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StoreName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int? Sort { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string CreationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string CreatorId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string LastModificationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string LastModifierId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool? IsDeleted { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string DeleterId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public string DeletionTime { get; set; }
+
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs
index 30d5e01..9503b1f 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs
@@ -6,7 +6,7 @@
 /// <summary>
 /// WmsPlace搴旂敤鏈嶅姟
 /// </summary>
-public interface IWmsPlaceAppService : ICrudAppService<WmsPlaceDto, Guid, GetWmsMaterialInfoInput, WmsPlaceCreateDto, WmsPlaceUpdateDto>
+public interface IWmsPlaceAppService : ICrudAppService<WmsPlaceDto, Guid, GetWmsPlaceInput, WmsPlaceCreateDto, WmsPlaceUpdateDto>
 {
     /// <summary>
     /// Clones the asynchronous.
@@ -42,5 +42,5 @@
     /// </summary>
     /// <param name="input">The input.</param>
     /// <returns></returns>
-    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInfoInput input);
+    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsPlaceInput input);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs
index f69b16b..c803497 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs
@@ -9,6 +9,8 @@
 using Volo.Abp.ObjectExtending;
 using CMS.Plugin.HIAWms.Domain.WmsStores;
 using CmsQueryExtensions;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 
 namespace CMS.Plugin.HIAWms.Application.Implements;
 
@@ -34,7 +36,11 @@
         return ObjectMapper.Map<WmsArea, WmsAreaDto>(await _wmsareaRepository.GetAsync(id));
     }
 
-    /// <inheritdoc />
+    /// <summary> 
+    /// 鍒嗛〉鑾峰彇浠撳簱淇℃伅 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
     public virtual async Task<PagedResultDto<WmsAreaDto>> GetListAsync(GetWmsAreaInput input)
     {
         Check.NotNull(input, nameof(input));
@@ -44,12 +50,40 @@
             input.Sorting = nameof(WmsArea.Sort);
         }
 
-        var specification = new WmsAreaSpecification(input.Name);
-        var area = ObjectMapper.Map<GetWmsAreaInput, WmsArea>(input);
-        var count = await _wmsareaRepository.GetCountAsync(area,input.Filter, specification);
-        var list = await _wmsareaRepository.GetListAsync(area,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await _wmsareaRepository.GetCountAsync(whereConditions);
+        var list = await _wmsareaRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsAreaDto>(count, ObjectMapper.Map<List<WmsArea>, List<WmsAreaDto>>(list));
+    }
+
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsArea, bool>>> DynamicGetQueryParams(GetWmsAreaInput input)
+    {
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsArea, GetWmsAreaInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsArea, bool>> extendExpression = a => a.IsDeleted == false;
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsArea, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
     }
 
     /// <inheritdoc />
@@ -299,7 +333,11 @@
         }
     }
 
-    /// <inheritdoc />
+    /// <summary> 
+    /// 瀵煎嚭浠撳簱搴撳尯淇℃伅 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
     public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsAreaInput input)
     {
         Check.NotNull(input, nameof(input));
@@ -309,9 +347,16 @@
             input.Sorting = nameof(WmsArea.Sort);
         }
 
-        var specification = new WmsAreaSpecification(input.Name);
-        var area = ObjectMapper.Map<GetWmsAreaInput, WmsArea>(input);
-        var list = await _wmsareaRepository.GetListAsync(area,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+
+        var list = await _wmsareaRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
         var result = ObjectMapper.Map<List<WmsArea>, List<WmsAreaDto>>(list);
 
         var sheets = new Dictionary<string, object>
@@ -319,7 +364,7 @@
             ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsArea鍒楄〃" : result.Count == 1 ? result.First()?.AreaName : "WmsArea妯$増";
+        var fileName = "搴撳尯淇℃伅";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
index dcd579c..1545536 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -45,6 +45,27 @@
             _wmsInOutStockRecordRepository = wmsInOutStockRecordRepository;
         }
 
+        /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        /// </summary>  
+        /// <param name="input">杈撳叆鍙傛暟</param>  
+        /// <returns></returns>  
+        private FunReturnResultModel<Expression<Func<WmsPlace, bool>>> DynamicGetQueryPlaceParams(GetWmsPlaceInput input)
+        {
+            // 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+            var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsPlace, GetWmsPlaceInput>(input);
+            if (!whereConditions.IsSuccess)
+            {
+                throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+            }
+
+            //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+            Expression<Func<WmsPlace, bool>> extendExpression = a => a.IsDeleted == false;
+            // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+            var pres = (System.Linq.Expressions.Expression<Func<WmsPlace, bool>>)(whereConditions.data);
+            whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+            return whereConditions;
+        }
 
         /// <summary>
         /// 鏌ユ壘绌哄簱浣�
@@ -61,7 +82,9 @@
             // 1. 鑾峰彇鎵�鏈夊簱瀛樺拰搴撲綅淇℃伅
             var stockList = await _wmsMaterialStockRepository.GetListAsync(whereConditions);
 
-            var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI });
+            var placeConditions = DynamicGetQueryPlaceParams(new GetWmsPlaceInput { StorageTypeNo = (int)PlaceTypeEnum.YUANLIAOKUWEI });
+
+            var placeList = await _wmsPlaceRepository.GetListByFilterAsync(placeConditions.data);
             var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList.Where(x => !x.IsDisabled).ToList());
 
             // 2. 鏌ユ壘鐩稿悓鐗╂枡鍨嬪彿鍜岀紪鍙风殑搴撳瓨锛堟寜搴撳瓨閲忛檷搴忥級
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs
index 69f8c26..864e7c2 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs
@@ -4,6 +4,8 @@
 using CMS.Plugin.HIAWms.Domain.Shared.WmsPlaces;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
 using CmsQueryExtensions;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using System.Text.RegularExpressions;
 using Volo.Abp;
 using Volo.Abp.Application.Dtos;
@@ -32,8 +34,12 @@
         return ObjectMapper.Map<WmsPlace, WmsPlaceDto>(await _wmsplaceRepository.GetAsync(id));
     }
 
-    /// <inheritdoc />
-    public virtual async Task<PagedResultDto<WmsPlaceDto>> GetListAsync(GetWmsMaterialInfoInput input)
+    /// <summary> 
+    /// 鍒嗛〉鑾峰彇搴撲綅淇℃伅 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    public virtual async Task<PagedResultDto<WmsPlaceDto>> GetListAsync(GetWmsPlaceInput input)
     {
         Check.NotNull(input, nameof(input));
 
@@ -42,14 +48,41 @@
             input.Sorting = nameof(WmsPlace.Sort);
         }
 
-        var specification = new WmsPlaceSpecification(input.Name);
-        var place = ObjectMapper.Map<GetWmsMaterialInfoInput, WmsPlace>(input);
-        var count = await _wmsplaceRepository.GetCountAsync(place,input.Filter, specification);
-        var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount,  input.SkipCount, input.Filter, specification);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await _wmsplaceRepository.GetCountAsync(whereConditions);
+        var list = await _wmsplaceRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsPlaceDto>(count, ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list));
     }
 
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsPlace, bool>>> DynamicGetQueryParams(GetWmsPlaceInput input)
+    {
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsPlace, GetWmsPlaceInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsPlace, bool>> extendExpression = a => a.IsDeleted == false;
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsPlace, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
+    }
     /// <inheritdoc />
     public virtual async Task<WmsPlaceDto> CreateAsync(WmsPlaceCreateDto input)
     {
@@ -286,8 +319,12 @@
         }
     }
 
-    /// <inheritdoc />
-    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInfoInput input)
+    /// <summary> 
+    /// 瀵煎嚭搴撲綅淇℃伅 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsPlaceInput input)
     {
         Check.NotNull(input, nameof(input));
 
@@ -296,9 +333,16 @@
             input.Sorting = nameof(WmsPlace.Sort);
         }
 
-        var specification = new WmsPlaceSpecification(input.Name);
-        var place = ObjectMapper.Map<GetWmsMaterialInfoInput, WmsPlace>(input);
-        var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+
+        var list = await _wmsplaceRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
         var result = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list);
 
         var sheets = new Dictionary<string, object>
@@ -306,7 +350,7 @@
             ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsPlace鍒楄〃" : result.Count == 1 ? result.First()?.PlaceNo : "WmsPlace妯$増";
+        var fileName = "搴撲綅淇℃伅";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
index aa83a4a..195b263 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
@@ -8,6 +8,8 @@
 using Volo.Abp.Data;
 using Volo.Abp.ObjectExtending;
 using CmsQueryExtensions;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 
 namespace CMS.Plugin.HIAWms.Application.Implements;
 
@@ -41,12 +43,40 @@
             input.Sorting = nameof(WmsStore.Sort);
         }
 
-        var specification = new WmsStoreSpecification(input.Name);
-        var store = ObjectMapper.Map<GetWmsStoreInput, WmsStore>(input);
-        var count = await _wmsstoreRepository.GetCountAsync(store,input.Filter, specification);
-        var list = await _wmsstoreRepository.GetListAsync(store,input.Sorting, input.MaxResultCount,  input.SkipCount, input.Filter, specification);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await _wmsstoreRepository.GetCountAsync(whereConditions);
+        var list = await _wmsstoreRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsStoreDto>(count, ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list));
+    }
+
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsStore, bool>>> DynamicGetQueryParams(GetWmsStoreInput input)
+    {
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsStore, GetWmsStoreInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsStore, bool>> extendExpression = a => a.IsDeleted == false;
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsStore, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
     }
 
     /// <inheritdoc />
@@ -284,9 +314,16 @@
             input.Sorting = nameof(WmsStore.Sort);
         }
 
-        var specification = new WmsStoreSpecification(input.Name);
-        var store = ObjectMapper.Map<GetWmsStoreInput, WmsStore>(input);
-        var list = await _wmsstoreRepository.GetListAsync(store, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+
+        var list = await _wmsstoreRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
         var result = ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list);
 
         var sheets = new Dictionary<string, object>
@@ -294,7 +331,7 @@
             ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsStore鍒楄〃" : result.Count == 1 ? result.First()?.StoreCode : "WmsStore妯$増";
+        var fileName = "浠撳簱淇℃伅";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs
index 267831a..cea75a1 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs
@@ -23,6 +23,6 @@
          * into multiple profile classes for a better organization. */
         CreateMap<WmsMaterialInfo, WmsMaterialInfoDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
         CreateMap<WmsMaterialInfoCreateDto, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
-        CreateMap<GetWmsMaterialInfoInput, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<GetWmsPlaceInput, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
index b44769d..2c2e727 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
@@ -21,6 +21,6 @@
          * into multiple profile classes for a better organization. */
         CreateMap<WmsPlace, WmsPlaceDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
         CreateMap<WmsPlaceCreateDto, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
-        CreateMap<GetWmsMaterialInfoInput, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<GetWmsPlaceInput, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs
index e72917b..d21c449 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs
@@ -1,3 +1,5 @@
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Specifications;
 
@@ -41,7 +43,7 @@
     /// <param name="includeDetails">if set to <c>true</c> [include details].</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<List<WmsArea>> GetListAsync(WmsArea? area, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsArea> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsArea>> GetListAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鑾峰彇搴撳尯鍒楄〃
@@ -57,5 +59,5 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, CancellationToken cancellationToken = default);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs
index 68cbefe..12e6734 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs
@@ -1,5 +1,7 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
 using CMS.Plugin.HIAWms.Domain.WmsAreas;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Specifications;
 
@@ -43,7 +45,7 @@
     /// <param name="includeDetails">if set to <c>true</c> [include details].</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsPlace>> GetListAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鑾峰彇宸烽亾鍒楄〃
@@ -59,7 +61,7 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鏍规嵁绫诲瀷鑾峰彇搴撲綅鍒楄〃
@@ -68,4 +70,22 @@
     /// <param name="cancellationToken"></param>
     /// <returns></returns>
     Task<List<WmsPlace>> GetPlaceListForSelectAsync(PlaceTypeEnum placeType, CancellationToken cancellationToken = default);
+
+
+    /// <summary>
+    /// 鏍规嵁鏉′欢鑾峰彇搴撲綅鍒楄〃
+    /// </summary>
+    /// <param name="whereConditions"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<List<WmsPlace>> GetListByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, CancellationToken cancellationToken = default);
+
+    /// <summary>
+    /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜搴撲綅淇℃伅 
+    /// </summary>
+    /// <param name="whereConditions"></param>
+    /// <param name="isMultipleThrowException"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<WmsPlace> GetSingleByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
index e843235..7f4e526 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
@@ -1,3 +1,5 @@
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Specifications;
 
@@ -41,7 +43,7 @@
     /// <param name="includeDetails">if set to <c>true</c> [include details].</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsStore>> GetListAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鏌ヨ浠撳簱鍒楄〃
@@ -57,5 +59,5 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, CancellationToken cancellationToken = default);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs
index 5fc6614..ca840a0 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs
@@ -1,7 +1,9 @@
 using System;
 using System.Linq.Dynamic.Core;
+using System.Linq.Expressions;
 using CMS.Plugin.HIAWms.Domain.WmsAreas;
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
+using CmsQueryExtensions.Extension;
 using DatabaseSchemaReader.Filters;
 using MathNet.Numerics;
 using Microsoft.EntityFrameworkCore;
@@ -60,23 +62,39 @@
         return sort + 1;
     }
 
-    /// <inheritdoc />
-    public async Task<List<WmsArea>> GetListAsync(WmsArea? area, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsArea> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default)
+    /// <summary> 
+    /// 获取分页列表仓库信息 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="sorting"></param> 
+    /// <param name="maxResultCount"></param> 
+    /// <param name="skipCount"></param> 
+    /// <param name="includeDetails"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsArea>> GetListAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsAreaSpecification();
         return await (await GetDbSetAsync())
             .IncludeDetails(includeDetails)
-            .Where(specification.ToExpression())
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo))
-            .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName))
-            .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode)
-            .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus)
-            .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType)
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsArea.Sort) : sorting)
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount)
             .ToListAsync(GetCancellationToken(cancellationToken));
+    }
+
+    /// <summary> 
+    /// 获取总数仓库信息 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, CancellationToken cancellationToken = default)
+    {
+        return await (await GetQueryableAsync())
+            .WhereIf(whereConditions != null, whereConditions.data)
+            .Where(x => !x.IsDeleted)
+            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
     }
 
     /// <summary>
@@ -92,20 +110,20 @@
     }
 
     /// <inheritdoc />
-    public async Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default)
-    {
-        specification ??= new WmsAreaSpecification();
-        return await (await GetQueryableAsync())
-            .Where(specification.ToExpression())
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo))
-            .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName))
-            .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode)
-            .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus)
-            .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType)
-            .Where(x => !x.IsDeleted)
-            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
-    }
+    //public async Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default)
+    //{
+    //    specification ??= new WmsAreaSpecification();
+    //    return await (await GetQueryableAsync())
+    //        .Where(specification.ToExpression())
+    //        .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter))
+    //        .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo))
+    //        .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName))
+    //        .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode)
+    //        .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus)
+    //        .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType)
+    //        .Where(x => !x.IsDeleted)
+    //        .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
+    //}
 
     /// <inheritdoc />
     public override async Task<IQueryable<WmsArea>> WithDetailsAsync()
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs
index dc5cf40..dac4c26 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs
@@ -1,10 +1,13 @@
-using System.Linq.Dynamic.Core;
+锘縰sing System.Linq.Dynamic.Core;
+using System.Linq.Expressions;
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
 using CMS.Plugin.HIAWms.Domain.WmsAreas;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
+using CmsQueryExtensions.Extension;
 using Microsoft.AspNetCore.Components.Forms;
 using Microsoft.EntityFrameworkCore;
+using Volo.Abp;
 using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
 using Volo.Abp.EntityFrameworkCore;
 using Volo.Abp.Specifications;
@@ -54,32 +57,44 @@
         return sort + 1;
     }
 
-    /// <inheritdoc />
-    public async Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default)
+    /// <summary> 
+    /// 鑾峰彇鍒嗛〉鍒楄〃搴撲綅淇℃伅 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="sorting"></param> 
+    /// <param name="maxResultCount"></param> 
+    /// <param name="skipCount"></param> 
+    /// <param name="includeDetails"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsPlace>> GetListAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsPlaceSpecification();
         return await (await GetDbSetAsync())
             .IncludeDetails(includeDetails)
-            .Where(specification.ToExpression())
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo.Contains(place.PlaceNo))
-            .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus)
-            .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo)
-            .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle)
-            .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo)
-            .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo)
-            .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo)
-            .WhereIf(place.Islock > 0, u => u.Islock == place.Islock)
-            .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer)
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsPlace.Sort) : sorting)
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount)
             .ToListAsync(GetCancellationToken(cancellationToken));
     }
 
+    /// <summary> 
+    /// 鑾峰彇鎬绘暟搴撲綅淇℃伅 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, CancellationToken cancellationToken = default)
+    {
+        return await (await GetQueryableAsync())
+            .WhereIf(whereConditions != null, whereConditions.data)
+            .Where(x => !x.IsDeleted)
+            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
+    }
+
 
     /// <summary>
-    /// 获取巷道列表
+    /// 鑾峰彇宸烽亾鍒楄〃
     /// </summary>
     /// <param name="cancellationToken"></param>
     /// <returns></returns>
@@ -90,25 +105,25 @@
     }
 
 
-    /// <inheritdoc />
-    public async Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default)
-    {
-        specification ??= new WmsPlaceSpecification();
-        return await (await GetQueryableAsync())
-            .Where(specification.ToExpression())
-            .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo)
-            .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus)
-            .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo)
-            .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle)
-            .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo)
-            .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo)
-            .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo)
-            .WhereIf(place.Islock > 0, u => u.Islock == place.Islock)
-            .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer)
-            .Where(x => !x.IsDeleted)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter))
-            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
-    }
+    ///// <inheritdoc />
+    //public async Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default)
+    //{
+    //    specification ??= new WmsPlaceSpecification();
+    //    return await (await GetQueryableAsync())
+    //        .Where(specification.ToExpression())
+    //        .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo)
+    //        .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus)
+    //        .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo)
+    //        .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle)
+    //        .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo)
+    //        .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo)
+    //        .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo)
+    //        .WhereIf(place.Islock > 0, u => u.Islock == place.Islock)
+    //        .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer)
+    //        .Where(x => !x.IsDeleted)
+    //        .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter))
+    //        .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
+    //}
 
     /// <inheritdoc />
     public override async Task<IQueryable<WmsPlace>> WithDetailsAsync()
@@ -118,7 +133,7 @@
     }
 
     /// <summary>
-    /// 获取库区列表
+    /// 鑾峰彇搴撳尯鍒楄〃
     /// </summary>
     /// <param name="cancellationToken"></param>
     /// <returns></returns>
@@ -129,4 +144,56 @@
             .Where(x=>x.StorageTypeNo == placeType)
            .ToListAsync(GetCancellationToken(cancellationToken));
     }
+
+    /// <summary> 
+    /// 鏍规嵁鏉′欢鑾峰彇搴撲綅淇℃伅鍒楄〃 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsPlace>> GetListByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, CancellationToken cancellationToken = default)
+    {
+        return await (await GetDbSetAsync())
+            .IncludeDetails()
+            .WhereIf(whereConditions != null, whereConditions)
+            .Where(x => !x.IsDeleted)
+            .OrderByDescending(x => x.CreationTime)
+            .ToListAsync(GetCancellationToken(cancellationToken));
+    }
+
+    /// <summary> 
+    ///  鏍规嵁鏉′欢鑾峰彇鍗曚釜搴撲綅淇℃伅 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    /// <exception cref="UserFriendlyException"></exception> 
+    public async Task<WmsPlace> GetSingleByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default)
+    {
+        if (is鈥婱ultipleThrowException)
+        {
+            var entitys = await (await GetDbSetAsync())
+                .IncludeDetails()
+                .WhereIf(whereConditions != null, whereConditions)
+                .Where(x => !x.IsDeleted)
+                .OrderByDescending(x => x.CreationTime)
+                .ToListAsync(GetCancellationToken(cancellationToken));
+            if (entitys?.Count > 1)
+            {
+                throw new UserFriendlyException("鏌ヨ鍒板鏉¤褰�");
+            }
+            return entitys?.FirstOrDefault();
+        }
+        else
+        {
+            return await (await GetDbSetAsync())
+                .IncludeDetails()
+                .WhereIf(whereConditions != null, whereConditions)
+                .Where(x => !x.IsDeleted)
+                .OrderByDescending(x => x.CreationTime)
+                .FirstOrDefaultAsync(GetCancellationToken(cancellationToken));
+        }
+    }
+
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
index 04c47b5..b934c43 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
@@ -1,6 +1,8 @@
 using System.Linq.Dynamic.Core;
+using System.Linq.Expressions;
 using CMS.Plugin.HIAWms.Domain.WmsStores;
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
+using CmsQueryExtensions.Extension;
 using Microsoft.EntityFrameworkCore;
 using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
 using Volo.Abp.EntityFrameworkCore;
@@ -51,21 +53,41 @@
         return sort + 1;
     }
 
-    /// <inheritdoc />
-    public async Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default)
+    /// <summary> 
+    /// 获取分页列表仓库信息 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="sorting"></param> 
+    /// <param name="maxResultCount"></param> 
+    /// <param name="skipCount"></param> 
+    /// <param name="includeDetails"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsStore>> GetListAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsStoreSpecification();
         return await (await GetDbSetAsync())
             .IncludeDetails(includeDetails)
-            .Where(specification.ToExpression())
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(store.StoreCode),u=>u.StoreCode.Contains(store.StoreCode))
-            .WhereIf(!string.IsNullOrEmpty(store.StoreName),u=>u.StoreName.Contains(store.StoreName))
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsStore.Sort) : sorting)
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount)
             .ToListAsync(GetCancellationToken(cancellationToken));
     }
+
+    /// <summary> 
+    /// 获取总数仓库信息 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, CancellationToken cancellationToken = default)
+    {
+        return await (await GetQueryableAsync())
+            .WhereIf(whereConditions != null, whereConditions.data)
+            .Where(x => !x.IsDeleted)
+            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
+    }
+
 
     /// <summary>
     /// 查询仓库列表
@@ -80,17 +102,17 @@
     }
 
     /// <inheritdoc />
-    public async Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default)
-    {
-        specification ??= new WmsStoreSpecification();
-        return await (await GetQueryableAsync())
-            .Where(specification.ToExpression())
-            .Where(x => !x.IsDeleted)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(store.StoreCode), u => u.StoreCode.Contains(store.StoreCode))
-            .WhereIf(!string.IsNullOrEmpty(store.StoreName), u => u.StoreName.Contains(store.StoreName))
-            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
-    }
+    //public async Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default)
+    //{
+    //    specification ??= new WmsStoreSpecification();
+    //    return await (await GetQueryableAsync())
+    //        .Where(specification.ToExpression())
+    //        .Where(x => !x.IsDeleted)
+    //        .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter))
+    //        .WhereIf(!string.IsNullOrEmpty(store.StoreCode), u => u.StoreCode.Contains(store.StoreCode))
+    //        .WhereIf(!string.IsNullOrEmpty(store.StoreName), u => u.StoreName.Contains(store.StoreName))
+    //        .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
+    //}
 
     /// <inheritdoc />
     public override async Task<IQueryable<WmsStore>> WithDetailsAsync()
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs
index 11eebbc..e28da6c 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs
@@ -52,6 +52,7 @@
         /// <param name="input">杈撳叆.</param>
         /// <returns></returns>
         [HttpGet]
+        [Route("Page")]
         public virtual Task<PagedResultDto<WmsAreaDto>> GetListAsync([FromQuery] GetWmsAreaInput input)
         {
             return _wmsareaAppService.GetListAsync(input);
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs
index 31b5f93..560b76c 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs
@@ -52,7 +52,8 @@
         /// <param name="input">杈撳叆.</param>
         /// <returns></returns>
         [HttpGet]
-        public virtual Task<PagedResultDto<WmsPlaceDto>> GetListAsync([FromQuery] GetWmsMaterialInfoInput input)
+        [Route("Page")]
+        public virtual Task<PagedResultDto<WmsPlaceDto>> GetListAsync([FromQuery] GetWmsPlaceInput input)
         {
             return _wmsplaceAppService.GetListAsync(input);
         }
@@ -168,7 +169,7 @@
         /// <returns></returns>
         [HttpGet]
         [Route("Export")]
-        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInfoInput input)
+        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsPlaceInput input)
         {
             input.MaxResultCount = int.MaxValue;
             var exportData = await _wmsplaceAppService.ExportAsync(input);
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs
index 4b2a5ec..943d5ff 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs
@@ -52,6 +52,7 @@
         /// <param name="input">杈撳叆.</param>
         /// <returns></returns>
         [HttpGet]
+        [Route("Page")]
         public virtual Task<PagedResultDto<WmsStoreDto>> GetListAsync([FromQuery] GetWmsStoreInput input)
         {
             return _wmsstoreAppService.GetListAsync(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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.txt"
new file mode 100644
index 0000000..fef77f2
--- /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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmsstores
+[瀹炰綋绫诲悕]:WmsStore
+[瀹炰綋绫诲璞″悕]:WmsStore
+[椤甸潰鑿滃崟鍚峕:鎵樼洏绠$悊
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsStore
+[琛ㄧ殑涓枃娉ㄨВ]:浠撳簱淇℃伅
+[閲嶅鎬ф牎楠屽瓧娈礭:StoreCode
+[鍒犻櫎鎻愮ず瀛楁]:StoreCode
+[妯$硦鏌ヨ瀛楁]:'StoreCode','StoreName'
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ヤ粨搴撲唬鐮�/浠撳簱鍚嶇О
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:
+[鍓嶇鏍规枃浠跺す鍚嶇О]:web
+[鎺掑簭]:CreationTime
\ No newline at end of file
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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.txt"
new file mode 100644
index 0000000..49ad080
--- /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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmsplaces
+[瀹炰綋绫诲悕]:WmsPlace
+[瀹炰綋绫诲璞″悕]:WmsPlace
+[椤甸潰鑿滃崟鍚峕:搴撲綅淇℃伅
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsPlace
+[琛ㄧ殑涓枃娉ㄨВ]:搴撲綅淇℃伅
+[閲嶅鎬ф牎楠屽瓧娈礭:PlaceNo
+[鍒犻櫎鎻愮ず瀛楁]:PlaceNo
+[妯$硦鏌ヨ瀛楁]:'PlaceNo'
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ簱浣嶇紪鍙�
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:StorageTypeNo,PlaceTypeEnum&PlaceStatus,PlaceStatusEnum&Islock,YesNoEnum&EmptyContainer,YesNoEnum
+[鍓嶇鏍规枃浠跺す鍚嶇О]:web
+[鎺掑簭]:CreationTime
\ No newline at end of file
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\214\272\351\205\215\347\275\256.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\214\272\351\205\215\347\275\256.txt"
new file mode 100644
index 0000000..a85c137
--- /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\214\272\351\205\215\347\275\256.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmsareas
+[瀹炰綋绫诲悕]:WmsArea
+[瀹炰綋绫诲璞″悕]:WmsArea
+[椤甸潰鑿滃崟鍚峕:搴撳尯淇℃伅
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsArea
+[琛ㄧ殑涓枃娉ㄨВ]:浠撳簱淇℃伅
+[閲嶅鎬ф牎楠屽瓧娈礭:AreaNo
+[鍒犻櫎鎻愮ず瀛楁]:AreaNo
+[妯$硦鏌ヨ瀛楁]:'AreaNo','AreaName'
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ簱鍖虹紪鍙�/搴撳尯鍚嶇О
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:AreaStatus,AreaStatusEnum&AreaType,AreaTypeEnum
+[鍓嶇鏍规枃浠跺す鍚嶇О]:web
+[鎺掑簭]:CreationTime
\ No newline at end of file

--
Gitblit v1.9.3