From 9cf7b57cd6f3d56a80a5925add2d8dabee28437f Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 13 5月 2025 16:37:31 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts | 35 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts | 34 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs | 2 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts | 16 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs | 2 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts | 35 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss | 226 ++-- HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss | 226 ++-- HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts | 4 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx | 510 +++++------ Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库存详情.txt | 14 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx | 457 ++++++++++ HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx | 347 ++++--- HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts | 44 + HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx | 71 + HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx | 71 + HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts | 4 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx | 445 ++++++++++ HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts | 33 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx | 44 + HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts | 6 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts | 6 24 files changed, 1,957 insertions(+), 681 deletions(-) diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts index 9d21733..e608a16 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStock.ts @@ -52,6 +52,12 @@ isAdd: false, }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) + const dialogSettingConfig = reactive({ visible: false, title: '', @@ -72,6 +78,15 @@ dialogConfig.title = row.name dialogConfig.isAdd = false sort.value = row.sort + } + + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' } const contextMenu = [ @@ -174,13 +189,15 @@ /** * 瀵煎嚭 */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile( - '/api/v1/HIAWms/wmsMaterialStock/export', - params, - 'wmsMaterialStock' - ) + const onExport = (data = {}) => { + // const params = tableRef.value?.getParams() + // exportFile( + // '/api/v1/HIAWms/wmsMaterialStock/export', + // params, + // 'wmsMaterialStock' + + exportFile('/api/v1/HIAWms/wmsMaterialStock/export', data, 'HIAWms') + // ) } /** @@ -251,6 +268,7 @@ sort, wmsMaterialStockColumns, paginationParams, + dialogConfigForQuery, headers, onBeforeUpload, onError, @@ -262,5 +280,6 @@ onConfirmWmsMaterialStock, onCheck, onAddWmsMaterialStock, + onAdvancedQuery, } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx new file mode 100644 index 0000000..a7ecbbf --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDetailQueryDrawer.tsx @@ -0,0 +1,445 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsMaterialStockDrawer } from '../Models/WmsMaterialStockDrawer' +import { ElMessage } from 'element-plus' +import isEqual from 'lodash/isEqual' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { cloneDeep } from 'lodash' + +export const useWmsMaterialStockDetalQueryDrawer = (props: any, ctx?: any) => { + const wmsMaterialStockDetailDrawer = injectModel<WmsMaterialStockDrawer>( + 'WmsMaterialStockDrawer' + ) + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + 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: '鐗╂枡ID', + // prop: 'materialId', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ョ墿鏂橧D', + // }, + { + label: '鐗╂枡鍚嶇О', + prop: 'materialName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', + }, + // { + // label: '瀹瑰櫒缂栧彿', + // prop: 'containerNo', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', + // }, + // { + // label: '瀹瑰櫒鐘舵��', + // prop: 'containerStatus', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ姸鎬�', + // }, + // { + // label: '瀹瑰櫒绫诲瀷', + // prop: 'containerType', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ被鍨�', + // }, + { + label: '鐗╂枡缂栧彿', + prop: 'materialNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欑紪鍙�', + }, + { + label: '搴撳瓨鏁伴噺', + prop: 'stockNumber', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱瀛樻暟閲�', + }, + { + label: '鐗╂枡鎵规', + prop: 'materialBatch', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�', + }, + // { + // label: '渚涘簲鍟嗙紪鍙�', + // prop: 'supplierCode', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ヤ緵搴斿晢缂栧彿', + // }, + { + label: '鍨嬪彿', + prop: 'materialModel', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ瀷鍙�', + }, + { + label: '搴撲綅缂栧彿', + prop: 'placeNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�', + }, + { + label: '搴撲綅鐘舵��;', + prop: 'placeStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇姸鎬�;', + }, + { + label: '搴撲綅绫诲瀷', + prop: 'storageTypeNo', + el: 'select', + clearable: false, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇被鍨�', + }, + { + label: '鍖哄煙缂栧彿', + prop: 'areaCode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ尯鍩熺紪鍙�', + }, + // { + // label: '搴撳尯鍚嶇О', + // prop: 'areaName', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�', + // }, + // { + // label: '妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)', + // prop: 'checkStatus', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ユ楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)', + // }, + { + label: '鏄惁閿佸畾', + prop: 'isLock', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�', + }, + // { + // label: '鏄惁绌烘墭(2:鍚�,1:鏄�)', + // prop: 'emptyContainer', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�(2:鍚�,1:鏄�)', + // }, + { + label: '鍏ュ簱鏃堕棿', + prop: 'inStockTime', + el: (props: any, { attrs }: SetupContext) => { + return h(dateTimePickerRange, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ叆搴撴椂闂�', + }, + // { + // label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField1', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', + // }, + // { + // label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField2', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��', + // }, + { + label: '鍒涘缓鏃堕棿', + prop: 'creationTime', + el: (props: any, { attrs }: SetupContext) => { + return h(dateTimePickerRange, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + //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 = { + materialId: formData.value.materialId || '', + materialName: formData.value.materialName || '', + containerNo: formData.value.containerNo || '', + containerStatus: formData.value.containerStatus || '', + containerType: formData.value.containerType || '', + materialNo: formData.value.materialNo || '', + stockNumber: formData.value.stockNumber || '', + materialBatch: formData.value.materialBatch || '', + supplierCode: formData.value.supplierCode || '', + materialModel: formData.value.materialModel || '', + placeNo: formData.value.placeNo || '', + placeStatus: formData.value.placeStatus || '', + storageTypeNo: formData.value.storageTypeNo || 1, + areaCode: formData.value.areaCode || '', + areaName: formData.value.areaName || '', + checkStatus: formData.value.checkStatus || '', + isLock: formData.value.isLock || '', + emptyContainer: formData.value.emptyContainer || '', + inStockTime: formData.value.inStockTime || '', + remark: formData.value.remark || '', + redundantField1: formData.value.redundantField1 || '', + redundantField2: formData.value.redundantField2 || '', + redundantField3: formData.value.redundantField3 || '', + 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) + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + formData.value.materialId = '' + formData.value.materialName = '' + formData.value.containerNo = '' + formData.value.containerStatus = '' + formData.value.containerType = '' + formData.value.materialNo = '' + formData.value.stockNumber = '' + formData.value.materialBatch = '' + formData.value.supplierCode = '' + formData.value.materialModel = '' + formData.value.placeNo = '' + formData.value.placeStatus = '' + formData.value.storageTypeNo = 1 + formData.value.areaCode = '' + formData.value.areaName = '' + formData.value.checkStatus = '' + formData.value.isLock = '' + formData.value.emptyContainer = '' + formData.value.inStockTime = '' + formData.value.remark = '' + formData.value.redundantField1 = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + formData.value.deletionTime = '' + //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + 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 containerStatusEnumEnum = + await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'ContainerStatusEnum', + }) + updateFormItemOptions('containerStatus', containerStatusEnumEnum) + const containerTypeEnumEnum = + await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'ContainerTypeEnum', + }) + updateFormItemOptions('containerType', containerTypeEnumEnum) + const placeStatusEnumEnum = + await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'PlaceStatusEnum', + }) + updateFormItemOptions('placeStatus', placeStatusEnumEnum) + const placeTypeEnumEnum = await wmsMaterialStockDetailDrawer.getWmsEnumData( + { + EnumName: 'PlaceTypeEnum', + } + ) + updateFormItemOptions('storageTypeNo', placeTypeEnumEnum) + const materialCheckStatusEnumEnum = + await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'MaterialCheckStatusEnum', + }) + updateFormItemOptions('checkStatus', materialCheckStatusEnumEnum) + const yesNoEnumEnum = await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('isLock', yesNoEnumEnum) + const yesNoEnumEnum2 = await wmsMaterialStockDetailDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('emptyContainer', yesNoEnumEnum2) + } + commonQueryEnumForFrom() + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + 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/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx new file mode 100644 index 0000000..23d375b --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockQueryDrawer.tsx @@ -0,0 +1,457 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsMaterialStockDrawer } from '../Models/WmsMaterialStockDrawer' +import { ElMessage } from 'element-plus' +import isEqual from 'lodash/isEqual' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { cloneDeep } from 'lodash' + +export const useWmsMaterialStockQueryDrawer = (props: any, ctx?: any) => { + const wmsMaterialStockDrawer = injectModel<WmsMaterialStockDrawer>( + 'WmsMaterialStockDrawer' + ) + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + 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: 'materialName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', + }, + // { + // label: '瀹瑰櫒缂栧彿', + // prop: 'containerNo', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', + // }, + // { + // label: '瀹瑰櫒鐘舵��', + // prop: 'containerStatus', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ姸鎬�', + // }, + // { + // label: '瀹瑰櫒绫诲瀷', + // prop: 'containerType', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ鍣ㄧ被鍨�', + // }, + { + label: '鐗╂枡缂栧彿', + prop: 'materialNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欑紪鍙�', + }, + // { + // label: '搴撳瓨鏁伴噺', + // prop: 'stockNumber', + // el: (props: any, { attrs }: SetupContext) => { + // return h(inputNumber, { + // ...props, + // clearable: true, + // ...attrs, + // }) + // }, + // width: '100%', + // step: 1, + // precision: 0, + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ簱瀛樻暟閲�', + // }, + { + label: '鐗╂枡鎵规', + prop: 'materialBatch', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�', + }, + // { + // label: '渚涘簲鍟嗙紪鍙�', + // prop: 'supplierCode', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ヤ緵搴斿晢缂栧彿', + // }, + { + label: '鍨嬪彿', + prop: 'materialModel', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ瀷鍙�', + }, + { + label: '搴撲綅缂栧彿', + prop: 'placeNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�', + }, + { + label: '搴撲綅鐘舵��;', + prop: 'placeStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇姸鎬�;', + }, + { + label: '搴撲綅绫诲瀷', + prop: 'storageTypeNo', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇被鍨�', + }, + { + label: '鍖哄煙缂栧彿', + prop: 'areaCode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ尯鍩熺紪鍙�', + }, + // { + // label: '搴撳尯鍚嶇О', + // prop: 'areaName', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�', + // }, + // { + // label: '妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)', + // prop: 'checkStatus', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ユ楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)', + // }, + { + label: '鏄惁閿佸畾', + prop: 'isLock', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�', + }, + // { + // label: '鏄惁绌烘墭(2:鍚�,1:鏄�)', + // prop: 'emptyContainer', + // el: 'select', + // clearable: true, + // option: [], + // //disabled: disabled, + // placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�(2:鍚�,1:鏄�)', + // }, + { + label: '鍏ュ簱鏃堕棿', + prop: 'inStockTime', + el: (props: any, { attrs }: SetupContext) => { + return h(dateTimePickerRange, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ叆搴撴椂闂�', + }, + { + label: '澶囨敞', + prop: 'remark', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ娉�', + }, + // { + // label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField1', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', + // }, + // { + // label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField2', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��', + // }, + // { + // label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField3', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��', + // }, + // { + // 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: '璇疯緭鍏�', + // }, + ]) + /** + * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� + */ + const checkIsEqualObject = () => { + const data = { + formData: formData.value, + } + const check = isEqual(initiateData.value, data) + return check + } + const commonGetFormData = () => { + const data = { + materialId: formData.value.materialId || '', + materialName: formData.value.materialName || '', + containerNo: formData.value.containerNo || '', + containerStatus: formData.value.containerStatus || '', + containerType: formData.value.containerType || '', + materialNo: formData.value.materialNo || '', + stockNumber: formData.value.stockNumber || '', + materialBatch: formData.value.materialBatch || '', + supplierCode: formData.value.supplierCode || '', + materialModel: formData.value.materialModel || '', + placeNo: formData.value.placeNo || '', + placeStatus: formData.value.placeStatus || '', + storageTypeNo: formData.value.storageTypeNo || 1, + areaCode: formData.value.areaCode || '', + areaName: formData.value.areaName || '', + checkStatus: formData.value.checkStatus || '', + isLock: formData.value.isLock || '', + emptyContainer: formData.value.emptyContainer || '', + inStockTime: formData.value.inStockTime || '', + remark: formData.value.remark || '', + redundantField1: formData.value.redundantField1 || '', + redundantField2: formData.value.redundantField2 || '', + redundantField3: formData.value.redundantField3 || '', + 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) + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + formData.value.materialId = '' + formData.value.materialName = '' + formData.value.containerNo = '' + formData.value.containerStatus = '' + formData.value.containerType = '' + formData.value.materialNo = '' + formData.value.stockNumber = '' + formData.value.materialBatch = '' + formData.value.supplierCode = '' + formData.value.materialModel = '' + formData.value.placeNo = '' + formData.value.placeStatus = '' + formData.value.storageTypeNo = '' + formData.value.areaCode = '' + formData.value.areaName = '' + formData.value.checkStatus = '' + formData.value.isLock = '' + formData.value.emptyContainer = '' + formData.value.inStockTime = '' + formData.value.remark = '' + formData.value.redundantField1 = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + formData.value.deletionTime = '' + //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + 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 containerStatusEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData( + { + EnumName: 'ContainerStatusEnum', + } + ) + updateFormItemOptions('containerStatus', containerStatusEnumEnum) + const containerTypeEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'ContainerTypeEnum', + }) + updateFormItemOptions('containerType', containerTypeEnumEnum) + const placeStatusEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'PlaceStatusEnum', + }) + updateFormItemOptions('placeStatus', placeStatusEnumEnum) + const placeTypeEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'PlaceTypeEnum', + }) + updateFormItemOptions('storageTypeNo', placeTypeEnumEnum) + const materialCheckStatusEnumEnum = + await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'MaterialCheckStatusEnum', + }) + updateFormItemOptions('checkStatus', materialCheckStatusEnumEnum) + const yesNoEnumEnum = await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('isLock', yesNoEnumEnum) + const yesNoEnumEnum2 = await wmsMaterialStockDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('emptyContainer', yesNoEnumEnum2) + } + commonQueryEnumForFrom() + formData.value.storageTypeNo = 1 + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + 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/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts new file mode 100644 index 0000000..d3cfa4a --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDetailQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsMaterialStock = (data: any) => { + return request.post('/api/v1/HIAWms/wmsMaterialStockDetail', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsMaterialStock = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsMaterialStock = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts index 85545dd..54602f0 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer.ts @@ -27,3 +27,7 @@ ) => { return request.put(`/api/v1/HIAWms/wmsMaterialStock/${id}`, data) } + +export const getWmsEnumData = (data: Record<string, any>) => { + return request.post('/api/v1/HIAWms/WmsEnum', data) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts new file mode 100644 index 0000000..d3cfa4a --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsMaterialStock = (data: any) => { + return request.post('/api/v1/HIAWms/wmsMaterialStockDetail', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsMaterialStock = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsMaterialStock = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsMaterialStockDetail/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts new file mode 100644 index 0000000..821f34f --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDetailQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsMaterialStock, + getWmsMaterialStock, + updateWmsMaterialStock, + getWmsEnumData, +} from './Service/WmsMaterialStockDetailQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsMaterialStockQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsMaterialStockDetail: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsMaterialStock(data: Record<string, any>) { + return addWmsMaterialStock(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsMaterialStock(id: string, data: Record<string, any>) { + return updateWmsMaterialStock(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsMaterialStockDetail(current: any, id?: string) { + return getWmsMaterialStock(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts index 5ebbc0d..3fe7081 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockDrawer.ts @@ -3,6 +3,7 @@ addWmsMaterialStock, getWmsMaterialStock, updateWmsMaterialStock, + getWmsEnumData, } from './Service/WmsMaterialStockDrawer' import { useGlobalState } from '@/libs/Store/Store' @@ -35,4 +36,9 @@ async getWmsMaterialStockDetail(current: any, materialNo?: string) { return getWmsMaterialStock(current?.materialNo) } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx new file mode 100644 index 0000000..821f34f --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Models/WmsMaterialStockQueryDrawer.tsx @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsMaterialStock, + getWmsMaterialStock, + updateWmsMaterialStock, + getWmsEnumData, +} from './Service/WmsMaterialStockDetailQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsMaterialStockQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsMaterialStockDetail: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsMaterialStock(data: Record<string, any>) { + return addWmsMaterialStock(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsMaterialStock(id: string, data: Record<string, any>) { + return updateWmsMaterialStock(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsMaterialStockDetail(current: any, id?: string) { + return getWmsMaterialStock(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx new file mode 100644 index 0000000..b5a331c --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� + */ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsMaterialStockDetailQueryDrawer.module.scss' +import { useWmsMaterialStockDetalQueryDrawer } from '../../../../Controllers/WmsMaterialStockDetailQueryDrawer.tsx' +import DyForm from '@/components/DyForm/DyForm' + +// @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, + } = useWmsMaterialStockDetalQueryDrawer(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} + > + <DyForm + ref={formRef} + formData={formData.value} + labelWidth="106px" + formItemProps={formItems} + ></DyForm> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx new file mode 100644 index 0000000..e6f47b8 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� + */ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsMaterialStockQueryDrawer.module.scss' +import { useWmsMaterialStockQueryDrawer } from '../../../../Controllers/WmsMaterialStockQueryDrawer.tsx' +import DyForm from '@/components/DyForm/DyForm' + +// @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, + } = useWmsMaterialStockQueryDrawer(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} + > + <DyForm + ref={formRef} + formData={formData.value} + labelWidth="106px" + formItemProps={formItems} + ></DyForm> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts index 035b581..7145af1 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts @@ -20,18 +20,18 @@ field: 'placeStatusDesc', title: '搴撲綅鐘舵��', }, - { - field: 'containerNo', - title: '瀹瑰櫒缂栧彿', - }, + // { + // field: 'containerNo', + // title: '瀹瑰櫒缂栧彿', + // }, { field: 'stockNumber', title: '搴撳瓨鏁伴噺', }, - { - field: 'materialBatch', - title: '鐗╂枡鎵规', - }, + // { + // field: 'materialBatch', + // title: '鐗╂枡鎵规', + // }, { field: 'materialModel', title: '鍨嬪彿', @@ -40,15 +40,15 @@ field: 'areaName', title: '鎵�灞炲簱鍖�', }, - { - field: 'checkStatusDesc', - title: '妫�楠岀姸鎬�', - }, - { - field: 'inStockTime', - title: '鍏ュ簱鏃堕棿', - width: 180, - }, + // { + // field: 'checkStatusDesc', + // title: '妫�楠岀姸鎬�', + // }, + // { + // field: 'inStockTime', + // title: '鍏ュ簱鏃堕棿', + // width: 180, + // }, { field: 'isLockDesc', title: '閿佸畾鐘舵��', diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss index 365acbf..ac415d3 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.module.scss @@ -1,113 +1,113 @@ -.wmsMaterialStockContent { - width: 100%; - height: 80%; - - .wmsMaterialStockList { - 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 +.wmsMaterialStockDetailContent { + width: 100%; + height: 100%; + + .wmsMaterialStockDetailList { + 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/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx index ca0e0ed..977dd17 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx @@ -5,20 +5,22 @@ import { useWmsMaterialStock } from '../../../Controllers/WmsMaterialStock' import IconButton from '@/components/IconButton/IconButton' import WmsMaterialStockDrawer from '../Dialog/WmsMaterialStockDrawer/WmsMaterialStockDrawer' +import WmsMaterialStockQueryDrawer from '../Dialog/WmsMaterialStockQuery/WmsMaterialStockQueryDrawer' import Search from '@/components/Search/Search' import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' import dayjs from 'dayjs' +import { getWmsEnumData } from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer' import { + ElInput, + ElSelect, + ElOption, ElDatePicker, ElForm, ElFormItem, - ElInput, - ElOption, - ElSelect, } from 'element-plus' -import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' +import { injectModel } from '@/libs/Provider/Provider' interface RenderTableType { url?: string @@ -40,6 +42,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -51,91 +54,82 @@ onConfirmWmsMaterialStock, onCheck, onAddWmsMaterialStock, + onAdvancedQuery, onExport, openDetail, onSuccess, onBeforeUpload, } = useWmsMaterialStock(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsMaterialStockDetailQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - containerNo: '', - materialNo: '', - materialName: '', - containerType: '', - containerStatus: '', + searchVal: '', storageTypeNo: 1, - placeStatus: '', - placeNo: '', - isLock: '', - emptyContainer: '', - dateRange: [], - filter: '', + str_searchFormInputAttrs: [], }) - - const queryParams = computed(() => ({ - ...queryForm.value, - containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺 - containerStatus: queryForm.value.containerStatus || '', - storageTypeNo: queryForm.value.storageTypeNo || 1, // 澶勭悊涓嬫媺 - placeStatus: queryForm.value.placeStatus || '', - islock: queryForm.value.isLock || '', - emptyContainer: queryForm.value.emptyContainer || '', - startTime: queryForm.value.dateRange[0] || '', - endTime: queryForm.value.dateRange[1] || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['OrderNo', 'MaterialNo', 'MaterialId']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ - containerType: [] as Array<{ label: string; value: any }>, containerStatus: [] as Array<{ label: string; value: any }>, - storageTypeNo: [] as Array<{ label: string; value: any }>, + containerType: [] as Array<{ label: string; value: any }>, placeStatus: [] as Array<{ label: string; value: any }>, - yesOrNo: [] as Array<{ label: string; value: any }>, + storageTypeNo: [] as Array<{ label: string; value: any }>, + checkStatus: [] as Array<{ label: string; value: any }>, + isLock: [] as Array<{ label: string; value: any }>, + emptyContainer: [] as Array<{ label: string; value: any }>, }) // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const containerTypeData = await getWmsEnumData({ - EnumName: 'ContainerTypeEnum', - }) - enumOptions.containerType = containerTypeData.map((item) => ({ - label: item.description, - value: item.value, - })) - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const storageTypeNoData = await getWmsEnumData({ - EnumName: 'PlaceTypeEnum', - }) - enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({ - label: item.description, - value: item.value, - })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const placeStatusData = await getWmsEnumData({ - EnumName: 'PlaceStatusEnum', - }) - enumOptions.placeStatus = placeStatusData.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, })) - - const yesNoData = await getWmsEnumData({ + const containerTypeEnumData = await getWmsEnumData({ + EnumName: 'ContainerTypeEnum', + }) + enumOptions.containerType = containerTypeEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const placeStatusEnumData = await getWmsEnumData({ + EnumName: 'PlaceStatusEnum', + }) + enumOptions.placeStatus = placeStatusEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const placeTypeEnumData = await getWmsEnumData({ + EnumName: 'PlaceTypeEnum', + }) + enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const materialCheckStatusEnumData = await getWmsEnumData({ + EnumName: 'MaterialCheckStatusEnum', + }) + enumOptions.checkStatus = materialCheckStatusEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const yesNoEnumData = await getWmsEnumData({ EnumName: 'YesNoEnum', }) - enumOptions.yesOrNo = yesNoData.map((item) => ({ + enumOptions.isLock = yesNoEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + enumOptions.emptyContainer = yesNoEnumData.map((item) => ({ label: item.description, value: item.value, })) @@ -147,33 +141,72 @@ // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� onMounted(() => { fetchEnumData() - handleQuery() + + tableRef.value = { + dataSource: [], + } + handleQueryForMain() }) - // 鏂板鐨勬煡璇㈡柟娉� - const handleQuery = async () => { - console.log('鏌ヨ鏉′欢:', queryParams.value) - // tableRef.value.getTableList() - tableRef.value.getList(queryParams.value) + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + const _curHighQueryData = ref({ + searchVal: '', + str_searchFormInputAttrs: [], + }) + // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 + const handleQueryForMain = async () => { + _curHighQueryData.value.searchVal = queryForm.value.searchVal + _curHighQueryData.value.str_searchFormInputAttrs = + _searchFormInputAttrs.value + if (!_curHighQueryData.value?.storageTypeNo) { + _curHighQueryData.value.storageTypeNo = 1 + } + tableRef.value.getList(_curHighQueryData.value) + } + // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級 + const handleQuery = async (extraParams = {}) => { + let filteredData = commonGetHighQueryForm(extraParams) + commonSaveCurHighQueryData(filteredData) + tableRef.value.getList(filteredData) + } + // 鏂扮増鐨勬煡璇㈤噸缃� + const resetQuery = () => { + queryForm.value.searchVal = '' + 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.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.str_searchFormInputAttrs = _searchFormInputAttrs.value + return filteredData } - // 閲嶇疆鏌ヨ鏉′欢 - const resetQuery = () => { - queryForm.value = { - containerNo: '', - materialNo: '', - materialName: '', - containerType: '', - containerStatus: '', - storageTypeNo: 1, - placeStatus: '', - placeNo: '', - isLock: '', - emptyContainer: '', - dateRange: [], - filter: '', - } - } /** * @returns 琛ㄦ牸 */ @@ -187,20 +220,17 @@ params, autoHeight, } = props - props.params = { - ...queryParams.value, - ...params, - } + return ( <div class={{ - [styles.wmsMaterialStockList]: true, + [styles.wmsMaterialStockDetailList]: true, }} > <BaseTable ref={tableRef} url={url} - sortUrlTpl="/api/v1/HIAWms/wmsMaterialStock/{id}/adjustsort/{sort}" + sortUrlTpl="/api/v1/HIAWms/wmsMaterialStockDetail/{id}/adjustsort/{sort}" v-model:dataSource={dataSource.value} columns={columns} contextMenu={contextMenu} @@ -218,6 +248,57 @@ <div> {row.inStockTime != null ? dayjs(row.inStockTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, + 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> ) @@ -242,9 +323,10 @@ </div> ) } + return () => { return ( - <div class={styles.wmsMaterialStockContent}> + <div class={styles.wmsMaterialStockDetailContent}> {/* 娣诲姞/缂栬緫 */} <WmsMaterialStockDrawer v-model={dialogConfig.visible} @@ -253,183 +335,22 @@ sort={sort.value} onConfirm={onConfirmWmsMaterialStock} /> - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <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="鎵樼洏缂栫爜"> - <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="搴撲綅缂栧彿"> - <ElInput - v-model={queryForm.value.placeNo} - placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="搴撲綅绫诲瀷"> - <ElSelect - v-model={queryForm.value.storageTypeNo} - placeholder="璇烽�夋嫨鎵樼洏绫诲瀷" - loading={enumOptions.storageTypeNo.length === 0} - class={styles.formItem} - > - {enumOptions.storageTypeNo.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="搴撲綅鐘舵��"> - <ElSelect - v-model={queryForm.value.placeStatus} - placeholder="璇烽�夋嫨鎵樼洏鐘舵��" - clearable - loading={enumOptions.placeStatus.length === 0} - class={styles.formItem} - > - {enumOptions.placeStatus.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="鏄惁閿佸畾"> - <ElSelect - v-model={queryForm.value.isLock} - placeholder="璇烽�夋嫨鏄惁閿佸畾" - clearable - loading={enumOptions.yesOrNo.length === 0} - class={styles.formItem} - > - {enumOptions.yesOrNo.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="鏄惁绌烘墭"> - <ElSelect - v-model={queryForm.value.emptyContainer} - placeholder="璇烽�夋嫨鏄惁绌烘墭" - clearable - loading={enumOptions.yesOrNo.length === 0} - class={styles.formItem} - > - {enumOptions.yesOrNo.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="鏃ユ湡鑼冨洿"> - <ElDatePicker - v-model={queryForm.value.dateRange} - type="datetimerange" - range-separator="鑷�" - show-now="true" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - format="YYYY-MM-DD HH:mm:ss" - valueFormat="YYYY-MM-DD HH:mm:ss" - /> - </ElFormItem> - <ElFormItem> - <IconButton type="primary" icon="search" onClick={handleQuery}> - 鏌ヨ - </IconButton> - <IconButton - style="margin-left: 10px;" - icon="refresh" - onClick={resetQuery} - > - 閲嶇疆 - </IconButton> - </ElFormItem> - </ElForm> + {/* 楂樼骇鏌ヨ */} + <WmsMaterialStockQueryDrawer + ref="wmsMaterialStockDetailQueryDrawerRef" + 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}> <IconButton - v-permission="wmsMaterialStock-add" + v-permission="wmsMaterialStockDetail-add" icon="add-p" onClick={onAddWmsMaterialStock} type="primary" @@ -437,8 +358,9 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> - <el-upload - v-permission="wmsMaterialStock-import" + + {/* <el-upload + v-permission="wmsMaterialStockDetail-import" name="file" accept=".xlsx,.xls,.csv" show-file-list={false} @@ -446,28 +368,58 @@ onSuccess={onSuccess} before-upload={onBeforeUpload} headers={headers.value} - action="/api/v1/HIAWms/wmsMaterialStock/import" + action="/api/v1/HIAWms/wmsMaterialStockDetail/import" > <IconButton icon="in">瀵煎叆</IconButton> - </el-upload> + </el-upload> */} <IconButton - v-permission="wmsMaterialStock-output" + v-permission="wmsMaterialStockDetail-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> + <IconButton + type="primary" + icon="search" + onClick={handleQueryForMain} + > + 鏌ヨ + </IconButton> + {/* <IconButton style="" icon="refresh" onClick={resetQuery}> + 閲嶇疆 + </IconButton> */} + <IconButton + v-permission="wmsMaterialStock-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsMaterialStock" + url="/api/v1/HIAWms/wmsmaterialstock/" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts index 035b581..00d458f 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/Config.ts @@ -20,10 +20,10 @@ field: 'placeStatusDesc', title: '搴撲綅鐘舵��', }, - { - field: 'containerNo', - title: '瀹瑰櫒缂栧彿', - }, + // { + // field: 'containerNo', + // title: '瀹瑰櫒缂栧彿', + // }, { field: 'stockNumber', title: '搴撳瓨鏁伴噺', @@ -40,10 +40,10 @@ field: 'areaName', title: '鎵�灞炲簱鍖�', }, - { - field: 'checkStatusDesc', - title: '妫�楠岀姸鎬�', - }, + // { + // field: 'checkStatusDesc', + // title: '妫�楠岀姸鎬�', + // }, { field: 'inStockTime', title: '鍏ュ簱鏃堕棿', diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss index 365acbf..ac415d3 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.module.scss @@ -1,113 +1,113 @@ -.wmsMaterialStockContent { - width: 100%; - height: 80%; - - .wmsMaterialStockList { - 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 +.wmsMaterialStockDetailContent { + width: 100%; + height: 100%; + + .wmsMaterialStockDetailList { + 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/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx index 40d7b2b..a2f4737 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStockDetail/WmsMaterialStockDetail.tsx @@ -4,21 +4,22 @@ import styles from './WmsMaterialStockDetail.module.scss' import { useWmsMaterialStock } from '../../../Controllers/WmsMaterialStock' import IconButton from '@/components/IconButton/IconButton' -import WmsMaterialStockDrawer from '../Dialog/WmsMaterialStockDrawer/WmsMaterialStockDrawer' +import WmsMaterialStockDetailQueryDrawer from '../Dialog/WmsMaterialStockDetailQuery/WmsMaterialStockDetailQueryDrawer' import Search from '@/components/Search/Search' import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' import dayjs from 'dayjs' +import { getWmsEnumData } from '@/widgets/WmsMaterialStock/Models/Service/WmsMaterialStockDrawer' import { + ElInput, + ElSelect, + ElOption, ElDatePicker, ElForm, ElFormItem, - ElInput, - ElOption, - ElSelect, } from 'element-plus' -import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' +import { injectModel } from '@/libs/Provider/Provider' interface RenderTableType { url?: string @@ -31,7 +32,7 @@ } export default defineComponent({ - name: 'WmsMaterialStock', + name: 'WmsMaterialStockDetail', directives: { permission: vPermission, }, @@ -40,6 +41,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -51,91 +53,81 @@ onConfirmWmsMaterialStock, onCheck, onAddWmsMaterialStock, + onAdvancedQuery, onExport, openDetail, onSuccess, onBeforeUpload, } = useWmsMaterialStock(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsMaterialStockDetailQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - containerNo: '', - materialNo: '', - materialName: '', - containerType: '', - containerStatus: '', - storageTypeNo: 1, - placeStatus: '', - placeNo: '', - isLock: '', - emptyContainer: '', - dateRange: [], - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], }) - - const queryParams = computed(() => ({ - ...queryForm.value, - containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺 - containerStatus: queryForm.value.containerStatus || '', - storageTypeNo: queryForm.value.storageTypeNo || 1, // 澶勭悊涓嬫媺 - placeStatus: queryForm.value.placeStatus || '', - islock: queryForm.value.isLock || '', - emptyContainer: queryForm.value.emptyContainer || '', - startTime: queryForm.value.dateRange[0] || '', - endTime: queryForm.value.dateRange[1] || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['OrderNo', 'MaterialNo', 'MaterialId']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ - containerType: [] as Array<{ label: string; value: any }>, containerStatus: [] as Array<{ label: string; value: any }>, - storageTypeNo: [] as Array<{ label: string; value: any }>, + containerType: [] as Array<{ label: string; value: any }>, placeStatus: [] as Array<{ label: string; value: any }>, - yesOrNo: [] as Array<{ label: string; value: any }>, + storageTypeNo: [] as Array<{ label: string; value: any }>, + checkStatus: [] as Array<{ label: string; value: any }>, + isLock: [] as Array<{ label: string; value: any }>, + emptyContainer: [] as Array<{ label: string; value: any }>, }) // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const containerTypeData = await getWmsEnumData({ - EnumName: 'ContainerTypeEnum', - }) - enumOptions.containerType = containerTypeData.map((item) => ({ - label: item.description, - value: item.value, - })) - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const storageTypeNoData = await getWmsEnumData({ - EnumName: 'PlaceTypeEnum', - }) - enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({ - label: item.description, - value: item.value, - })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const placeStatusData = await getWmsEnumData({ - EnumName: 'PlaceStatusEnum', - }) - enumOptions.placeStatus = placeStatusData.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, })) - - const yesNoData = await getWmsEnumData({ + const containerTypeEnumData = await getWmsEnumData({ + EnumName: 'ContainerTypeEnum', + }) + enumOptions.containerType = containerTypeEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const placeStatusEnumData = await getWmsEnumData({ + EnumName: 'PlaceStatusEnum', + }) + enumOptions.placeStatus = placeStatusEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const placeTypeEnumData = await getWmsEnumData({ + EnumName: 'PlaceTypeEnum', + }) + enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const materialCheckStatusEnumData = await getWmsEnumData({ + EnumName: 'MaterialCheckStatusEnum', + }) + enumOptions.checkStatus = materialCheckStatusEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const yesNoEnumData = await getWmsEnumData({ EnumName: 'YesNoEnum', }) - enumOptions.yesOrNo = yesNoData.map((item) => ({ + enumOptions.isLock = yesNoEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + enumOptions.emptyContainer = yesNoEnumData.map((item) => ({ label: item.description, value: item.value, })) @@ -147,33 +139,65 @@ // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� onMounted(() => { fetchEnumData() - handleQuery() + handleQueryForMain() }) - // 鏂板鐨勬煡璇㈡柟娉� - const handleQuery = async () => { - console.log('鏌ヨ鏉′欢:', queryParams.value) - // tableRef.value.getTableList() - tableRef.value.getList(queryParams.value) + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + const _curHighQueryData = ref({ + searchVal: '', + str_searchFormInputAttrs: [], + }) + // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 + const handleQueryForMain = async () => { + _curHighQueryData.value.searchVal = queryForm.value.searchVal + _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.searchVal = '' + 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.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.str_searchFormInputAttrs = _searchFormInputAttrs.value + return filteredData } - // 閲嶇疆鏌ヨ鏉′欢 - const resetQuery = () => { - queryForm.value = { - containerNo: '', - materialNo: '', - materialName: '', - containerType: '', - containerStatus: '', - storageTypeNo: 1, - placeStatus: '', - placeNo: '', - isLock: '', - emptyContainer: '', - dateRange: [], - filter: '', - } - } /** * @returns 琛ㄦ牸 */ @@ -187,20 +211,17 @@ params, autoHeight, } = props - props.params = { - ...queryParams.value, - ...params, - } + return ( <div class={{ - [styles.wmsMaterialStockList]: true, + [styles.wmsMaterialStockDetailList]: true, }} > <BaseTable ref={tableRef} url={url} - sortUrlTpl="/api/v1/HIAWms/wmsMaterialStock/{id}/adjustsort/{sort}" + sortUrlTpl="/api/v1/HIAWms/wmsMaterialStockDetail/{id}/adjustsort/{sort}" v-model:dataSource={dataSource.value} columns={columns} contextMenu={contextMenu} @@ -218,6 +239,57 @@ <div> {row.inStockTime != null ? dayjs(row.inStockTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, + 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> ) @@ -242,20 +314,13 @@ </div> ) } + return () => { return ( - <div class={styles.wmsMaterialStockContent}> - {/* 娣诲姞/缂栬緫 */} - <WmsMaterialStockDrawer - v-model={dialogConfig.visible} - title={dialogConfig.title} - row={current.value} - sort={sort.value} - onConfirm={onConfirmWmsMaterialStock} - /> + <div class={styles.wmsMaterialStockDetailContent}> {/* 楂樼骇鏌ヨ */} - {/* <WmsMaterialStockDetailDrawer - ref="wmsTaskQueryDrawerRef" + <WmsMaterialStockDetailQueryDrawer + ref="wmsMaterialStockDetailQueryDrawerRef" v-model={dialogConfigForQuery.visible} title={dialogConfigForQuery.title} row={current.value} @@ -263,49 +328,57 @@ onConfirmQuery={handleQuery} onRestQuery={resetQuery} onClose={closeQuery} - /> */} + /> + <div class={styles.headerContent}> <div class={styles.header}> <IconButton - v-permission="wmsMaterialStock-add" - icon="add-p" - onClick={onAddWmsMaterialStock} - type="primary" - > - 娣诲姞 - </IconButton> - <el-divider direction="vertical" /> - <el-upload - v-permission="wmsMaterialStock-import" - name="file" - accept=".xlsx,.xls,.csv" - show-file-list={false} - onError={onError} - onSuccess={onSuccess} - before-upload={onBeforeUpload} - headers={headers.value} - action="/api/v1/HIAWms/wmsMaterialStock/import" - > - <IconButton icon="in">瀵煎叆</IconButton> - </el-upload> - - <IconButton - v-permission="wmsMaterialStock-output" + v-permission="wmsMaterialStockDetail-output" icon="out" onClick={onExport} > 瀵煎嚭 </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> + <IconButton + type="primary" + icon="search" + onClick={handleQueryForMain} + > + 鏌ヨ + </IconButton> + {/* <IconButton style="" icon="refresh" onClick={resetQuery}> + 閲嶇疆 + </IconButton> */} + <IconButton + v-permission="wmsMaterialStockDetail-hightQuery" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsMaterialStock" + url="/api/v1/HIAWms/wmsMaterialStock/StockDetail" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts index 947c2b0..8edf3af 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/enum.ts @@ -12,4 +12,8 @@ 'wmsMaterialStock-add': '鍒楄〃-娣诲姞', 'wmsMaterialStock-import': '鍒楄〃-瀵煎叆', 'wmsMaterialStock-output': '鍒楄〃-杈撳嚭', + + 'wmsMaterialStockDetail-hightQuery': '鍒楄〃-楂樼骇鏌ヨ', + 'wmsMaterialStockDetail-query': '鍒楄〃-鏌ヨ', + 'wmsMaterialStockDetail-output': '鍒楄〃-瀵煎嚭', } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts index ab7a6e4..5de66e7 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts @@ -1,9 +1,5 @@ import { Base } from '@/libs/Base/Base' -import { - addWmsArea, - getWmsArea, - updateWmsArea, -} from './Service/WmsAreaDrawer' +import { addWmsArea, getWmsArea, updateWmsArea } from './Service/WmsAreaDrawer' import { useGlobalState } from '@/libs/Store/Store' export class WmsAreaDrawer extends Base<{ [key: string]: any }> { diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs index 79db668..37f3ca4 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs @@ -90,7 +90,7 @@ /// <summary> /// 搴撲綅绫诲瀷缂栧彿 /// </summary> - public PlaceTypeEnum? StorageTypeNo { get; set; } + public PlaceTypeEnum? StorageTypeNo { get; set; } = PlaceTypeEnum.YUANLIAOKUWEI; /// <summary> /// 鍖哄煙缂栧彿 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs index e47bac5..6944397 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs @@ -64,7 +64,7 @@ /// <returns></returns> [HttpGet] [Route("StockDetail")] - public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStocksInput input) + public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync([FromQuery]GetWmsMaterialStocksInput input) { return await _wmsmaterialstockAppService.GetStockDetailAsync(input); } 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/\345\272\223\345\255\230\350\257\246\346\203\205.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/\345\272\223\345\255\230\350\257\246\346\203\205.txt" new file mode 100644 index 0000000..f85b5ac --- /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/\345\272\223\345\255\230\350\257\246\346\203\205.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmsmaterialstocks +[瀹炰綋绫诲悕]:WmsMaterialStock +[瀹炰綋绫诲璞″悕]:WmsMaterialStock +[椤甸潰鑿滃崟鍚峕:搴撳瓨璇︽儏 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsMaterialStockDetail +[琛ㄧ殑涓枃娉ㄨВ]:鍑哄叆搴撳崟鎹鎯� +[閲嶅鎬ф牎楠屽瓧娈礭:MaterialId +[鍒犻櫎鎻愮ず瀛楁]:MaterialId +[妯$硦鏌ヨ瀛楁]:'OrderNo', 'MaterialNo', 'MaterialId' +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鐗╂枡ID +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]:ContainerStatus,ContainerStatusEnum&ContainerType,ContainerTypeEnum&PlaceStatus,PlaceStatusEnum&StorageTypeNo,PlaceTypeEnum&CheckStatus,MaterialCheckStatusEnum&IsLock,YesNoEnum&EmptyContainer,YesNoEnum +[鍓嶇鏍规枃浠跺す鍚嶇О]:web +[鎺掑簭]:CreationTime \ No newline at end of file -- Gitblit v1.9.3