From 7d410c1f0d4e36f8281ce2277f355c9abf1c231b Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周五, 16 5月 2025 16:19:36 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx | 693 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 400 insertions(+), 293 deletions(-) diff --git a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx index 1b66ffb..a43d578 100644 --- a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx +++ b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx @@ -1,293 +1,400 @@ -import { - ref, - onMounted, - reactive, - computed, - Ref, - watch, - SetupContext, - h, -} from 'vue' -import { injectModel } from '@/libs/Provider/Provider' -import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer' -import { ElMessage } from 'element-plus' -import isEqual from 'lodash/isEqual' -import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' -import { cloneDeep } from 'lodash' - -export const useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => { - const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>('CallMaterialOrderDrawer') - /** - * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 - */ - 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: 'dataIdentifier', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ師鏂欐爣璇�', - }, - { - label: '鍘熸枡鍨嬪彿', - prop: 'materialMode', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�', - }, - { - label: '鍙枡鐘舵��', - prop: 'callMaterialStatus', - el: 'select', - clearable:true, - option: [], - //disabled: disabled, - placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�', - }, - { - label: '鍙枡鏁伴噺', - prop: 'quantity', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�', - }, - { - label: 'WMS杩斿洖缁撴灉', - prop: 'wmsRetResult', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏MS杩斿洖缁撴灉', - }, - { - label: 'WMS浠诲姟鍙�', - prop: 'wmsTaskNo', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏MS浠诲姟鍙�', - }, - { - label: '鍒涘缓鏃堕棿', - prop: 'creationTime', - el: (props: any, { attrs }: SetupContext) => { - return h(dateTimePickerRange, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ垱寤烘椂闂�', - }, - { - label: '淇敼鏃堕棿', - prop: 'lastModificationTime', - el: (props: any, { attrs }: SetupContext) => { - return h(dateTimePickerRange, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�', - }, - { - label: '鍒涘缓浜�', - prop: 'creatorName', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ垱寤轰汉', - }, - { - label: '淇敼浜�', - prop: 'lastModifierName', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ慨鏀逛汉', - }, - { - label: '澶囨敞', - prop: 'remark', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ娉�', - }, - ]) - /** - * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� - */ - const checkIsEqualObject = () => { - const data = { - formData: formData.value, - } - const check = isEqual(initiateData.value, data) - return check - } - const commonGetFormData=()=>{ - const data = { - dataIdentifier: formData.value.dataIdentifier || '', -materialMode: formData.value.materialMode || '', -callMaterialStatus: formData.value.callMaterialStatus || '', -quantity: formData.value.quantity || '', -wmsRetResult: formData.value.wmsRetResult || '', -wmsTaskNo: formData.value.wmsTaskNo || '', -creationTime: formData.value.creationTime || '', -lastModificationTime: formData.value.lastModificationTime || '', -creatorName: formData.value.creatorName || '', -lastModifierName: formData.value.lastModifierName || '', -remark: formData.value.remark || '', - } - return data; - } - const onClose = (done: () => void) => { - if (visible.value) { - visible.value = false - const data =commonGetFormData(); - ctx.emit('close', data) - } - } - /** - * 纭鏌ヨ - */ - const onConfirmQuery = async () => { - const data =commonGetFormData(); - ctx.emit('confirmQuery', data) - } - /** - * 閲嶇疆鏌ヨ - */ - const onReset = async () => { - formData.value = {} - formData.value.dataIdentifier = '' -formData.value.materialMode = '' -formData.value.callMaterialStatus = '' -formData.value.quantity = '' -formData.value.wmsRetResult = '' -formData.value.wmsTaskNo = '' -formData.value.deletionTime = '' -formData.value.operationRemark = '' -formData.value.deleteRemark = '' -formData.value.remark = '' -formData.value.extraField1 = '' -formData.value.extraField2 = '' -formData.value.extraField3 = '' - //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 - 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 callMaterialStatusEnumEnum = await callMaterialOrderDrawer.getWmsEnumData({ - EnumName: 'CallMaterialStatusEnum', -}) -updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum) - - } - commonQueryEnumForFrom() - /** - * 寮圭獥鎵撳紑鑾峰彇璇︽儏 - */ - const onOpen = async () => { - disabled.value = false - updateCheckData() - } - - watch(() => current.value, onOpen) - - return { - formItems, - formData, - visible, - formRef, - onOpen, - onClose, - onConfirmQuery, - onReset, - } -} +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer' +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 useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => { + const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>( + 'CallMaterialOrderDrawer' + ) + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + 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: 'dataIdentifier', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ師鏂欐爣璇�', + highSelectAttrs: { + prop: 'dataIdentifier_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鍘熸枡鍨嬪彿', + prop: 'materialMode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�', + highSelectAttrs: { + prop: 'materialMode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鍘熸枡鎵规', + prop: 'materialBatch', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ師鏂欐壒娆�', + highSelectAttrs: { + prop: 'materialBatch_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鍙枡鐘舵��', + prop: 'callMaterialStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�', + highSelectAttrs: { + prop: 'callMaterialStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鍙枡鏁伴噺', + prop: 'quantity', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�', + highSelectAttrs: { + prop: 'quantity_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: 'WMS杩斿洖缁撴灉', + prop: 'wmsRetResult', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏MS杩斿洖缁撴灉', + highSelectAttrs: { + prop: 'wmsRetResult_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: 'WMS浠诲姟鍙�', + prop: 'wmsTaskNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏MS浠诲姟鍙�', + highSelectAttrs: { + prop: 'wmsTaskNo_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, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� + }, + { + label: '鍒涘缓浜�', + prop: 'creatorName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ垱寤轰汉', + highSelectAttrs: { + prop: 'creatorName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '淇敼浜�', + prop: 'lastModifierName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ慨鏀逛汉', + highSelectAttrs: { + prop: 'lastModifierName_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, + }, + }, + ]) + /** + * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� + */ + const checkIsEqualObject = () => { + const data = { + formData: formData.value, + } + const check = isEqual(initiateData.value, data) + return check + } + const commonGetFormData = () => { + const data = { + dataIdentifier: formData.value.dataIdentifier || '', + dataIdentifier_FilterMode: formData.value.dataIdentifier_FilterMode || '', + materialMode: formData.value.materialMode || '', + materialMode_FilterMode: formData.value.materialMode_FilterMode || '', + materialBatch: formData.value.materialBatch || '', + materialBatch_FilterMode: formData.value.materialBatch_FilterMode || '', + callMaterialStatus: formData.value.callMaterialStatus || '', + callMaterialStatus_FilterMode: + formData.value.callMaterialStatus_FilterMode || '', + quantity: formData.value.quantity || '', + quantity_FilterMode: formData.value.quantity_FilterMode || '', + wmsRetResult: formData.value.wmsRetResult || '', + wmsRetResult_FilterMode: formData.value.wmsRetResult_FilterMode || '', + wmsTaskNo: formData.value.wmsTaskNo || '', + wmsTaskNo_FilterMode: formData.value.wmsTaskNo_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 || '', + remark: formData.value.remark || '', + remark_FilterMode: formData.value.remark_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.dataIdentifier_FilterMode = 1 + formData.value.materialMode_FilterMode = 1 + formData.value.materialBatch_FilterMode = 1 + formData.value.callMaterialStatus_FilterMode = 2 + formData.value.quantity_FilterMode = 2 + formData.value.wmsRetResult_FilterMode = 1 + formData.value.wmsTaskNo_FilterMode = 1 + formData.value.creatorName_FilterMode = 1 + formData.value.lastModifierName_FilterMode = 1 + formData.value.remark_FilterMode = 1 + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + formData.value.dataIdentifier = '' + formData.value.materialMode = '' + formData.value.materialBatch = '' + formData.value.callMaterialStatus = '' + formData.value.quantity = '' + formData.value.wmsRetResult = '' + formData.value.wmsTaskNo = '' + formData.value.creationTime = '' + formData.value.lastModificationTime = '' + formData.value.creatorName = '' + formData.value.lastModifierName = '' + formData.value.remark = '' + //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + 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 callMaterialStatusEnumEnum = + await callMaterialOrderDrawer.getWmsEnumData({ + EnumName: 'CallMaterialStatusEnum', + }) + updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum) + } + commonQueryEnumForFrom() + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + const onOpen = async () => { + disabled.value = false + updateCheckData() + } + + watch(() => current.value, onOpen) + + return { + formItems, + formData, + visible, + formRef, + onOpen, + onClose, + onConfirmQuery, + onReset, + } +} -- Gitblit v1.9.3