zs
2025-05-13 0cd95d98fdf7ed22d53398242feb2a3ca185cf09
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialQueryDrawer.tsx
@@ -14,6 +14,15 @@
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') 
@@ -75,7 +84,7 @@
    }, 
  }) 
  /** 
   * æ·»åŠ çš„form字段
   * é«˜çº§æŸ¥è¯¢çš„form字段
   */ 
  const formItems = reactive([ 
                    { 
@@ -84,6 +93,86 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入物料编码(唯一标识)', 
                   highSelectAttrs:{
                     prop: 'materialCode_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                },
                {
                   label: '是否有效物料',
                   prop: 'isValid',
                   el: 'select',
                   //disabled: disabled,
                   placeholder: '请输入是否有效物料',
                   clearable:true,
                 options: BOOLEAN_OPTIONS,
                   highSelectAttrs:{
                     prop: 'isValid_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_BOOL
                   }
                },
                {
                   label: '是否自产',
                   prop: 'isSelfMade',
                   el: 'select',
                   //disabled: disabled,
                   placeholder: '请输入是否自产',
                   clearable:true,
                 options: BOOLEAN_OPTIONS,
                   highSelectAttrs:{
                     prop: 'isSelfMade_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_BOOL
                   }
                },
                {
                   label: '数量',
                   prop: 'num',
                   el: (props: any, { attrs }: SetupContext) => {
                     return h(inputNumber, {
                       ...props,
                       clearable: true,
                       ...attrs,
                     })
                   },
                   width: '100%',
                   step: 1,
                   precision: 0,
                   //disabled: disabled,
                   placeholder: '请输入数量',
                   highSelectAttrs:{
                     prop: 'num_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_NUM
                   }
                },
                {
                   label: '自有数量',
                   prop: 'selfNum',
                   el: (props: any, { attrs }: SetupContext) => {
                     return h(inputNumber, {
                       ...props,
                       clearable: true,
                       ...attrs,
                     })
                   },
                   width: '100%',
                   step: 1,
                   precision: 0,
                   //disabled: disabled,
                   placeholder: '请输入自有数量',
                   highSelectAttrs:{
                     prop: 'selfNum_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_NUM
                   }
                }, 
                { 
                   label: '物料名称', 
@@ -91,22 +180,64 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入物料名称', 
                   highSelectAttrs:{
                     prop: 'materialName_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                },
                {
                   label: '可空长度',
                   prop: 'nullLength',
                   el: (props: any, { attrs }: SetupContext) => {
                     return h(inputNumber, {
                       ...props,
                       clearable: true,
                       ...attrs,
                     })
                   },
                   width: '100%',
                   step: 0.01,
                   precision: 2,
                   //disabled: disabled,
                   placeholder: '请输入可空长度',
                   highSelectAttrs:{
                     prop: 'nullLength_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_NUM
                   }
                }, 
                { 
                   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: '主单位(如:kg、m、个)', 
@@ -114,6 +245,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入主单位(如:kg、m、个)', 
                   highSelectAttrs:{
                     prop: 'primaryUnit_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '规格/标准(如:GB/T 8163-2018)', 
@@ -121,6 +258,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入规格/标准(如:GB/T 8163-2018)', 
                   highSelectAttrs:{
                     prop: 'standard_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '外径(单位:mm)', 
@@ -137,6 +280,12 @@
                   precision: 2, 
                   //disabled: disabled, 
                   placeholder: '请输入外径(单位:mm)', 
                   highSelectAttrs:{
                     prop: 'outerDiameter_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_NUM
                   }
                }, 
                { 
                   label: '壁厚(单位:mm)', 
@@ -153,6 +302,12 @@
                   precision: 2, 
                   //disabled: disabled, 
                   placeholder: '请输入壁厚(单位:mm)', 
                   highSelectAttrs:{
                     prop: 'wallThickness_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_NUM
                   }
                }, 
                { 
                   label: '材质(如:304不锈钢)', 
@@ -160,6 +315,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入材质(如:304不锈钢)', 
                   highSelectAttrs:{
                     prop: 'materialQuality_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '长度(单位:m)', 
@@ -176,14 +337,27 @@
                   precision: 2, 
                   //disabled: disabled, 
                   placeholder: '请输入长度(单位:m)', 
                   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: '生产工厂', 
@@ -191,6 +365,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入生产工厂', 
                   highSelectAttrs:{
                     prop: 'factory_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '证书编号', 
@@ -198,6 +378,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入证书编号', 
                   highSelectAttrs:{
                     prop: 'certification_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '冗余字段1 - é¢„留扩展用途', 
@@ -205,6 +391,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入冗余字段1 - é¢„留扩展用途', 
                   highSelectAttrs:{
                     prop: 'redundantField1_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '冗余字段2 - é¢„留扩展用途', 
@@ -212,6 +404,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入冗余字段2 - é¢„留扩展用途', 
                   highSelectAttrs:{
                     prop: 'redundantField2_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '冗余字段3 - é¢„留扩展用途', 
@@ -219,6 +417,25 @@
                   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: '创建时间', 
@@ -233,6 +450,22 @@
                   width: '100%',
                   //disabled: disabled, 
                   placeholder: '请输入创建时间', 
                   isDateControl: true, // æ˜¾å¼æ ‡è®°ä¸ºæ—¥æœŸæŽ§ä»¶
                },
                {
                   label: '修改时间',
                   prop: 'lastModificationTime',
                   el: (props: any, { attrs }: SetupContext) => {
                     return h(dateTimePickerRange, {
                       ...props,
                       clearable: true,
                       ...attrs,
                     })
                   },
                   width: '100%',
                   //disabled: disabled,
                   placeholder: '请输入修改时间',
                   isDateControl: true, // æ˜¾å¼æ ‡è®°ä¸ºæ—¥æœŸæŽ§ä»¶
                }, 
                { 
                   label: '创建人', 
@@ -240,6 +473,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入创建人', 
                   highSelectAttrs:{
                     prop: 'creatorName_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                }, 
                { 
                   label: '修改人', 
@@ -247,42 +486,12 @@
                   el: 'input', 
                   //disabled: disabled, 
                   placeholder: '请输入修改人', 
                },
                {
                   label: '备注',
                   prop: 'remark',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入备注',
                },
                {
                   label: '是否禁用',
                   prop: 'isDisabled',
                   el: 'select',
                   //disabled: disabled,
                   placeholder: '请输入是否禁用',
                 options: [{label: '是',value: true}, {label: '否',value: false}]
                },
                {
                   label: '扩展字段1',
                   prop: 'extraField1',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入扩展字段1',
                },
                {
                   label: '扩展字段2',
                   prop: 'extraField2',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入扩展字段2',
                },
                {
                   label: '扩展字段3',
                   prop: 'extraField3',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入扩展字段3',
                   highSelectAttrs:{
                     prop: 'lastModifierName_FilterMode',
                     el: 'select',
                     placeholder: '请选择',
                     options:FILTER_MODE_OPTIONS_STRING
                   }
                },  
  ]) 
  /** 
@@ -298,29 +507,55 @@
  const commonGetFormData=()=>{ 
    const data = { 
      materialCode: formData.value.materialCode || '', 
materialCode_FilterMode: formData.value.materialCode_FilterMode || '',
isValid: formData.value.isValid || '',
isValid_FilterMode: formData.value.isValid_FilterMode || '',
isSelfMade: formData.value.isSelfMade || '',
isSelfMade_FilterMode: formData.value.isSelfMade_FilterMode || '',
num: formData.value.num || '',
num_FilterMode: formData.value.num_FilterMode || '',
selfNum: formData.value.selfNum || '',
selfNum_FilterMode: formData.value.selfNum_FilterMode || '',
materialName: formData.value.materialName || '', 
materialName_FilterMode: formData.value.materialName_FilterMode || '',
nullLength: formData.value.nullLength || '',
nullLength_FilterMode: formData.value.nullLength_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 || '', 
creationTime: formData.value.creationTime || '',
creatorName: formData.value.creatorName || '',
lastModifierName: formData.value.lastModifierName || '',
redundantField3_FilterMode: formData.value.redundantField3_FilterMode || '',
remark: formData.value.remark || '', 
isDisabled: formData.value.isDisabled || '',
extraField1: formData.value.extraField1 || '',
extraField2: formData.value.extraField2 || '',
extraField3: formData.value.extraField3 || '',
remark_FilterMode: formData.value.remark_FilterMode || '',
creationTime: formData.value.creationTime || '',
lastModificationTime: formData.value.lastModificationTime || '',
creatorName: formData.value.creatorName || '',
creatorName_FilterMode: formData.value.creatorName_FilterMode || '',
lastModifierName: formData.value.lastModifierName || '',
lastModifierName_FilterMode: formData.value.lastModifierName_FilterMode || '',
    } 
    return data; 
  } 
@@ -338,33 +573,67 @@
    const data =commonGetFormData(); 
    ctx.emit('confirmQuery', data) 
  } 
  /**
   * é‡ç½®å…¬å…±select查询
   */
  const onResetForHighSelect = async () => {
    formData.value.materialCode_FilterMode = 1
formData.value.isValid_FilterMode = 2
formData.value.isSelfMade_FilterMode = 2
formData.value.num_FilterMode = 2
formData.value.selfNum_FilterMode = 2
formData.value.materialName_FilterMode = 1
formData.value.nullLength_FilterMode = 2
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.creatorName_FilterMode = 1
formData.value.lastModifierName_FilterMode = 1
  }
  /** 
   * é‡ç½®æŸ¥è¯¢ 
   */ 
  const onReset = async () => { 
    formData.value = {} 
    formData.value.MaterialCode = ''
formData.value.MaterialName = ''
formData.value.PurchaseType = ''
formData.value.MaterialType = ''
formData.value.PrimaryUnit = ''
formData.value.Standard = ''
formData.value.OuterDiameter = ''
formData.value.WallThickness = ''
formData.value.MaterialQuality = ''
formData.value.Length = ''
formData.value.IsMainBranch = ''
formData.value.Factory = ''
formData.value.Certification = ''
formData.value.RedundantField1 = ''
formData.value.RedundantField2 = ''
formData.value.RedundantField3 = ''
formData.value.CreatorName = ''
formData.value.LastModifierName = ''
formData.value.Remark = ''
formData.value.ExtraField1 = ''
formData.value.ExtraField2 = ''
formData.value.ExtraField3 = ''
    onResetForHighSelect();//重置公共select查询
    formData.value.materialCode = ''
formData.value.isValid = ''
formData.value.isSelfMade = ''
formData.value.num = ''
formData.value.selfNum = ''
formData.value.materialName = ''
formData.value.nullLength = ''
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.creatorName = ''
formData.value.lastModifierName = ''
    //向父组件发送自定义事件 
    ctx.emit('restQuery'); 
  } 
@@ -404,6 +673,7 @@
 
  } 
  commonQueryEnumForFrom() 
  onResetForHighSelect();//重置公共select查询
  /** 
   * å¼¹çª—打开获取详情 
   */