From 856cdf5c19fcc21255ef06335747040711fce530 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 14 5月 2025 15:14:56 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx                                      |  336 ++-
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs                       |   47 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs                                      |   56 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx                                        |  581 +++++++
 HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx                                               |  567 ++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs                      |   58 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs                        |   39 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs            |  209 +-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs                              |  324 ++-
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/物料基础配置.txt                                                        |   14 
 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/托盘配置.txt                                                          |   14 
 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx                                                |  245 ++
 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss         |    3 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts                                                    |   30 
 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx                 |   71 
 HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts                                                     |   44 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts                                      |   35 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs                      |  283 +-
 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx         |   71 
 HIAWms/hiawms_web/src/utils/commonOptionConstants.js                                                                      |   11 
 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts                                               |   39 
 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js                                          |   19 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss                              |  227 +-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs                       |  315 +++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs                        |   32 
 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss                                        |   41 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs                     |    2 
 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx                                              |  344 ++-
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs                                         |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs                         |  377 +++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs                     |   33 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs                                       |   57 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts                                              |   44 
 Weben_CMS专用代码生成器/Code/MainForm.cs                                                                                         |   10 
 HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts                                             |   35 
 HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts                                                           |   23 
 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss |    3 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs                                       |    6 
 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss                                      |  226 +-
 39 files changed, 3,789 insertions(+), 1,088 deletions(-)

diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts
new file mode 100644
index 0000000..aea115f
--- /dev/null
+++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts
@@ -0,0 +1,39 @@
+import { VNode, Component, DefineComponent } from 'vue'
+
+export interface OptionItemType {
+  label?: string
+  description?: string
+  name?: string
+  value: string | number
+}
+
+export interface FormItemPropType {
+  prop?: string | Ref<string>
+  highSelectProp?: string | Ref<string>
+  label?: String | Ref<string>
+  rules?: any[] | Ref<any[]>
+  disabled?: boolean | Ref<boolean>
+  isDateControl?: boolean | Ref<boolean>
+  placeholder?: string | Ref<string>
+  type?: string | Ref<string>
+  width?: string | Ref<string>
+  el?: string | Component | DefineComponent | Ref<string>
+  options?: OptionItemType[] | any[] | Ref<any>
+  highSelectAttrs?: object | Ref<object>
+  isTitle?: boolean
+  title?:string | Component
+  [key: string]: any | Ref<string>
+}
+
+export interface FormPropsType {
+  formData: { [key: string]: any }
+  formItemProps: FormItemPropType[]
+  [key: string]: any
+}
+
+export interface PropsType {
+  formItemProps: FormItemPropType[]
+  formData: { [key: string]: any }
+  labelWidth: string
+  [key: string]: any
+}
diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss
new file mode 100644
index 0000000..0fff059
--- /dev/null
+++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss
@@ -0,0 +1,41 @@
+.formStyle {
+  .formItem {
+    // 绉婚櫎鍥哄畾瀹藉害闄愬埗
+    width: auto !important;
+    margin-right: 0 !important;
+  }
+  
+  .formControl {
+    flex: 1; // 璁╂帶浠跺崰鎹墿浣欑┖闂�
+    min-width: 0; // 鍏佽鎺т欢鏀剁缉
+  }
+
+  .formItemLabel {
+    display: inline-flex;
+    justify-content: flex-end;
+    align-items: center;
+    flex: 0 0 auto;
+    font-size: var(--cs-form-label-font-size);
+    color: var(--cs-text-color-regular);
+    height: 32px;
+    line-height: 32px;
+    padding: 0 12px 0 0;
+    box-sizing: border-box;
+    > img {
+      margin-left: 10px;
+    }
+  }
+  
+  :global(.cs-select) {
+    width: 100%;
+  }
+  
+  // 绉婚櫎鍥哄畾瀹藉害璁剧疆
+  :global(.cs-form--inline .cs-form-item) {
+    width: auto !important;
+  }
+  
+  :global(.cs-form--inline .cs-form-item:nth-last-of-type(2n)) {
+    margin-right: 0 !important;
+  }
+}
\ No newline at end of file
diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx
new file mode 100644
index 0000000..1d2d888
--- /dev/null
+++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx
@@ -0,0 +1,245 @@
+// import { ElInput } from "element-plus";
+import {
+  defineComponent,
+  PropType,
+  ref,
+  Ref,
+  SetupContext,
+  computed,
+  unref,
+  markRaw,
+  DefineComponent,
+} from 'vue'
+import styles from './DyFormForHighQuery.module.scss'
+import ElInput from 'element-plus/es/components/input/index'
+import Option from '@/components/Select/Option'
+import Select from '@/components/Select/Select'
+import SelectInput from '@/components/SelectInput/SelectInput'
+import type { FormInstance } from 'element-plus'
+import Icon from '../Icon/Icon'
+import {
+  FormPropsType,
+  FormItemPropType,
+  PropsType,
+  OptionItemType,
+} from './DyFormForHighQuery.d'
+import Variable from '../Variable/Variable'
+import Title from '../Title/Title'
+import TextareaFlow from '../Flow/Flow'
+import get from 'lodash/get'
+import set from 'lodash/set'
+
+const formItemElementMap = markRaw<Record<string, any>>({
+  input: ElInput,
+  select: Select,
+  selectInput: SelectInput,
+  variable: Variable,
+  textareaFlow: TextareaFlow,
+})
+
+const Type: Record<string, any> = {
+  select: 'select',
+}
+export default defineComponent<FormPropsType>({
+  //@ts-ignore
+  name: '鍔ㄦ�佽〃鍗�',
+  props: {
+    labelWidth: {
+      type: String,
+      default: '100px',
+    },
+    labelPosition: {
+      type: String,
+      default: 'left',
+    },
+    formData: {
+      type: Object as PropType<{ [key: string]: any }>,
+      default: () => ({}),
+    },
+    formItemProps: {
+      type: Array,
+      default: () => [],
+    },
+    inLine: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  setup(props: PropsType, { attrs, emit, expose }: SetupContext) {
+    const formRef = ref<FormInstance>()
+    const form: any = computed({
+      get() {
+        return props.formData
+      },
+      set(v) {
+        emit('update:formData', v)
+      },
+    })
+
+    const currentWidgetModel = computed(() => {
+      return (path: string) => {
+        return get(form.value, path)
+      }
+    })
+
+    const validate = () => {
+      if (!formRef.value) return false
+      return new Promise((resolve, reject) => {
+        formRef.value?.validate((valid: boolean) => {
+          if (valid) {
+            resolve(true)
+          } else {
+            reject(false)
+          }
+        })
+      })
+    }
+
+    const resetForm = () => {
+      if (!formRef.value) return false
+      formRef.value.resetFields()
+    }
+
+    const formItemProps = computed(() => {
+      return props.formItemProps || []
+    })
+
+    expose({ validate, resetForm })
+
+    const FormRender: any = ($props: any) => {
+      const item: FormItemPropType = $props.item
+      const options = $props.item.options || []
+      if (item.el && Type[item.el as string]) {
+        return options.map((el: OptionItemType) => (
+          <Option
+            label={el.label || el.description || el.name}
+            value={el.value}
+          ></Option>
+        ))
+      }
+      return null
+    }
+    const FormRenderForHighSelectOptions: any = ($props: any) => {
+      const item: FormItemPropType = $props.item
+      const options = $props.item.highSelectAttrs?.options || []
+      if (1===1) {
+        return options.map((el: OptionItemType) => (
+          <Option
+            label={el.label || el.description || el.name}
+            value={el.value}
+          ></Option>
+        ))
+      }
+      return null
+    }
+
+    const onUpdateModelValue = (v: string | number, prop: string) => {
+      set(form.value, prop, v)
+    }
+
+    return () => {
+      return (
+        <div class={styles.formStyle}>
+          <el-form
+            labelPosition={props.labelPosition}
+            labelWidth={props.labelWidth}
+            model={form.value}
+            ref={formRef}
+            inline={props.inLine}
+          >
+            {formItemProps.value.map(
+              (item: FormItemPropType, index: number) => {
+                if (item.isTitle) {
+                  if (typeof item.title === 'string') {
+                    return (
+                      <Title style="margin-bottom: 10px">{item.title}</Title>
+                    )
+                  }
+                  return item.title
+                }
+
+                const itemProps: FormItemPropType = {}
+                Object.entries(item).forEach(([key, value]) => {
+                  itemProps[key] = unref(value)
+                })
+
+                const el =
+                  typeof itemProps.el === 'string'
+                    ? formItemElementMap[itemProps.el]
+                    : itemProps.el || null
+                const Component = el
+                const el2 =
+                   formItemElementMap['select'];
+                const ComponentForHighSelect = el2
+                return Component && !item.isHide ? (
+                
+                  <el-form-item
+                    label={itemProps.label}
+                    prop={itemProps.prop}
+                    rules={itemProps.rules}
+                    key={itemProps.prop}
+                    vSlots={
+                      itemProps.labelIcon
+                        ? {
+                            label: () => (
+                              <label class={styles.formitemPropsLabel}>
+                                {itemProps.label}
+                                <Icon icon={itemProps.labelIcon} />
+                              </label>
+                            ),
+                          }
+                        : null
+                    }
+                  >
+                   {/* 娣诲姞鐨勬瘮杈冩搷浣滅閫夋嫨鍣� */}
+                   {/* 浣跨敤flex甯冨眬璁╀笁涓厓绱犲湪鍚屼竴琛� */}
+                   <div class="flex items-center w-full" style="width:100%">
+                  {/* <el-select
+                  size="small"
+                  style="margin-right: 8px; min-width: 10px;"
+                >
+                  <el-option label="绛変簬" value="2" />
+                  <el-option label="涓嶇瓑浜�" value="8" />
+                </el-select>  */}
+                 {/* 褰撶粍浠剁被鍨嬩笉鏄棩鏈熸帶浠舵椂鏄剧ずComponentForHighSelect */}
+                 {(!itemProps.isDateControl && (
+  // ComponentForHighSelect 鐨勬覆鏌撲唬鐮�
+  <ComponentForHighSelect style="width:150px;"
+                   {...itemProps.highSelectAttrs}
+                     modelValue={currentWidgetModel.value(itemProps.highSelectAttrs?.prop || '')}
+                     onUpdate:modelValue={(val: string | number) =>
+                        onUpdateModelValue(val, itemProps.highSelectAttrs?.prop || '')
+                      }>
+                  <FormRenderForHighSelectOptions item={itemProps} />
+                </ComponentForHighSelect>
+))}
+ {/* 鏃ユ湡鎺т欢鏃剁殑鍗犱綅鍏冪礌 */}
+{itemProps.isDateControl && <span style="width:150px;margin-right:8px;"></span>}
+                
+                      &nbsp; 
+                    <Component
+                      style={{
+                        width: itemProps.width, // 榛樿鍗犳弧鍓╀綑瀹藉害
+                        // width: itemProps.width , // 榛樿鍗犳弧鍓╀綑瀹藉害
+                        height: itemProps.height,
+                      }}
+                      {...itemProps}
+                      // v-model={form.value[itemProps.prop as keyof any]}
+                      modelValue={currentWidgetModel.value(itemProps.prop)}
+                      onUpdate:modelValue={(val: string | number) =>
+                        onUpdateModelValue(val, itemProps.prop)
+                      }
+                    >
+                      <FormRender item={itemProps} />
+                    </Component>
+                    </div>
+                  </el-form-item>
+                ) : null
+              }
+            )}
+          </el-form>
+        </div>
+      )
+    }
+  },
+})
diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js
new file mode 100644
index 0000000..e70f08b
--- /dev/null
+++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js
@@ -0,0 +1,19 @@
+// 瀛楃涓茬被鏌ヨ
+export const FILTER_MODE_OPTIONS_STRING = [
+    { label: '妯$硦鏌ヨ', value: 1 },
+    { label: '绮惧噯鏌ヨ', value: 2 },
+  ];
+  // 鏁板瓧绫绘煡璇�
+export const FILTER_MODE_OPTIONS_NUM = [
+    { label: '绮惧噯鏌ヨ', value: 2 },
+    { label: '澶т簬绛変簬', value: 3 },
+    { label: '灏忎簬绛変簬', value: 4 },
+    { label: '澶т簬', value: 5 },
+    { label: '灏忎簬', value: 6 },
+    { label: '涓嶇瓑浜�', value: 7 },
+  ];
+    // bool鏌ヨ
+export const FILTER_MODE_OPTIONS_BOOL = [
+    { label: '绮惧噯鏌ヨ', value: 2 },
+    { label: '涓嶇瓑浜�', value: 7 },
+  ];
diff --git a/HIAWms/hiawms_web/src/utils/commonOptionConstants.js b/HIAWms/hiawms_web/src/utils/commonOptionConstants.js
new file mode 100644
index 0000000..d09c6d6
--- /dev/null
+++ b/HIAWms/hiawms_web/src/utils/commonOptionConstants.js
@@ -0,0 +1,11 @@
+// 鏄� 鍚�(楂樼骇鏌ヨ鐢�)
+  export const BOOLEAN_OPTIONS = [
+    { label: '鏄�', value: 'true'},
+    { label: '鍚�', value: 'false' },
+  ];
+
+  // 鏄� 鍚�(鏂板銆佷慨鏀圭晫闈笓鐢�)
+  export const BOOLEAN_OPTIONS_AddEdit = [
+    { label: '鏄�', value: true},
+    { label: '鍚�', value: false },
+  ];
\ No newline at end of file
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts
index 3684341..4f90306 100644
--- a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts
@@ -51,6 +51,11 @@
     title: '',
     isAdd: false,
   })
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
 
   const dialogSettingConfig = reactive({
     visible: false,
@@ -149,6 +154,15 @@
     sort.value = params.totalCount + 1
   }
 
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+  }
+
   const onConfirmWmsMaterial = async () => {
     dialogConfig.visible = false
     if (dialogConfig.isAdd) {
@@ -170,11 +184,10 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/hIAWms/wmsMaterial/export', params, 'hIAWms')
+  const onExport = (data = {}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/HIAWms/wmsMaterial/export', data, '鐗╂枡鍩虹')
   }
-
   /**
    * 鍏抽敭瀛楁悳绱�
    */
@@ -236,6 +249,7 @@
     dataSource,
     contextMenu,
     dialogConfig,
+    dialogConfigForQuery,
     dialogSettingConfig,
     tableRef,
     current,
@@ -253,6 +267,7 @@
     onRowClick,
     onConfirmWmsMaterial,
     onCheck,
+    onAdvancedQuery,
     onAddWmsMaterial,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx
new file mode 100644
index 0000000..be02cb5
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx
@@ -0,0 +1,567 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsMaterialDrawer } from '../Models/WmsMaterialDrawer'
+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 useWmsMaterialQueryDrawer = (props: any, ctx?: any) => {
+  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+  const datePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="daterange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetimerange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 楂樼骇鏌ヨ鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    // {
+    //   label: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�',
+    //   prop: 'materialCode',
+    //   el: 'input',
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�',
+    //   highSelectAttrs: {
+    //     prop: 'materialCode_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_STRING,
+    //   },
+    // },
+    {
+      label: '鐗╂枡缂栫爜',
+      prop: 'materialNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�',
+      highSelectAttrs: {
+        prop: 'materialNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鐗╂枡鍚嶇О',
+      prop: 'materialName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+      highSelectAttrs: {
+        prop: 'materialName_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '閲囪喘绫诲瀷',
+      prop: 'purchaseType',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ噰璐被鍨�',
+      highSelectAttrs: {
+        prop: 'purchaseType_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鐗╂枡绫诲瀷',
+      prop: 'materialType',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欑被鍨�',
+      highSelectAttrs: {
+        prop: 'materialType_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '涓诲崟浣�',
+      prop: 'primaryUnit',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ富鍗曚綅锛堝锛歬g銆乵銆佷釜锛�',
+      highSelectAttrs: {
+        prop: 'primaryUnit_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '瑙勬牸/鏍囧噯',
+      prop: 'standard',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯',
+      highSelectAttrs: {
+        prop: 'standard_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '澶栧緞锛堝崟浣嶏細mm锛�',
+      prop: 'outerDiameter',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ寰勶紙鍗曚綅锛歮m锛�',
+      highSelectAttrs: {
+        prop: 'outerDiameter_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '澹佸帤锛堝崟浣嶏細mm锛�',
+      prop: 'wallThickness',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ鍘氾紙鍗曚綅锛歮m锛�',
+      highSelectAttrs: {
+        prop: 'wallThickness_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '鏉愯川',
+      prop: 'materialQuality',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ潗璐紙濡傦細304涓嶉攬閽級',
+      highSelectAttrs: {
+        prop: 'materialQuality_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '闀垮害锛堝崟浣嶏細m锛�',
+      prop: 'length',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�',
+      highSelectAttrs: {
+        prop: 'length_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '鏄惁涓轰富鏀',
+      prop: 'isMainBranch',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚︿负涓绘敮绠�',
+      highSelectAttrs: {
+        prop: 'isMainBranch_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鐢熶骇宸ュ巶',
+      prop: 'factory',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ敓浜у伐鍘�',
+      highSelectAttrs: {
+        prop: 'factory_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '璇佷功缂栧彿',
+      prop: 'certification',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�',
+      highSelectAttrs: {
+        prop: 'certification_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: 'materialModel',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瀷鍙�',
+      highSelectAttrs: {
+        prop: 'materialModel_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      materialCode: formData.value.materialCode || '',
+      materialCode_FilterMode: formData.value.materialCode_FilterMode || '',
+      materialNo: formData.value.materialNo || '',
+      materialNo_FilterMode: formData.value.materialNo_FilterMode || '',
+      materialName: formData.value.materialName || '',
+      materialName_FilterMode: formData.value.materialName_FilterMode || '',
+      purchaseType: formData.value.purchaseType || '',
+      purchaseType_FilterMode: formData.value.purchaseType_FilterMode || '',
+      materialType: formData.value.materialType || '',
+      materialType_FilterMode: formData.value.materialType_FilterMode || '',
+      primaryUnit: formData.value.primaryUnit || '',
+      primaryUnit_FilterMode: formData.value.primaryUnit_FilterMode || '',
+      standard: formData.value.standard || '',
+      standard_FilterMode: formData.value.standard_FilterMode || '',
+      outerDiameter: formData.value.outerDiameter || '',
+      outerDiameter_FilterMode: formData.value.outerDiameter_FilterMode || '',
+      wallThickness: formData.value.wallThickness || '',
+      wallThickness_FilterMode: formData.value.wallThickness_FilterMode || '',
+      materialQuality: formData.value.materialQuality || '',
+      materialQuality_FilterMode:
+        formData.value.materialQuality_FilterMode || '',
+      length: formData.value.length || '',
+      length_FilterMode: formData.value.length_FilterMode || '',
+      isMainBranch: formData.value.isMainBranch || '',
+      isMainBranch_FilterMode: formData.value.isMainBranch_FilterMode || '',
+      factory: formData.value.factory || '',
+      factory_FilterMode: formData.value.factory_FilterMode || '',
+      certification: formData.value.certification || '',
+      certification_FilterMode: formData.value.certification_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 || '',
+      materialModel: formData.value.materialModel || '',
+      materialModel_FilterMode: formData.value.materialModel_FilterMode || '',
+    }
+    return data
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data = commonGetFormData()
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 纭鏌ヨ
+   */
+  const onConfirmQuery = async () => {
+    const data = commonGetFormData()
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 閲嶇疆鍏叡select鏌ヨ
+   */
+  const onResetForHighSelect = async () => {
+    formData.value.materialCode_FilterMode = 1
+    formData.value.materialNo_FilterMode = 1
+    formData.value.materialName_FilterMode = 1
+    formData.value.purchaseType_FilterMode = 2
+    formData.value.materialType_FilterMode = 2
+    formData.value.primaryUnit_FilterMode = 1
+    formData.value.standard_FilterMode = 1
+    formData.value.outerDiameter_FilterMode = 2
+    formData.value.wallThickness_FilterMode = 2
+    formData.value.materialQuality_FilterMode = 1
+    formData.value.length_FilterMode = 2
+    formData.value.isMainBranch_FilterMode = 2
+    formData.value.factory_FilterMode = 1
+    formData.value.certification_FilterMode = 1
+    formData.value.redundantField1_FilterMode = 1
+    formData.value.redundantField2_FilterMode = 1
+    formData.value.redundantField3_FilterMode = 1
+    formData.value.remark_FilterMode = 1
+    formData.value.materialModel_FilterMode = 1
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+    // formData.value.materialCode = ''
+    formData.value.materialNo = ''
+    formData.value.materialName = ''
+    formData.value.purchaseType = ''
+    formData.value.materialType = ''
+    formData.value.primaryUnit = ''
+    formData.value.standard = ''
+    formData.value.outerDiameter = ''
+    formData.value.wallThickness = ''
+    formData.value.materialQuality = ''
+    formData.value.length = ''
+    formData.value.isMainBranch = ''
+    formData.value.factory = ''
+    formData.value.certification = ''
+    formData.value.redundantField1 = ''
+    formData.value.redundantField2 = ''
+    formData.value.redundantField3 = ''
+    formData.value.remark = ''
+    formData.value.creationTime = ''
+    formData.value.lastModificationTime = ''
+    formData.value.materialModel = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const purchaseTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'PurchaseTypeEnum',
+    })
+    updateFormItemOptions('purchaseType', purchaseTypeEnumEnum)
+    const materialTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'MaterialTypeEnum',
+    })
+    updateFormItemOptions('materialType', materialTypeEnumEnum)
+    const yesNoEnumEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isMainBranch', yesNoEnumEnum)
+  }
+  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/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts
new file mode 100644
index 0000000..8302c94
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterial = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterial', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsMaterial = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsMaterial/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsMaterial = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsMaterial/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts
new file mode 100644
index 0000000..9818421
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsMaterial,
+  getWmsMaterial,
+  updateWmsMaterial,
+  getWmsEnumData,
+} from './Service/WmsMaterialQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsMaterialQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsMaterial: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsMaterial(data: Record<string, any>) {
+    return addWmsMaterial(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsMaterial(id: string, data: Record<string, any>) {
+    return updateWmsMaterial(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsMaterialDetail(current: any, id?: string) {
+    return getWmsMaterial(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx
new file mode 100644
index 0000000..6fd52e9
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+ */
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsMaterialQueryDrawer.module.scss'
+import { useWmsMaterialQueryDrawer } from '../../../../Controllers/WmsMaterialQueryDrawer.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,
+    } = useWmsMaterialQueryDrawer(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="150px"
+          formItemProps={formItems}
+        ></DyFormForHighQuery>
+      </BaseQueryDrawer>
+    )
+  },
+})
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss
index 797e47c..019a625 100644
--- a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss
@@ -1,113 +1,113 @@
-.wmsMaterialContent {
-  width: 100%;
-  height: 90%;
-
-  .wmsMaterialList {
-    width: 100%;
-    height: calc(100% - 70px);
-  }
-  .headerContent {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 43px;
-  }
-  .header {
-    margin-bottom: 12px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-
-.tagBox {
-  width: auto;
-  min-width: 80px;
-  height: 24px;
-  background: #ffffff;
-  border-radius: 19px 19px 19px 19px;
-  opacity: 1;
-  border: 1px dashed #bcc4cc;
-  width: 50px;
-  height: 20px;
-  font-size: 14px;
-  font-family: PingFang SC, PingFang SC;
-  font-weight: 400;
-  color: #5a84ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  // cursor: pointer;
-}
-
-.group {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.groupTable {
-  width: 100%;
-}
-
-.overBox {
-  width: 100%;
-  height: calc(100% - 20px);
-  overflow: auto;
-  :global(.cs-collapse-item__header) {
-    background-color: #f1f1f1;
-    padding: 0 20px;
-    height: 35px;
-    font-size: 16px;
-    font-family: PingFang SC, PingFang SC;
-    font-weight: 500;
-  }
-  :global(.cs-collapse-item__content) {
-    padding-bottom: 0px;
-  }
-}
-.groupHeader {
-  width: 100%;
-  height: 30px;
-  background: #ccc;
-}
-
-.hideBlock {
-  display: none;
-}
-.queryForm {
-  padding: 10px;
-  background: #f5f7fa;
-  margin-bottom: 0px;
-  border-radius: 4px;
-  
-  .el-form-item {
-    margin-right: 20px;
-    margin-bottom: 0;
-    
-    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
-    .el-input, .el-select {
-      width: 200px; // 璁剧疆缁熶竴鐨勫搴�
-    }
-    
-    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
-    .el-select .el-input__wrapper {
-      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
-      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
-    }
-    
-    // 鏃ユ湡閫夋嫨鍣ㄥ搴�
-    .el-date-editor {
-      width: 220px;
-    }
-  }
-}
-
-// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
-.formItem {
-  width: 200px;
-  
-  &.el-input, &.el-select {
-    width: 100%;
-  }
-}
\ No newline at end of file
+.wmsMaterialContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsMaterialList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-end; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
index 7acaa1b..4ed5702 100644
--- a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
+++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
@@ -9,6 +9,7 @@
 import { columns } from './Config'
 import TdButton from '@/components/TdButton/TdButton'
 import { vPermission } from '@/libs/Permission/Permission'
+import dayjs from 'dayjs'
 import {
   getWmsEnumData,
   getWmsDataList,
@@ -22,6 +23,8 @@
   ElFormItem,
 } from 'element-plus'
 import { injectModel } from '@/libs/Provider/Provider'
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import WmsMaterialQueryDrawer from '../Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer'
 
 interface RenderTableType {
   url?: string
@@ -43,6 +46,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -51,6 +55,7 @@
       onError,
       onSearch,
       onRowClick,
+      onAdvancedQuery,
       onConfirmWmsMaterial,
       onCheck,
       onAddWmsMaterial,
@@ -60,45 +65,46 @@
       onBeforeUpload,
     } = useWmsMaterial(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsMaterialQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      materialNo: '',
-      materialName: '',
-      materialType: '',
-      purchaseType: '',
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      materialType: queryForm.value.materialType || '', // 澶勭悊涓嬫媺
-      purchaseType: queryForm.value.purchaseType || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['MaterialNo', 'MaterialName'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鍙�/鐗╂枡鍚嶇О')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
-      materialType: [] as Array<{ label: string; value: any }>,
       purchaseType: [] as Array<{ label: string; value: any }>,
+      materialType: [] as Array<{ label: string; value: any }>,
       isMainBranch: [] as Array<{ label: string; value: any }>,
     })
 
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const materialTypeData = await getWmsEnumData({
-          EnumName: 'MaterialTypeEnum',
+        const purchaseTypeEnumData = await getWmsEnumData({
+          EnumName: 'PurchaseTypeEnum',
         })
-        enumOptions.materialType = materialTypeData.map((item) => ({
+        enumOptions.purchaseType = purchaseTypeEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const purchaseTypeData = await getWmsEnumData({
-          EnumName: 'PurchaseTypeEnum',
+        const materialTypeEnumData = await getWmsEnumData({
+          EnumName: 'MaterialTypeEnum',
         })
-        enumOptions.purchaseType = purchaseTypeData.map((item) => ({
+        enumOptions.materialType = materialTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const yesNoEnumData = await getWmsEnumData({
+          EnumName: 'YesNoEnum',
+        })
+        enumOptions.isMainBranch = yesNoEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
@@ -107,27 +113,79 @@
       }
     }
 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    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 () => {
-      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 = {
-        materialNo: '',
-        materialName: '',
-        materialType: '',
-        purchaseType: '',
-        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
     }
 
     /**
@@ -153,7 +211,7 @@
           <BaseTable
             ref={tableRef}
             url={url}
-            sortUrlTpl="/api/v1/hIAWms/wmsMaterial/{id}/adjustsort/{sort}"
+            sortUrlTpl="/api/v1/HIAWms/wmsMaterial/{id}/adjustsort/{sort}"
             v-model:dataSource={dataSource.value}
             columns={columns}
             contextMenu={contextMenu}
@@ -166,6 +224,57 @@
             isHidePagination={isHidePagination}
             pageSize={20}
             v-slots={{
+              isDisabled: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDisabled != null
+                      ? row.isDisabled
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              creationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.creationTime != null
+                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              lastModificationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.lastModificationTime != null
+                      ? dayjs(row.lastModificationTime).format(
+                          'YYYY-MM-DD HH:mm:ss'
+                        )
+                      : '-'}
+                  </div>
+                )
+              },
+              isDeleted: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDeleted != null
+                      ? row.isDeleted
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              deletionTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.deletionTime != null
+                      ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
               name: ({ row }: any) => {
                 return row?.name ? (
                   <TdButton
@@ -198,95 +307,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsMaterial}
           />
-
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <ElForm
-            inline
-            model={queryForm.value}
-            class={styles.queryForm}
-            label-width="80px"
-          >
-            <ElFormItem label="鍏抽敭瀛�">
-              <ElInput
-                v-model={queryForm.value.filter}
-                placeholder="璇疯緭鍏ュ叧閿瓧鎼滅储"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡缂栫爜">
-              <ElInput
-                v-model={queryForm.value.materialNo}
-                placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡鍚嶇О">
-              <ElInput
-                v-model={queryForm.value.materialName}
-                placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.materialType}
-                placeholder="璇烽�夋嫨鐗╂枡绫诲瀷"
-                clearable
-                loading={enumOptions.materialType.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.materialType.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="閲囪喘绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.purchaseType}
-                placeholder="璇烽�夋嫨閲囪喘绫诲瀷"
-                clearable
-                loading={enumOptions.purchaseType.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.purchaseType.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>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsMaterialQueryDrawer
+            ref="wmsMaterialQueryDrawerRef"
+            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}>
@@ -299,6 +330,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
+
               <el-upload
                 v-permission="wmsMaterial-import"
                 name="file"
@@ -308,7 +340,7 @@
                 onSuccess={onSuccess}
                 before-upload={onBeforeUpload}
                 headers={headers.value}
-                action="/api/v1/hIAWms/wmsMaterial/import"
+                action="/api/v1/HIAWms/wmsMaterial/import"
               >
                 <IconButton icon="in">瀵煎叆</IconButton>
               </el-upload>
@@ -316,21 +348,65 @@
               <IconButton
                 v-permission="wmsMaterial-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="wmsMaterial-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
 
           <RenderBaseTable
-            url="/api/v1/hIAWms/wmsMaterial/page"
+            url="/api/v1/HIAWms/wmsMaterial/page"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts
index 97ecbec..65b9471 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts
@@ -51,7 +51,11 @@
     title: '',
     isAdd: false,
   })
-
+  const dialogConfigForQuery = reactive({
+    visible: false,
+    title: '',
+    isAdd: false,
+  })
   const dialogSettingConfig = reactive({
     visible: false,
     title: '',
@@ -149,6 +153,15 @@
     sort.value = params.totalCount + 1
   }
 
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+  const onAdvancedQuery = () => {
+    const params = tableRef.value?.getPaginationParams()
+    current.value = null
+    dialogConfigForQuery.visible = true
+    dialogConfigForQuery.isAdd = true
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+  }
+
   const onConfirmWmsContainer = async () => {
     dialogConfig.visible = false
     if (dialogConfig.isAdd) {
@@ -167,12 +180,13 @@
       current.value = row
     }
   }
-  /**
-   * 瀵煎嚭
-   */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/HIAWms/wmsContainer/export', params, 'wmsContainer')
+  /** 
+
+   * 瀵煎嚭 
+     */
+  const onExport = (data = {}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/HIAWms/wmsContainer/export', data, '鎵樼洏绠$悊')
   }
 
   /**
@@ -241,6 +255,7 @@
     current,
     search,
     sort,
+    dialogConfigForQuery,
     wmsContainerColumns,
     paginationParams,
     headers,
@@ -253,6 +268,7 @@
     onRowClick,
     onConfirmWmsContainer,
     onCheck,
+    onAdvancedQuery,
     onAddWmsContainer,
   }
 }
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx
new file mode 100644
index 0000000..740cf10
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx
@@ -0,0 +1,581 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsContainerDrawer } from '../Models/WmsContainerDrawer'
+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 useWmsContainerQueryDrawer = (props: any, ctx?: any) => {
+  const wmsContainerDrawer =
+    injectModel<WmsContainerDrawer>('WmsContainerDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+  const datePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="daterange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetimerange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 楂樼骇鏌ヨ鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '鎵樼洏缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
+      highSelectAttrs: {
+        prop: 'containerNo_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_STRING,
+      },
+    },
+    {
+      label: '鎵樼洏绫诲瀷',
+      prop: 'containerType',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼被鍨�',
+      highSelectAttrs: {
+        prop: 'containerType_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '鎵樼洏鐘舵��',
+      prop: 'containerStatus',
+      el: 'select',
+      clearable: true,
+      option: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼姸鎬�',
+      highSelectAttrs: {
+        prop: 'containerStatus_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_BOOL,
+      },
+    },
+    {
+      label: '闀垮害',
+      prop: 'specLength',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ暱搴�',
+      highSelectAttrs: {
+        prop: 'specLength_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '瀹藉害',
+      prop: 'specWidth',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ搴�',
+      highSelectAttrs: {
+        prop: 'specWidth_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '楂樺害',
+      prop: 'specHeight',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ珮搴�',
+      highSelectAttrs: {
+        prop: 'specHeight_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '闄愰暱',
+      prop: 'limitLength',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ檺闀�',
+      highSelectAttrs: {
+        prop: 'limitLength_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '闄愬',
+      prop: 'limitWidth',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ檺瀹�',
+      highSelectAttrs: {
+        prop: 'limitWidth_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '闄愰珮',
+      prop: 'limitHeight',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ラ檺楂�',
+      highSelectAttrs: {
+        prop: 'limitHeight_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    {
+      label: '杞介噸涓婇檺',
+      prop: 'maxWeight',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 0.01,
+      precision: 2,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ浇閲嶄笂闄�',
+      highSelectAttrs: {
+        prop: 'maxWeight_FilterMode',
+        el: 'select',
+        placeholder: '璇烽�夋嫨',
+        options: FILTER_MODE_OPTIONS_NUM,
+      },
+    },
+    // {
+    //   label: '寮傚父鏁伴噺',
+    //   prop: 'exceptionNumber',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(inputNumber, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   step: 1,
+    //   precision: 0,
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ュ紓甯告暟閲�',
+    //   highSelectAttrs: {
+    //     prop: 'exceptionNumber_FilterMode',
+    //     el: 'select',
+    //     placeholder: '璇烽�夋嫨',
+    //     options: FILTER_MODE_OPTIONS_NUM,
+    //   },
+    // },
+    // {
+    //   label: '鐗╂枡鏁伴噺',
+    //   prop: 'materialNumber',
+    //   el: (props: any, { attrs }: SetupContext) => {
+    //     return h(inputNumber, {
+    //       ...props,
+    //       clearable: true,
+    //       ...attrs,
+    //     })
+    //   },
+    //   width: '100%',
+    //   step: 1,
+    //   precision: 0,
+    //   //disabled: disabled,
+    //   placeholder: '璇疯緭鍏ョ墿鏂欐暟閲�',
+    //   highSelectAttrs: {
+    //     prop: 'materialNumber_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: '鍐椾綑瀛楁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 = {
+      containerNo: formData.value.containerNo || '',
+      containerNo_FilterMode: formData.value.containerNo_FilterMode || '',
+      containerType: formData.value.containerType || '',
+      containerType_FilterMode: formData.value.containerType_FilterMode || '',
+      containerStatus: formData.value.containerStatus || '',
+      containerStatus_FilterMode:
+        formData.value.containerStatus_FilterMode || '',
+      specLength: formData.value.specLength || '',
+      specLength_FilterMode: formData.value.specLength_FilterMode || '',
+      specWidth: formData.value.specWidth || '',
+      specWidth_FilterMode: formData.value.specWidth_FilterMode || '',
+      specHeight: formData.value.specHeight || '',
+      specHeight_FilterMode: formData.value.specHeight_FilterMode || '',
+      limitLength: formData.value.limitLength || '',
+      limitLength_FilterMode: formData.value.limitLength_FilterMode || '',
+      limitWidth: formData.value.limitWidth || '',
+      limitWidth_FilterMode: formData.value.limitWidth_FilterMode || '',
+      limitHeight: formData.value.limitHeight || '',
+      limitHeight_FilterMode: formData.value.limitHeight_FilterMode || '',
+      maxWeight: formData.value.maxWeight || '',
+      maxWeight_FilterMode: formData.value.maxWeight_FilterMode || '',
+      exceptionNumber: formData.value.exceptionNumber || '',
+      exceptionNumber_FilterMode:
+        formData.value.exceptionNumber_FilterMode || '',
+      materialNumber: formData.value.materialNumber || '',
+      materialNumber_FilterMode: formData.value.materialNumber_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.containerNo_FilterMode = 1
+    formData.value.containerType_FilterMode = 2
+    formData.value.containerStatus_FilterMode = 2
+    formData.value.specLength_FilterMode = 2
+    formData.value.specWidth_FilterMode = 2
+    formData.value.specHeight_FilterMode = 2
+    formData.value.limitLength_FilterMode = 2
+    formData.value.limitWidth_FilterMode = 2
+    formData.value.limitHeight_FilterMode = 2
+    formData.value.maxWeight_FilterMode = 2
+    formData.value.exceptionNumber_FilterMode = 2
+    formData.value.materialNumber_FilterMode = 2
+    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.containerNo = ''
+    formData.value.containerType = ''
+    formData.value.containerStatus = ''
+    formData.value.specLength = ''
+    formData.value.specWidth = ''
+    formData.value.specHeight = ''
+    formData.value.limitLength = ''
+    formData.value.limitWidth = ''
+    formData.value.limitHeight = ''
+    formData.value.maxWeight = ''
+    formData.value.exceptionNumber = ''
+    formData.value.materialNumber = ''
+    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 () => {
+    const containerTypeEnumEnum = await wmsContainerDrawer.getWmsEnumData({
+      EnumName: 'ContainerTypeEnum',
+    })
+    updateFormItemOptions('containerType', containerTypeEnumEnum)
+    const containerStatusEnumEnum = await wmsContainerDrawer.getWmsEnumData({
+      EnumName: 'ContainerStatusEnum',
+    })
+    updateFormItemOptions('containerStatus', containerStatusEnumEnum)
+  }
+  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/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts
new file mode 100644
index 0000000..eb7a6bf
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsContainer = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsContainer', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsContainer = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsContainer/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsContainer = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsContainer/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) 
+} 
+ 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts
new file mode 100644
index 0000000..9e228e8
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+  addWmsContainer,
+  getWmsContainer,
+  updateWmsContainer,
+  getWmsEnumData,
+} from './Service/WmsContainerQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WmsContainerQueryDrawer extends Base<{ [key: string]: any }> {
+  constructor() {
+    super({
+      data: [],
+      wmsContainer: {},
+    })
+  }
+
+  /**
+   * 娣诲姞
+   * @param data
+   */
+  async addWmsContainer(data: Record<string, any>) {
+    return addWmsContainer(data)
+  }
+  /**
+   * 鏇存柊
+   * @param data
+   */
+  async updateWmsContainer(id: string, data: Record<string, any>) {
+    return updateWmsContainer(id, data)
+  }
+
+  /**
+   * 鑾峰彇璇︽儏
+   */
+  async getWmsContainerDetail(current: any, id?: string) {
+    return getWmsContainer(id || current?.id)
+  }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx
new file mode 100644
index 0000000..5ba197d
--- /dev/null
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsContainerQueryDrawer.module.scss' 
+import { useWmsContainerQueryDrawer } from '../../../../Controllers/WmsContainerQueryDrawer.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, 
+    } = useWmsContainerQueryDrawer(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/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss
index a3049f6..d460aba 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss
@@ -1,114 +1,113 @@
-.wmsContainerContent {
-  width: 100%;
-  height: 90%;
-
-  .wmsContainerList {
-    width: 100%;
-    height: calc(100% - 70px);
-  }
-  .headerContent {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 43px;
-  }
-  .header {
-    margin-bottom: 12px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-
-.tagBox {
-  width: auto;
-  min-width: 80px;
-  height: 24px;
-  background: #ffffff;
-  border-radius: 19px 19px 19px 19px;
-  opacity: 1;
-  border: 1px dashed #bcc4cc;
-  width: 50px;
-  height: 20px;
-  font-size: 14px;
-  font-family: PingFang SC, PingFang SC;
-  font-weight: 400;
-  color: #5a84ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  // cursor: pointer;
-}
-
-.group {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.groupTable {
-  width: 100%;
-}
-
-.overBox {
-  width: 100%;
-  height: calc(100% - 20px);
-  overflow: auto;
-  :global(.cs-collapse-item__header) {
-    background-color: #f1f1f1;
-    padding: 0 20px;
-    height: 35px;
-    font-size: 16px;
-    font-family: PingFang SC, PingFang SC;
-    font-weight: 500;
-  }
-  :global(.cs-collapse-item__content) {
-    padding-bottom: 0px;
-  }
-}
-.groupHeader {
-  width: 100%;
-  height: 30px;
-  background: #ccc;
-}
-
-.hideBlock {
-  display: none;
-}
-
-.queryForm {
-  padding: 10px;
-  background: #f5f7fa;
-  margin-bottom: 0px;
-  border-radius: 4px;
-  
-  .el-form-item {
-    margin-right: 20px;
-    margin-bottom: 0;
-    
-    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
-    .el-input, .el-select {
-      width: 200px; // 璁剧疆缁熶竴鐨勫搴�
-    }
-    
-    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
-    .el-select .el-input__wrapper {
-      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
-      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
-    }
-    
-    // 鏃ユ湡閫夋嫨鍣ㄥ搴�
-    .el-date-editor {
-      width: 220px;
-    }
-  }
-}
-
-// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
-.formItem {
-  width: 200px;
-  
-  &.el-input, &.el-select {
-    width: 100%;
-  }
-}
\ No newline at end of file
+.wmsContainerContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsContainerList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-end; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx
index d3fe7d2..4abdbe0 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx
@@ -5,12 +5,24 @@
 import { useWmsContainer } from '../../../Controllers/WmsContainer'
 import IconButton from '@/components/IconButton/IconButton'
 import WmsContainerDrawer from '../Dialog/WmsContainerDrawer/WmsContainerDrawer'
+import WmsContainerQueryDrawer from '../Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer'
 import Search from '@/components/Search/Search'
 import { columns } from './Config'
 import TdButton from '@/components/TdButton/TdButton'
 import { vPermission } from '@/libs/Permission/Permission'
-import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
-import { ElForm, ElFormItem, ElInput, ElOption, ElSelect } from 'element-plus'
+import dayjs from 'dayjs'
+import { getWmsEnumData } from '@/widgets/WmsContainer/Models/Service/WmsContainerDrawer'
+import {
+  ElInput,
+  ElSelect,
+  ElOption,
+  ElDatePicker,
+  ElForm,
+  ElFormItem,
+} from 'element-plus'
+import { injectModel } from '@/libs/Provider/Provider'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
 
 interface RenderTableType {
   url?: string
@@ -32,6 +44,7 @@
       dataSource,
       contextMenu,
       dialogConfig,
+      dialogConfigForQuery,
       tableRef,
       current,
       search,
@@ -43,25 +56,24 @@
       onConfirmWmsContainer,
       onCheck,
       onAddWmsContainer,
+      onAdvancedQuery,
       onExport,
       openDetail,
       onSuccess,
       onBeforeUpload,
     } = useWmsContainer(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsContainerQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      containerNo: '',
-      containerType: '',
-      containerStatus: '',
-      filter: '',
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
-
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺
-      containerStatus: queryForm.value.containerStatus || '',
-    }))
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['ContainerNo'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ユ墭鐩樼紪鍙�')
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
@@ -72,20 +84,17 @@
     // 鑾峰彇鏋氫妇鏁版嵁
     const fetchEnumData = async () => {
       try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const containerTypeData = await getWmsEnumData({
+        const containerTypeEnumData = await getWmsEnumData({
           EnumName: 'ContainerTypeEnum',
         })
-        enumOptions.containerType = containerTypeData.map((item) => ({
+        enumOptions.containerType = containerTypeEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const containerStatusData = await getWmsEnumData({
+        const containerStatusEnumData = await getWmsEnumData({
           EnumName: 'ContainerStatusEnum',
         })
-        enumOptions.containerStatus = containerStatusData.map((item) => ({
+        enumOptions.containerStatus = containerStatusEnumData.map((item) => ({
           label: item.description,
           value: item.value,
         }))
@@ -94,26 +103,79 @@
       }
     }
 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    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 () => {
-      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 = {
-        containerNo: '',
-        containerType: '',
-        containerStatus: '',
-        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
     }
 
     /**
@@ -129,7 +191,7 @@
         params,
         autoHeight,
       } = props
-      console.log(dataSource.value)
+
       return (
         <div
           class={{
@@ -150,8 +212,59 @@
             onCheck={onCheck}
             onRowClick={onRowClick}
             isHidePagination={isHidePagination}
-            pageSize={50}
+            pageSize={20}
             v-slots={{
+              isDisabled: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDisabled != null
+                      ? row.isDisabled
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              creationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.creationTime != null
+                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              lastModificationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.lastModificationTime != null
+                      ? dayjs(row.lastModificationTime).format(
+                          'YYYY-MM-DD HH:mm:ss'
+                        )
+                      : '-'}
+                  </div>
+                )
+              },
+              isDeleted: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.isDeleted != null
+                      ? row.isDeleted
+                        ? '鏄�'
+                        : '鍚�'
+                      : '-'}
+                  </div>
+                )
+              },
+              deletionTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.deletionTime != null
+                      ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
               name: ({ row }: any) => {
                 return row?.name ? (
                   <TdButton
@@ -172,6 +285,7 @@
         </div>
       )
     }
+
     return () => {
       return (
         <div class={styles.wmsContainerContent}>
@@ -183,87 +297,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsContainer}
           />
-
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <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.containerNo}
-                placeholder="璇疯緭鍏ユ墭鐩樼紪鐮�"
-                clearable
-                class={styles.formItem}
-              />
-            </ElFormItem>
-            <ElFormItem label="鐗╂枡绫诲瀷">
-              <ElSelect
-                v-model={queryForm.value.containerType}
-                placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
-                clearable
-                loading={enumOptions.containerType.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.containerType.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            <ElFormItem label="鎵樼洏鐘舵��">
-              <ElSelect
-                v-model={queryForm.value.containerStatus}
-                placeholder="璇烽�夋嫨鎵樼洏鐘舵��"
-                clearable
-                loading={enumOptions.containerStatus.length === 0}
-                class={styles.formItem}
-              >
-                {enumOptions.containerStatus.map((option) => (
-                  <ElOption
-                    key={option.value}
-                    label={option.label}
-                    value={option.value}
-                  />
-                ))}
-              </ElSelect>
-            </ElFormItem>
-            {/* <ElFormItem label="鏃ユ湡鑼冨洿">
-              <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>
+          {/* 楂樼骇鏌ヨ */}
+          <WmsContainerQueryDrawer
+            ref="wmsContainerQueryDrawerRef"
+            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}>
@@ -276,6 +320,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
+
               <el-upload
                 v-permission="wmsContainer-import"
                 name="file"
@@ -293,20 +338,65 @@
               <IconButton
                 v-permission="wmsContainer-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="wmsContainer-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
+
           <RenderBaseTable
-            url="/api/v1/HIAWms/wmsContainer"
+            url="/api/v1/HIAWms/wmsContainer/page"
             dataSource={dataSource}
             isChecked={true}
             isDrag={true}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs
index 381554b..4eb1ab8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs
@@ -1,35 +1,292 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums;
-using Volo.Abp.Application.Dtos;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using CmsQueryExtensions.Extension; 
+using Volo.Abp.Application.Dtos; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsContainer; 
+ 
+/// <summary> 
+/// 鎵樼洏绠$悊鏌ヨ鍙傛暟 
+/// </summary> 
+public class GetWmsContainerInput : ExtensiblePagedAndSortedResultRequestDto 
+{ 
+ 
+    #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>
+        /// 鎵樼洏缂栧彿
+        /// </summary>
+        public string ContainerNo { get; set; }
 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsContainer;
+        /// <summary>
+        /// 鎵樼洏缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-/// <summary>
-/// WmsContainer鏌ヨ鍙傛暟瀵硅薄
-/// </summary>
-public class GetWmsContainerInput : ExtensiblePagedAndSortedResultRequestDto
-{
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
+        /// <summary>
+        /// 鎵樼洏绫诲瀷
+        /// </summary>
+        public ContainerTypeEnum?  ContainerType { get; set; }
 
-    /// <summary>
-    /// Gets or sets the name.
-    /// </summary>
-    public string Name { get; set; }
+        /// <summary>
+        /// 鎵樼洏绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ContainerType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
-    /// <summary>
-    /// 鎵樼洏缂栧彿
-    /// </summary>
-    public string ContainerNo { get; set; }
+        /// <summary>
+        /// 鎵樼洏鐘舵��
+        /// </summary>
+        public ContainerStatusEnum?  ContainerStatus { get; set; }
 
-    /// <summary>
-    /// 鎵樼洏绫诲瀷
-    /// </summary>
-    public ContainerTypeEnum ContainerType { get; set; }
+        /// <summary>
+        /// 鎵樼洏鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ContainerStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
-    /// <summary>
-    /// 鎵樼洏鐘舵��
-    /// </summary>
-    public ContainerStatusEnum ContainerStatus { get; set; }
-}
+        /// <summary>
+        /// 闀垮害
+        /// </summary>
+        public decimal?  SpecLength { get; set; }
+
+        /// <summary>
+        /// 闀垮害-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum SpecLength_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 瀹藉害
+        /// </summary>
+        public decimal?  SpecWidth { get; set; }
+
+        /// <summary>
+        /// 瀹藉害-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum SpecWidth_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 楂樺害
+        /// </summary>
+        public decimal?  SpecHeight { get; set; }
+
+        /// <summary>
+        /// 楂樺害-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum SpecHeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 闄愰暱
+        /// </summary>
+        public decimal?  LimitLength { get; set; }
+
+        /// <summary>
+        /// 闄愰暱-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum LimitLength_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 闄愬
+        /// </summary>
+        public decimal?  LimitWidth { get; set; }
+
+        /// <summary>
+        /// 闄愬-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum LimitWidth_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 闄愰珮
+        /// </summary>
+        public decimal?  LimitHeight { get; set; }
+
+        /// <summary>
+        /// 闄愰珮-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum LimitHeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 杞介噸涓婇檺
+        /// </summary>
+        public decimal?  MaxWeight { get; set; }
+
+        /// <summary>
+        /// 杞介噸涓婇檺-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaxWeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 寮傚父鏁伴噺
+        /// </summary>
+        public int?  ExceptionNumber { get; set; }
+
+        /// <summary>
+        /// 寮傚父鏁伴噺-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ExceptionNumber_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鐗╂枡鏁伴噺
+        /// </summary>
+        public int?  MaterialNumber { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鏁伴噺-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialNumber_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 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/WmsMaterial/GetWmsMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs
index 21869a9..9b58a79 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs
@@ -1,91 +1,322 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums;
-using Volo.Abp.Application.Dtos;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using CmsQueryExtensions.Extension; 
+using Volo.Abp.Application.Dtos; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+ 
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅鏌ヨ鍙傛暟 
+/// </summary> 
+public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto 
+{ 
+ 
+    #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>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialCode { get; set; }
 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialCode_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-/// <summary>
-/// WmsMaterial鏌ヨ鍙傛暟瀵硅薄
-/// </summary>
-public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto
-{
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialNo { get; set; }
 
-    /// <summary>
-    /// Gets or sets the name.
-    /// </summary>
-    public string Name { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-    /// <summary>
-    /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
-    /// </summary>
-    public string MaterialNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string MaterialName { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡鍚嶇О
-    /// </summary>
-    public string MaterialName { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public PurchaseTypeEnum?  PurchaseType { get; set; }
+
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum PurchaseType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public MaterialTypeEnum?  MaterialType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
+        /// </summary>
+        public string PrimaryUnit { get; set; }
+
+        /// <summary>
+        /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum PrimaryUnit_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
+        /// </summary>
+        public string Standard { get; set; }
+
+        /// <summary>
+        /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Standard_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 澶栧緞锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal?  OuterDiameter { get; set; }
+
+        /// <summary>
+        /// 澶栧緞锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 澹佸帤锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal?  WallThickness { get; set; }
+
+        /// <summary>
+        /// 澹佸帤锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum WallThickness_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鏉愯川锛堝锛�304涓嶉攬閽級
+        /// </summary>
+        public string MaterialQuality { get; set; }
+
+        /// <summary>
+        /// 鏉愯川锛堝锛�304涓嶉攬閽級-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialQuality_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 闀垮害锛堝崟浣嶏細m锛�
+        /// </summary>
+        public decimal?  Length { get; set; }
+
+        /// <summary>
+        /// 闀垮害锛堝崟浣嶏細m锛�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Length_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鏄惁涓轰富鏀
+        /// </summary>
+        public YesNoEnum?  IsMainBranch { get; set; }
+
+        /// <summary>
+        /// 鏄惁涓轰富鏀-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum IsMainBranch_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鐢熶骇宸ュ巶
+        /// </summary>
+        public string Factory { get; set; }
+
+        /// <summary>
+        /// 鐢熶骇宸ュ巶-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Factory_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 璇佷功缂栧彿
+        /// </summary>
+        public string Certification { get; set; }
+
+        /// <summary>
+        /// 璇佷功缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Certification_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 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 MaterialModel { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public string CreatorId { get; set; }
 
-    /// <summary>
-    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public PurchaseTypeEnum PurchaseType { get; set; }
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-    /// <summary>
-    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public MaterialTypeEnum MaterialType { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public string LastModificationTime { get; set; }
 
-    /// <summary>
-    /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
-    /// </summary>
-    public string PrimaryUnit { get; set; }
 
-    /// <summary>
-    /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
-    /// </summary>
-    public string Standard { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public string LastModifierId { get; set; }
 
-    /// <summary>
-    /// 澶栧緞锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal OuterDiameter { get; set; }
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-    /// <summary>
-    /// 澹佸帤锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal WallThickness { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public bool?  IsDeleted { get; set; }
 
-    /// <summary>
-    /// 鏉愯川锛堝锛�304涓嶉攬閽級
-    /// </summary>
-    public string MaterialQuality { get; set; }
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
-    /// <summary>
-    /// 闀垮害锛堝崟浣嶏細m锛�
-    /// </summary>
-    public decimal Length { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public string DeleterId { get; set; }
 
-    /// <summary>
-    /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
-    /// </summary>
-    public YesNoEnum IsMainBranch { get; set; }
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
-    /// <summary>
-    /// 鐢熶骇宸ュ巶
-    /// </summary>
-    public string Factory { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public string DeletionTime { get; set; }
 
-    /// <summary>
-    /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級
-    /// </summary>
-    public string Certification { get; set; }
-}
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鍨嬪彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+ 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
index eb06985..255c248 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
@@ -1,17 +1,22 @@
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
-
-/// <summary>
-/// WmsMaterial鍒涘缓鍙傛暟瀵硅薄
-/// </summary>
-public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase
-{
-    /// <summary>
-    /// 鎺掑簭
-    /// </summary>
-    public virtual int? Sort { get; set; }
-
-    /// <summary>
-    /// 鏄惁绂佺敤
-    /// </summary>
-    public bool? IsDisabled { get; set; } = false;
-}
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+ 
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅鍒涘缓鍙傛暟瀵硅薄 
+/// </summary> 
+public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase 
+{ 
+    /// <summary> 
+    /// 鎺掑簭 
+    /// </summary> 
+    public virtual int? Sort { get; set; } 
+ 
+    /// <summary> 
+    /// 鏄惁绂佺敤 
+    /// </summary> 
+    public bool? IsDisabled { get; set; } = false; 
+ 
+    /// <summary> 
+    /// 鍒涘缓浜� 
+    /// </summary> 
+    public string CreatorName { get; set; } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs
index 4193a03..407c538 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs
@@ -1,105 +1,140 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums;
-using Volo.Abp.Application.Dtos;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using System; 
+using Volo.Abp.Application.Dtos; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+ 
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅鍒涘缓鎴栨洿鏂板熀绫� 
+/// </summary> 
+public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto 
+{ 
+            /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialCode { get; set; }
 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialNo { get; set; }
 
-/// <summary>
-/// WmsMaterial鍒涘缓鎴栨洿鏂板熀绫�
-/// </summary>
-public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto
-{
-    /// <summary>
-    /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
-    /// </summary>
-    public string MaterialNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string MaterialName { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡鍚嶇О
-    /// </summary>
-    public string MaterialName { get; set; }
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public PurchaseTypeEnum PurchaseType { get; set; }
 
-    /// <summary>
-    /// 鍨嬪彿
-    /// </summary>
-    public string MaterialModel { get; set; }
-    /// <summary>
-    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public PurchaseTypeEnum PurchaseType { get; set; }
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public MaterialTypeEnum MaterialType { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public MaterialTypeEnum MaterialType { get; set; }
+        /// <summary>
+        /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
+        /// </summary>
+        public string? PrimaryUnit { get; set; }
 
-    /// <summary>
-    /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
-    /// </summary>
-    public string PrimaryUnit { get; set; }
+        /// <summary>
+        /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
+        /// </summary>
+        public string? Standard { get; set; }
 
-    /// <summary>
-    /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
-    /// </summary>
-    public string Standard { get; set; }
+        /// <summary>
+        /// 澶栧緞锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal OuterDiameter { get; set; }
 
-    /// <summary>
-    /// 澶栧緞锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal OuterDiameter { get; set; }
+        /// <summary>
+        /// 澹佸帤锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal WallThickness { get; set; }
 
-    /// <summary>
-    /// 澹佸帤锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal WallThickness { get; set; }
+        /// <summary>
+        /// 鏉愯川锛堝锛�304涓嶉攬閽級
+        /// </summary>
+        public string? MaterialQuality { get; set; }
 
-    /// <summary>
-    /// 鏉愯川锛堝锛�304涓嶉攬閽級
-    /// </summary>
-    public string MaterialQuality { get; set; }
+        /// <summary>
+        /// 闀垮害锛堝崟浣嶏細m锛�
+        /// </summary>
+        public decimal Length { get; set; }
 
-    /// <summary>
-    /// 闀垮害锛堝崟浣嶏細m锛�
-    /// </summary>
-    public decimal Length { get; set; }
+        /// <summary>
+        /// 鏄惁涓轰富鏀
+        /// </summary>
+        public YesNoEnum IsMainBranch { get; set; }
 
-    /// <summary>
-    /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
-    /// </summary>
-    public YesNoEnum IsMainBranch { get; set; }
+        /// <summary>
+        /// 鐢熶骇宸ュ巶
+        /// </summary>
+        public string? Factory { get; set; }
 
-    /// <summary>
-    /// 鐢熶骇宸ュ巶
-    /// </summary>
-    public string Factory { get; set; }
+        /// <summary>
+        /// 璇佷功缂栧彿
+        /// </summary>
+        public string? Certification { get; set; }
 
-    /// <summary>
-    /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級
-    /// </summary>
-    public string Certification { get; set; }
+        /// <summary>
+        /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField1 { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField1 { get; set; }
+        /// <summary>
+        /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField2 { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField2 { get; set; }
+        /// <summary>
+        /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField3 { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField3 { get; set; }
-    /// <summary>
-    /// 澶囨敞
-    /// </summary>
-    public virtual string Remark { get; set; }
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int Sort { get; set; }
 
-    /// <summary>
-    /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class.
-    /// </summary>
-    public WmsMaterialCreateOrUpdateDtoBase() : base(false)
-    {
-    }
-}
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? CreatorId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? LastModifierId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? DeletionTime { get; set; }
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string? MaterialModel { get; set; }
+
+ 
+ 
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class. 
+    /// </summary> 
+    public WmsMaterialCreateOrUpdateDtoBase() : base(false) 
+    { 
+    } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs
index 85f527b..46a5588 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs
@@ -1,163 +1,211 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums;
-using CmsQueryExtensions;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Domain.Entities;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using CmsQueryExtensions; 
+using Volo.Abp.Application.Dtos; 
+using Volo.Abp.Data; 
+using Volo.Abp.Domain.Entities; 
+ 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+ 
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅鏁版嵁鍙傛暟瀵硅薄 
+/// </summary> 
+public  class WmsMaterialDto:  ExtensibleEntityDto<Guid>, IHasConcurrencyStamp 
+{ 
+            /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialCode { get; set; }
 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        public string MaterialNo { get; set; }
 
-/// <summary>
-/// WmsMaterial鏁版嵁鍙傛暟瀵硅薄
-/// </summary>
-public class WmsMaterialDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
-{
-    /// <summary>
-    /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
-    /// </summary>
-    public string MaterialNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string MaterialName { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡鍚嶇О
-    /// </summary>
-    public string MaterialName { get; set; }
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public PurchaseTypeEnum PurchaseType { get; set; }
 
-    /// <summary>
-    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public PurchaseTypeEnum PurchaseType { get; set; }
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public string PurchaseTypeDesc
+        { 
+            get 
+            { 
+                return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); 
+            } 
+        } 
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public MaterialTypeEnum MaterialType { get; set; }
 
-    /// <summary>
-    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public string PurchaseTypeDesc
-    {
-        get
-        {
-            return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType);
-        }
-    }
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        public string MaterialTypeDesc
+        { 
+            get 
+            { 
+                return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); 
+            } 
+        } 
+        /// <summary>
+        /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
+        /// </summary>
+        public string? PrimaryUnit { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public MaterialTypeEnum MaterialType { get; set; }
+        /// <summary>
+        /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
+        /// </summary>
+        public string? Standard { get; set; }
 
-    /// <summary>
-    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
-    /// </summary>
-    public string MaterialTypeDesc
-    {
-        get
-        {
-            return GetEnumDescriptionUtil.GetEnumDescription(MaterialType);
-        }
-    }
+        /// <summary>
+        /// 澶栧緞锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal OuterDiameter { get; set; }
 
-    /// <summary>
-    /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
-    /// </summary>
-    public string PrimaryUnit { get; set; }
+        /// <summary>
+        /// 澹佸帤锛堝崟浣嶏細mm锛�
+        /// </summary>
+        public decimal WallThickness { get; set; }
 
-    /// <summary>
-    /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
-    /// </summary>
-    public string Standard { get; set; }
+        /// <summary>
+        /// 鏉愯川锛堝锛�304涓嶉攬閽級
+        /// </summary>
+        public string? MaterialQuality { get; set; }
 
-    /// <summary>
-    /// 澶栧緞锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal OuterDiameter { get; set; }
+        /// <summary>
+        /// 闀垮害锛堝崟浣嶏細m锛�
+        /// </summary>
+        public decimal Length { get; set; }
 
-    /// <summary>
-    /// 澹佸帤锛堝崟浣嶏細mm锛�
-    /// </summary>
-    public decimal WallThickness { get; set; }
+        /// <summary>
+        /// 鏄惁涓轰富鏀
+        /// </summary>
+        public YesNoEnum IsMainBranch { get; set; }
 
-    /// <summary>
-    /// 鏉愯川锛堝锛�304涓嶉攬閽級
-    /// </summary>
-    public string MaterialQuality { get; set; }
+        /// <summary>
+        /// 鏄惁涓轰富鏀
+        /// </summary>
+        public string IsMainBranchDesc
+        { 
+            get 
+            { 
+                return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); 
+            } 
+        } 
+        /// <summary>
+        /// 鐢熶骇宸ュ巶
+        /// </summary>
+        public string? Factory { get; set; }
 
-    /// <summary>
-    /// 闀垮害锛堝崟浣嶏細m锛�
-    /// </summary>
-    public decimal Length { get; set; }
+        /// <summary>
+        /// 璇佷功缂栧彿
+        /// </summary>
+        public string? Certification { get; set; }
 
-    /// <summary>
-    /// 鏄惁涓轰富鏀锛�1: 涓绘敮绠�, 2: 闈炰富鏀锛�
-    /// </summary>
-    public YesNoEnum IsMainBranch { get; set; }
+        /// <summary>
+        /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField1 { get; set; }
 
-    /// <summary>
-    /// 鏄惁涓轰富鏀
-    /// </summary>
-    public string IsMainBranchDesc
-    {
-        get
-        {
-            return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch);
-        }
-    }
+        /// <summary>
+        /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField2 { get; set; }
 
-    /// <summary>
-    /// 鍨嬪彿
-    /// </summary>
-    public string MaterialModel { get; set; }
-    /// <summary>
-    /// 鐢熶骇宸ュ巶
-    /// </summary>
-    public string Factory { get; set; }
+        /// <summary>
+        /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        public string? RedundantField3 { get; set; }
 
-    /// <summary>
-    /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級
-    /// </summary>
-    public string Certification { get; set; }
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int Sort { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField1 { get; set; }
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField2 { get; set; }
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
 
-    /// <summary>
-    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
-    /// </summary>
-    public string RedundantField3 { get; set; }
-    /// <summary>
-    /// 鎺掑簭
-    /// </summary>
-    public virtual int Sort { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public ExtraPropertyDictionary? ExtraProperties { get; set; }
 
-    /// <summary>
-    /// 澶囨敞
-    /// </summary>
-    public virtual string Remark { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? ConcurrencyStamp { get; set; }
 
-    /// <summary>
-    /// 鏄惁绂佺敤
-    /// </summary>
-    public virtual bool? IsDisabled { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime CreationTime { get; set; }
 
-    /// <summary>
-    /// 骞跺彂鎴�
-    /// </summary>
-    public string ConcurrencyStamp { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? CreatorId { get; set; }
 
-    /// <summary>
-    /// Gets the export data.
-    /// </summary>
-    /// <returns></returns>
-    public Dictionary<string, object> GetExportData()
-    {
-        var exportData = new Dictionary<string, object>();
-        foreach (var property in this.GetType().GetProperties())
-        {
-            exportData.Add(property.Name, property.GetValue(this));
-        }
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? LastModificationTime { get; set; }
 
-        return exportData;
-    }
-}
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? LastModifierId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public bool IsDeleted { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? DeleterId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? DeletionTime { get; set; }
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string? MaterialModel { get; set; }
+
+ 
+ 
+    /// <summary> 
+    /// Gets the export data. 
+    /// </summary> 
+    /// <returns></returns> 
+    public Dictionary<string, object> GetExportData() 
+    { 
+        var exportData = new Dictionary<string, object>(); 
+        foreach (var property in this.GetType().GetProperties()) 
+        { 
+            exportData.Add(property.Name, property.GetValue(this)); 
+        } 
+ 
+        return exportData; 
+    } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs
index 3c21342..8e75976 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs
@@ -1,162 +1,149 @@
 using MiniExcelLibs.Attributes;
 using System.ComponentModel.DataAnnotations;
+using System;
 using System.ComponentModel;
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅瀵煎嚭妯″瀷 
+/// </summary> 
+public class WmsMaterialExportModel
 {
+    /// <summary>
+    /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+    /// </summary>
+    //[ExcelColumn(Name = "鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�", Width = 25)]
+    //public string MaterialCode { get; set; }
 
     /// <summary>
-    /// WmsMaterial瀵煎嚭妯″瀷
+    /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
     /// </summary>
-    public class MaterialExportModel
+    [ExcelColumn(Name = "鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�", Width = 25)]
+    public string MaterialNo { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)]
+    public string MaterialName { get; set; }
+
+    /// <summary>
+    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+    /// </summary>
+    [ExcelColumn(Name = "閲囪喘绫诲瀷锛堟灇涓惧�硷級", Width = 25)]
+    public PurchaseTypeEnum PurchaseType { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+    /// </summary>
+    [ExcelColumn(Name = "鐗╂枡绫诲瀷锛堟灇涓惧�硷級", Width = 25)]
+    public MaterialTypeEnum MaterialType { get; set; }
+
+    /// <summary>
+    /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
+    /// </summary>
+    [ExcelColumn(Name = "涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�", Width = 25)]
+    public string PrimaryUnit { get; set; }
+
+    /// <summary>
+    /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
+    /// </summary>
+    [ExcelColumn(Name = "瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�", Width = 25)]
+    public string Standard { get; set; }
+
+    /// <summary>
+    /// 澶栧緞锛堝崟浣嶏細mm锛�
+    /// </summary>
+    [ExcelColumn(Name = "澶栧緞锛堝崟浣嶏細mm锛�", Width = 25)]
+    public decimal OuterDiameter { get; set; }
+
+    /// <summary>
+    /// 澹佸帤锛堝崟浣嶏細mm锛�
+    /// </summary>
+    [ExcelColumn(Name = "澹佸帤锛堝崟浣嶏細mm锛�", Width = 25)]
+    public decimal WallThickness { get; set; }
+
+    /// <summary>
+    /// 鏉愯川锛堝锛�304涓嶉攬閽級
+    /// </summary>
+    [ExcelColumn(Name = "鏉愯川锛堝锛�304涓嶉攬閽級", Width = 25)]
+    public string MaterialQuality { get; set; }
+
+    /// <summary>
+    /// 闀垮害锛堝崟浣嶏細m锛�
+    /// </summary>
+    [ExcelColumn(Name = "闀垮害锛堝崟浣嶏細m锛�", Width = 25)]
+    public decimal Length { get; set; }
+
+    /// <summary>
+    /// 鏄惁涓轰富鏀
+    /// </summary>
+    [ExcelColumn(Name = "鏄惁涓轰富鏀", Width = 25)]
+    public YesNoEnum IsMainBranch { get; set; }
+
+    /// <summary>
+    /// 鐢熶骇宸ュ巶
+    /// </summary>
+    [ExcelColumn(Name = "鐢熶骇宸ュ巶", Width = 25)]
+    public string Factory { get; set; }
+
+    /// <summary>
+    /// 璇佷功缂栧彿
+    /// </summary>
+    [ExcelColumn(Name = "璇佷功缂栧彿", Width = 25)]
+    public string Certification { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    [ExcelColumn(Name = "鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+    public string RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    [ExcelColumn(Name = "鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+    public string RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    [ExcelColumn(Name = "鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+    public string RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [ExcelColumn(Name = "澶囨敞", Width = 25)]
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    [ExcelColumn(Name = "", Width = 25)]
+    public DateTime CreationTime { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    [ExcelColumn(Name = "", Width = 25)]
+    public DateTime LastModificationTime { get; set; }
+
+    /// <summary>
+    /// 鍨嬪彿
+    /// </summary>
+    [ExcelColumn(Name = "鍨嬪彿", Width = 25)]
+    public string MaterialModel { get; set; }
+
+    public Dictionary<string, object> GetExportData()
     {
-        /// <summary>
-        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
-        /// </summary>
-        /// <example>MAT-2023-001</example>
-        [ExcelColumn(Name = "鐗╂枡缂栫爜", Width = 25)]
-        public string MaterialNo { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        /// <example>304涓嶉攬閽㈢</example>
-        [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)]
-        public string MaterialName { get; set; }
-
-        /// <summary>
-        /// 閲囪喘绫诲瀷
-        /// </summary>
-        /// <remarks>
-        /// 0:鏍囧噯閲囪喘 1:绱ф�ラ噰璐� 2:鍗忚閲囪喘
-        /// </remarks>
-        /// <example>0</example>
-        [ExcelColumn(Name = "閲囪喘绫诲瀷", Width = 25)]
-        public PurchaseTypeEnum PurchaseType { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡绫诲瀷
-        /// </summary>
-        /// <remarks>
-        /// 1:鍘熸潗鏂� 2:鍗婃垚鍝� 3:鎴愬搧
-        /// </remarks>
-        /// <example>1</example>
-        [ExcelColumn(Name = "鐗╂枡绫诲瀷", Width = 25)]
-        public MaterialTypeEnum MaterialType { get; set; }
-
-        /// <summary>
-        /// 涓昏閲忓崟浣�
-        /// </summary>
-        /// <example>kg</example>
-        [ExcelColumn(Name = "涓诲崟浣�", Width = 25)]
-        public string PrimaryUnit { get; set; }
-
-        /// <summary>
-        /// 瑙勬牸/鎶�鏈爣鍑�
-        /// </summary>
-        /// <example>GB/T 8163-2018</example>
-        [ExcelColumn(Name = "瑙勬牸/鏍囧噯", Width = 25)]
-        public string Standard { get; set; }
-
-        /// <summary>
-        /// 澶栧緞锛堝崟浣嶏細姣背锛�
-        /// </summary>
-        /// <example>50.5</example>
-        [ExcelColumn(Name = "澶栧緞(mm)", Width = 25)]
-        public decimal OuterDiameter { get; set; }
-
-        /// <summary>
-        /// 澹佸帤锛堝崟浣嶏細姣背锛�
-        /// </summary>
-        /// <example>2.5</example>
-        [ExcelColumn(Name = "澹佸帤(mm)", Width = 25)]
-        public decimal WallThickness { get; set; }
-
-        /// <summary>
-        /// 鏉愯川璇存槑
-        /// </summary>
-        /// <example>304涓嶉攬閽�</example>
-        [ExcelColumn(Name = "鏉愯川", Width = 25)]
-        public string MaterialQuality { get; set; }
-
-        /// <summary>
-        /// 鍨嬪彿
-        /// </summary>
-        [ExcelColumn(Name = "鍨嬪彿", Width = 25)]
-        public string MaterialModel { get; set; }
-        /// <summary>
-        /// 闀垮害锛堝崟浣嶏細绫筹級
-        /// </summary>
-        /// <example>6.0</example>
-        [ExcelColumn(Name = "闀垮害(m)", Width = 25)]
-        public decimal Length { get; set; }
-
-        /// <summary>
-        /// 鏄惁涓绘敮绠℃爣璇�
-        /// </summary>
-        /// <example>true</example>
-        [ExcelColumn(Name = "鏄惁涓绘敮绠�", Width = 25)]
-        [Description("鏄�/鍚�")]
-        public YesNoEnum IsMainBranch { get; set; }
-
-        /// <summary>
-        /// 鐢熶骇宸ュ巶鍚嶇О
-        /// </summary>
-        /// <example>涓婃捣绗竴宸ュ巶</example>
-        [ExcelColumn(Name = "鐢熶骇宸ュ巶", Width = 25)]
-        public string Factory { get; set; }
-
-        /// <summary>
-        /// 璁よ瘉璇佷功缂栧彿
-        /// </summary>
-        /// <example>CER-2023-001</example>
-        [ExcelColumn(Name = "璇佷功缂栧彿", Width = 25)]
-        public string Certification { get; set; }
-
-        /// <summary>
-        /// 棰勭暀鎵╁睍瀛楁1
-        /// </summary>
-        /// <remarks>
-        /// 鍙敤浜庝复鏃跺瓨鍌ㄤ緵搴斿晢缂栫爜绛夋墿灞曚俊鎭�
-        /// </remarks>
-        [ExcelColumn(Name = "鎵╁睍瀛楁1", Width = 25)]
-        public string RedundantField1 { get; set; }
-
-        /// <summary>
-        /// 棰勭暀鎵╁睍瀛楁2
-        /// </summary>
-        /// <remarks>
-        /// 鍙敤浜庝复鏃跺瓨鍌ㄦ壒娆″彿绛夋墿灞曚俊鎭�
-        /// </remarks>
-        [ExcelColumn(Name = "鎵╁睍瀛楁2", Width = 25)]
-        public string RedundantField2 { get; set; }
-
-        /// <summary>
-        /// 棰勭暀鎵╁睍瀛楁3
-        /// </summary>
-        /// <remarks>
-        /// 鍙敤浜庝复鏃跺瓨鍌ㄨ嚜瀹氫箟鍒嗙被绛夋墿灞曚俊鎭�
-        /// </remarks>
-        [ExcelColumn(Name = "鎵╁睍瀛楁3", Width = 25)]
-        public string RedundantField3 { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [ExcelColumn(Name = "澶囨敞",Width = 25)]
-        public string Remark { get; set; }
-
-        public Dictionary<string, object> GetExportData()
+        var exportData = new Dictionary<string, object>();
+        foreach (var property in this.GetType().GetProperties())
         {
-            var exportData = new Dictionary<string, object>();
-            foreach (var property in this.GetType().GetProperties())
-            {
-                exportData.Add(property.Name, property.GetValue(this));
-            }
-
-            return exportData;
+            exportData.Add(property.Name, property.GetValue(this));
         }
+
+        return exportData;
     }
 }
-
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs
index 6c4d4aa..16aa77f 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs
@@ -22,7 +22,7 @@
         /// <summary>
         /// WmsMaterial瀵煎叆妯″瀷
         /// </summary>
-        public class WmsMaterialImportModel : MaterialExportModel
+        public class WmsMaterialImportModel : WmsMaterialExportModel
         {
             /// <summary>
             /// 琛屽彿
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
index da401a7..7539b1a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
@@ -1,14 +1,18 @@
-using Volo.Abp.Domain.Entities;
-
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
-
-/// <summary>
-/// WmsMaterial鏇存柊鍙傛暟瀵硅薄
-/// </summary>
-public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp
-{
-    /// <summary>
-    /// 骞跺彂鎴�
-    /// </summary>
-    public string ConcurrencyStamp { get; set; }
-}
+using Volo.Abp.Domain.Entities; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+ 
+/// <summary> 
+/// 鐗╂枡鍩虹淇℃伅鏇存柊鍙傛暟瀵硅薄 
+/// </summary> 
+public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp 
+{ 
+   /// <summary> 
+    /// 骞跺彂鎴� 
+    /// </summary> 
+    public string ConcurrencyStamp { get; set; } 
+ 
+    /// <summary> 
+    /// 淇敼浜� 
+    /// </summary> 
+    public string LastModifierName { get; set; } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs
new file mode 100644
index 0000000..7ba6063
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs
@@ -0,0 +1,33 @@
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial 
+{ 
+    /// <summary> 
+    /// 鐗╂枡鍩虹淇℃伅瀵煎叆妯″瀷 
+    /// </summary> 
+    public class WmsMaterialsImportModel 
+    { 
+        private List<WmsMaterialImportModel> _WmsMaterials = new(); 
+ 
+        public List<WmsMaterialImportModel> WmsMaterials 
+        { 
+            get => _WmsMaterials; 
+            set 
+            { 
+                _WmsMaterials = value; 
+                var rowIndex = 2; 
+                _WmsMaterials?.ForEach(x => x.RowIndex = rowIndex++); 
+            } 
+        } 
+ 
+        /// <summary> 
+        /// 鐗╂枡鍩虹淇℃伅瀵煎叆妯″瀷 
+        /// </summary> 
+        public class WmsMaterialImportModel : WmsMaterialExportModel 
+        { 
+            /// <summary> 
+            /// 琛屽彿 
+            /// </summary> 
+            public int RowIndex { get; set; } 
+        } 
+    } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs
index ea822b8..04a0f69 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs
@@ -4,6 +4,8 @@
 using CMS.Plugin.HIAWms.Domain.Shared.WmsContainers;
 using CMS.Plugin.HIAWms.Domain.WmsContainers;
 using CmsQueryExtensions;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp;
 using Volo.Abp.Application.Dtos;
 using Volo.Abp.Data;
@@ -41,12 +43,40 @@
             input.Sorting = nameof(WmsContainer.Sort);
         }
 
-        var specification = new WmsContainerSpecification(input.Name);
-        var container = ObjectMapper.Map < GetWmsContainerInput, WmsContainer>(input);
-        var count = await _wmscontainerRepository.GetCountAsync(container,input.Filter, specification);
-        var list = await _wmscontainerRepository.GetListAsync(container,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await _wmscontainerRepository.GetCountAsync(whereConditions);
+        var list = await _wmscontainerRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsContainerDto>(count, ObjectMapper.Map<List<WmsContainer>, List<WmsContainerDto>>(list));
+    }
+
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsContainer, bool>>> DynamicGetQueryParams(GetWmsContainerInput input)
+    {
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsContainer, GetWmsContainerInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsContainer, bool>> extendExpression = a => a.IsDeleted == false;
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsContainer, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
     }
 
     /// <inheritdoc />
@@ -299,6 +329,11 @@
     }
 
     /// <inheritdoc />
+    /// <summary> 
+    /// 瀵煎嚭鎵樼洏绠$悊 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
     public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsContainerInput input)
     {
         Check.NotNull(input, nameof(input));
@@ -308,9 +343,14 @@
             input.Sorting = nameof(WmsContainer.Sort);
         }
 
-        var specification = new WmsContainerSpecification(input.Name);
-        var container = ObjectMapper.Map<GetWmsContainerInput, WmsContainer>(input);
-        var list = await _wmscontainerRepository.GetListAsync(container,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var list = await _wmscontainerRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
         var result = ObjectMapper.Map<List<WmsContainer>, List<WmsContainerDto>>(list);
 
         var sheets = new Dictionary<string, object>
@@ -318,7 +358,7 @@
             ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsContainer鍒楄〃" : result.Count == 1 ? result.First()?.ContainerNo : "WmsContainer妯$増";
+        var fileName = "鎵樼洏绠$悊";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
index e6e0457..012a139 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -4,6 +4,8 @@
 using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials;
 using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using CmsQueryExtensions;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp;
 using Volo.Abp.Application.Dtos;
 using Volo.Abp.Data;
@@ -42,13 +44,40 @@
             input.Sorting = nameof(WmsMaterial.Sort);
         }
 
-        var specification = new WmsMaterialSpecification(input.Name);
-        var material = ObjectMapper.Map<GetWmsMaterialInput, WmsMaterial>(input);
-        var count = await _wmsmaterialRepository.GetCountAsync(material,input.Filter, specification);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
 
-        var list = await _wmsmaterialRepository.GetListAsync(material,input.Sorting, input.MaxResultCount,  input.SkipCount, input.Filter, specification);
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await _wmsmaterialRepository.GetCountAsync(whereConditions);
+        var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list));
+    }
+
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> DynamicGetQueryParams(GetWmsMaterialInput input)
+    {
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterial, GetWmsMaterialInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsMaterial, bool>> extendExpression = a => a.IsDeleted == false;
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsMaterial, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
     }
 
     /// <inheritdoc />
@@ -311,7 +340,11 @@
         }
     }
 
-    /// <inheritdoc />
+    /// <summary> 
+    /// 瀵煎嚭鐗╂枡鍩虹淇℃伅 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
     public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input)
     {
         Check.NotNull(input, nameof(input));
@@ -321,10 +354,16 @@
             input.Sorting = nameof(WmsMaterial.Sort);
         }
 
-        var specification = new WmsMaterialSpecification(input.Name);
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
 
-        var material = ObjectMapper.Map<GetWmsMaterialInput, WmsMaterial>(input);
-        var list = await _wmsmaterialRepository.GetListAsync(material,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+
+        var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
         var result = ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list);
 
         var sheets = new Dictionary<string, object>
@@ -332,7 +371,7 @@
             ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialNo : "WmsMaterial妯$増";
+        var fileName = "鐗╂枡鍩虹";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs
index 50b4374..39f4210 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.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<WmsContainer>> GetListAsync(WmsContainer? container, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsContainer> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsContainer>> GetListAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// Gets the count asynchronous.
@@ -50,5 +52,5 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsContainer? container, string filter = null, Specification<WmsContainer> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, CancellationToken cancellationToken = default);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs
index 468e6bb..37e5922 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs
@@ -1,3 +1,5 @@
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Specifications;
 
@@ -49,7 +51,7 @@
     /// <param name="includeDetails">if set to <c>true</c> [include details].</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<List<WmsMaterial>> GetListAsync(WmsMaterial material, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsMaterial> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsMaterial>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鑾峰彇鐗╂枡鍩虹鍒楄〃
@@ -65,7 +67,7 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsMaterial material, string filter = null, Specification<WmsMaterial> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鑾峰彇鐗╂枡鍒楄〃
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs
index f42bc56..971f737 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs
@@ -1,6 +1,8 @@
 using System.Linq.Dynamic.Core;
+using System.Linq.Expressions;
 using CMS.Plugin.HIAWms.Domain.WmsContainers;
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
+using CmsQueryExtensions.Extension;
 using Microsoft.EntityFrameworkCore;
 using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
 using Volo.Abp.EntityFrameworkCore;
@@ -50,52 +52,38 @@
         return sort + 1;
     }
 
-    /// <summary>
-    /// 查询列表
-    /// </summary>
-    /// <param name="container"></param>
-    /// <param name="sorting"></param>
-    /// <param name="maxResultCount"></param>
-    /// <param name="skipCount"></param>
-    /// <param name="filter"></param>
-    /// <param name="specification"></param>
-    /// <param name="includeDetails"></param>
-    /// <param name="cancellationToken"></param>
-    /// <returns></returns>
-    public async Task<List<WmsContainer>> GetListAsync(WmsContainer? container,string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsContainer> 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<WmsContainer>> GetListAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsContainerSpecification();
         return await (await GetDbSetAsync())
             .IncludeDetails(includeDetails)
-            .Where(specification.ToExpression())
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.ContainerNo.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(container.ContainerNo),u=>u.ContainerNo.Contains(container.ContainerNo))
-            .WhereIf(container.ContainerStatus>0, u=>u.ContainerStatus == u.ContainerStatus)
-            .WhereIf(container.ContainerType>0, u=>u.ContainerType == u.ContainerType)
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsContainer.Sort) : sorting)
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount)
             .ToListAsync(GetCancellationToken(cancellationToken));
     }
 
-    /// <summary>
-    /// 查询数量
-    /// </summary>
-    /// <param name="container"></param>
-    /// <param name="filter"></param>
-    /// <param name="specification"></param>
-    /// <param name="cancellationToken"></param>
-    /// <returns></returns>
-    public async Task<long> GetCountAsync(WmsContainer? container, string filter = null, Specification<WmsContainer> specification = null, CancellationToken cancellationToken = default)
+    /// <summary> 
+    /// 获取总数托盘管理 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsContainerSpecification();
         return await (await GetQueryableAsync())
-            .Where(specification.ToExpression())
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .WhereIf(!string.IsNullOrEmpty(container.ContainerNo), u => u.ContainerNo.Contains(container.ContainerNo))
-            .WhereIf(container.ContainerStatus > 0, u => u.ContainerStatus == u.ContainerStatus)
-            .WhereIf(container.ContainerType > 0, u => u.ContainerType == u.ContainerType)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.ContainerNo.Contains(filter))
             .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
index 219d23d..50fc33d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -5,6 +5,7 @@
 using CMS.Plugin.HIAWms.Domain.WmsAreas;
 using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
+using CmsQueryExtensions.Extension;
 using Microsoft.EntityFrameworkCore;
 using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
 using Volo.Abp.EntityFrameworkCore;
@@ -71,19 +72,23 @@
     }
 
     /// <inheritdoc />
-    public async Task<List<WmsMaterial>> GetListAsync(WmsMaterial? material, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsMaterial> 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<WmsMaterial>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsMaterialSpecification();
         return await (await GetDbSetAsync())
             .IncludeDetails(includeDetails)
-            .Where(specification.ToExpression())
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.MaterialNo.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName))
-            .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo))
-            .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType)
-            .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType)
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterial.Sort) : sorting)
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount)
             .ToListAsync(GetCancellationToken(cancellationToken));
     }
@@ -105,25 +110,17 @@
             .ToListAsync(GetCancellationToken(cancellationToken));
     }
 
-    /// <summary>
-    /// 获取总数
-    /// </summary>
-    /// <param name="material"></param>
-    /// <param name="filter"></param>
-    /// <param name="specification"></param>
-    /// <param name="cancellationToken"></param>
-    /// <returns></returns>
-    public async Task<long> GetCountAsync(WmsMaterial? material, string filter = null, Specification<WmsMaterial> specification = null, CancellationToken cancellationToken = default)
+    /// <summary> 
+    /// 获取总数物料基础信息 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsMaterialSpecification();
         return await (await GetQueryableAsync())
-            .Where(specification.ToExpression())
-            .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName))
-            .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo))
-            .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType)
-            .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType)
+            .WhereIf(whereConditions != null, whereConditions.data)
             .Where(x => !x.IsDeleted)
-            .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.MaterialNo.Contains(filter))
             .CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
     }
 
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/\346\211\230\347\233\230\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/\346\211\230\347\233\230\351\205\215\347\275\256.txt"
new file mode 100644
index 0000000..6782a45
--- /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/\346\211\230\347\233\230\351\205\215\347\275\256.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmscontainers
+[瀹炰綋绫诲悕]:WmsContainer
+[瀹炰綋绫诲璞″悕]:WmsContainer
+[椤甸潰鑿滃崟鍚峕:鎵樼洏绠$悊
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsContainer
+[琛ㄧ殑涓枃娉ㄨВ]:鎵樼洏绠$悊
+[閲嶅鎬ф牎楠屽瓧娈礭:ContainerNo
+[鍒犻櫎鎻愮ず瀛楁]:ContainerNo
+[妯$硦鏌ヨ瀛楁]:'ContainerNo'
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ユ墭鐩樼紪鍙�
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:ContainerType,ContainerTypeEnum&ContainerStatus,ContainerStatusEnum
+[鍓嶇鏍规枃浠跺す鍚嶇О]: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/\347\211\251\346\226\231\345\237\272\347\241\200\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/\347\211\251\346\226\231\345\237\272\347\241\200\351\205\215\347\275\256.txt"
new file mode 100644
index 0000000..e12be5e
--- /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/\347\211\251\346\226\231\345\237\272\347\241\200\351\205\215\347\275\256.txt"
@@ -0,0 +1,14 @@
+[琛ㄥ悕]:scms_wmsmaterials
+[瀹炰綋绫诲悕]:WmsMaterial
+[瀹炰綋绫诲璞″悕]:WmsMaterial
+[椤甸潰鑿滃崟鍚峕:鐗╂枡鍩虹
+[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsMaterial
+[琛ㄧ殑涓枃娉ㄨВ]:鐗╂枡鍩虹淇℃伅
+[閲嶅鎬ф牎楠屽瓧娈礭:MaterialNo
+[鍒犻櫎鎻愮ず瀛楁]:MaterialNo
+[妯$硦鏌ヨ瀛楁]:'MaterialNo', 'MaterialName',
+[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ョ墿鏂欑紪鍙�/鐗╂枡鍚嶇О
+[椤圭洰鍛藉悕绌洪棿]:HIAWms
+[鏋氫妇绫诲瀷瀛楁闆嗗悎]:PurchaseType,PurchaseTypeEnum&MaterialType,MaterialTypeEnum&IsMainBranch,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/MainForm.cs" "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/MainForm.cs"
index 23b5274..5867a50 100644
--- "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/MainForm.cs"
+++ "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/MainForm.cs"
@@ -215,11 +215,11 @@
                     return;
                 }
                 //澧炲姞鏍¢獙
-                if (columnList.Where(x => x.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()).Count() == 0)
-                {
-                    MessageBox.Show($"琛ㄤ腑娌℃湁瀛楁{SystemCommonVar.c_creator}锛�");
-                    return;
-                }
+                //if (columnList.Where(x => x.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()).Count() == 0)
+                //{
+                //    MessageBox.Show($"琛ㄤ腑娌℃湁瀛楁{SystemCommonVar.c_creator}锛�");
+                //    return;
+                //}
 
 
 

--
Gitblit v1.9.3