From b586f4883139022280ac994d7ed02906c0f6c89e Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 19 5月 2025 16:59:09 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs | 1 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs | 1 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/仓库信息配置.txt | 14 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx | 549 ++++++++ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs | 213 +++ HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts | 5 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx | 71 + HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts | 44 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx | 376 ++--- HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs | 5 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts | 7 HIAWms/hiawms_web/src/config/menu.ts | 26 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs | 4 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs | 68 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs | 60 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs | 6 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts | 35 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs | 233 +++ HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx | 71 + HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs | 6 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs | 65 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts | 35 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx | 231 ++- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs | 68 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs | 179 ++ Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库区配置.txt | 14 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStoreQueryDrawer.tsx | 314 ++++ HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts | 44 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts | 27 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts | 44 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts | 27 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx | 282 ++- HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs | 2 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/库位配置信息.txt | 14 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs | 141 + HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts | 7 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts | 27 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx | 428 ++++++ HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts | 7 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs | 24 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs | 53 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs | 25 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts | 35 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts | 11 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx | 71 + 49 files changed, 3,364 insertions(+), 617 deletions(-) diff --git a/HIAWms/hiawms_web/src/config/menu.ts b/HIAWms/hiawms_web/src/config/menu.ts index 1847594..39d0d71 100644 --- a/HIAWms/hiawms_web/src/config/menu.ts +++ b/HIAWms/hiawms_web/src/config/menu.ts @@ -28,16 +28,16 @@ "notPage": false }, { - "name": "鍑哄叆搴撳崟鎹鎯�", - "path": "/information-base/WmsInOutStockOrderDetail", - "patchName": "WmsInOutStockOrderDetail", + "name": "鍑哄叆搴撹褰�", + "path": "/information-base/WmsInOutStockRecord", + "patchName": "WmsInOutStockRecord", "icon": "p", "notPage": false }, { - "name": "鍑哄叆搴撹褰�", - "path": "/information-base/WmsInOutStockRecord", - "patchName": "WmsInOutStockRecord", + "name": "鍑哄叆搴撳崟鎹鎯�", + "path": "/information-base/WmsInOutStockOrderDetail", + "patchName": "WmsInOutStockOrderDetail", "icon": "p", "notPage": false }, @@ -99,13 +99,6 @@ "icon": "p", "notPage": false }, - "WmsInOutStockOrderDetail": { - "name": "鍑哄叆搴撳崟鎹鎯�", - "path": "/information-base/WmsInOutStockOrderDetail", - "patchName": "WmsInOutStockOrderDetail", - "icon": "p", - "notPage": false - }, "WmsInOutStockRecord": { "name": "鍑哄叆搴撹褰�", "path": "/information-base/WmsInOutStockRecord", @@ -113,6 +106,13 @@ "icon": "p", "notPage": false }, + "WmsInOutStockOrderDetail": { + "name": "鍑哄叆搴撳崟鎹鎯�", + "path": "/information-base/WmsInOutStockOrderDetail", + "patchName": "WmsInOutStockOrderDetail", + "icon": "p", + "notPage": false + }, "WmsInOutStockOrder": { "name": "鍑哄叆搴撳崟鎹�", "path": "/information-base/WmsInOutStockOrder", diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts index 47b0f94..c7dc644 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsArea.ts @@ -52,6 +52,12 @@ isAdd: false, }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) + const dialogSettingConfig = reactive({ visible: false, title: '', @@ -170,9 +176,22 @@ /** * 瀵煎嚭 */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsArea/export', params, 'wmsStoreInfo') + // const onExport = () => { + // const params = tableRef.value?.getParams() + // exportFile('/api/v1/HIAWms/wmsArea/export', params, 'wmsStoreInfo') + // } + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsArea/export', data, '搴撳尯淇℃伅') + } + + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' } /** @@ -236,6 +255,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, dialogSettingConfig, tableRef, current, @@ -254,5 +274,6 @@ onConfirmWmsArea, onCheck, onAddWmsArea, + onAdvancedQuery, } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx new file mode 100644 index 0000000..1c32fe0 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsAreaQueryDrawer.tsx @@ -0,0 +1,428 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsAreaDrawer } from '../Models/WmsAreaDrawer' +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' +import { getStoreDataList } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' + +export const useWmsAreaQueryDrawer = (props: any, ctx?: any) => { + const wmsAreaDrawer = injectModel<WmsAreaDrawer>('WmsAreaDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + const initiateData: Ref<Record<string, any>> = ref({}) + const formData = ref<Record<string, any>>({}) + // ref + const formRef = ref() + const storeList = 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: 'areaNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱鍖虹紪鍙�', + highSelectAttrs: { + prop: 'areaNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '搴撳尯鍚嶇О', + prop: 'areaName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱鍖哄悕绉�', + highSelectAttrs: { + prop: 'areaName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鎻忚堪', + prop: 'areaDesc', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ユ弿杩�', + highSelectAttrs: { + prop: 'areaDesc_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '搴撳尯鐘舵��', + prop: 'areaStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱鍖虹姸鎬�', + highSelectAttrs: { + prop: 'areaStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '搴撳尯绫诲瀷', + prop: 'areaType', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱鍖虹被鍨�', + highSelectAttrs: { + prop: 'areaType_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + // { + // 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: 'storeCode', + el: 'select', + option: [], + //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: '澶囨敞', + 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 = { + areaNo: formData.value.areaNo || '', + areaNo_FilterMode: formData.value.areaNo_FilterMode || '', + areaName: formData.value.areaName || '', + areaName_FilterMode: formData.value.areaName_FilterMode || '', + areaDesc: formData.value.areaDesc || '', + areaDesc_FilterMode: formData.value.areaDesc_FilterMode || '', + areaStatus: formData.value.areaStatus || '', + areaStatus_FilterMode: formData.value.areaStatus_FilterMode || '', + areaType: formData.value.areaType || '', + areaType_FilterMode: formData.value.areaType_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 || '', + storeCode: formData.value.storeCode || '', + storeCode_FilterMode: formData.value.storeCode_FilterMode || '', + storeName: formData.value.storeName || '', + storeName_FilterMode: formData.value.storeName_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.areaNo_FilterMode = 1 + formData.value.areaName_FilterMode = 1 + formData.value.areaDesc_FilterMode = 1 + formData.value.areaStatus_FilterMode = 2 + formData.value.areaType_FilterMode = 2 + formData.value.redundantField1_FilterMode = 1 + formData.value.redundantField2_FilterMode = 1 + formData.value.redundantField3_FilterMode = 1 + formData.value.storeCode_FilterMode = 1 + formData.value.storeName_FilterMode = 1 + formData.value.remark_FilterMode = 1 + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + formData.value.areaNo = '' + formData.value.areaName = '' + formData.value.areaDesc = '' + formData.value.areaStatus = '' + formData.value.areaType = '' + formData.value.redundantField1 = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + formData.value.storeCode = '' + formData.value.storeName = '' + 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 updateFormStoreOptions = (propName: string, enumData: any[]) => { + const item = formItems.find((item) => item.prop === propName) + if (item && enumData) { + item.options = enumData.map((item) => ({ + label: item.storeName, + value: item.storeCode, + })) + } + } + /** + * 閫氱敤鏌ヨ鏋氫妇 + */ + const commonQueryEnumForFrom = async () => { + const areaStatusEnumEnum = await wmsAreaDrawer.getWmsEnumData({ + EnumName: 'AreaStatusEnum', + }) + updateFormItemOptions('areaStatus', areaStatusEnumEnum) + const areaTypeEnumEnum = await wmsAreaDrawer.getWmsEnumData({ + EnumName: 'AreaTypeEnum', + }) + updateFormItemOptions('areaType', areaTypeEnumEnum) + const stores = await getStoreDataList() + storeList.value = stores + console.log('storeList', stores) + updateFormStoreOptions('storeCode', stores) + } + commonQueryEnumForFrom() + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + 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/WmsStoreInfo/Controllers/WmsPlace.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts index 96efbd1..3efa706 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlace.ts @@ -56,6 +56,11 @@ visible: false, title: '', }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) /** * 鍒嗛〉鏁版嵁 @@ -159,6 +164,15 @@ await tableRef.value?.getList() } } + + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } /** * 琛岀偣鍑绘椂鏇存柊current */ @@ -170,11 +184,14 @@ /** * 瀵煎嚭 */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsPlace/export', params, 'wmsStoreInfo') + // const onExport = () => { + // const params = tableRef.value?.getParams() + // exportFile('/api/v1/HIAWms/wmsPlace/export', params, 'wmsStoreInfo') + // } + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsPlace/export', data, '搴撲綅淇℃伅') } - /** * 鍏抽敭瀛楁悳绱� */ @@ -236,6 +253,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, dialogSettingConfig, tableRef, current, @@ -253,6 +271,7 @@ onRowClick, onConfirmWmsPlace, onCheck, + onAdvancedQuery, onAddWmsPlace, } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx new file mode 100644 index 0000000..e7b708e --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceQueryDrawer.tsx @@ -0,0 +1,549 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsPlaceDrawer } from '../Models/WmsPlaceDrawer' +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' +import { getAreaAreaDataList } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' + +export const useWmsPlaceQueryDrawer = (props: any, ctx?: any) => { + const wmsPlaceDrawer = injectModel<WmsPlaceDrawer>('WmsPlaceDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + const initiateData: Ref<Record<string, any>> = ref({}) + const formData = ref<Record<string, any>>({}) + // ref + const formRef = ref() + + const disabled = ref(false) + const areas = ref([]) + + 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: 'placeNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ簱浣嶇紪鍙�', + highSelectAttrs: { + prop: 'placeNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '璐т綅绫诲瀷', + prop: 'storageTypeNo', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ揣浣嶇被鍨�', + highSelectAttrs: { + prop: 'storageTypeNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '璐т綅鐘舵��', + prop: 'placeStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ揣浣嶇姸鎬�', + highSelectAttrs: { + prop: 'placeStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鎵�鍦ㄥ簱鍖�', + prop: 'areaCode', + el: 'select', + //disabled: disabled, + placeholder: '璇疯緭鍏ユ墍鍦ㄥ簱鍖�', + highSelectAttrs: { + prop: 'areaCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '宸烽亾', + prop: 'aisle', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏�', + highSelectAttrs: { + prop: 'aisle_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '鎺�', + prop: 'rowNo', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ユ帓', + highSelectAttrs: { + prop: 'rowNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '鍒�', + prop: 'columnNo', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ垪', + highSelectAttrs: { + prop: 'columnNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '灞�', + prop: 'layerNo', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ眰', + highSelectAttrs: { + prop: 'layerNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '鏄惁閿佸畾', + prop: 'islock', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ槸鍚﹂攣瀹�', + highSelectAttrs: { + prop: 'islock_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鏄惁绌烘墭', + prop: 'emptyContainer', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ槸鍚︾┖鎵�', + highSelectAttrs: { + prop: 'emptyContainer_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鏈�澶у簱瀛橀噺', + prop: 'maxStockNumber', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ユ渶澶у簱瀛橀噺', + highSelectAttrs: { + prop: 'maxStockNumber_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + // { + // label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', + // prop: 'redundantField1', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', + // highSelectAttrs: { + // prop: 'redundantField1_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: '鍐椾綑瀛楁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: '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 = { + placeNo: formData.value.placeNo || '', + placeNo_FilterMode: formData.value.placeNo_FilterMode || '', + storageTypeNo: formData.value.storageTypeNo || '', + storageTypeNo_FilterMode: formData.value.storageTypeNo_FilterMode || '', + placeStatus: formData.value.placeStatus || '', + placeStatus_FilterMode: formData.value.placeStatus_FilterMode || '', + areaCode: formData.value.areaCode || '', + areaCode_FilterMode: formData.value.areaCode_FilterMode || '', + aisle: formData.value.aisle || '', + aisle_FilterMode: formData.value.aisle_FilterMode || '', + rowNo: formData.value.rowNo || '', + rowNo_FilterMode: formData.value.rowNo_FilterMode || '', + columnNo: formData.value.columnNo || '', + columnNo_FilterMode: formData.value.columnNo_FilterMode || '', + layerNo: formData.value.layerNo || '', + layerNo_FilterMode: formData.value.layerNo_FilterMode || '', + islock: formData.value.islock || '', + islock_FilterMode: formData.value.islock_FilterMode || '', + emptyContainer: formData.value.emptyContainer || '', + emptyContainer_FilterMode: formData.value.emptyContainer_FilterMode || '', + maxStockNumber: formData.value.maxStockNumber || '', + maxStockNumber_FilterMode: formData.value.maxStockNumber_FilterMode || '', + redundantField1: formData.value.redundantField1 || '', + redundantField1_FilterMode: + formData.value.redundantField1_FilterMode || '', + remark: formData.value.remark || '', + remark_FilterMode: formData.value.remark_FilterMode || '', + redundantField2: formData.value.redundantField2 || '', + redundantField2_FilterMode: + formData.value.redundantField2_FilterMode || '', + redundantField3: formData.value.redundantField3 || '', + redundantField3_FilterMode: + formData.value.redundantField3_FilterMode || '', + creationTime: formData.value.creationTime || '', + lastModificationTime: formData.value.lastModificationTime || '', + } + 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.placeNo_FilterMode = 1 + formData.value.storageTypeNo_FilterMode = 2 + formData.value.placeStatus_FilterMode = 2 + formData.value.areaCode_FilterMode = 1 + formData.value.aisle_FilterMode = 2 + formData.value.rowNo_FilterMode = 2 + formData.value.columnNo_FilterMode = 2 + formData.value.layerNo_FilterMode = 2 + formData.value.islock_FilterMode = 2 + formData.value.emptyContainer_FilterMode = 2 + formData.value.maxStockNumber_FilterMode = 2 + formData.value.redundantField1_FilterMode = 1 + formData.value.remark_FilterMode = 1 + formData.value.redundantField2_FilterMode = 1 + formData.value.redundantField3_FilterMode = 1 + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + formData.value.placeNo = '' + formData.value.storageTypeNo = '' + formData.value.placeStatus = '' + formData.value.areaCode = '' + formData.value.aisle = '' + formData.value.rowNo = '' + formData.value.columnNo = '' + formData.value.layerNo = '' + formData.value.islock = '' + formData.value.emptyContainer = '' + formData.value.maxStockNumber = '' + formData.value.redundantField1 = '' + formData.value.remark = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + 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 updateFormAreaOptions = (propName: string, enumData: any[]) => { + const item = formItems.find((item) => item.prop === propName) + if (item && enumData) { + item.options = enumData.map((item) => ({ + label: item.areaName, + value: item.areaNo, + })) + } + } + /** + * 閫氱敤鏌ヨ鏋氫妇 + */ + const commonQueryEnumForFrom = async () => { + const placeTypeEnumEnum = await wmsPlaceDrawer.getWmsEnumData({ + EnumName: 'PlaceTypeEnum', + }) + updateFormItemOptions('storageTypeNo', placeTypeEnumEnum) + const placeStatusEnumEnum = await wmsPlaceDrawer.getWmsEnumData({ + EnumName: 'PlaceStatusEnum', + }) + updateFormItemOptions('placeStatus', placeStatusEnumEnum) + const yesNoEnumEnum = await wmsPlaceDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('islock', yesNoEnumEnum) + updateFormItemOptions('emptyContainer', yesNoEnumEnum) + const areaList = await getAreaAreaDataList() + areas.value = areaList + updateFormAreaOptions('areaCode', areaList) + } + commonQueryEnumForFrom() + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + 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/WmsStoreInfo/Controllers/WmsStore.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts index 1a7c9ec..471d6e3 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsStore.ts @@ -51,7 +51,11 @@ title: '', isAdd: false, }) - + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) const dialogSettingConfig = reactive({ visible: false, title: '', @@ -148,6 +152,14 @@ dialogConfig.title = '娣诲姞' sort.value = params.totalCount + 1 } + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } const onConfirmWmsStore = async () => { dialogConfig.visible = false @@ -170,11 +182,14 @@ /** * 瀵煎嚭 */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsStore/export', params, 'wmsStoreInfo') + // const onExport = () => { + // const params = tableRef.value?.getParams() + // exportFile('/api/v1/HIAWms/wmsStore/export', params, 'wmsStoreInfo') + // } + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsStore/export', data, '浠撳簱淇℃伅') } - /** * 鍏抽敭瀛楁悳绱� */ @@ -241,6 +256,7 @@ current, search, sort, + dialogConfigForQuery, wmsStoreColumns, paginationParams, headers, @@ -254,5 +270,6 @@ onConfirmWmsStore, onCheck, onAddWmsStore, + onAdvancedQuery, } } 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, + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts index 49b1bbe..bb54c33 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaDrawer.ts @@ -24,3 +24,10 @@ export const updateWmsArea = (id: string, data: Record<string, any>) => { return request.put(`/api/v1/HIAWms/wmsArea/${id}`, data) } +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts new file mode 100644 index 0000000..a6bff41 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsAreaQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsArea = (data: any) => { + return request.post('/api/v1/HIAWms/wmsArea', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsArea = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsArea/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsArea = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsArea/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts index 7e046ae..f626556 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceDrawer.ts @@ -24,3 +24,10 @@ export const updateWmsPlace = (id: string, data: Record<string, any>) => { return request.put(`/api/v1/HIAWms/wmsPlace/${id}`, data) } +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts new file mode 100644 index 0000000..a4d7bda --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsPlaceQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsPlace = (data: any) => { + return request.post('/api/v1/HIAWms/wmsPlace', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsPlace = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsPlace/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsPlace = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsPlace/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts new file mode 100644 index 0000000..a86784b --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/Service/WmsStoreQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsStore = (data: any) => { + return request.post('/api/v1/HIAWms/wmsStore', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsStore = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsStore/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsStore = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsStore/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts index 470b1fd..127e929 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsArea.ts @@ -1,9 +1,5 @@ import { Base } from '@/libs/Base/Base' -import { - deleteWmsAreas, - addWmsArea, - cloneData, -} from './Service/WmsArea' +import { deleteWmsAreas, addWmsArea, cloneData } from './Service/WmsArea' export class WmsArea extends Base<{ [key: string]: any }> { constructor() { @@ -38,4 +34,5 @@ cloneData(ids: string[]) { return cloneData(ids) } + } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts index 5de66e7..f33af26 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaDrawer.ts @@ -1,5 +1,10 @@ import { Base } from '@/libs/Base/Base' -import { addWmsArea, getWmsArea, updateWmsArea } from './Service/WmsAreaDrawer' +import { + addWmsArea, + getWmsArea, + updateWmsArea, + getWmsEnumData, +} from './Service/WmsAreaDrawer' import { useGlobalState } from '@/libs/Store/Store' export class WmsAreaDrawer extends Base<{ [key: string]: any }> { @@ -31,4 +36,8 @@ async getWmsAreaDetail(current: any, id?: string) { return getWmsArea(id || current?.id) } + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts new file mode 100644 index 0000000..b31cb9b --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsAreaQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsArea, + getWmsArea, + updateWmsArea, + getWmsEnumData, +} from './Service/WmsAreaQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsAreaQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsArea: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsArea(data: Record<string, any>) { + return addWmsArea(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsArea(id: string, data: Record<string, any>) { + return updateWmsArea(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsAreaDetail(current: any, id?: string) { + return getWmsArea(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts index e82e60f..567037f 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceDrawer.ts @@ -3,6 +3,7 @@ addWmsPlace, getWmsPlace, updateWmsPlace, + getWmsEnumData, } from './Service/WmsPlaceDrawer' import { useGlobalState } from '@/libs/Store/Store' @@ -35,4 +36,8 @@ async getWmsPlaceDetail(current: any, id?: string) { return getWmsPlace(id || current?.id) } + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts new file mode 100644 index 0000000..7915492 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsPlaceQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsPlace, + getWmsPlace, + updateWmsPlace, + getWmsEnumData, +} from './Service/WmsPlaceQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsPlaceQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsPlace: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsPlace(data: Record<string, any>) { + return addWmsPlace(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsPlace(id: string, data: Record<string, any>) { + return updateWmsPlace(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsPlaceDetail(current: any, id?: string) { + return getWmsPlace(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts new file mode 100644 index 0000000..36d4d5a --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Models/WmsStoreQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsStore, + getWmsStore, + updateWmsStore, + getWmsEnumData, +} from './Service/WmsStoreQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsStoreQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsStore: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsStore(data: Record<string, any>) { + return addWmsStore(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsStore(id: string, data: Record<string, any>) { + return updateWmsStore(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsStoreDetail(current: any, id?: string) { + return getWmsStore(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx new file mode 100644 index 0000000..134de97 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� +*/ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsAreaQueryDrawer.module.scss' +import { useWmsAreaQueryDrawer } from '../../../../Controllers/WmsAreaQueryDrawer.tsx' +import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery' + +// @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, + } = useWmsAreaQueryDrawer(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} + > + <DyFormForHighQuery + ref={formRef} + formData={formData.value} + labelWidth="106px" + formItemProps={formItems} + ></DyFormForHighQuery> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx new file mode 100644 index 0000000..321bb35 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� +*/ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsPlaceQueryDrawer.module.scss' +import { useWmsPlaceQueryDrawer } from '../../../../Controllers/WmsPlaceQueryDrawer.tsx' +import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery' + +// @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, + } = useWmsPlaceQueryDrawer(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} + > + <DyFormForHighQuery + ref={formRef} + formData={formData.value} + labelWidth="106px" + formItemProps={formItems} + ></DyFormForHighQuery> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx new file mode 100644 index 0000000..8946f56 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� +*/ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsStoreQueryDrawer.module.scss' +import { useWmsStoreQueryDrawer } from '../../../../Controllers/WmsStoreQueryDrawer.tsx' +import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery' + +// @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, + } = useWmsStoreQueryDrawer(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} + > + <DyFormForHighQuery + ref={formRef} + formData={formData.value} + labelWidth="106px" + formItemProps={formItems} + ></DyFormForHighQuery> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx index 0ff3d54..3765110 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.tsx @@ -14,6 +14,9 @@ getWmsEnumData, getStoreDataList, } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' +// 寮曞叆鍏叡閫夐」閰嶇疆 +import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' +import WmsAreaQueryDrawer from '../Dialog/WmsAreaQueryDrawer/WmsAreaQueryDrawer' interface RenderTableType { url?: string @@ -35,6 +38,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -45,6 +49,7 @@ onRowClick, onConfirmWmsArea, onCheck, + onAdvancedQuery, onAddWmsArea, onExport, openDetail, @@ -52,44 +57,38 @@ onBeforeUpload, } = useWmsArea(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsAreaQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - areaNo: '', - areaName: '', - areaType: '', - areaStatus: '', - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', }) - - const queryParams = computed(() => ({ - ...queryForm.value, - areaType: queryForm.value.areaType || '', // 澶勭悊涓嬫媺 - areaStatus: queryForm.value.areaStatus || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['AreaNo', 'AreaName']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ簱鍖虹紪鍙�/搴撳尯鍚嶇О') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ - areaType: [] as Array<{ label: string; value: any }>, areaStatus: [] as Array<{ label: string; value: any }>, + areaType: [] as Array<{ label: string; value: any }>, }) // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const areaTypeData = await getWmsEnumData({ - EnumName: 'AreaTypeEnum', + const areaStatusEnumData = await getWmsEnumData({ + EnumName: 'AreaStatusEnum', }) - enumOptions.areaType = areaTypeData.map((item) => ({ + enumOptions.areaStatus = areaStatusEnumData.map((item) => ({ label: item.description, value: item.value, })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const areaStatusData = await getWmsEnumData({ - EnumName: 'AreaStatusEnum', + const areaTypeEnumData = await getWmsEnumData({ + EnumName: 'AreaTypeEnum', }) - enumOptions.areaStatus = areaStatusData.map((item) => ({ + enumOptions.areaType = areaTypeEnumData.map((item) => ({ label: item.description, value: item.value, })) @@ -98,28 +97,80 @@ } } + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + const _curHighQueryData = ref({ + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', + }) // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� onMounted(() => { fetchEnumData() + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _curHighQueryData.value.str_searchFormInputAttrs = + _searchFormInputAttrs.value }) - // 鏂板鐨勬煡璇㈡柟娉� - const handleQuery = async () => { - // tableRef.value.getTableList() - tableRef.value.getList(queryParams.value) + // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 + const handleQueryForMain = async () => { + _curHighQueryData.value.searchVal = queryForm.value.searchVal + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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 = { - areaNo: '', - areaName: '', - areaType: '', - areaStatus: '', - filter: '', - } + queryForm.value.searchVal = '' + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + 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.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode + filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value + return filteredData + } /** * @returns 琛ㄦ牸 */ @@ -187,94 +238,17 @@ sort={sort.value} onConfirm={onConfirmWmsArea} /> - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <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.areaNo} - placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="搴撳尯鍚嶇О"> - <ElInput - v-model={queryForm.value.areaName} - placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="搴撲綅绫诲瀷"> - <ElSelect - v-model={queryForm.value.areaType} - placeholder="璇烽�夋嫨鎵樼洏绫诲瀷" - clearable - loading={enumOptions.areaType.length === 0} - class={styles.formItem} - > - {enumOptions.areaType.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="搴撳尯鐘舵��"> - <ElSelect - v-model={queryForm.value.areaStatus} - placeholder="璇烽�夋嫨鎵樼洏鐘舵��" - clearable - loading={enumOptions.areaStatus.length === 0} - class={styles.formItem} - > - {enumOptions.areaStatus.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - {/* <ElFormItem label="鏃ユ湡鑼冨洿"> - <ElDatePicker - v-model={queryForm.value.dateRange} - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - value-format="YYYY-MM-DD" - /> - </ElFormItem> */} - <ElFormItem> - <IconButton type="primary" icon="search" onClick={handleQuery}> - 鏌ヨ - </IconButton> - <IconButton - style="margin-left: 10px;" - icon="refresh" - onClick={resetQuery} - > - 閲嶇疆 - </IconButton> - </ElFormItem> - </ElForm> + {/* 楂樼骇鏌ヨ */} + <WmsAreaQueryDrawer + ref="wmsAreaQueryDrawerRef" + 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}> @@ -287,6 +261,7 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> + <el-upload v-permission="wmsArea-import" name="file" @@ -304,20 +279,65 @@ <IconButton v-permission="wmsArea-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> + <ElFormItem label="" style="width:100px;"> + <ElSelect + v-model={queryForm.value.searchVal_FilterMode} + placeholder="璇烽�夋嫨" + class={styles.formItem} + > + {FILTER_MODE_OPTIONS_STRING.map((option) => ( + <ElOption + key={option.value} + label={option.label} + value={option.value} + /> + ))} + </ElSelect> + </ElFormItem> + <IconButton + type="primary" + icon="search" + onClick={handleQueryForMain} + > + 鏌ヨ + </IconButton> + {/* <IconButton style="" icon="refresh" onClick={resetQuery}> + 閲嶇疆 + </IconButton> */} + <IconButton + v-permission="wmsArea-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsArea" + url="/api/v1/HIAWms/wmsArea/page" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx index 1a09758..733d1d8 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx @@ -15,6 +15,9 @@ getAreaAreaDataList, getAisleDataList, } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' +// 寮曞叆鍏叡閫夐」閰嶇疆 +import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' +import WmsPlaceQueryDrawer from '../Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer' interface RenderTableType { url?: string @@ -44,72 +47,62 @@ onError, onSearch, onRowClick, + dialogConfigForQuery, onConfirmWmsPlace, onCheck, onAddWmsPlace, onExport, openDetail, onSuccess, + onAdvancedQuery, onBeforeUpload, } = useWmsPlace(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsPlaceQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - placeNo: '', - storageTypeNo: '', - placeStatus: '', - areaCode: '', - aisle: '', - islock: '', - emptyContainer: '', - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', }) - - const queryParams = computed(() => ({ - ...queryForm.value, - storageTypeNo: queryForm.value.storageTypeNo || '', // 澶勭悊涓嬫媺 - placeStatus: queryForm.value.placeStatus || '', - islock: queryForm.value.islock || '', - aisle: queryForm.value.aisle || '', - areaCode: queryForm.value.areaCode || '', - emptyContainer: queryForm.value.emptyContainer || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['PlaceNo']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ簱浣嶇紪鍙�') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ storageTypeNo: [] as Array<{ label: string; value: any }>, placeStatus: [] as Array<{ label: string; value: any }>, - yesOrNo: [] as Array<{ label: string; value: any }>, + islock: [] as Array<{ label: string; value: any }>, + emptyContainer: [] as Array<{ label: string; value: any }>, }) - - let areaTypelist = [] as Array<{ label: string; value: any }> - let aisleTypelist = [] as Array<{ label: string; value: any }> // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const storageTypeNoData = await getWmsEnumData({ + const placeTypeEnumData = await getWmsEnumData({ EnumName: 'PlaceTypeEnum', }) - enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({ + enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({ label: item.description, value: item.value, })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const placeStatusData = await getWmsEnumData({ + const placeStatusEnumData = await getWmsEnumData({ EnumName: 'PlaceStatusEnum', }) - enumOptions.placeStatus = placeStatusData.map((item) => ({ + enumOptions.placeStatus = placeStatusEnumData.map((item) => ({ label: item.description, value: item.value, })) - - const yesNoData = await getWmsEnumData({ + 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, })) @@ -117,56 +110,80 @@ console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) } } - const getAreaType = async () => { - try { - const areaListData = await getAreaAreaDataList() - areaTypelist = areaListData.map((item) => ({ - label: item.areaName || '', - value: item.areaNo || '', // 鍚屼笂 - })) - } catch (error) { - areaTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁� - } - } - const getAisleList = async () => { - try { - const aisleListData = await getAisleDataList() - aisleTypelist = aisleListData.map((item) => ({ - label: item.aisleName || '', - value: item.aisle || '', - })) - } catch (error) { - console.error('鑾峰彇宸烽亾鍒楄〃澶辫触:', error) - aisleTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁� - } - } + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + const _curHighQueryData = ref({ + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', + }) // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� onMounted(() => { fetchEnumData() - getAreaType() - getAisleList() + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _curHighQueryData.value.str_searchFormInputAttrs = + _searchFormInputAttrs.value }) - // 鏂板鐨勬煡璇㈡柟娉� - const handleQuery = async () => { - console.log('鏌ヨ鏉′欢:', queryParams.value) - // tableRef.value.getTableList() - tableRef.value.getList(queryParams.value) + // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 + const handleQueryForMain = async () => { + _curHighQueryData.value.searchVal = queryForm.value.searchVal + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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 = { - placeNo: '', - storageTypeNo: '', - placeStatus: '', - aisle: '', - areaCode: '', - islock: '', - emptyContainer: '', - filter: '', - } + queryForm.value.searchVal = '' + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + 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.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode + filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value + return filteredData } /** @@ -247,144 +264,17 @@ sort={sort.value} onConfirm={onConfirmWmsPlace} /> - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <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.placeNo} - placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="搴撲綅绫诲瀷"> - <ElSelect - v-model={queryForm.value.storageTypeNo} - placeholder="璇烽�夋嫨鎵樼洏绫诲瀷" - clearable - 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.areaCode} - placeholder="璇烽�夋嫨搴撳尯" - clearable - loading={areaTypelist.length === 0} - class={styles.formItem} - > - {areaTypelist.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="宸烽亾"> - <ElSelect - v-model={queryForm.value.aisle} - placeholder="璇烽�夋嫨搴撳尯" - clearable - loading={aisleTypelist.length === 0} - class={styles.formItem} - > - {aisleTypelist.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> - <IconButton type="primary" icon="search" onClick={handleQuery}> - 鏌ヨ - </IconButton> - <IconButton - style="margin-left: 10px;" - icon="refresh" - onClick={resetQuery} - > - 閲嶇疆 - </IconButton> - </ElFormItem> - </ElForm> + {/* 楂樼骇鏌ヨ */} + <WmsPlaceQueryDrawer + ref="wmsPlaceQueryDrawerRef" + 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}> @@ -397,6 +287,7 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> + <el-upload v-permission="wmsPlace-import" name="file" @@ -414,20 +305,65 @@ <IconButton v-permission="wmsPlace-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> + <ElFormItem label="" style="width:100px;"> + <ElSelect + v-model={queryForm.value.searchVal_FilterMode} + placeholder="璇烽�夋嫨" + class={styles.formItem} + > + {FILTER_MODE_OPTIONS_STRING.map((option) => ( + <ElOption + key={option.value} + label={option.label} + value={option.value} + /> + ))} + </ElSelect> + </ElFormItem> + <IconButton + type="primary" + icon="search" + onClick={handleQueryForMain} + > + 鏌ヨ + </IconButton> + {/* <IconButton style="" icon="refresh" onClick={resetQuery}> + 閲嶇疆 + </IconButton> */} + <IconButton + v-permission="wmsPlace-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsPlace" + url="/api/v1/HIAWms/wmsPlace/page" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx index 82d75dd..cbda8f9 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsStore/WmsStore.tsx @@ -1,4 +1,4 @@ -import { defineComponent, reactive, ref, computed } from 'vue' +import { defineComponent, reactive, ref, computed, onMounted } from 'vue' import type { Ref } from 'vue' import BaseTable from '@/components/Table/Table' import styles from './WmsStore.module.scss' @@ -9,8 +9,10 @@ import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' -import { ElForm, ElFormItem, ElInput } from 'element-plus' +import { ElForm, ElFormItem, ElInput, ElOption, ElSelect } from 'element-plus' import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' +import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' +import WmsStoreQueryDrawer from '../Dialog/WmsStoreQueryDrawer/WmsStoreQueryDrawer' interface RenderTableType { url?: string @@ -32,6 +34,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -41,6 +44,7 @@ onSearch, onRowClick, onConfirmWmsStore, + onAdvancedQuery, onCheck, onAddWmsStore, onExport, @@ -49,31 +53,102 @@ onBeforeUpload, } = useWmsStore(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsStoreQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - storeCode: '', - storeName: '', - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', }) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['StoreCode', 'StoreName']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ粨搴撲唬鐮�/浠撳簱鍚嶇О') - const queryParams = computed(() => ({ - ...queryForm.value, - })) + // 鍔ㄦ�佹灇涓鹃�夐」 + const enumOptions = reactive({}) - // 鏂板鐨勬煡璇㈡柟娉� - const handleQuery = async () => { - console.log('鏌ヨ鏉′欢:', queryParams.value) - // tableRef.value.getTableList() - tableRef.value.getList(queryParams.value) + // 鑾峰彇鏋氫妇鏁版嵁 + const fetchEnumData = async () => { + try { + } catch (error) { + console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) + } } - // 閲嶇疆鏌ヨ鏉′欢 + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + const _curHighQueryData = ref({ + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', + }) + // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� + onMounted(() => { + fetchEnumData() + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _curHighQueryData.value.str_searchFormInputAttrs = + _searchFormInputAttrs.value + }) + + // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 + const handleQueryForMain = async () => { + _curHighQueryData.value.searchVal = queryForm.value.searchVal + _curHighQueryData.value.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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 = { - storeCode: '', - storeName: '', - filter: '', - } + queryForm.value.searchVal = '' + queryForm.value.searchVal_FilterMode = + FILTER_MODE_OPTIONS_STRING[0]?.value || '' + 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.searchVal_FilterMode = + queryForm.value.searchVal_FilterMode + _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.searchVal_FilterMode = queryForm.value.searchVal_FilterMode + filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value + return filteredData } /** @@ -143,51 +218,17 @@ sort={sort.value} onConfirm={onConfirmWmsStore} /> - - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <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.storeCode} - placeholder="璇疯緭鍏ヤ粨搴撶紪鐮�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="浠撳簱鍚嶇О"> - <ElInput - v-model={queryForm.value.storeName} - placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem> - <IconButton type="primary" icon="search" onClick={handleQuery}> - 鏌ヨ - </IconButton> - <IconButton - style="margin-left: 10px;" - icon="refresh" - onClick={resetQuery} - > - 閲嶇疆 - </IconButton> - </ElFormItem> - </ElForm> + {/* 楂樼骇鏌ヨ */} + <WmsStoreQueryDrawer + ref="wmsStoreQueryDrawerRef" + 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}> @@ -200,6 +241,7 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> + <el-upload v-permission="wmsStore-import" name="file" @@ -217,20 +259,65 @@ <IconButton v-permission="wmsStore-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> + <ElFormItem label="" style="width:100px;"> + <ElSelect + v-model={queryForm.value.searchVal_FilterMode} + placeholder="璇烽�夋嫨" + class={styles.formItem} + > + {FILTER_MODE_OPTIONS_STRING.map((option) => ( + <ElOption + key={option.value} + label={option.label} + value={option.value} + /> + ))} + </ElSelect> + </ElFormItem> + <IconButton + type="primary" + icon="search" + onClick={handleQueryForMain} + > + 鏌ヨ + </IconButton> + {/* <IconButton style="" icon="refresh" onClick={resetQuery}> + 閲嶇疆 + </IconButton> */} + <IconButton + v-permission="wmsStore-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsStore" + url="/api/v1/HIAWms/wmsStore/page" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs index d7f0f26..821432a 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsArea/GetWmsAreaInput.cs @@ -1,4 +1,5 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CmsQueryExtensions.Extension; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsArea; @@ -8,15 +9,40 @@ /// </summary> public class GetWmsAreaInput : ExtensiblePagedAndSortedResultRequestDto { - /// <summary> - /// Gets or sets the filter. - /// </summary> - public string Filter { get; set; } - /// <summary> - /// Gets or sets the name. - /// </summary> - public string Name { get; set; } + #region 鍏抽敭瀛楁煡璇� + + /// <summary> + /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� + /// </summary> + public string searchVal { get; set; } + + /// <summary> + /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + [NoAutoQuery] + public string str_searchFormInputAttrs { get; set; } + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public List<string> searchFormInputAttrs + { + get + { + if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) + { + return str_searchFormInputAttrs.Split(',').ToList(); + } + return new List<string>(); + } + } + + #endregion /// <summary> /// 搴撳尯缂栧彿 @@ -24,27 +50,190 @@ public string AreaNo { get; set; } /// <summary> + /// 搴撳尯缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> /// 搴撳尯鍚嶇О /// </summary> public string AreaName { get; set; } /// <summary> + /// 搴撳尯鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> /// 鎻忚堪 /// </summary> - public string? AreaDesc { get; set; } + public string AreaDesc { get; set; } + + /// <summary> + /// 鎻忚堪-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaDesc_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; /// <summary> /// 搴撳尯鐘舵�� /// </summary> - public AreaStatusEnum AreaStatus { get; set; } + public int? AreaStatus { get; set; } + + /// <summary> + /// 搴撳尯鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 搴撳尯绫诲瀷 /// </summary> - public AreaTypeEnum AreaType { get; set; } + public int? AreaType { get; set; } + + /// <summary> + /// 搴撳尯绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField1 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField2 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField3 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; /// <summary> /// 浠撳簱浠g爜 /// </summary> - public string? StoreCode { get; set; } + public string StoreCode { get; set; } + + /// <summary> + /// 浠撳簱浠g爜-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum StoreCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 浠撳簱鍚嶇О + /// </summary> + public string StoreName { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum StoreName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鎺掑簭 + /// </summary> + public int? Sort { get; set; } + + /// <summary> + /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 澶囨敞 + /// </summary> + public string Remark { get; set; } + + /// <summary> + /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string CreationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string CreatorId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string LastModificationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string LastModifierId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + public bool? IsDeleted { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// + /// </summary> + public string DeleterId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string DeletionTime { get; set; } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs index 01a0001..dce188a 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlace/GetWmsPlacesInput.cs @@ -1,4 +1,5 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CmsQueryExtensions.Extension; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlace; @@ -6,32 +7,71 @@ /// <summary> /// WmsPlace鏌ヨ鍙傛暟瀵硅薄 /// </summary> -public class GetWmsMaterialInfoInput : ExtensiblePagedAndSortedResultRequestDto +public class GetWmsPlaceInput : ExtensiblePagedAndSortedResultRequestDto { - /// <summary> - /// Gets or sets the filter. - /// </summary> - public string Filter { get; set; } + #region 鍏抽敭瀛楁煡璇� + + /// <summary> + /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� + /// </summary> + public string searchVal { get; set; } + + /// <summary> + /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + [NoAutoQuery] + public string str_searchFormInputAttrs { get; set; } + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public List<string> searchFormInputAttrs + { + get + { + if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) + { + return str_searchFormInputAttrs.Split(',').ToList(); + } + return new List<string>(); + } + } + + #endregion /// <summary> - /// Gets or sets the name. + /// 搴撲綅缂栧彿 /// </summary> - public string Name { get; set; } + public string PlaceNo { get; set; } /// <summary> - /// 缂栧彿 + /// 搴撲綅缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� /// </summary> - public virtual string PlaceNo { get; set; } + public SearchFilterModeEnum PlaceNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; /// <summary> /// 璐т綅绫诲瀷 /// </summary> - public PlaceTypeEnum? StorageTypeNo { get; set; } + public int? StorageTypeNo { get; set; } + + /// <summary> + /// 璐т綅绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum StorageTypeNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 璐т綅鐘舵�� /// </summary> - public PlaceStatusEnum? PlaceStatus { get; set; } + public int? PlaceStatus { get; set; } + + /// <summary> + /// 璐т綅鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum PlaceStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 鎵�鍦ㄥ簱鍖� @@ -39,13 +79,19 @@ public string AreaCode { get; set; } /// <summary> - /// 宸烽亾 + /// 鎵�鍦ㄥ簱鍖�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum AreaCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// /// </summary> public int? Aisle { get; set; } + /// <summary> - /// 鏄惁绂佺敤 + /// -鏌ヨ鍏崇郴杩愮畻绗� /// </summary> - public virtual bool IsDisabled { get; set; } + public SearchFilterModeEnum Aisle_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 鎺� @@ -53,9 +99,19 @@ public int? RowNo { get; set; } /// <summary> + /// 鎺�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RowNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> /// 鍒� /// </summary> public int? ColumnNo { get; set; } + + /// <summary> + /// 鍒�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum ColumnNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 灞� @@ -63,17 +119,160 @@ public int? LayerNo { get; set; } /// <summary> + /// 灞�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LayerNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> /// 鏄惁閿佸畾 /// </summary> - public YesNoEnum? Islock { get; set; } + public int? Islock { get; set; } + + /// <summary> + /// 鏄惁閿佸畾-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Islock_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 鏄惁绌烘墭 /// </summary> - public YesNoEnum? EmptyContainer { get; set; } + public int? EmptyContainer { get; set; } + + /// <summary> + /// 鏄惁绌烘墭-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum EmptyContainer_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鎺掑簭 + /// </summary> + public int? Sort { get; set; } + + /// <summary> + /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; /// <summary> /// 鏈�澶у簱瀛橀噺 /// </summary> - public int MaxStockNumber { get; set; } + public int? MaxStockNumber { get; set; } + + /// <summary> + /// 鏈�澶у簱瀛橀噺-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaxStockNumber_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField1 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 澶囨敞 + /// </summary> + public string Remark { get; set; } + + /// <summary> + /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField2 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField3 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string CreationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string CreatorId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string LastModificationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string LastModifierId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + public bool? IsDeleted { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// + /// </summary> + public string DeleterId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string DeletionTime { get; set; } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs index 99714e1..040ab51 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStore/GetWmsStoreInput.cs @@ -1,3 +1,4 @@ +using CmsQueryExtensions.Extension; using Volo.Abp.Application.Dtos; namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStore; @@ -7,23 +8,181 @@ /// </summary> public class GetWmsStoreInput : ExtensiblePagedAndSortedResultRequestDto { - /// <summary> - /// Gets or sets the filter. - /// </summary> - public string Filter { get; set; } + #region 鍏抽敭瀛楁煡璇� - /// <summary> - /// Gets or sets the name. - /// </summary> - public string Name { get; set; } + /// <summary> + /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� + /// </summary> + public string searchVal { get; set; } + + /// <summary> + /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + [NoAutoQuery] + public string str_searchFormInputAttrs { get; set; } + /// <summary> + /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 + /// </summary> + public List<string> searchFormInputAttrs + { + get + { + if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) + { + return str_searchFormInputAttrs.Split(',').ToList(); + } + return new List<string>(); + } + } + + #endregion /// <summary> /// 浠撳簱浠g爜 /// </summary> - public string? StoreCode { get; set; } + public string StoreCode { get; set; } + + /// <summary> + /// 浠撳簱浠g爜-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum StoreCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; /// <summary> /// 浠撳簱鍚嶇О /// </summary> - public string? StoreName { get; set; } + public string StoreName { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum StoreName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField1 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField2 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField3 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 澶囨敞 + /// </summary> + public string Remark { get; set; } + + /// <summary> + /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 鎺掑簭 + /// </summary> + public int? Sort { get; set; } + + /// <summary> + /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string CreationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string CreatorId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string LastModificationTime { get; set; } + + + /// <summary> + /// + /// </summary> + public string LastModifierId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + public bool? IsDeleted { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// + /// </summary> + public string DeleterId { get; set; } + + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string DeletionTime { get; set; } + } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs index 30d5e01..9503b1f 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsPlaceAppService.cs @@ -6,7 +6,7 @@ /// <summary> /// WmsPlace搴旂敤鏈嶅姟 /// </summary> -public interface IWmsPlaceAppService : ICrudAppService<WmsPlaceDto, Guid, GetWmsMaterialInfoInput, WmsPlaceCreateDto, WmsPlaceUpdateDto> +public interface IWmsPlaceAppService : ICrudAppService<WmsPlaceDto, Guid, GetWmsPlaceInput, WmsPlaceCreateDto, WmsPlaceUpdateDto> { /// <summary> /// Clones the asynchronous. @@ -42,5 +42,5 @@ /// </summary> /// <param name="input">The input.</param> /// <returns></returns> - Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInfoInput input); + Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsPlaceInput input); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs index f69b16b..c803497 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsAreaAppService.cs @@ -9,6 +9,8 @@ using Volo.Abp.ObjectExtending; using CMS.Plugin.HIAWms.Domain.WmsStores; using CmsQueryExtensions; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -34,7 +36,11 @@ return ObjectMapper.Map<WmsArea, WmsAreaDto>(await _wmsareaRepository.GetAsync(id)); } - /// <inheritdoc /> + /// <summary> + /// 鍒嗛〉鑾峰彇浠撳簱淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> public virtual async Task<PagedResultDto<WmsAreaDto>> GetListAsync(GetWmsAreaInput input) { Check.NotNull(input, nameof(input)); @@ -44,12 +50,40 @@ input.Sorting = nameof(WmsArea.Sort); } - var specification = new WmsAreaSpecification(input.Name); - var area = ObjectMapper.Map<GetWmsAreaInput, WmsArea>(input); - var count = await _wmsareaRepository.GetCountAsync(area,input.Filter, specification); - var list = await _wmsareaRepository.GetListAsync(area,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var count = await _wmsareaRepository.GetCountAsync(whereConditions); + var list = await _wmsareaRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsAreaDto>(count, ObjectMapper.Map<List<WmsArea>, List<WmsAreaDto>>(list)); + } + + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsArea, bool>>> DynamicGetQueryParams(GetWmsAreaInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsArea, GetWmsAreaInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsArea, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsArea, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; } /// <inheritdoc /> @@ -299,7 +333,11 @@ } } - /// <inheritdoc /> + /// <summary> + /// 瀵煎嚭浠撳簱搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsAreaInput input) { Check.NotNull(input, nameof(input)); @@ -309,9 +347,16 @@ input.Sorting = nameof(WmsArea.Sort); } - var specification = new WmsAreaSpecification(input.Name); - var area = ObjectMapper.Map<GetWmsAreaInput, WmsArea>(input); - var list = await _wmsareaRepository.GetListAsync(area,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + + + var list = await _wmsareaRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsArea>, List<WmsAreaDto>>(list); var sheets = new Dictionary<string, object> @@ -319,7 +364,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "WmsArea鍒楄〃" : result.Count == 1 ? result.First()?.AreaName : "WmsArea妯$増"; + var fileName = "搴撳尯淇℃伅"; return (sheets, fileName); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs index dcd579c..1545536 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs @@ -45,6 +45,27 @@ _wmsInOutStockRecordRepository = wmsInOutStockRecordRepository; } + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsPlace, bool>>> DynamicGetQueryPlaceParams(GetWmsPlaceInput input) + { + // 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsPlace, GetWmsPlaceInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsPlace, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsPlace, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; + } /// <summary> /// 鏌ユ壘绌哄簱浣� @@ -61,7 +82,9 @@ // 1. 鑾峰彇鎵�鏈夊簱瀛樺拰搴撲綅淇℃伅 var stockList = await _wmsMaterialStockRepository.GetListAsync(whereConditions); - var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI }); + var placeConditions = DynamicGetQueryPlaceParams(new GetWmsPlaceInput { StorageTypeNo = (int)PlaceTypeEnum.YUANLIAOKUWEI }); + + var placeList = await _wmsPlaceRepository.GetListByFilterAsync(placeConditions.data); var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList.Where(x => !x.IsDisabled).ToList()); // 2. 鏌ユ壘鐩稿悓鐗╂枡鍨嬪彿鍜岀紪鍙风殑搴撳瓨锛堟寜搴撳瓨閲忛檷搴忥級 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs index 69f8c26..864e7c2 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs @@ -4,6 +4,8 @@ using CMS.Plugin.HIAWms.Domain.Shared.WmsPlaces; using CMS.Plugin.HIAWms.Domain.WmsPlaces; using CmsQueryExtensions; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using System.Text.RegularExpressions; using Volo.Abp; using Volo.Abp.Application.Dtos; @@ -32,8 +34,12 @@ return ObjectMapper.Map<WmsPlace, WmsPlaceDto>(await _wmsplaceRepository.GetAsync(id)); } - /// <inheritdoc /> - public virtual async Task<PagedResultDto<WmsPlaceDto>> GetListAsync(GetWmsMaterialInfoInput input) + /// <summary> + /// 鍒嗛〉鑾峰彇搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public virtual async Task<PagedResultDto<WmsPlaceDto>> GetListAsync(GetWmsPlaceInput input) { Check.NotNull(input, nameof(input)); @@ -42,14 +48,41 @@ input.Sorting = nameof(WmsPlace.Sort); } - var specification = new WmsPlaceSpecification(input.Name); - var place = ObjectMapper.Map<GetWmsMaterialInfoInput, WmsPlace>(input); - var count = await _wmsplaceRepository.GetCountAsync(place,input.Filter, specification); - var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var count = await _wmsplaceRepository.GetCountAsync(whereConditions); + var list = await _wmsplaceRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsPlaceDto>(count, ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list)); } + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsPlace, bool>>> DynamicGetQueryParams(GetWmsPlaceInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsPlace, GetWmsPlaceInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsPlace, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsPlace, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; + } /// <inheritdoc /> public virtual async Task<WmsPlaceDto> CreateAsync(WmsPlaceCreateDto input) { @@ -286,8 +319,12 @@ } } - /// <inheritdoc /> - public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInfoInput input) + /// <summary> + /// 瀵煎嚭搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsPlaceInput input) { Check.NotNull(input, nameof(input)); @@ -296,9 +333,16 @@ input.Sorting = nameof(WmsPlace.Sort); } - var specification = new WmsPlaceSpecification(input.Name); - var place = ObjectMapper.Map<GetWmsMaterialInfoInput, WmsPlace>(input); - var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + + + var list = await _wmsplaceRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list); var sheets = new Dictionary<string, object> @@ -306,7 +350,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "WmsPlace鍒楄〃" : result.Count == 1 ? result.First()?.PlaceNo : "WmsPlace妯$増"; + var fileName = "搴撲綅淇℃伅"; return (sheets, fileName); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs index aa83a4a..195b263 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs @@ -8,6 +8,8 @@ using Volo.Abp.Data; using Volo.Abp.ObjectExtending; using CmsQueryExtensions; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -41,12 +43,40 @@ input.Sorting = nameof(WmsStore.Sort); } - var specification = new WmsStoreSpecification(input.Name); - var store = ObjectMapper.Map<GetWmsStoreInput, WmsStore>(input); - var count = await _wmsstoreRepository.GetCountAsync(store,input.Filter, specification); - var list = await _wmsstoreRepository.GetListAsync(store,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var count = await _wmsstoreRepository.GetCountAsync(whereConditions); + var list = await _wmsstoreRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsStoreDto>(count, ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list)); + } + + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsStore, bool>>> DynamicGetQueryParams(GetWmsStoreInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsStore, GetWmsStoreInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsStore, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsStore, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; } /// <inheritdoc /> @@ -284,9 +314,16 @@ input.Sorting = nameof(WmsStore.Sort); } - var specification = new WmsStoreSpecification(input.Name); - var store = ObjectMapper.Map<GetWmsStoreInput, WmsStore>(input); - var list = await _wmsstoreRepository.GetListAsync(store, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + + + var list = await _wmsstoreRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list); var sheets = new Dictionary<string, object> @@ -294,7 +331,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "WmsStore鍒楄〃" : result.Count == 1 ? result.First()?.StoreCode : "WmsStore妯$増"; + var fileName = "浠撳簱淇℃伅"; return (sheets, fileName); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs index 267831a..cea75a1 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialInfoAutoMapperProfile.cs @@ -23,6 +23,6 @@ * into multiple profile classes for a better organization. */ CreateMap<WmsMaterialInfo, WmsMaterialInfoDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<WmsMaterialInfoCreateDto, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); - CreateMap<GetWmsMaterialInfoInput, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); + CreateMap<GetWmsPlaceInput, WmsMaterialInfo>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs index b44769d..2c2e727 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs @@ -21,6 +21,6 @@ * into multiple profile classes for a better organization. */ CreateMap<WmsPlace, WmsPlaceDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<WmsPlaceCreateDto, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); - CreateMap<GetWmsMaterialInfoInput, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); + CreateMap<GetWmsPlaceInput, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs index e72917b..d21c449 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsAreas/IWmsAreaRepository.cs @@ -1,3 +1,5 @@ +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; using Volo.Abp.Specifications; @@ -41,7 +43,7 @@ /// <param name="includeDetails">if set to <c>true</c> [include details].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<List<WmsArea>> GetListAsync(WmsArea? area, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsArea> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsArea>> GetListAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// 鑾峰彇搴撳尯鍒楄〃 @@ -57,5 +59,5 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, CancellationToken cancellationToken = default); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs index 68cbefe..12e6734 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs @@ -1,5 +1,7 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; using CMS.Plugin.HIAWms.Domain.WmsAreas; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; using Volo.Abp.Specifications; @@ -43,7 +45,7 @@ /// <param name="includeDetails">if set to <c>true</c> [include details].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsPlace>> GetListAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// 鑾峰彇宸烽亾鍒楄〃 @@ -59,7 +61,7 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// 鏍规嵁绫诲瀷鑾峰彇搴撲綅鍒楄〃 @@ -68,4 +70,22 @@ /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<WmsPlace>> GetPlaceListForSelectAsync(PlaceTypeEnum placeType, CancellationToken cancellationToken = default); + + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇搴撲綅鍒楄〃 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<List<WmsPlace>> GetListByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, CancellationToken cancellationToken = default); + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜搴撲綅淇℃伅 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="isMultipleThrowException"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<WmsPlace> GetSingleByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs index e843235..7f4e526 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs @@ -1,3 +1,5 @@ +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; using Volo.Abp.Specifications; @@ -41,7 +43,7 @@ /// <param name="includeDetails">if set to <c>true</c> [include details].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsStore>> GetListAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// 鏌ヨ浠撳簱鍒楄〃 @@ -57,5 +59,5 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, CancellationToken cancellationToken = default); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs index 5fc6614..ca840a0 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsAreaRepository.cs @@ -1,7 +1,9 @@ using System; using System.Linq.Dynamic.Core; +using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.WmsAreas; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; using DatabaseSchemaReader.Filters; using MathNet.Numerics; using Microsoft.EntityFrameworkCore; @@ -60,23 +62,39 @@ return sort + 1; } - /// <inheritdoc /> - public async Task<List<WmsArea>> GetListAsync(WmsArea? area, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsArea> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default) + /// <summary> + /// 获取分页列表仓库信息 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WmsArea>> GetListAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { - specification ??= new WmsAreaSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) - .Where(specification.ToExpression()) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo)) - .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName)) - .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode) - .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus) - .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsArea.Sort) : sorting) + .OrderByDescending(x => x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 获取总数仓库信息 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsArea, bool>>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetQueryableAsync()) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); } /// <summary> @@ -92,20 +110,20 @@ } /// <inheritdoc /> - public async Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default) - { - specification ??= new WmsAreaSpecification(); - return await (await GetQueryableAsync()) - .Where(specification.ToExpression()) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo)) - .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName)) - .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode) - .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus) - .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType) - .Where(x => !x.IsDeleted) - .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); - } + //public async Task<long> GetCountAsync(WmsArea? area, string filter = null, Specification<WmsArea> specification = null, CancellationToken cancellationToken = default) + //{ + // specification ??= new WmsAreaSpecification(); + // return await (await GetQueryableAsync()) + // .Where(specification.ToExpression()) + // .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.AreaNo.Contains(filter)) + // .WhereIf(!string.IsNullOrEmpty(area.AreaNo), u => u.AreaNo.Contains(area.AreaNo)) + // .WhereIf(!string.IsNullOrEmpty(area.AreaName), u => u.AreaNo.Contains(area.AreaName)) + // .WhereIf(!string.IsNullOrEmpty(area.StoreCode), u => u.AreaNo == area.StoreCode) + // .WhereIf(area.AreaStatus > 0, u => u.AreaStatus == area.AreaStatus) + // .WhereIf(area.AreaType > 0, u => u.AreaType == area.AreaType) + // .Where(x => !x.IsDeleted) + // .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + //} /// <inheritdoc /> public override async Task<IQueryable<WmsArea>> WithDetailsAsync() diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs index dc5cf40..dac4c26 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs @@ -1,10 +1,13 @@ -using System.Linq.Dynamic.Core; +锘縰sing System.Linq.Dynamic.Core; +using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.Shared.Enums; using CMS.Plugin.HIAWms.Domain.WmsAreas; using CMS.Plugin.HIAWms.Domain.WmsPlaces; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; using Microsoft.AspNetCore.Components.Forms; using Microsoft.EntityFrameworkCore; +using Volo.Abp; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.Specifications; @@ -54,32 +57,44 @@ return sort + 1; } - /// <inheritdoc /> - public async Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default) + /// <summary> + /// 鑾峰彇鍒嗛〉鍒楄〃搴撲綅淇℃伅 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WmsPlace>> GetListAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { - specification ??= new WmsPlaceSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) - .Where(specification.ToExpression()) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo.Contains(place.PlaceNo)) - .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus) - .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo) - .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle) - .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo) - .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo) - .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo) - .WhereIf(place.Islock > 0, u => u.Islock == place.Islock) - .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsPlace.Sort) : sorting) + .OrderByDescending(x => x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } + /// <summary> + /// 鑾峰彇鎬绘暟搴撲綅淇℃伅 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsPlace, bool>>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetQueryableAsync()) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + } + /// <summary> - /// 获取巷道列表 + /// 鑾峰彇宸烽亾鍒楄〃 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> @@ -90,25 +105,25 @@ } - /// <inheritdoc /> - public async Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default) - { - specification ??= new WmsPlaceSpecification(); - return await (await GetQueryableAsync()) - .Where(specification.ToExpression()) - .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo) - .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus) - .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo) - .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle) - .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo) - .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo) - .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo) - .WhereIf(place.Islock > 0, u => u.Islock == place.Islock) - .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer) - .Where(x => !x.IsDeleted) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter)) - .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); - } + ///// <inheritdoc /> + //public async Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default) + //{ + // specification ??= new WmsPlaceSpecification(); + // return await (await GetQueryableAsync()) + // .Where(specification.ToExpression()) + // .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo) + // .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus) + // .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo) + // .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle) + // .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo) + // .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo) + // .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo) + // .WhereIf(place.Islock > 0, u => u.Islock == place.Islock) + // .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer) + // .Where(x => !x.IsDeleted) + // .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter)) + // .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + //} /// <inheritdoc /> public override async Task<IQueryable<WmsPlace>> WithDetailsAsync() @@ -118,7 +133,7 @@ } /// <summary> - /// 获取库区列表 + /// 鑾峰彇搴撳尯鍒楄〃 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> @@ -129,4 +144,56 @@ .Where(x=>x.StorageTypeNo == placeType) .ToListAsync(GetCancellationToken(cancellationToken)); } + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇搴撲綅淇℃伅鍒楄〃 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WmsPlace>> GetListByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .WhereIf(whereConditions != null, whereConditions) + .Where(x => !x.IsDeleted) + .OrderByDescending(x => x.CreationTime) + .ToListAsync(GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜搴撲綅淇℃伅 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task<WmsPlace> GetSingleByFilterAsync(Expression<Func<WmsPlace, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default) + { + if (is鈥婱ultipleThrowException) + { + var entitys = await (await GetDbSetAsync()) + .IncludeDetails() + .WhereIf(whereConditions != null, whereConditions) + .Where(x => !x.IsDeleted) + .OrderByDescending(x => x.CreationTime) + .ToListAsync(GetCancellationToken(cancellationToken)); + if (entitys?.Count > 1) + { + throw new UserFriendlyException("鏌ヨ鍒板鏉¤褰�"); + } + return entitys?.FirstOrDefault(); + } + else + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .WhereIf(whereConditions != null, whereConditions) + .Where(x => !x.IsDeleted) + .OrderByDescending(x => x.CreationTime) + .FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); + } + } + } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs index 04c47b5..b934c43 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs @@ -1,6 +1,8 @@ using System.Linq.Dynamic.Core; +using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.WmsStores; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -51,21 +53,41 @@ return sort + 1; } - /// <inheritdoc /> - public async Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default) + /// <summary> + /// 获取分页列表仓库信息 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WmsStore>> GetListAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { - specification ??= new WmsStoreSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) - .Where(specification.ToExpression()) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(store.StoreCode),u=>u.StoreCode.Contains(store.StoreCode)) - .WhereIf(!string.IsNullOrEmpty(store.StoreName),u=>u.StoreName.Contains(store.StoreName)) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsStore.Sort) : sorting) + .OrderByDescending(x => x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } + + /// <summary> + /// 获取总数仓库信息 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsStore, bool>>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetQueryableAsync()) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + } + /// <summary> /// 查询仓库列表 @@ -80,17 +102,17 @@ } /// <inheritdoc /> - public async Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default) - { - specification ??= new WmsStoreSpecification(); - return await (await GetQueryableAsync()) - .Where(specification.ToExpression()) - .Where(x => !x.IsDeleted) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(store.StoreCode), u => u.StoreCode.Contains(store.StoreCode)) - .WhereIf(!string.IsNullOrEmpty(store.StoreName), u => u.StoreName.Contains(store.StoreName)) - .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); - } + //public async Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default) + //{ + // specification ??= new WmsStoreSpecification(); + // return await (await GetQueryableAsync()) + // .Where(specification.ToExpression()) + // .Where(x => !x.IsDeleted) + // .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter)) + // .WhereIf(!string.IsNullOrEmpty(store.StoreCode), u => u.StoreCode.Contains(store.StoreCode)) + // .WhereIf(!string.IsNullOrEmpty(store.StoreName), u => u.StoreName.Contains(store.StoreName)) + // .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + //} /// <inheritdoc /> public override async Task<IQueryable<WmsStore>> WithDetailsAsync() diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs index 11eebbc..e28da6c 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsAreaController.cs @@ -52,6 +52,7 @@ /// <param name="input">杈撳叆.</param> /// <returns></returns> [HttpGet] + [Route("Page")] public virtual Task<PagedResultDto<WmsAreaDto>> GetListAsync([FromQuery] GetWmsAreaInput input) { return _wmsareaAppService.GetListAsync(input); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs index 31b5f93..560b76c 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsPlaceController.cs @@ -52,7 +52,8 @@ /// <param name="input">杈撳叆.</param> /// <returns></returns> [HttpGet] - public virtual Task<PagedResultDto<WmsPlaceDto>> GetListAsync([FromQuery] GetWmsMaterialInfoInput input) + [Route("Page")] + public virtual Task<PagedResultDto<WmsPlaceDto>> GetListAsync([FromQuery] GetWmsPlaceInput input) { return _wmsplaceAppService.GetListAsync(input); } @@ -168,7 +169,7 @@ /// <returns></returns> [HttpGet] [Route("Export")] - public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInfoInput input) + public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsPlaceInput input) { input.MaxResultCount = int.MaxValue; var exportData = await _wmsplaceAppService.ExportAsync(input); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs index 4b2a5ec..943d5ff 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsStoreController.cs @@ -52,6 +52,7 @@ /// <param name="input">杈撳叆.</param> /// <returns></returns> [HttpGet] + [Route("Page")] public virtual Task<PagedResultDto<WmsStoreDto>> GetListAsync([FromQuery] GetWmsStoreInput input) { return _wmsstoreAppService.GetListAsync(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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.txt" new file mode 100644 index 0000000..fef77f2 --- /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/\344\273\223\345\272\223\344\277\241\346\201\257\351\205\215\347\275\256.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmsstores +[瀹炰綋绫诲悕]:WmsStore +[瀹炰綋绫诲璞″悕]:WmsStore +[椤甸潰鑿滃崟鍚峕:鎵樼洏绠$悊 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsStore +[琛ㄧ殑涓枃娉ㄨВ]:浠撳簱淇℃伅 +[閲嶅鎬ф牎楠屽瓧娈礭:StoreCode +[鍒犻櫎鎻愮ず瀛楁]:StoreCode +[妯$硦鏌ヨ瀛楁]:'StoreCode','StoreName' +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ヤ粨搴撲唬鐮�/浠撳簱鍚嶇О +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]: +[鍓嶇鏍规枃浠跺す鍚嶇О]:web +[鎺掑簭]:CreationTime \ No newline at end of file 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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.txt" new file mode 100644 index 0000000..49ad080 --- /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\344\275\215\351\205\215\347\275\256\344\277\241\346\201\257.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmsplaces +[瀹炰綋绫诲悕]:WmsPlace +[瀹炰綋绫诲璞″悕]:WmsPlace +[椤甸潰鑿滃崟鍚峕:搴撲綅淇℃伅 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsPlace +[琛ㄧ殑涓枃娉ㄨВ]:搴撲綅淇℃伅 +[閲嶅鎬ф牎楠屽瓧娈礭:PlaceNo +[鍒犻櫎鎻愮ず瀛楁]:PlaceNo +[妯$硦鏌ヨ瀛楁]:'PlaceNo' +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ簱浣嶇紪鍙� +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]:StorageTypeNo,PlaceTypeEnum&PlaceStatus,PlaceStatusEnum&Islock,YesNoEnum&EmptyContainer,YesNoEnum +[鍓嶇鏍规枃浠跺す鍚嶇О]:web +[鎺掑簭]:CreationTime \ No newline at end of file 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\214\272\351\205\215\347\275\256.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\214\272\351\205\215\347\275\256.txt" new file mode 100644 index 0000000..a85c137 --- /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\214\272\351\205\215\347\275\256.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmsareas +[瀹炰綋绫诲悕]:WmsArea +[瀹炰綋绫诲璞″悕]:WmsArea +[椤甸潰鑿滃崟鍚峕:搴撳尯淇℃伅 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsArea +[琛ㄧ殑涓枃娉ㄨВ]:浠撳簱淇℃伅 +[閲嶅鎬ф牎楠屽瓧娈礭:AreaNo +[鍒犻櫎鎻愮ず瀛楁]:AreaNo +[妯$硦鏌ヨ瀛楁]:'AreaNo','AreaName' +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ュ簱鍖虹紪鍙�/搴撳尯鍚嶇О +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]:AreaStatus,AreaStatusEnum&AreaType,AreaTypeEnum +[鍓嶇鏍规枃浠跺す鍚嶇О]:web +[鎺掑簭]:CreationTime \ No newline at end of file -- Gitblit v1.9.3