| | |
| | | h, |
| | | } from 'vue' |
| | | import { injectModel } from '@/libs/Provider/Provider' |
| | | import { WmsMaterialStockDrawer } from '../Models/WmsMaterialStockDrawer' |
| | | import { WmsMaterialStockDetailQueryDrawer } from '../Models/WmsMaterialStockDetailQueryDrawer' |
| | | import { ElMessage } from 'element-plus' |
| | | import isEqual from 'lodash/isEqual' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { cloneDeep } from 'lodash' |
| | | import { getAreaAreaDataList } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' |
| | | // 引入公共选项配置 |
| | | 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 useWmsMaterialStockDetalQueryDrawer = (props: any, ctx?: any) => { |
| | | const wmsMaterialStockDetailDrawer = injectModel<WmsMaterialStockDrawer>( |
| | | 'WmsMaterialStockDrawer' |
| | | ) |
| | | export const useWmsMaterialStockDetailQueryDrawer = (props: any, ctx?: any) => { |
| | | const wmsMaterialStockDetailDrawer = |
| | | injectModel<WmsMaterialStockDetailQueryDrawer>('wmsMaterialStockDrawer') |
| | | /** |
| | | * 用来对比的初始化数据 |
| | | */ |
| | |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入物料ID', |
| | | // highSelectAttrs: { |
| | | // prop: 'materialId_FilterMode', |
| | | // el: 'select', |
| | | // placeholder: '请选择', |
| | | // options: FILTER_MODE_OPTIONS_STRING, |
| | | // }, |
| | | // }, |
| | | { |
| | | label: '物料名称', |
| | |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入物料名称', |
| | | highSelectAttrs: { |
| | | prop: 'materialName_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | // { |
| | | // label: '容器编号', |
| | | // prop: 'containerNo', |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入容器编号', |
| | | // }, |
| | | { |
| | | label: '容器编号', |
| | | prop: 'containerNo', |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入容器编号', |
| | | highSelectAttrs: { |
| | | prop: 'containerNo_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | // { |
| | | // label: '容器状态', |
| | | // prop: 'containerStatus', |
| | |
| | | // option: [], |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入容器状态', |
| | | // highSelectAttrs: { |
| | | // prop: 'containerStatus_FilterMode', |
| | | // el: 'select', |
| | | // placeholder: '请选择', |
| | | // options: FILTER_MODE_OPTIONS_BOOL, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // label: '容器类型', |
| | |
| | | // option: [], |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入容器类型', |
| | | // highSelectAttrs: { |
| | | // prop: 'containerType_FilterMode', |
| | | // el: 'select', |
| | | // placeholder: '请选择', |
| | | // options: FILTER_MODE_OPTIONS_BOOL, |
| | | // }, |
| | | // }, |
| | | { |
| | | label: '物料编号', |
| | |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入物料编号', |
| | | highSelectAttrs: { |
| | | prop: 'materialNo_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | { |
| | | label: '库存数量', |
| | |
| | | precision: 0, |
| | | //disabled: disabled, |
| | | placeholder: '请输入库存数量', |
| | | highSelectAttrs: { |
| | | prop: 'stockNumber_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_NUM, |
| | | }, |
| | | }, |
| | | { |
| | | label: '物料批次', |
| | |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入物料批次', |
| | | highSelectAttrs: { |
| | | prop: 'materialBatch_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | // { |
| | | // label: '供应商编号', |
| | |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入供应商编号', |
| | | // highSelectAttrs: { |
| | | // prop: 'supplierCode_FilterMode', |
| | | // el: 'select', |
| | | // placeholder: '请选择', |
| | | // options: FILTER_MODE_OPTIONS_STRING, |
| | | // }, |
| | | // }, |
| | | { |
| | | label: '型号', |
| | |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入型号', |
| | | highSelectAttrs: { |
| | | prop: 'materialModel_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | { |
| | | label: '库位编号', |
| | |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入库位编号', |
| | | highSelectAttrs: { |
| | | prop: 'placeNo_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | { |
| | | label: '库位状态;', |
| | | label: '库位状态', |
| | | prop: 'placeStatus', |
| | | el: 'select', |
| | | clearable: true, |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入库位状态;', |
| | | highSelectAttrs: { |
| | | prop: 'placeStatus_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_BOOL, |
| | | }, |
| | | }, |
| | | { |
| | | label: '库位类型', |
| | | prop: 'storageTypeNo', |
| | | el: 'select', |
| | | clearable: false, |
| | | clearable: true, |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入库位类型', |
| | | highSelectAttrs: { |
| | | prop: 'storageTypeNo_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_BOOL, |
| | | }, |
| | | }, |
| | | { |
| | | label: '区域编号', |
| | | label: '库区', |
| | | prop: 'areaCode', |
| | | el: 'input', |
| | | el: 'select', |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入区域编号', |
| | | placeholder: '请输入库区', |
| | | highSelectAttrs: { |
| | | prop: 'areaCode_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | // { |
| | | // label: '库区名称', |
| | |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入库区名称', |
| | | // highSelectAttrs: { |
| | | // prop: 'areaName_FilterMode', |
| | | // el: 'select', |
| | | // placeholder: '请选择', |
| | | // options: FILTER_MODE_OPTIONS_STRING, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // label: '检验状态(1:未检验,2:检验通过,3:检验不通过)', |
| | | // prop: 'checkStatus', |
| | | // el: 'select', |
| | | // clearable: true, |
| | | // option: [], |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入检验状态(1:未检验,2:检验通过,3:检验不通过)', |
| | | // }, |
| | | { |
| | | label: '检验状态', |
| | | prop: 'checkStatus', |
| | | el: 'select', |
| | | clearable: true, |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入检验状态', |
| | | highSelectAttrs: { |
| | | prop: 'checkStatus_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_BOOL, |
| | | }, |
| | | }, |
| | | { |
| | | label: '是否锁定', |
| | | prop: 'isLock', |
| | |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入是否锁定', |
| | | highSelectAttrs: { |
| | | prop: 'isLock_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_BOOL, |
| | | }, |
| | | }, |
| | | // { |
| | | // label: '是否空托(2:否,1:是)', |
| | | // prop: 'emptyContainer', |
| | | // el: 'select', |
| | | // clearable: true, |
| | | // option: [], |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入是否空托(2:否,1:是)', |
| | | // }, |
| | | { |
| | | label: '是否空托', |
| | | prop: 'emptyContainer', |
| | | el: 'select', |
| | | clearable: true, |
| | | option: [], |
| | | //disabled: disabled, |
| | | placeholder: '请输入是否空托', |
| | | highSelectAttrs: { |
| | | prop: 'emptyContainer_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_BOOL, |
| | | }, |
| | | }, |
| | | { |
| | | label: '入库时间', |
| | | prop: 'inStockTime', |
| | |
| | | width: '100%', |
| | | //disabled: disabled, |
| | | placeholder: '请输入入库时间', |
| | | isDateControl: true, // 显式标记为日期控件 |
| | | }, |
| | | // { |
| | | // label: '冗余字段1 - 预留扩展用途', |
| | | // prop: 'redundantField1', |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入冗余字段1 - 预留扩展用途', |
| | | // }, |
| | | // { |
| | | // label: '冗余字段2 - 预留扩展用途', |
| | | // prop: 'redundantField2', |
| | | // el: 'input', |
| | | // //disabled: disabled, |
| | | // placeholder: '请输入冗余字段2 - 预留扩展用途', |
| | | // }, |
| | | { |
| | | label: '工艺流向编号', |
| | | prop: 'redundantField1', |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入工艺流向编号', |
| | | highSelectAttrs: { |
| | | prop: 'redundantField1_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | { |
| | | label: '管段编码', |
| | | prop: 'redundantField2', |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入管段编码', |
| | | highSelectAttrs: { |
| | | prop: 'redundantField2_FilterMode', |
| | | el: 'select', |
| | | placeholder: '请选择', |
| | | options: FILTER_MODE_OPTIONS_STRING, |
| | | }, |
| | | }, |
| | | { |
| | | label: '管段名称', |
| | | prop: 'redundantField3', |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入redundantField3', |
| | | 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', |
| | |
| | | width: '100%', |
| | | //disabled: disabled, |
| | | placeholder: '请输入', |
| | | }, |
| | | { |
| | | label: '备注', |
| | | prop: 'remark', |
| | | el: 'input', |
| | | //disabled: disabled, |
| | | placeholder: '请输入备注', |
| | | isDateControl: true, // 显式标记为日期控件 |
| | | }, |
| | | ]) |
| | | /** |
| | |
| | | const commonGetFormData = () => { |
| | | const data = { |
| | | materialId: formData.value.materialId || '', |
| | | materialId_FilterMode: formData.value.materialId_FilterMode || '', |
| | | materialName: formData.value.materialName || '', |
| | | materialName_FilterMode: formData.value.materialName_FilterMode || '', |
| | | containerNo: formData.value.containerNo || '', |
| | | containerNo_FilterMode: formData.value.containerNo_FilterMode || '', |
| | | containerStatus: formData.value.containerStatus || '', |
| | | containerStatus_FilterMode: |
| | | formData.value.containerStatus_FilterMode || '', |
| | | containerType: formData.value.containerType || '', |
| | | containerType_FilterMode: formData.value.containerType_FilterMode || '', |
| | | materialNo: formData.value.materialNo || '', |
| | | materialNo_FilterMode: formData.value.materialNo_FilterMode || '', |
| | | stockNumber: formData.value.stockNumber || '', |
| | | stockNumber_FilterMode: formData.value.stockNumber_FilterMode || '', |
| | | materialBatch: formData.value.materialBatch || '', |
| | | materialBatch_FilterMode: formData.value.materialBatch_FilterMode || '', |
| | | supplierCode: formData.value.supplierCode || '', |
| | | supplierCode_FilterMode: formData.value.supplierCode_FilterMode || '', |
| | | materialModel: formData.value.materialModel || '', |
| | | materialModel_FilterMode: formData.value.materialModel_FilterMode || '', |
| | | placeNo: formData.value.placeNo || '', |
| | | placeNo_FilterMode: formData.value.placeNo_FilterMode || '', |
| | | placeStatus: formData.value.placeStatus || '', |
| | | storageTypeNo: formData.value.storageTypeNo || 1, |
| | | placeStatus_FilterMode: formData.value.placeStatus_FilterMode || '', |
| | | storageTypeNo: formData.value.storageTypeNo || '', |
| | | storageTypeNo_FilterMode: formData.value.storageTypeNo_FilterMode || '', |
| | | areaCode: formData.value.areaCode || '', |
| | | areaCode_FilterMode: formData.value.areaCode_FilterMode || '', |
| | | areaName: formData.value.areaName || '', |
| | | areaName_FilterMode: formData.value.areaName_FilterMode || '', |
| | | checkStatus: formData.value.checkStatus || '', |
| | | checkStatus_FilterMode: formData.value.checkStatus_FilterMode || '', |
| | | isLock: formData.value.isLock || '', |
| | | isLock_FilterMode: formData.value.isLock_FilterMode || '', |
| | | emptyContainer: formData.value.emptyContainer || '', |
| | | emptyContainer_FilterMode: formData.value.emptyContainer_FilterMode || '', |
| | | inStockTime: formData.value.inStockTime || '', |
| | | remark: formData.value.remark || '', |
| | | remark_FilterMode: formData.value.remark_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 || '', |
| | | creationTime: formData.value.creationTime || '', |
| | | lastModificationTime: formData.value.lastModificationTime || '', |
| | | } |
| | |
| | | ctx.emit('confirmQuery', data) |
| | | } |
| | | /** |
| | | * 重置公共select查询 |
| | | */ |
| | | const onResetForHighSelect = async () => { |
| | | formData.value.materialId_FilterMode = 1 |
| | | formData.value.materialName_FilterMode = 1 |
| | | formData.value.containerNo_FilterMode = 1 |
| | | formData.value.containerStatus_FilterMode = 2 |
| | | formData.value.containerType_FilterMode = 2 |
| | | formData.value.materialNo_FilterMode = 1 |
| | | formData.value.stockNumber_FilterMode = 2 |
| | | formData.value.materialBatch_FilterMode = 1 |
| | | formData.value.supplierCode_FilterMode = 1 |
| | | formData.value.materialModel_FilterMode = 1 |
| | | formData.value.placeNo_FilterMode = 1 |
| | | formData.value.placeStatus_FilterMode = 2 |
| | | formData.value.storageTypeNo_FilterMode = 2 |
| | | formData.value.areaCode_FilterMode = 1 |
| | | formData.value.areaName_FilterMode = 1 |
| | | formData.value.checkStatus_FilterMode = 2 |
| | | formData.value.isLock_FilterMode = 2 |
| | | formData.value.emptyContainer_FilterMode = 2 |
| | | formData.value.remark_FilterMode = 1 |
| | | formData.value.redundantField1_FilterMode = 1 |
| | | formData.value.redundantField2_FilterMode = 1 |
| | | formData.value.redundantField3_FilterMode = 1 |
| | | } |
| | | /** |
| | | * 重置查询 |
| | | */ |
| | | const onReset = async () => { |
| | | formData.value = {} |
| | | onResetForHighSelect() //重置公共select查询 |
| | | formData.value.materialId = '' |
| | | formData.value.materialName = '' |
| | | formData.value.containerNo = '' |
| | |
| | | formData.value.materialModel = '' |
| | | formData.value.placeNo = '' |
| | | formData.value.placeStatus = '' |
| | | formData.value.storageTypeNo = 1 |
| | | formData.value.storageTypeNo = '' |
| | | formData.value.areaCode = '' |
| | | formData.value.areaName = '' |
| | | formData.value.checkStatus = '' |
| | |
| | | formData.value.redundantField1 = '' |
| | | formData.value.redundantField2 = '' |
| | | formData.value.redundantField3 = '' |
| | | formData.value.deletionTime = '' |
| | | formData.value.creationTime = '' |
| | | formData.value.lastModificationTime = '' |
| | | //向父组件发送自定义事件 |
| | | ctx.emit('restQuery') |
| | | } |
| | |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.description, |
| | | value: item.value, |
| | | })) |
| | | } |
| | | } |
| | | const updateFormAreaOptions = (propName: string, enumData: any[]) => { |
| | | const item = formItems.find((item) => item.prop === propName) |
| | | if (item && enumData) { |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.areaName, |
| | | value: item.areaNo, |
| | | })) |
| | | } |
| | | } |
| | |
| | | const yesNoEnumEnum = await wmsMaterialStockDetailDrawer.getWmsEnumData({ |
| | | EnumName: 'YesNoEnum', |
| | | }) |
| | | updateFormItemOptions('isLock', yesNoEnumEnum) |
| | | const yesNoEnumEnum2 = await wmsMaterialStockDetailDrawer.getWmsEnumData({ |
| | | EnumName: 'YesNoEnum', |
| | | }) |
| | | updateFormItemOptions('emptyContainer', yesNoEnumEnum2) |
| | | updateFormItemOptions('emptyContainer', yesNoEnumEnum) |
| | | const areaList = await getAreaAreaDataList() |
| | | updateFormAreaOptions('areaCode', areaList) |
| | | } |
| | | commonQueryEnumForFrom() |
| | | onResetForHighSelect() //重置公共select查询 |
| | | /** |
| | | * 弹窗打开获取详情 |
| | | */ |