From 79edcd87697f5cce97e461443fac1e4e655f6dae Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周一, 19 5月 2025 16:53:16 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 314 insertions(+), 0 deletions(-) diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx new file mode 100644 index 0000000..aa92d5b --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx @@ -0,0 +1,314 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsStoreDrawer } from '../Models/WmsStoreDrawer' +import { ElMessage } from 'element-plus' +import isEqual from 'lodash/isEqual' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { cloneDeep } from 'lodash' +// 寮曞叆鍏叡閫夐」閰嶇疆 +import { + FILTER_MODE_OPTIONS_STRING, + FILTER_MODE_OPTIONS_NUM, + FILTER_MODE_OPTIONS_BOOL, +} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' +import { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants' + +export const useWmsStoreQueryDrawer = (props: any, ctx?: any) => { + const wmsStoreDrawer = injectModel<WmsStoreDrawer>('WmsStoreDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + const initiateData: Ref<Record<string, any>> = ref({}) + const formData = ref<Record<string, any>>({}) + // ref + const formRef = ref() + + const disabled = ref(false) + + const current = computed(() => { + return props.row || null + }) + + const inputNumber = (attrs) => { + return ( + <el-input-number + min="1" + step="1" + precision="0" + {...attrs} + ></el-input-number> + ) + } + + const datePickerRange = (attrs) => { + return ( + <el-date-picker + type="daterange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const dateTimePickerRange = (attrs) => { + return ( + <el-date-picker + type="datetimerange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const visible = computed({ + get() { + return props.modelValue + }, + set(val) { + ctx.emit('update:modelValue', val) + }, + }) + /** + * 楂樼骇鏌ヨ鐨刦orm瀛楁 + */ + const formItems = reactive([ + { + label: '浠撳簱浠g爜', + prop: 'storeCode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�', + highSelectAttrs: { + prop: 'storeCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '浠撳簱鍚嶇О', + prop: 'storeName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�', + highSelectAttrs: { + prop: 'storeName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + // { + // label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField1', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', + // highSelectAttrs: { + // prop: 'redundantField1_FilterMode', + // el: 'select', + // placeholder: '璇烽�夋嫨', + // options: FILTER_MODE_OPTIONS_STRING, + // }, + // }, + // { + // label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField2', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��', + // highSelectAttrs: { + // prop: 'redundantField2_FilterMode', + // el: 'select', + // placeholder: '璇烽�夋嫨', + // options: FILTER_MODE_OPTIONS_STRING, + // }, + // }, + // { + // label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField3', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��', + // highSelectAttrs: { + // prop: 'redundantField3_FilterMode', + // el: 'select', + // placeholder: '璇烽�夋嫨', + // options: FILTER_MODE_OPTIONS_STRING, + // }, + // }, + { + label: '澶囨敞', + prop: 'remark', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ娉�', + highSelectAttrs: { + prop: 'remark_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + // { + // label: '', + // prop: 'creationTime', + // el: (props: any, { attrs }: SetupContext) => { + // return h(dateTimePickerRange, { + // ...props, + // clearable: true, + // ...attrs, + // }) + // }, + // width: '100%', + // //disabled: disabled, + // placeholder: '璇疯緭鍏�', + // isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� + // }, + // { + // label: '', + // prop: 'lastModificationTime', + // el: (props: any, { attrs }: SetupContext) => { + // return h(dateTimePickerRange, { + // ...props, + // clearable: true, + // ...attrs, + // }) + // }, + // width: '100%', + // //disabled: disabled, + // placeholder: '璇疯緭鍏�', + // isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� + // }, + ]) + /** + * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� + */ + const checkIsEqualObject = () => { + const data = { + formData: formData.value, + } + const check = isEqual(initiateData.value, data) + return check + } + const commonGetFormData = () => { + const data = { + storeCode: formData.value.storeCode || '', + storeCode_FilterMode: formData.value.storeCode_FilterMode || '', + storeName: formData.value.storeName || '', + storeName_FilterMode: formData.value.storeName_FilterMode || '', + redundantField1: formData.value.redundantField1 || '', + redundantField1_FilterMode: + formData.value.redundantField1_FilterMode || '', + redundantField2: formData.value.redundantField2 || '', + redundantField2_FilterMode: + formData.value.redundantField2_FilterMode || '', + redundantField3: formData.value.redundantField3 || '', + redundantField3_FilterMode: + formData.value.redundantField3_FilterMode || '', + remark: formData.value.remark || '', + remark_FilterMode: formData.value.remark_FilterMode || '', + creationTime: formData.value.creationTime || '', + lastModificationTime: formData.value.lastModificationTime || '', + } + return data + } + const onClose = (done: () => void) => { + if (visible.value) { + visible.value = false + const data = commonGetFormData() + ctx.emit('close', data) + } + } + /** + * 纭鏌ヨ + */ + const onConfirmQuery = async () => { + const data = commonGetFormData() + ctx.emit('confirmQuery', data) + } + /** + * 閲嶇疆鍏叡select鏌ヨ + */ + const onResetForHighSelect = async () => { + formData.value.storeCode_FilterMode = 1 + formData.value.storeName_FilterMode = 1 + formData.value.redundantField1_FilterMode = 1 + formData.value.redundantField2_FilterMode = 1 + formData.value.redundantField3_FilterMode = 1 + formData.value.remark_FilterMode = 1 + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + formData.value.storeCode = '' + formData.value.storeName = '' + formData.value.redundantField1 = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + formData.value.remark = '' + formData.value.creationTime = '' + formData.value.lastModificationTime = '' + //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + ctx.emit('restQuery') + } + + const updateCheckData = () => { + initiateData.value = { + formData: { + ...formData.value, + }, + } + } + const updateFormItemOptions = (propName: string, enumData: any[]) => { + const item = formItems.find((item) => item.prop === propName) + if (item && enumData) { + item.options = enumData.map((item) => ({ + label: item.description, + value: item.value, + })) + } + } + /** + * 閫氱敤鏌ヨ鏋氫妇 + */ + const commonQueryEnumForFrom = async () => {} + commonQueryEnumForFrom() + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + const onOpen = async () => { + disabled.value = false + updateCheckData() + } + + watch(() => current.value, onOpen) + + return { + formItems, + formData, + visible, + formRef, + onOpen, + onClose, + onConfirmQuery, + onReset, + } +} -- Gitblit v1.9.3