From 856cdf5c19fcc21255ef06335747040711fce530 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 14 5月 2025 15:14:56 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx | 336 ++- HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs | 47 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs | 56 HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx | 581 +++++++ HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx | 567 ++++++ HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs | 58 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs | 39 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs | 209 +- HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs | 324 ++- Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/物料基础配置.txt | 14 Weben_CMS专用代码生成器/Code/File/GenerateCodeConfigParamFiles/托盘配置.txt | 14 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx | 245 ++ HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss | 3 HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts | 30 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx | 71 HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts | 44 HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts | 35 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs | 283 +- HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx | 71 HIAWms/hiawms_web/src/utils/commonOptionConstants.js | 11 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts | 39 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js | 19 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss | 227 +- HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs | 315 +++ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs | 32 HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss | 41 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs | 2 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx | 344 ++- HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs | 6 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs | 377 +++ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs | 33 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs | 57 HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts | 44 Weben_CMS专用代码生成器/Code/MainForm.cs | 10 HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts | 35 HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts | 23 HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss | 3 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs | 6 HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss | 226 +- 39 files changed, 3,789 insertions(+), 1,088 deletions(-) diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts new file mode 100644 index 0000000..aea115f --- /dev/null +++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.d.ts @@ -0,0 +1,39 @@ +import { VNode, Component, DefineComponent } from 'vue' + +export interface OptionItemType { + label?: string + description?: string + name?: string + value: string | number +} + +export interface FormItemPropType { + prop?: string | Ref<string> + highSelectProp?: string | Ref<string> + label?: String | Ref<string> + rules?: any[] | Ref<any[]> + disabled?: boolean | Ref<boolean> + isDateControl?: boolean | Ref<boolean> + placeholder?: string | Ref<string> + type?: string | Ref<string> + width?: string | Ref<string> + el?: string | Component | DefineComponent | Ref<string> + options?: OptionItemType[] | any[] | Ref<any> + highSelectAttrs?: object | Ref<object> + isTitle?: boolean + title?:string | Component + [key: string]: any | Ref<string> +} + +export interface FormPropsType { + formData: { [key: string]: any } + formItemProps: FormItemPropType[] + [key: string]: any +} + +export interface PropsType { + formItemProps: FormItemPropType[] + formData: { [key: string]: any } + labelWidth: string + [key: string]: any +} diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss new file mode 100644 index 0000000..0fff059 --- /dev/null +++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.module.scss @@ -0,0 +1,41 @@ +.formStyle { + .formItem { + // 绉婚櫎鍥哄畾瀹藉害闄愬埗 + width: auto !important; + margin-right: 0 !important; + } + + .formControl { + flex: 1; // 璁╂帶浠跺崰鎹墿浣欑┖闂� + min-width: 0; // 鍏佽鎺т欢鏀剁缉 + } + + .formItemLabel { + display: inline-flex; + justify-content: flex-end; + align-items: center; + flex: 0 0 auto; + font-size: var(--cs-form-label-font-size); + color: var(--cs-text-color-regular); + height: 32px; + line-height: 32px; + padding: 0 12px 0 0; + box-sizing: border-box; + > img { + margin-left: 10px; + } + } + + :global(.cs-select) { + width: 100%; + } + + // 绉婚櫎鍥哄畾瀹藉害璁剧疆 + :global(.cs-form--inline .cs-form-item) { + width: auto !important; + } + + :global(.cs-form--inline .cs-form-item:nth-last-of-type(2n)) { + margin-right: 0 !important; + } +} \ No newline at end of file diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx new file mode 100644 index 0000000..1d2d888 --- /dev/null +++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQuery.tsx @@ -0,0 +1,245 @@ +// import { ElInput } from "element-plus"; +import { + defineComponent, + PropType, + ref, + Ref, + SetupContext, + computed, + unref, + markRaw, + DefineComponent, +} from 'vue' +import styles from './DyFormForHighQuery.module.scss' +import ElInput from 'element-plus/es/components/input/index' +import Option from '@/components/Select/Option' +import Select from '@/components/Select/Select' +import SelectInput from '@/components/SelectInput/SelectInput' +import type { FormInstance } from 'element-plus' +import Icon from '../Icon/Icon' +import { + FormPropsType, + FormItemPropType, + PropsType, + OptionItemType, +} from './DyFormForHighQuery.d' +import Variable from '../Variable/Variable' +import Title from '../Title/Title' +import TextareaFlow from '../Flow/Flow' +import get from 'lodash/get' +import set from 'lodash/set' + +const formItemElementMap = markRaw<Record<string, any>>({ + input: ElInput, + select: Select, + selectInput: SelectInput, + variable: Variable, + textareaFlow: TextareaFlow, +}) + +const Type: Record<string, any> = { + select: 'select', +} +export default defineComponent<FormPropsType>({ + //@ts-ignore + name: '鍔ㄦ�佽〃鍗�', + props: { + labelWidth: { + type: String, + default: '100px', + }, + labelPosition: { + type: String, + default: 'left', + }, + formData: { + type: Object as PropType<{ [key: string]: any }>, + default: () => ({}), + }, + formItemProps: { + type: Array, + default: () => [], + }, + inLine: { + type: Boolean, + default: false, + }, + }, + setup(props: PropsType, { attrs, emit, expose }: SetupContext) { + const formRef = ref<FormInstance>() + const form: any = computed({ + get() { + return props.formData + }, + set(v) { + emit('update:formData', v) + }, + }) + + const currentWidgetModel = computed(() => { + return (path: string) => { + return get(form.value, path) + } + }) + + const validate = () => { + if (!formRef.value) return false + return new Promise((resolve, reject) => { + formRef.value?.validate((valid: boolean) => { + if (valid) { + resolve(true) + } else { + reject(false) + } + }) + }) + } + + const resetForm = () => { + if (!formRef.value) return false + formRef.value.resetFields() + } + + const formItemProps = computed(() => { + return props.formItemProps || [] + }) + + expose({ validate, resetForm }) + + const FormRender: any = ($props: any) => { + const item: FormItemPropType = $props.item + const options = $props.item.options || [] + if (item.el && Type[item.el as string]) { + return options.map((el: OptionItemType) => ( + <Option + label={el.label || el.description || el.name} + value={el.value} + ></Option> + )) + } + return null + } + const FormRenderForHighSelectOptions: any = ($props: any) => { + const item: FormItemPropType = $props.item + const options = $props.item.highSelectAttrs?.options || [] + if (1===1) { + return options.map((el: OptionItemType) => ( + <Option + label={el.label || el.description || el.name} + value={el.value} + ></Option> + )) + } + return null + } + + const onUpdateModelValue = (v: string | number, prop: string) => { + set(form.value, prop, v) + } + + return () => { + return ( + <div class={styles.formStyle}> + <el-form + labelPosition={props.labelPosition} + labelWidth={props.labelWidth} + model={form.value} + ref={formRef} + inline={props.inLine} + > + {formItemProps.value.map( + (item: FormItemPropType, index: number) => { + if (item.isTitle) { + if (typeof item.title === 'string') { + return ( + <Title style="margin-bottom: 10px">{item.title}</Title> + ) + } + return item.title + } + + const itemProps: FormItemPropType = {} + Object.entries(item).forEach(([key, value]) => { + itemProps[key] = unref(value) + }) + + const el = + typeof itemProps.el === 'string' + ? formItemElementMap[itemProps.el] + : itemProps.el || null + const Component = el + const el2 = + formItemElementMap['select']; + const ComponentForHighSelect = el2 + return Component && !item.isHide ? ( + + <el-form-item + label={itemProps.label} + prop={itemProps.prop} + rules={itemProps.rules} + key={itemProps.prop} + vSlots={ + itemProps.labelIcon + ? { + label: () => ( + <label class={styles.formitemPropsLabel}> + {itemProps.label} + <Icon icon={itemProps.labelIcon} /> + </label> + ), + } + : null + } + > + {/* 娣诲姞鐨勬瘮杈冩搷浣滅閫夋嫨鍣� */} + {/* 浣跨敤flex甯冨眬璁╀笁涓厓绱犲湪鍚屼竴琛� */} + <div class="flex items-center w-full" style="width:100%"> + {/* <el-select + size="small" + style="margin-right: 8px; min-width: 10px;" + > + <el-option label="绛変簬" value="2" /> + <el-option label="涓嶇瓑浜�" value="8" /> + </el-select> */} + {/* 褰撶粍浠剁被鍨嬩笉鏄棩鏈熸帶浠舵椂鏄剧ずComponentForHighSelect */} + {(!itemProps.isDateControl && ( + // ComponentForHighSelect 鐨勬覆鏌撲唬鐮� + <ComponentForHighSelect style="width:150px;" + {...itemProps.highSelectAttrs} + modelValue={currentWidgetModel.value(itemProps.highSelectAttrs?.prop || '')} + onUpdate:modelValue={(val: string | number) => + onUpdateModelValue(val, itemProps.highSelectAttrs?.prop || '') + }> + <FormRenderForHighSelectOptions item={itemProps} /> + </ComponentForHighSelect> +))} + {/* 鏃ユ湡鎺т欢鏃剁殑鍗犱綅鍏冪礌 */} +{itemProps.isDateControl && <span style="width:150px;margin-right:8px;"></span>} + + + <Component + style={{ + width: itemProps.width, // 榛樿鍗犳弧鍓╀綑瀹藉害 + // width: itemProps.width , // 榛樿鍗犳弧鍓╀綑瀹藉害 + height: itemProps.height, + }} + {...itemProps} + // v-model={form.value[itemProps.prop as keyof any]} + modelValue={currentWidgetModel.value(itemProps.prop)} + onUpdate:modelValue={(val: string | number) => + onUpdateModelValue(val, itemProps.prop) + } + > + <FormRender item={itemProps} /> + </Component> + </div> + </el-form-item> + ) : null + } + )} + </el-form> + </div> + ) + } + }, +}) diff --git a/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js new file mode 100644 index 0000000..e70f08b --- /dev/null +++ b/HIAWms/hiawms_web/src/components/DyFormForHighQuery/DyFormForHighQueryOptions.js @@ -0,0 +1,19 @@ +// 瀛楃涓茬被鏌ヨ +export const FILTER_MODE_OPTIONS_STRING = [ + { label: '妯$硦鏌ヨ', value: 1 }, + { label: '绮惧噯鏌ヨ', value: 2 }, + ]; + // 鏁板瓧绫绘煡璇� +export const FILTER_MODE_OPTIONS_NUM = [ + { label: '绮惧噯鏌ヨ', value: 2 }, + { label: '澶т簬绛変簬', value: 3 }, + { label: '灏忎簬绛変簬', value: 4 }, + { label: '澶т簬', value: 5 }, + { label: '灏忎簬', value: 6 }, + { label: '涓嶇瓑浜�', value: 7 }, + ]; + // bool鏌ヨ +export const FILTER_MODE_OPTIONS_BOOL = [ + { label: '绮惧噯鏌ヨ', value: 2 }, + { label: '涓嶇瓑浜�', value: 7 }, + ]; diff --git a/HIAWms/hiawms_web/src/utils/commonOptionConstants.js b/HIAWms/hiawms_web/src/utils/commonOptionConstants.js new file mode 100644 index 0000000..d09c6d6 --- /dev/null +++ b/HIAWms/hiawms_web/src/utils/commonOptionConstants.js @@ -0,0 +1,11 @@ +// 鏄� 鍚�(楂樼骇鏌ヨ鐢�) + export const BOOLEAN_OPTIONS = [ + { label: '鏄�', value: 'true'}, + { label: '鍚�', value: 'false' }, + ]; + + // 鏄� 鍚�(鏂板銆佷慨鏀圭晫闈笓鐢�) + export const BOOLEAN_OPTIONS_AddEdit = [ + { label: '鏄�', value: true}, + { label: '鍚�', value: false }, + ]; \ No newline at end of file diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts index 3684341..4f90306 100644 --- a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterial.ts @@ -51,6 +51,11 @@ title: '', isAdd: false, }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) const dialogSettingConfig = reactive({ visible: false, @@ -149,6 +154,15 @@ sort.value = params.totalCount + 1 } + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } + const onConfirmWmsMaterial = async () => { dialogConfig.visible = false if (dialogConfig.isAdd) { @@ -170,11 +184,10 @@ /** * 瀵煎嚭 */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile('/api/v1/hIAWms/wmsMaterial/export', params, 'hIAWms') + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsMaterial/export', data, '鐗╂枡鍩虹') } - /** * 鍏抽敭瀛楁悳绱� */ @@ -236,6 +249,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, dialogSettingConfig, tableRef, current, @@ -253,6 +267,7 @@ onRowClick, onConfirmWmsMaterial, onCheck, + onAdvancedQuery, onAddWmsMaterial, } } diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx new file mode 100644 index 0000000..be02cb5 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx @@ -0,0 +1,567 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsMaterialDrawer } from '../Models/WmsMaterialDrawer' +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 useWmsMaterialQueryDrawer = (props: any, ctx?: any) => { + const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + const initiateData: Ref<Record<string, any>> = ref({}) + const formData = ref<Record<string, any>>({}) + // ref + const formRef = ref() + + const disabled = ref(false) + + const current = computed(() => { + return props.row || null + }) + + const inputNumber = (attrs) => { + return ( + <el-input-number + min="1" + step="1" + precision="0" + {...attrs} + ></el-input-number> + ) + } + + const datePickerRange = (attrs) => { + return ( + <el-date-picker + type="daterange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const dateTimePickerRange = (attrs) => { + return ( + <el-date-picker + type="datetimerange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const visible = computed({ + get() { + return props.modelValue + }, + set(val) { + ctx.emit('update:modelValue', val) + }, + }) + /** + * 楂樼骇鏌ヨ鐨刦orm瀛楁 + */ + const formItems = reactive([ + // { + // label: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�', + // prop: 'materialCode', + // el: 'input', + // //disabled: disabled, + // placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�', + // highSelectAttrs: { + // prop: 'materialCode_FilterMode', + // el: 'select', + // placeholder: '璇烽�夋嫨', + // options: FILTER_MODE_OPTIONS_STRING, + // }, + // }, + { + label: '鐗╂枡缂栫爜', + prop: 'materialNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�', + highSelectAttrs: { + prop: 'materialNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鐗╂枡鍚嶇О', + prop: 'materialName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', + highSelectAttrs: { + prop: 'materialName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '閲囪喘绫诲瀷', + prop: 'purchaseType', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ラ噰璐被鍨�', + highSelectAttrs: { + prop: 'purchaseType_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鐗╂枡绫诲瀷', + prop: 'materialType', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ョ墿鏂欑被鍨�', + highSelectAttrs: { + prop: 'materialType_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '涓诲崟浣�', + prop: 'primaryUnit', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ富鍗曚綅锛堝锛歬g銆乵銆佷釜锛�', + highSelectAttrs: { + prop: 'primaryUnit_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '瑙勬牸/鏍囧噯', + prop: 'standard', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯', + highSelectAttrs: { + prop: 'standard_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '澶栧緞锛堝崟浣嶏細mm锛�', + prop: 'outerDiameter', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ寰勶紙鍗曚綅锛歮m锛�', + highSelectAttrs: { + prop: 'outerDiameter_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '澹佸帤锛堝崟浣嶏細mm锛�', + prop: 'wallThickness', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ鍘氾紙鍗曚綅锛歮m锛�', + highSelectAttrs: { + prop: 'wallThickness_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '鏉愯川', + prop: 'materialQuality', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ユ潗璐紙濡傦細304涓嶉攬閽級', + highSelectAttrs: { + prop: 'materialQuality_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '闀垮害锛堝崟浣嶏細m锛�', + prop: 'length', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�', + highSelectAttrs: { + prop: 'length_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '鏄惁涓轰富鏀', + prop: 'isMainBranch', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ槸鍚︿负涓绘敮绠�', + highSelectAttrs: { + prop: 'isMainBranch_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鐢熶骇宸ュ巶', + prop: 'factory', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ敓浜у伐鍘�', + highSelectAttrs: { + prop: 'factory_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '璇佷功缂栧彿', + prop: 'certification', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�', + highSelectAttrs: { + prop: 'certification_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: 'materialModel', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ瀷鍙�', + highSelectAttrs: { + prop: 'materialModel_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + ]) + /** + * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� + */ + const checkIsEqualObject = () => { + const data = { + formData: formData.value, + } + const check = isEqual(initiateData.value, data) + return check + } + const commonGetFormData = () => { + const data = { + materialCode: formData.value.materialCode || '', + materialCode_FilterMode: formData.value.materialCode_FilterMode || '', + materialNo: formData.value.materialNo || '', + materialNo_FilterMode: formData.value.materialNo_FilterMode || '', + materialName: formData.value.materialName || '', + materialName_FilterMode: formData.value.materialName_FilterMode || '', + purchaseType: formData.value.purchaseType || '', + purchaseType_FilterMode: formData.value.purchaseType_FilterMode || '', + materialType: formData.value.materialType || '', + materialType_FilterMode: formData.value.materialType_FilterMode || '', + primaryUnit: formData.value.primaryUnit || '', + primaryUnit_FilterMode: formData.value.primaryUnit_FilterMode || '', + standard: formData.value.standard || '', + standard_FilterMode: formData.value.standard_FilterMode || '', + outerDiameter: formData.value.outerDiameter || '', + outerDiameter_FilterMode: formData.value.outerDiameter_FilterMode || '', + wallThickness: formData.value.wallThickness || '', + wallThickness_FilterMode: formData.value.wallThickness_FilterMode || '', + materialQuality: formData.value.materialQuality || '', + materialQuality_FilterMode: + formData.value.materialQuality_FilterMode || '', + length: formData.value.length || '', + length_FilterMode: formData.value.length_FilterMode || '', + isMainBranch: formData.value.isMainBranch || '', + isMainBranch_FilterMode: formData.value.isMainBranch_FilterMode || '', + factory: formData.value.factory || '', + factory_FilterMode: formData.value.factory_FilterMode || '', + certification: formData.value.certification || '', + certification_FilterMode: formData.value.certification_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 || '', + materialModel: formData.value.materialModel || '', + materialModel_FilterMode: formData.value.materialModel_FilterMode || '', + } + return data + } + const onClose = (done: () => void) => { + if (visible.value) { + visible.value = false + const data = commonGetFormData() + ctx.emit('close', data) + } + } + /** + * 纭鏌ヨ + */ + const onConfirmQuery = async () => { + const data = commonGetFormData() + ctx.emit('confirmQuery', data) + } + /** + * 閲嶇疆鍏叡select鏌ヨ + */ + const onResetForHighSelect = async () => { + formData.value.materialCode_FilterMode = 1 + formData.value.materialNo_FilterMode = 1 + formData.value.materialName_FilterMode = 1 + formData.value.purchaseType_FilterMode = 2 + formData.value.materialType_FilterMode = 2 + formData.value.primaryUnit_FilterMode = 1 + formData.value.standard_FilterMode = 1 + formData.value.outerDiameter_FilterMode = 2 + formData.value.wallThickness_FilterMode = 2 + formData.value.materialQuality_FilterMode = 1 + formData.value.length_FilterMode = 2 + formData.value.isMainBranch_FilterMode = 2 + formData.value.factory_FilterMode = 1 + formData.value.certification_FilterMode = 1 + formData.value.redundantField1_FilterMode = 1 + formData.value.redundantField2_FilterMode = 1 + formData.value.redundantField3_FilterMode = 1 + formData.value.remark_FilterMode = 1 + formData.value.materialModel_FilterMode = 1 + } + /** + * 閲嶇疆鏌ヨ + */ + const onReset = async () => { + formData.value = {} + onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ + // formData.value.materialCode = '' + formData.value.materialNo = '' + formData.value.materialName = '' + formData.value.purchaseType = '' + formData.value.materialType = '' + formData.value.primaryUnit = '' + formData.value.standard = '' + formData.value.outerDiameter = '' + formData.value.wallThickness = '' + formData.value.materialQuality = '' + formData.value.length = '' + formData.value.isMainBranch = '' + formData.value.factory = '' + formData.value.certification = '' + formData.value.redundantField1 = '' + formData.value.redundantField2 = '' + formData.value.redundantField3 = '' + formData.value.remark = '' + formData.value.creationTime = '' + formData.value.lastModificationTime = '' + formData.value.materialModel = '' + //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + ctx.emit('restQuery') + } + + const updateCheckData = () => { + initiateData.value = { + formData: { + ...formData.value, + }, + } + } + const updateFormItemOptions = (propName: string, enumData: any[]) => { + const item = formItems.find((item) => item.prop === propName) + if (item && enumData) { + item.options = enumData.map((item) => ({ + label: item.description, + value: item.value, + })) + } + } + /** + * 閫氱敤鏌ヨ鏋氫妇 + */ + const commonQueryEnumForFrom = async () => { + const purchaseTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ + EnumName: 'PurchaseTypeEnum', + }) + updateFormItemOptions('purchaseType', purchaseTypeEnumEnum) + const materialTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ + EnumName: 'MaterialTypeEnum', + }) + updateFormItemOptions('materialType', materialTypeEnumEnum) + const yesNoEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + updateFormItemOptions('isMainBranch', yesNoEnumEnum) + } + 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/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts new file mode 100644 index 0000000..8302c94 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsMaterial = (data: any) => { + return request.post('/api/v1/HIAWms/wmsMaterial', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsMaterial = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsMaterial/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsMaterial = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsMaterial/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts new file mode 100644 index 0000000..9818421 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsMaterial, + getWmsMaterial, + updateWmsMaterial, + getWmsEnumData, +} from './Service/WmsMaterialQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsMaterialQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsMaterial: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsMaterial(data: Record<string, any>) { + return addWmsMaterial(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsMaterial(id: string, data: Record<string, any>) { + return updateWmsMaterial(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsMaterialDetail(current: any, id?: string) { + return getWmsMaterial(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx new file mode 100644 index 0000000..6fd52e9 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� + */ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsMaterialQueryDrawer.module.scss' +import { useWmsMaterialQueryDrawer } from '../../../../Controllers/WmsMaterialQueryDrawer.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, + } = useWmsMaterialQueryDrawer(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="150px" + formItemProps={formItems} + ></DyFormForHighQuery> + </BaseQueryDrawer> + ) + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss index 797e47c..019a625 100644 --- a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss @@ -1,113 +1,113 @@ -.wmsMaterialContent { - width: 100%; - height: 90%; - - .wmsMaterialList { - width: 100%; - height: calc(100% - 70px); - } - .headerContent { - display: flex; - justify-content: space-between; - align-items: center; - height: 43px; - } - .header { - margin-bottom: 12px; - display: flex; - justify-content: flex-start; - align-items: center; - } -} - -.tagBox { - width: auto; - min-width: 80px; - height: 24px; - background: #ffffff; - border-radius: 19px 19px 19px 19px; - opacity: 1; - border: 1px dashed #bcc4cc; - width: 50px; - height: 20px; - font-size: 14px; - font-family: PingFang SC, PingFang SC; - font-weight: 400; - color: #5a84ff; - display: flex; - justify-content: center; - align-items: center; - // cursor: pointer; -} - -.group { - display: flex; - justify-content: space-between; - align-items: center; -} - -.groupTable { - width: 100%; -} - -.overBox { - width: 100%; - height: calc(100% - 20px); - overflow: auto; - :global(.cs-collapse-item__header) { - background-color: #f1f1f1; - padding: 0 20px; - height: 35px; - font-size: 16px; - font-family: PingFang SC, PingFang SC; - font-weight: 500; - } - :global(.cs-collapse-item__content) { - padding-bottom: 0px; - } -} -.groupHeader { - width: 100%; - height: 30px; - background: #ccc; -} - -.hideBlock { - display: none; -} -.queryForm { - padding: 10px; - background: #f5f7fa; - margin-bottom: 0px; - border-radius: 4px; - - .el-form-item { - margin-right: 20px; - margin-bottom: 0; - - // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 - .el-input, .el-select { - width: 200px; // 璁剧疆缁熶竴鐨勫搴� - } - - // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 - .el-select .el-input__wrapper { - height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� - padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� - } - - // 鏃ユ湡閫夋嫨鍣ㄥ搴� - .el-date-editor { - width: 220px; - } - } -} - -// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 -.formItem { - width: 200px; - - &.el-input, &.el-select { - width: 100%; - } -} \ No newline at end of file +.wmsMaterialContent { + width: 100%; + height: 100%; + + .wmsMaterialList { + width: 100%; + height: calc(100% - 70px); + } + .headerContent { + display: flex; + justify-content: space-between; + align-items: center; + height: 43px; + } + .header { + margin-bottom: 12px; + display: flex; + justify-content: flex-end; + align-items: center; + } +} + +.tagBox { + width: auto; + min-width: 80px; + height: 24px; + background: #ffffff; + border-radius: 19px 19px 19px 19px; + opacity: 1; + border: 1px dashed #bcc4cc; + width: 50px; + height: 20px; + font-size: 14px; + font-family: PingFang SC, PingFang SC; + font-weight: 400; + color: #5a84ff; + display: flex; + justify-content: center; + align-items: center; + // cursor: pointer; +} + +.group { + display: flex; + justify-content: space-between; + align-items: center; +} + +.groupTable { + width: 100%; +} + +.overBox { + width: 100%; + height: calc(100% - 20px); + overflow: auto; + :global(.cs-collapse-item__header) { + background-color: #f1f1f1; + padding: 0 20px; + height: 35px; + font-size: 16px; + font-family: PingFang SC, PingFang SC; + font-weight: 500; + } + :global(.cs-collapse-item__content) { + padding-bottom: 0px; + } +} +.groupHeader { + width: 100%; + height: 30px; + background: #ccc; +} + +.hideBlock { + display: none; +} +.queryForm { + padding: 10px; + background: #f5f7fa; + margin-bottom: 0px; + border-radius: 4px; + + .el-form-item { + margin-right: 20px; + margin-bottom: 0; + + // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 + .el-input, .el-select { + width: 200px; // 璁剧疆缁熶竴鐨勫搴� + } + + // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 + .el-select .el-input__wrapper { + height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� + padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� + } + + // 鏃ユ湡閫夋嫨鍣ㄥ搴� + .el-date-editor { + width: 220px; + } + } +} + +// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 +.formItem { + width: 200px; + + &.el-input, &.el-select { + width: 100%; + } +} diff --git a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx index 7acaa1b..4ed5702 100644 --- a/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx +++ b/HIAWms/hiawms_web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx @@ -9,6 +9,7 @@ import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' +import dayjs from 'dayjs' import { getWmsEnumData, getWmsDataList, @@ -22,6 +23,8 @@ ElFormItem, } from 'element-plus' import { injectModel } from '@/libs/Provider/Provider' +import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' +import WmsMaterialQueryDrawer from '../Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer' interface RenderTableType { url?: string @@ -43,6 +46,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -51,6 +55,7 @@ onError, onSearch, onRowClick, + onAdvancedQuery, onConfirmWmsMaterial, onCheck, onAddWmsMaterial, @@ -60,45 +65,46 @@ onBeforeUpload, } = useWmsMaterial(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsMaterialQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - materialNo: '', - materialName: '', - materialType: '', - purchaseType: '', - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', }) - - const queryParams = computed(() => ({ - ...queryForm.value, - materialType: queryForm.value.materialType || '', // 澶勭悊涓嬫媺 - purchaseType: queryForm.value.purchaseType || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['MaterialNo', 'MaterialName']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鍙�/鐗╂枡鍚嶇О') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ - materialType: [] as Array<{ label: string; value: any }>, purchaseType: [] as Array<{ label: string; value: any }>, + materialType: [] as Array<{ label: string; value: any }>, isMainBranch: [] as Array<{ label: string; value: any }>, }) // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const materialTypeData = await getWmsEnumData({ - EnumName: 'MaterialTypeEnum', + const purchaseTypeEnumData = await getWmsEnumData({ + EnumName: 'PurchaseTypeEnum', }) - enumOptions.materialType = materialTypeData.map((item) => ({ + enumOptions.purchaseType = purchaseTypeEnumData.map((item) => ({ label: item.description, value: item.value, })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const purchaseTypeData = await getWmsEnumData({ - EnumName: 'PurchaseTypeEnum', + const materialTypeEnumData = await getWmsEnumData({ + EnumName: 'MaterialTypeEnum', }) - enumOptions.purchaseType = purchaseTypeData.map((item) => ({ + enumOptions.materialType = materialTypeEnumData.map((item) => ({ + label: item.description, + value: item.value, + })) + const yesNoEnumData = await getWmsEnumData({ + EnumName: 'YesNoEnum', + }) + enumOptions.isMainBranch = yesNoEnumData.map((item) => ({ label: item.description, value: item.value, })) @@ -107,27 +113,79 @@ } } + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + 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 () => { - 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 = { - materialNo: '', - materialName: '', - materialType: '', - purchaseType: '', - 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 } /** @@ -153,7 +211,7 @@ <BaseTable ref={tableRef} url={url} - sortUrlTpl="/api/v1/hIAWms/wmsMaterial/{id}/adjustsort/{sort}" + sortUrlTpl="/api/v1/HIAWms/wmsMaterial/{id}/adjustsort/{sort}" v-model:dataSource={dataSource.value} columns={columns} contextMenu={contextMenu} @@ -166,6 +224,57 @@ isHidePagination={isHidePagination} pageSize={20} v-slots={{ + isDisabled: ({ row }: any) => { + return ( + <div> + {row.isDisabled != null + ? row.isDisabled + ? '鏄�' + : '鍚�' + : '-'} + </div> + ) + }, + creationTime: ({ row }: any) => { + return ( + <div> + {row.creationTime != null + ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, + lastModificationTime: ({ row }: any) => { + return ( + <div> + {row.lastModificationTime != null + ? dayjs(row.lastModificationTime).format( + 'YYYY-MM-DD HH:mm:ss' + ) + : '-'} + </div> + ) + }, + isDeleted: ({ row }: any) => { + return ( + <div> + {row.isDeleted != null + ? row.isDeleted + ? '鏄�' + : '鍚�' + : '-'} + </div> + ) + }, + deletionTime: ({ row }: any) => { + return ( + <div> + {row.deletionTime != null + ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, name: ({ row }: any) => { return row?.name ? ( <TdButton @@ -198,95 +307,17 @@ sort={sort.value} onConfirm={onConfirmWmsMaterial} /> - - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <ElForm - inline - model={queryForm.value} - class={styles.queryForm} - label-width="80px" - > - <ElFormItem label="鍏抽敭瀛�"> - <ElInput - v-model={queryForm.value.filter} - placeholder="璇疯緭鍏ュ叧閿瓧鎼滅储" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="鐗╂枡缂栫爜"> - <ElInput - v-model={queryForm.value.materialNo} - placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="鐗╂枡鍚嶇О"> - <ElInput - v-model={queryForm.value.materialName} - placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="鐗╂枡绫诲瀷"> - <ElSelect - v-model={queryForm.value.materialType} - placeholder="璇烽�夋嫨鐗╂枡绫诲瀷" - clearable - loading={enumOptions.materialType.length === 0} - class={styles.formItem} - > - {enumOptions.materialType.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="閲囪喘绫诲瀷"> - <ElSelect - v-model={queryForm.value.purchaseType} - placeholder="璇烽�夋嫨閲囪喘绫诲瀷" - clearable - loading={enumOptions.purchaseType.length === 0} - class={styles.formItem} - > - {enumOptions.purchaseType.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> + {/* 楂樼骇鏌ヨ */} + <WmsMaterialQueryDrawer + ref="wmsMaterialQueryDrawerRef" + 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}> @@ -299,6 +330,7 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> + <el-upload v-permission="wmsMaterial-import" name="file" @@ -308,7 +340,7 @@ onSuccess={onSuccess} before-upload={onBeforeUpload} headers={headers.value} - action="/api/v1/hIAWms/wmsMaterial/import" + action="/api/v1/HIAWms/wmsMaterial/import" > <IconButton icon="in">瀵煎叆</IconButton> </el-upload> @@ -316,21 +348,65 @@ <IconButton v-permission="wmsMaterial-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="wmsMaterial-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> <RenderBaseTable - url="/api/v1/hIAWms/wmsMaterial/page" + url="/api/v1/HIAWms/wmsMaterial/page" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts index 97ecbec..65b9471 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainer.ts @@ -51,7 +51,11 @@ title: '', isAdd: false, }) - + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) const dialogSettingConfig = reactive({ visible: false, title: '', @@ -149,6 +153,15 @@ sort.value = params.totalCount + 1 } + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } + const onConfirmWmsContainer = async () => { dialogConfig.visible = false if (dialogConfig.isAdd) { @@ -167,12 +180,13 @@ current.value = row } } - /** - * 瀵煎嚭 - */ - const onExport = () => { - const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsContainer/export', params, 'wmsContainer') + /** + + * 瀵煎嚭 + */ + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsContainer/export', data, '鎵樼洏绠$悊') } /** @@ -241,6 +255,7 @@ current, search, sort, + dialogConfigForQuery, wmsContainerColumns, paginationParams, headers, @@ -253,6 +268,7 @@ onRowClick, onConfirmWmsContainer, onCheck, + onAdvancedQuery, onAddWmsContainer, } } diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx new file mode 100644 index 0000000..740cf10 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Controllers/WmsContainerQueryDrawer.tsx @@ -0,0 +1,581 @@ +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsContainerDrawer } from '../Models/WmsContainerDrawer' +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 useWmsContainerQueryDrawer = (props: any, ctx?: any) => { + const wmsContainerDrawer = + injectModel<WmsContainerDrawer>('WmsContainerDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + const initiateData: Ref<Record<string, any>> = ref({}) + const formData = ref<Record<string, any>>({}) + // ref + const formRef = ref() + + const disabled = ref(false) + + const current = computed(() => { + return props.row || null + }) + + const inputNumber = (attrs) => { + return ( + <el-input-number + min="1" + step="1" + precision="0" + {...attrs} + ></el-input-number> + ) + } + + const datePickerRange = (attrs) => { + return ( + <el-date-picker + type="daterange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const dateTimePickerRange = (attrs) => { + return ( + <el-date-picker + type="datetimerange" + value-format="YYYY-MM-DD HH:mm:ss" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + {...attrs} + ></el-date-picker> + ) + } + + const visible = computed({ + get() { + return props.modelValue + }, + set(val) { + ctx.emit('update:modelValue', val) + }, + }) + /** + * 楂樼骇鏌ヨ鐨刦orm瀛楁 + */ + const formItems = reactive([ + { + label: '鎵樼洏缂栧彿', + prop: 'containerNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', + highSelectAttrs: { + prop: 'containerNo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_STRING, + }, + }, + { + label: '鎵樼洏绫诲瀷', + prop: 'containerType', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ墭鐩樼被鍨�', + highSelectAttrs: { + prop: 'containerType_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '鎵樼洏鐘舵��', + prop: 'containerStatus', + el: 'select', + clearable: true, + option: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ墭鐩樼姸鎬�', + highSelectAttrs: { + prop: 'containerStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_BOOL, + }, + }, + { + label: '闀垮害', + prop: 'specLength', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ暱搴�', + highSelectAttrs: { + prop: 'specLength_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '瀹藉害', + prop: 'specWidth', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ュ搴�', + highSelectAttrs: { + prop: 'specWidth_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '楂樺害', + prop: 'specHeight', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ珮搴�', + highSelectAttrs: { + prop: 'specHeight_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '闄愰暱', + prop: 'limitLength', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ檺闀�', + highSelectAttrs: { + prop: 'limitLength_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '闄愬', + prop: 'limitWidth', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ檺瀹�', + highSelectAttrs: { + prop: 'limitWidth_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '闄愰珮', + prop: 'limitHeight', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ラ檺楂�', + highSelectAttrs: { + prop: 'limitHeight_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + { + label: '杞介噸涓婇檺', + prop: 'maxWeight', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 0.01, + precision: 2, + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ浇閲嶄笂闄�', + highSelectAttrs: { + prop: 'maxWeight_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options: FILTER_MODE_OPTIONS_NUM, + }, + }, + // { + // label: '寮傚父鏁伴噺', + // prop: 'exceptionNumber', + // el: (props: any, { attrs }: SetupContext) => { + // return h(inputNumber, { + // ...props, + // clearable: true, + // ...attrs, + // }) + // }, + // width: '100%', + // step: 1, + // precision: 0, + // //disabled: disabled, + // placeholder: '璇疯緭鍏ュ紓甯告暟閲�', + // highSelectAttrs: { + // prop: 'exceptionNumber_FilterMode', + // el: 'select', + // placeholder: '璇烽�夋嫨', + // options: FILTER_MODE_OPTIONS_NUM, + // }, + // }, + // { + // label: '鐗╂枡鏁伴噺', + // prop: 'materialNumber', + // el: (props: any, { attrs }: SetupContext) => { + // return h(inputNumber, { + // ...props, + // clearable: true, + // ...attrs, + // }) + // }, + // width: '100%', + // step: 1, + // precision: 0, + // //disabled: disabled, + // placeholder: '璇疯緭鍏ョ墿鏂欐暟閲�', + // highSelectAttrs: { + // prop: 'materialNumber_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: '鍐椾綑瀛楁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 = { + containerNo: formData.value.containerNo || '', + containerNo_FilterMode: formData.value.containerNo_FilterMode || '', + containerType: formData.value.containerType || '', + containerType_FilterMode: formData.value.containerType_FilterMode || '', + containerStatus: formData.value.containerStatus || '', + containerStatus_FilterMode: + formData.value.containerStatus_FilterMode || '', + specLength: formData.value.specLength || '', + specLength_FilterMode: formData.value.specLength_FilterMode || '', + specWidth: formData.value.specWidth || '', + specWidth_FilterMode: formData.value.specWidth_FilterMode || '', + specHeight: formData.value.specHeight || '', + specHeight_FilterMode: formData.value.specHeight_FilterMode || '', + limitLength: formData.value.limitLength || '', + limitLength_FilterMode: formData.value.limitLength_FilterMode || '', + limitWidth: formData.value.limitWidth || '', + limitWidth_FilterMode: formData.value.limitWidth_FilterMode || '', + limitHeight: formData.value.limitHeight || '', + limitHeight_FilterMode: formData.value.limitHeight_FilterMode || '', + maxWeight: formData.value.maxWeight || '', + maxWeight_FilterMode: formData.value.maxWeight_FilterMode || '', + exceptionNumber: formData.value.exceptionNumber || '', + exceptionNumber_FilterMode: + formData.value.exceptionNumber_FilterMode || '', + materialNumber: formData.value.materialNumber || '', + materialNumber_FilterMode: formData.value.materialNumber_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.containerNo_FilterMode = 1 + formData.value.containerType_FilterMode = 2 + formData.value.containerStatus_FilterMode = 2 + formData.value.specLength_FilterMode = 2 + formData.value.specWidth_FilterMode = 2 + formData.value.specHeight_FilterMode = 2 + formData.value.limitLength_FilterMode = 2 + formData.value.limitWidth_FilterMode = 2 + formData.value.limitHeight_FilterMode = 2 + formData.value.maxWeight_FilterMode = 2 + formData.value.exceptionNumber_FilterMode = 2 + formData.value.materialNumber_FilterMode = 2 + 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.containerNo = '' + formData.value.containerType = '' + formData.value.containerStatus = '' + formData.value.specLength = '' + formData.value.specWidth = '' + formData.value.specHeight = '' + formData.value.limitLength = '' + formData.value.limitWidth = '' + formData.value.limitHeight = '' + formData.value.maxWeight = '' + formData.value.exceptionNumber = '' + formData.value.materialNumber = '' + 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 () => { + const containerTypeEnumEnum = await wmsContainerDrawer.getWmsEnumData({ + EnumName: 'ContainerTypeEnum', + }) + updateFormItemOptions('containerType', containerTypeEnumEnum) + const containerStatusEnumEnum = await wmsContainerDrawer.getWmsEnumData({ + EnumName: 'ContainerStatusEnum', + }) + updateFormItemOptions('containerStatus', containerStatusEnumEnum) + } + 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/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts new file mode 100644 index 0000000..eb7a6bf --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/Service/WmsContainerQueryDrawer.ts @@ -0,0 +1,35 @@ +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsContainer = (data: any) => { + return request.post('/api/v1/HIAWms/wmsContainer', data) +} + +/** + * 鑾峰彇璇︽儏 + * @returns + */ +export const getWmsContainer = (id: string) => { + return request.get(`/api/v1/HIAWms/wmsContainer/${id}`) +} + +/** + * 鏇存柊 + * @returns + */ +export const updateWmsContainer = (id: string, data: Record<string, any>) => { + return request.put(`/api/v1/HIAWms/wmsContainer/${id}`, data) +} + +/** + * 鑾峰彇鏋氫妇 + * @returns + */ +export const getWmsEnumData = (data: any) => { + return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data) +} + diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts new file mode 100644 index 0000000..9e228e8 --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Models/WmsContainerQueryDrawer.ts @@ -0,0 +1,44 @@ +import { Base } from '@/libs/Base/Base' +import { + addWmsContainer, + getWmsContainer, + updateWmsContainer, + getWmsEnumData, +} from './Service/WmsContainerQueryDrawer' +import { useGlobalState } from '@/libs/Store/Store' + +export class WmsContainerQueryDrawer extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + wmsContainer: {}, + }) + } + + /** + * 娣诲姞 + * @param data + */ + async addWmsContainer(data: Record<string, any>) { + return addWmsContainer(data) + } + /** + * 鏇存柊 + * @param data + */ + async updateWmsContainer(id: string, data: Record<string, any>) { + return updateWmsContainer(id, data) + } + + /** + * 鑾峰彇璇︽儏 + */ + async getWmsContainerDetail(current: any, id?: string) { + return getWmsContainer(id || current?.id) + } + + // 鑾峰彇鏋氫妇鍊� + async getWmsEnumData(data: Record<string, any>) { + return getWmsEnumData(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss new file mode 100644 index 0000000..177adca --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.module.scss @@ -0,0 +1,3 @@ +.drawer { + width: 800px; +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx new file mode 100644 index 0000000..5ba197d --- /dev/null +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer.tsx @@ -0,0 +1,71 @@ +/* + * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� +*/ +import { SetupContext, defineComponent } from 'vue' +import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' +import styles from './WmsContainerQueryDrawer.module.scss' +import { useWmsContainerQueryDrawer } from '../../../../Controllers/WmsContainerQueryDrawer.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, + } = useWmsContainerQueryDrawer(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/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss index a3049f6..d460aba 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.module.scss @@ -1,114 +1,113 @@ -.wmsContainerContent { - width: 100%; - height: 90%; - - .wmsContainerList { - width: 100%; - height: calc(100% - 70px); - } - .headerContent { - display: flex; - justify-content: space-between; - align-items: center; - height: 43px; - } - .header { - margin-bottom: 12px; - display: flex; - justify-content: flex-start; - align-items: center; - } -} - -.tagBox { - width: auto; - min-width: 80px; - height: 24px; - background: #ffffff; - border-radius: 19px 19px 19px 19px; - opacity: 1; - border: 1px dashed #bcc4cc; - width: 50px; - height: 20px; - font-size: 14px; - font-family: PingFang SC, PingFang SC; - font-weight: 400; - color: #5a84ff; - display: flex; - justify-content: center; - align-items: center; - // cursor: pointer; -} - -.group { - display: flex; - justify-content: space-between; - align-items: center; -} - -.groupTable { - width: 100%; -} - -.overBox { - width: 100%; - height: calc(100% - 20px); - overflow: auto; - :global(.cs-collapse-item__header) { - background-color: #f1f1f1; - padding: 0 20px; - height: 35px; - font-size: 16px; - font-family: PingFang SC, PingFang SC; - font-weight: 500; - } - :global(.cs-collapse-item__content) { - padding-bottom: 0px; - } -} -.groupHeader { - width: 100%; - height: 30px; - background: #ccc; -} - -.hideBlock { - display: none; -} - -.queryForm { - padding: 10px; - background: #f5f7fa; - margin-bottom: 0px; - border-radius: 4px; - - .el-form-item { - margin-right: 20px; - margin-bottom: 0; - - // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 - .el-input, .el-select { - width: 200px; // 璁剧疆缁熶竴鐨勫搴� - } - - // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 - .el-select .el-input__wrapper { - height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� - padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� - } - - // 鏃ユ湡閫夋嫨鍣ㄥ搴� - .el-date-editor { - width: 220px; - } - } -} - -// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 -.formItem { - width: 200px; - - &.el-input, &.el-select { - width: 100%; - } -} \ No newline at end of file +.wmsContainerContent { + width: 100%; + height: 100%; + + .wmsContainerList { + width: 100%; + height: calc(100% - 70px); + } + .headerContent { + display: flex; + justify-content: space-between; + align-items: center; + height: 43px; + } + .header { + margin-bottom: 12px; + display: flex; + justify-content: flex-end; + align-items: center; + } +} + +.tagBox { + width: auto; + min-width: 80px; + height: 24px; + background: #ffffff; + border-radius: 19px 19px 19px 19px; + opacity: 1; + border: 1px dashed #bcc4cc; + width: 50px; + height: 20px; + font-size: 14px; + font-family: PingFang SC, PingFang SC; + font-weight: 400; + color: #5a84ff; + display: flex; + justify-content: center; + align-items: center; + // cursor: pointer; +} + +.group { + display: flex; + justify-content: space-between; + align-items: center; +} + +.groupTable { + width: 100%; +} + +.overBox { + width: 100%; + height: calc(100% - 20px); + overflow: auto; + :global(.cs-collapse-item__header) { + background-color: #f1f1f1; + padding: 0 20px; + height: 35px; + font-size: 16px; + font-family: PingFang SC, PingFang SC; + font-weight: 500; + } + :global(.cs-collapse-item__content) { + padding-bottom: 0px; + } +} +.groupHeader { + width: 100%; + height: 30px; + background: #ccc; +} + +.hideBlock { + display: none; +} +.queryForm { + padding: 10px; + background: #f5f7fa; + margin-bottom: 0px; + border-radius: 4px; + + .el-form-item { + margin-right: 20px; + margin-bottom: 0; + + // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 + .el-input, .el-select { + width: 200px; // 璁剧疆缁熶竴鐨勫搴� + } + + // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 + .el-select .el-input__wrapper { + height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� + padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� + } + + // 鏃ユ湡閫夋嫨鍣ㄥ搴� + .el-date-editor { + width: 220px; + } + } +} + +// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 +.formItem { + width: 200px; + + &.el-input, &.el-select { + width: 100%; + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx index d3fe7d2..4abdbe0 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsContainer/Views/Pages/WmsContainer/WmsContainer.tsx @@ -5,12 +5,24 @@ import { useWmsContainer } from '../../../Controllers/WmsContainer' import IconButton from '@/components/IconButton/IconButton' import WmsContainerDrawer from '../Dialog/WmsContainerDrawer/WmsContainerDrawer' +import WmsContainerQueryDrawer from '../Dialog/WmsContainerQueryDrawer/WmsContainerQueryDrawer' import Search from '@/components/Search/Search' import { columns } from './Config' import TdButton from '@/components/TdButton/TdButton' import { vPermission } from '@/libs/Permission/Permission' -import { getWmsEnumData } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' -import { ElForm, ElFormItem, ElInput, ElOption, ElSelect } from 'element-plus' +import dayjs from 'dayjs' +import { getWmsEnumData } from '@/widgets/WmsContainer/Models/Service/WmsContainerDrawer' +import { + ElInput, + ElSelect, + ElOption, + ElDatePicker, + ElForm, + ElFormItem, +} from 'element-plus' +import { injectModel } from '@/libs/Provider/Provider' +// 寮曞叆鍏叡閫夐」閰嶇疆 +import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions' interface RenderTableType { url?: string @@ -32,6 +44,7 @@ dataSource, contextMenu, dialogConfig, + dialogConfigForQuery, tableRef, current, search, @@ -43,25 +56,24 @@ onConfirmWmsContainer, onCheck, onAddWmsContainer, + onAdvancedQuery, onExport, openDetail, onSuccess, onBeforeUpload, } = useWmsContainer(props, ctx) + //瀹氫箟楂樼骇鏌ヨ寮曠敤 + const wmsContainerQueryDrawerRef = ref(null) // 鏂板鐨勬煡璇㈡潯浠� const queryForm = ref({ - containerNo: '', - containerType: '', - containerStatus: '', - filter: '', + searchVal: '', + str_searchFormInputAttrs: [], + searchVal_FilterMode: '', }) - - const queryParams = computed(() => ({ - ...queryForm.value, - containerType: queryForm.value.containerType || '', // 澶勭悊涓嬫媺 - containerStatus: queryForm.value.containerStatus || '', - })) + //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) + const _searchFormInputAttrs = ref(['ContainerNo']) + const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ユ墭鐩樼紪鍙�') // 鍔ㄦ�佹灇涓鹃�夐」 const enumOptions = reactive({ @@ -72,20 +84,17 @@ // 鑾峰彇鏋氫妇鏁版嵁 const fetchEnumData = async () => { try { - // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇 - const containerTypeData = await getWmsEnumData({ + const containerTypeEnumData = await getWmsEnumData({ EnumName: 'ContainerTypeEnum', }) - enumOptions.containerType = containerTypeData.map((item) => ({ + enumOptions.containerType = containerTypeEnumData.map((item) => ({ label: item.description, value: item.value, })) - - // 鑾峰彇閲囪喘绫诲瀷鏋氫妇 - const containerStatusData = await getWmsEnumData({ + const containerStatusEnumData = await getWmsEnumData({ EnumName: 'ContainerStatusEnum', }) - enumOptions.containerStatus = containerStatusData.map((item) => ({ + enumOptions.containerStatus = containerStatusEnumData.map((item) => ({ label: item.description, value: item.value, })) @@ -94,26 +103,79 @@ } } + // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� + 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 () => { - 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 = { - containerNo: '', - containerType: '', - containerStatus: '', - 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 } /** @@ -129,7 +191,7 @@ params, autoHeight, } = props - console.log(dataSource.value) + return ( <div class={{ @@ -150,8 +212,59 @@ onCheck={onCheck} onRowClick={onRowClick} isHidePagination={isHidePagination} - pageSize={50} + pageSize={20} v-slots={{ + isDisabled: ({ row }: any) => { + return ( + <div> + {row.isDisabled != null + ? row.isDisabled + ? '鏄�' + : '鍚�' + : '-'} + </div> + ) + }, + creationTime: ({ row }: any) => { + return ( + <div> + {row.creationTime != null + ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, + lastModificationTime: ({ row }: any) => { + return ( + <div> + {row.lastModificationTime != null + ? dayjs(row.lastModificationTime).format( + 'YYYY-MM-DD HH:mm:ss' + ) + : '-'} + </div> + ) + }, + isDeleted: ({ row }: any) => { + return ( + <div> + {row.isDeleted != null + ? row.isDeleted + ? '鏄�' + : '鍚�' + : '-'} + </div> + ) + }, + deletionTime: ({ row }: any) => { + return ( + <div> + {row.deletionTime != null + ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, name: ({ row }: any) => { return row?.name ? ( <TdButton @@ -172,6 +285,7 @@ </div> ) } + return () => { return ( <div class={styles.wmsContainerContent}> @@ -183,87 +297,17 @@ sort={sort.value} onConfirm={onConfirmWmsContainer} /> - - {/* 鏂板鐨勬煡璇㈣〃鍗� */} - <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.containerNo} - placeholder="璇疯緭鍏ユ墭鐩樼紪鐮�" - clearable - class={styles.formItem} - /> - </ElFormItem> - <ElFormItem label="鐗╂枡绫诲瀷"> - <ElSelect - v-model={queryForm.value.containerType} - placeholder="璇烽�夋嫨鎵樼洏绫诲瀷" - clearable - loading={enumOptions.containerType.length === 0} - class={styles.formItem} - > - {enumOptions.containerType.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - <ElFormItem label="鎵樼洏鐘舵��"> - <ElSelect - v-model={queryForm.value.containerStatus} - placeholder="璇烽�夋嫨鎵樼洏鐘舵��" - clearable - loading={enumOptions.containerStatus.length === 0} - class={styles.formItem} - > - {enumOptions.containerStatus.map((option) => ( - <ElOption - key={option.value} - label={option.label} - value={option.value} - /> - ))} - </ElSelect> - </ElFormItem> - {/* <ElFormItem label="鏃ユ湡鑼冨洿"> - <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> + {/* 楂樼骇鏌ヨ */} + <WmsContainerQueryDrawer + ref="wmsContainerQueryDrawerRef" + 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}> @@ -276,6 +320,7 @@ 娣诲姞 </IconButton> <el-divider direction="vertical" /> + <el-upload v-permission="wmsContainer-import" name="file" @@ -293,20 +338,65 @@ <IconButton v-permission="wmsContainer-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="wmsContainer-add" + icon="search" + onClick={onAdvancedQuery} + type="primary" + > + 楂樼骇鏌ヨ + </IconButton> + </ElFormItem> </div> + <RenderBaseTable - url="/api/v1/HIAWms/wmsContainer" + url="/api/v1/HIAWms/wmsContainer/page" dataSource={dataSource} isChecked={true} isDrag={true} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs index 381554b..4eb1ab8 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsContainer/GetWmsContainerInput.cs @@ -1,35 +1,292 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using Volo.Abp.Application.Dtos; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CmsQueryExtensions.Extension; +using Volo.Abp.Application.Dtos; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsContainer; + +/// <summary> +/// 鎵樼洏绠$悊鏌ヨ鍙傛暟 +/// </summary> +public class GetWmsContainerInput : ExtensiblePagedAndSortedResultRequestDto +{ + + #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> + /// 鎵樼洏缂栧彿 + /// </summary> + public string ContainerNo { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsContainer; + /// <summary> + /// 鎵樼洏缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; -/// <summary> -/// WmsContainer鏌ヨ鍙傛暟瀵硅薄 -/// </summary> -public class GetWmsContainerInput : ExtensiblePagedAndSortedResultRequestDto -{ - /// <summary> - /// Gets or sets the filter. - /// </summary> - public string Filter { get; set; } + /// <summary> + /// 鎵樼洏绫诲瀷 + /// </summary> + public ContainerTypeEnum? ContainerType { get; set; } - /// <summary> - /// Gets or sets the name. - /// </summary> - public string Name { get; set; } + /// <summary> + /// 鎵樼洏绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum ContainerType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鎵樼洏缂栧彿 - /// </summary> - public string ContainerNo { get; set; } + /// <summary> + /// 鎵樼洏鐘舵�� + /// </summary> + public ContainerStatusEnum? ContainerStatus { get; set; } - /// <summary> - /// 鎵樼洏绫诲瀷 - /// </summary> - public ContainerTypeEnum ContainerType { get; set; } + /// <summary> + /// 鎵樼洏鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum ContainerStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public ContainerStatusEnum ContainerStatus { get; set; } -} + /// <summary> + /// 闀垮害 + /// </summary> + public decimal? SpecLength { get; set; } + + /// <summary> + /// 闀垮害-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum SpecLength_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 瀹藉害 + /// </summary> + public decimal? SpecWidth { get; set; } + + /// <summary> + /// 瀹藉害-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum SpecWidth_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 楂樺害 + /// </summary> + public decimal? SpecHeight { get; set; } + + /// <summary> + /// 楂樺害-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum SpecHeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 闄愰暱 + /// </summary> + public decimal? LimitLength { get; set; } + + /// <summary> + /// 闄愰暱-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LimitLength_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 闄愬 + /// </summary> + public decimal? LimitWidth { get; set; } + + /// <summary> + /// 闄愬-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LimitWidth_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 闄愰珮 + /// </summary> + public decimal? LimitHeight { get; set; } + + /// <summary> + /// 闄愰珮-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LimitHeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 杞介噸涓婇檺 + /// </summary> + public decimal? MaxWeight { get; set; } + + /// <summary> + /// 杞介噸涓婇檺-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaxWeight_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 寮傚父鏁伴噺 + /// </summary> + public int? ExceptionNumber { get; set; } + + /// <summary> + /// 寮傚父鏁伴噺-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum ExceptionNumber_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鐗╂枡鏁伴噺 + /// </summary> + public int? MaterialNumber { get; set; } + + /// <summary> + /// 鐗╂枡鏁伴噺-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialNumber_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 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/WmsMaterial/GetWmsMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs index 21869a9..9b58a79 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs @@ -1,91 +1,322 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using Volo.Abp.Application.Dtos; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CmsQueryExtensions.Extension; +using Volo.Abp.Application.Dtos; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅鏌ヨ鍙傛暟 +/// </summary> +public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto +{ + + #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> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialCode_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; -/// <summary> -/// WmsMaterial鏌ヨ鍙傛暟瀵硅薄 -/// </summary> -public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto -{ - /// <summary> - /// Gets or sets the filter. - /// </summary> - public string Filter { get; set; } + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialNo { get; set; } - /// <summary> - /// Gets or sets the name. - /// </summary> - public string Name { get; set; } + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialNo { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public PurchaseTypeEnum? PurchaseType { get; set; } + + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum PurchaseType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public MaterialTypeEnum? MaterialType { get; set; } + + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string PrimaryUnit { get; set; } + + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum PrimaryUnit_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string Standard { get; set; } + + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Standard_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal? OuterDiameter { get; set; } + + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal? WallThickness { get; set; } + + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum WallThickness_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string MaterialQuality { get; set; } + + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialQuality_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal? Length { get; set; } + + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Length_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public YesNoEnum? IsMainBranch { get; set; } + + /// <summary> + /// 鏄惁涓轰富鏀-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsMainBranch_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; + + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string Factory { get; set; } + + /// <summary> + /// 鐢熶骇宸ュ巶-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Factory_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string Certification { get; set; } + + /// <summary> + /// 璇佷功缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Certification_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 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 MaterialModel { get; set; } + /// <summary> + /// + /// </summary> + public string CreatorId { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public PurchaseTypeEnum PurchaseType { get; set; } + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public MaterialTypeEnum MaterialType { get; set; } + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string LastModificationTime { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// + /// </summary> + public string LastModifierId { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public decimal OuterDiameter { get; set; } + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public decimal WallThickness { get; set; } + /// <summary> + /// + /// </summary> + public bool? IsDeleted { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public decimal Length { get; set; } + /// <summary> + /// + /// </summary> + public string DeleterId { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛� - /// </summary> - public YesNoEnum IsMainBranch { get; set; } + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public string DeletionTime { get; set; } - /// <summary> - /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級 - /// </summary> - public string Certification { get; set; } -} + + /// <summary> + /// 鍨嬪彿 + /// </summary> + public string MaterialModel { get; set; } + + /// <summary> + /// 鍨嬪彿-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; + + +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs index eb06985..255c248 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs @@ -1,17 +1,22 @@ -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; - -/// <summary> -/// WmsMaterial鍒涘缓鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase -{ - /// <summary> - /// 鎺掑簭 - /// </summary> - public virtual int? Sort { get; set; } - - /// <summary> - /// 鏄惁绂佺敤 - /// </summary> - public bool? IsDisabled { get; set; } = false; -} +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅鍒涘缓鍙傛暟瀵硅薄 +/// </summary> +public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase +{ + /// <summary> + /// 鎺掑簭 + /// </summary> + public virtual int? Sort { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } = false; + + /// <summary> + /// 鍒涘缓浜� + /// </summary> + public string CreatorName { get; set; } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs index 4193a03..407c538 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs @@ -1,105 +1,140 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using Volo.Abp.Application.Dtos; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using System; +using Volo.Abp.Application.Dtos; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅鍒涘缓鎴栨洿鏂板熀绫� +/// </summary> +public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto +{ + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialNo { get; set; } -/// <summary> -/// WmsMaterial鍒涘缓鎴栨洿鏂板熀绫� -/// </summary> -public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto -{ - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialNo { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public PurchaseTypeEnum PurchaseType { get; set; } - /// <summary> - /// 鍨嬪彿 - /// </summary> - public string MaterialModel { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public PurchaseTypeEnum PurchaseType { get; set; } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public MaterialTypeEnum MaterialType { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public MaterialTypeEnum MaterialType { get; set; } + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string? PrimaryUnit { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string? Standard { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal OuterDiameter { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public decimal OuterDiameter { get; set; } + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal WallThickness { get; set; } - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public decimal WallThickness { get; set; } + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string? MaterialQuality { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal Length { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public decimal Length { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public YesNoEnum IsMainBranch { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛� - /// </summary> - public YesNoEnum IsMainBranch { get; set; } + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string? Factory { get; set; } - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string? Certification { get; set; } - /// <summary> - /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級 - /// </summary> - public string Certification { get; set; } + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField1 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField1 { get; set; } + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField2 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField2 { get; set; } + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField3 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField3 { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - public virtual string Remark { get; set; } + /// <summary> + /// 鎺掑簭 + /// </summary> + public int Sort { get; set; } - /// <summary> - /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class. - /// </summary> - public WmsMaterialCreateOrUpdateDtoBase() : base(false) - { - } -} + /// <summary> + /// 澶囨敞 + /// </summary> + public string? Remark { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// + /// </summary> + public string? CreatorId { get; set; } + + /// <summary> + /// + /// </summary> + public string? LastModifierId { get; set; } + + /// <summary> + /// + /// </summary> + public DateTime? DeletionTime { get; set; } + + /// <summary> + /// 鍨嬪彿 + /// </summary> + public string? MaterialModel { get; set; } + + + + /// <summary> + /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class. + /// </summary> + public WmsMaterialCreateOrUpdateDtoBase() : base(false) + { + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs index 85f527b..46a5588 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs @@ -1,163 +1,211 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using CmsQueryExtensions; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Domain.Entities; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CmsQueryExtensions; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Data; +using Volo.Abp.Domain.Entities; + + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅鏁版嵁鍙傛暟瀵硅薄 +/// </summary> +public class WmsMaterialDto: ExtensibleEntityDto<Guid>, IHasConcurrencyStamp +{ + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialNo { get; set; } -/// <summary> -/// WmsMaterial鏁版嵁鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp -{ - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialNo { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public PurchaseTypeEnum PurchaseType { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public PurchaseTypeEnum PurchaseType { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public string PurchaseTypeDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); + } + } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public MaterialTypeEnum MaterialType { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public string PurchaseTypeDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); - } - } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public string MaterialTypeDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); + } + } + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string? PrimaryUnit { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public MaterialTypeEnum MaterialType { get; set; } + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string? Standard { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public string MaterialTypeDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); - } - } + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal OuterDiameter { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal WallThickness { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string? MaterialQuality { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public decimal OuterDiameter { get; set; } + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal Length { get; set; } - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public decimal WallThickness { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public YesNoEnum IsMainBranch { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public string IsMainBranchDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); + } + } + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string? Factory { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public decimal Length { get; set; } + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string? Certification { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀锛�1: 涓绘敮绠�, 2: 闈炰富鏀锛� - /// </summary> - public YesNoEnum IsMainBranch { get; set; } + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField1 { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀 - /// </summary> - public string IsMainBranchDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); - } - } + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField2 { get; set; } - /// <summary> - /// 鍨嬪彿 - /// </summary> - public string MaterialModel { get; set; } - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField3 { get; set; } - /// <summary> - /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級 - /// </summary> - public string Certification { get; set; } + /// <summary> + /// 鎺掑簭 + /// </summary> + public int Sort { get; set; } - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField1 { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + public string? Remark { get; set; } - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField2 { get; set; } + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField3 { get; set; } - /// <summary> - /// 鎺掑簭 - /// </summary> - public virtual int Sort { get; set; } + /// <summary> + /// + /// </summary> + public ExtraPropertyDictionary? ExtraProperties { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - public virtual string Remark { get; set; } + /// <summary> + /// + /// </summary> + public string? ConcurrencyStamp { get; set; } - /// <summary> - /// 鏄惁绂佺敤 - /// </summary> - public virtual bool? IsDisabled { get; set; } + /// <summary> + /// + /// </summary> + public DateTime CreationTime { get; set; } - /// <summary> - /// 骞跺彂鎴� - /// </summary> - public string ConcurrencyStamp { get; set; } + /// <summary> + /// + /// </summary> + public string? CreatorId { get; set; } - /// <summary> - /// Gets the export data. - /// </summary> - /// <returns></returns> - public Dictionary<string, object> GetExportData() - { - var exportData = new Dictionary<string, object>(); - foreach (var property in this.GetType().GetProperties()) - { - exportData.Add(property.Name, property.GetValue(this)); - } + /// <summary> + /// + /// </summary> + public DateTime? LastModificationTime { get; set; } - return exportData; - } -} + /// <summary> + /// + /// </summary> + public string? LastModifierId { get; set; } + + /// <summary> + /// + /// </summary> + public bool IsDeleted { get; set; } + + /// <summary> + /// + /// </summary> + public string? DeleterId { get; set; } + + /// <summary> + /// + /// </summary> + public DateTime? DeletionTime { get; set; } + + /// <summary> + /// 鍨嬪彿 + /// </summary> + public string? MaterialModel { get; set; } + + + + /// <summary> + /// Gets the export data. + /// </summary> + /// <returns></returns> + public Dictionary<string, object> GetExportData() + { + var exportData = new Dictionary<string, object>(); + foreach (var property in this.GetType().GetProperties()) + { + exportData.Add(property.Name, property.GetValue(this)); + } + + return exportData; + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs index 3c21342..8e75976 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs @@ -1,162 +1,149 @@ using MiniExcelLibs.Attributes; using System.ComponentModel.DataAnnotations; +using System; using System.ComponentModel; using CMS.Plugin.HIAWms.Domain.Shared.Enums; +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial +/// <summary> +/// 鐗╂枡鍩虹淇℃伅瀵煎嚭妯″瀷 +/// </summary> +public class WmsMaterialExportModel { + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + //[ExcelColumn(Name = "鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�", Width = 25)] + //public string MaterialCode { get; set; } /// <summary> - /// WmsMaterial瀵煎嚭妯″瀷 + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� /// </summary> - public class MaterialExportModel + [ExcelColumn(Name = "鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�", Width = 25)] + public string MaterialNo { get; set; } + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)] + public string MaterialName { get; set; } + + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + [ExcelColumn(Name = "閲囪喘绫诲瀷锛堟灇涓惧�硷級", Width = 25)] + public PurchaseTypeEnum PurchaseType { get; set; } + + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + [ExcelColumn(Name = "鐗╂枡绫诲瀷锛堟灇涓惧�硷級", Width = 25)] + public MaterialTypeEnum MaterialType { get; set; } + + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + [ExcelColumn(Name = "涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�", Width = 25)] + public string PrimaryUnit { get; set; } + + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + [ExcelColumn(Name = "瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�", Width = 25)] + public string Standard { get; set; } + + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + [ExcelColumn(Name = "澶栧緞锛堝崟浣嶏細mm锛�", Width = 25)] + public decimal OuterDiameter { get; set; } + + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + [ExcelColumn(Name = "澹佸帤锛堝崟浣嶏細mm锛�", Width = 25)] + public decimal WallThickness { get; set; } + + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + [ExcelColumn(Name = "鏉愯川锛堝锛�304涓嶉攬閽級", Width = 25)] + public string MaterialQuality { get; set; } + + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + [ExcelColumn(Name = "闀垮害锛堝崟浣嶏細m锛�", Width = 25)] + public decimal Length { get; set; } + + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + [ExcelColumn(Name = "鏄惁涓轰富鏀", Width = 25)] + public YesNoEnum IsMainBranch { get; set; } + + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + [ExcelColumn(Name = "鐢熶骇宸ュ巶", Width = 25)] + public string Factory { get; set; } + + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + [ExcelColumn(Name = "璇佷功缂栧彿", Width = 25)] + public string Certification { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + [ExcelColumn(Name = "鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)] + public string RedundantField1 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + [ExcelColumn(Name = "鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)] + public string RedundantField2 { get; set; } + + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + [ExcelColumn(Name = "鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)] + public string RedundantField3 { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [ExcelColumn(Name = "澶囨敞", Width = 25)] + public string Remark { get; set; } + + /// <summary> + /// + /// </summary> + [ExcelColumn(Name = "", Width = 25)] + public DateTime CreationTime { get; set; } + + /// <summary> + /// + /// </summary> + [ExcelColumn(Name = "", Width = 25)] + public DateTime LastModificationTime { get; set; } + + /// <summary> + /// 鍨嬪彿 + /// </summary> + [ExcelColumn(Name = "鍨嬪彿", Width = 25)] + public string MaterialModel { get; set; } + + public Dictionary<string, object> GetExportData() { - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - /// <example>MAT-2023-001</example> - [ExcelColumn(Name = "鐗╂枡缂栫爜", Width = 25)] - public string MaterialNo { get; set; } - - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - /// <example>304涓嶉攬閽㈢</example> - [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)] - public string MaterialName { get; set; } - - /// <summary> - /// 閲囪喘绫诲瀷 - /// </summary> - /// <remarks> - /// 0:鏍囧噯閲囪喘 1:绱ф�ラ噰璐� 2:鍗忚閲囪喘 - /// </remarks> - /// <example>0</example> - [ExcelColumn(Name = "閲囪喘绫诲瀷", Width = 25)] - public PurchaseTypeEnum PurchaseType { get; set; } - - /// <summary> - /// 鐗╂枡绫诲瀷 - /// </summary> - /// <remarks> - /// 1:鍘熸潗鏂� 2:鍗婃垚鍝� 3:鎴愬搧 - /// </remarks> - /// <example>1</example> - [ExcelColumn(Name = "鐗╂枡绫诲瀷", Width = 25)] - public MaterialTypeEnum MaterialType { get; set; } - - /// <summary> - /// 涓昏閲忓崟浣� - /// </summary> - /// <example>kg</example> - [ExcelColumn(Name = "涓诲崟浣�", Width = 25)] - public string PrimaryUnit { get; set; } - - /// <summary> - /// 瑙勬牸/鎶�鏈爣鍑� - /// </summary> - /// <example>GB/T 8163-2018</example> - [ExcelColumn(Name = "瑙勬牸/鏍囧噯", Width = 25)] - public string Standard { get; set; } - - /// <summary> - /// 澶栧緞锛堝崟浣嶏細姣背锛� - /// </summary> - /// <example>50.5</example> - [ExcelColumn(Name = "澶栧緞(mm)", Width = 25)] - public decimal OuterDiameter { get; set; } - - /// <summary> - /// 澹佸帤锛堝崟浣嶏細姣背锛� - /// </summary> - /// <example>2.5</example> - [ExcelColumn(Name = "澹佸帤(mm)", Width = 25)] - public decimal WallThickness { get; set; } - - /// <summary> - /// 鏉愯川璇存槑 - /// </summary> - /// <example>304涓嶉攬閽�</example> - [ExcelColumn(Name = "鏉愯川", Width = 25)] - public string MaterialQuality { get; set; } - - /// <summary> - /// 鍨嬪彿 - /// </summary> - [ExcelColumn(Name = "鍨嬪彿", Width = 25)] - public string MaterialModel { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細绫筹級 - /// </summary> - /// <example>6.0</example> - [ExcelColumn(Name = "闀垮害(m)", Width = 25)] - public decimal Length { get; set; } - - /// <summary> - /// 鏄惁涓绘敮绠℃爣璇� - /// </summary> - /// <example>true</example> - [ExcelColumn(Name = "鏄惁涓绘敮绠�", Width = 25)] - [Description("鏄�/鍚�")] - public YesNoEnum IsMainBranch { get; set; } - - /// <summary> - /// 鐢熶骇宸ュ巶鍚嶇О - /// </summary> - /// <example>涓婃捣绗竴宸ュ巶</example> - [ExcelColumn(Name = "鐢熶骇宸ュ巶", Width = 25)] - public string Factory { get; set; } - - /// <summary> - /// 璁よ瘉璇佷功缂栧彿 - /// </summary> - /// <example>CER-2023-001</example> - [ExcelColumn(Name = "璇佷功缂栧彿", Width = 25)] - public string Certification { get; set; } - - /// <summary> - /// 棰勭暀鎵╁睍瀛楁1 - /// </summary> - /// <remarks> - /// 鍙敤浜庝复鏃跺瓨鍌ㄤ緵搴斿晢缂栫爜绛夋墿灞曚俊鎭� - /// </remarks> - [ExcelColumn(Name = "鎵╁睍瀛楁1", Width = 25)] - public string RedundantField1 { get; set; } - - /// <summary> - /// 棰勭暀鎵╁睍瀛楁2 - /// </summary> - /// <remarks> - /// 鍙敤浜庝复鏃跺瓨鍌ㄦ壒娆″彿绛夋墿灞曚俊鎭� - /// </remarks> - [ExcelColumn(Name = "鎵╁睍瀛楁2", Width = 25)] - public string RedundantField2 { get; set; } - - /// <summary> - /// 棰勭暀鎵╁睍瀛楁3 - /// </summary> - /// <remarks> - /// 鍙敤浜庝复鏃跺瓨鍌ㄨ嚜瀹氫箟鍒嗙被绛夋墿灞曚俊鎭� - /// </remarks> - [ExcelColumn(Name = "鎵╁睍瀛楁3", Width = 25)] - public string RedundantField3 { get; set; } - - /// <summary> - /// 澶囨敞 - /// </summary> - [ExcelColumn(Name = "澶囨敞",Width = 25)] - public string Remark { get; set; } - - public Dictionary<string, object> GetExportData() + var exportData = new Dictionary<string, object>(); + foreach (var property in this.GetType().GetProperties()) { - var exportData = new Dictionary<string, object>(); - foreach (var property in this.GetType().GetProperties()) - { - exportData.Add(property.Name, property.GetValue(this)); - } - - return exportData; + exportData.Add(property.Name, property.GetValue(this)); } + + return exportData; } } - diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs index 6c4d4aa..16aa77f 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialImportModels.cs @@ -22,7 +22,7 @@ /// <summary> /// WmsMaterial瀵煎叆妯″瀷 /// </summary> - public class WmsMaterialImportModel : MaterialExportModel + public class WmsMaterialImportModel : WmsMaterialExportModel { /// <summary> /// 琛屽彿 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs index da401a7..7539b1a 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs @@ -1,14 +1,18 @@ -using Volo.Abp.Domain.Entities; - -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; - -/// <summary> -/// WmsMaterial鏇存柊鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp -{ - /// <summary> - /// 骞跺彂鎴� - /// </summary> - public string ConcurrencyStamp { get; set; } -} +using Volo.Abp.Domain.Entities; +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅鏇存柊鍙傛暟瀵硅薄 +/// </summary> +public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp +{ + /// <summary> + /// 骞跺彂鎴� + /// </summary> + public string ConcurrencyStamp { get; set; } + + /// <summary> + /// 淇敼浜� + /// </summary> + public string LastModifierName { get; set; } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs new file mode 100644 index 0000000..7ba6063 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs @@ -0,0 +1,33 @@ + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial +{ + /// <summary> + /// 鐗╂枡鍩虹淇℃伅瀵煎叆妯″瀷 + /// </summary> + public class WmsMaterialsImportModel + { + private List<WmsMaterialImportModel> _WmsMaterials = new(); + + public List<WmsMaterialImportModel> WmsMaterials + { + get => _WmsMaterials; + set + { + _WmsMaterials = value; + var rowIndex = 2; + _WmsMaterials?.ForEach(x => x.RowIndex = rowIndex++); + } + } + + /// <summary> + /// 鐗╂枡鍩虹淇℃伅瀵煎叆妯″瀷 + /// </summary> + public class WmsMaterialImportModel : WmsMaterialExportModel + { + /// <summary> + /// 琛屽彿 + /// </summary> + public int RowIndex { get; set; } + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs index ea822b8..04a0f69 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsContainerAppService.cs @@ -4,6 +4,8 @@ using CMS.Plugin.HIAWms.Domain.Shared.WmsContainers; using CMS.Plugin.HIAWms.Domain.WmsContainers; using CmsQueryExtensions; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; @@ -41,12 +43,40 @@ input.Sorting = nameof(WmsContainer.Sort); } - var specification = new WmsContainerSpecification(input.Name); - var container = ObjectMapper.Map < GetWmsContainerInput, WmsContainer>(input); - var count = await _wmscontainerRepository.GetCountAsync(container,input.Filter, specification); - var list = await _wmscontainerRepository.GetListAsync(container,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var count = await _wmscontainerRepository.GetCountAsync(whereConditions); + var list = await _wmscontainerRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsContainerDto>(count, ObjectMapper.Map<List<WmsContainer>, List<WmsContainerDto>>(list)); + } + + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsContainer, bool>>> DynamicGetQueryParams(GetWmsContainerInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsContainer, GetWmsContainerInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsContainer, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsContainer, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; } /// <inheritdoc /> @@ -299,6 +329,11 @@ } /// <inheritdoc /> + /// <summary> + /// 瀵煎嚭鎵樼洏绠$悊 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsContainerInput input) { Check.NotNull(input, nameof(input)); @@ -308,9 +343,14 @@ input.Sorting = nameof(WmsContainer.Sort); } - var specification = new WmsContainerSpecification(input.Name); - var container = ObjectMapper.Map<GetWmsContainerInput, WmsContainer>(input); - var list = await _wmscontainerRepository.GetListAsync(container,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var list = await _wmscontainerRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsContainer>, List<WmsContainerDto>>(list); var sheets = new Dictionary<string, object> @@ -318,7 +358,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "WmsContainer鍒楄〃" : result.Count == 1 ? result.First()?.ContainerNo : "WmsContainer妯$増"; + var fileName = "鎵樼洏绠$悊"; return (sheets, fileName); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs index e6e0457..012a139 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs @@ -4,6 +4,8 @@ using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; using CMS.Plugin.HIAWms.Domain.WmsMaterials; using CmsQueryExtensions; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; @@ -42,13 +44,40 @@ input.Sorting = nameof(WmsMaterial.Sort); } - var specification = new WmsMaterialSpecification(input.Name); - var material = ObjectMapper.Map<GetWmsMaterialInput, WmsMaterial>(input); - var count = await _wmsmaterialRepository.GetCountAsync(material,input.Filter, specification); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - var list = await _wmsmaterialRepository.GetListAsync(material,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var count = await _wmsmaterialRepository.GetCountAsync(whereConditions); + var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list)); + } + + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> DynamicGetQueryParams(GetWmsMaterialInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterial, GetWmsMaterialInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsMaterial, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsMaterial, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; } /// <inheritdoc /> @@ -311,7 +340,11 @@ } } - /// <inheritdoc /> + /// <summary> + /// 瀵煎嚭鐗╂枡鍩虹淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input) { Check.NotNull(input, nameof(input)); @@ -321,10 +354,16 @@ input.Sorting = nameof(WmsMaterial.Sort); } - var specification = new WmsMaterialSpecification(input.Name); + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - var material = ObjectMapper.Map<GetWmsMaterialInput, WmsMaterial>(input); - var list = await _wmsmaterialRepository.GetListAsync(material,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + + + var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list); var sheets = new Dictionary<string, object> @@ -332,7 +371,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialNo : "WmsMaterial妯$増"; + var fileName = "鐗╂枡鍩虹"; return (sheets, fileName); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs index 50b4374..39f4210 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsContainers/IWmsContainerRepository.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<WmsContainer>> GetListAsync(WmsContainer? container, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsContainer> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsContainer>> GetListAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// Gets the count asynchronous. @@ -50,5 +52,5 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(WmsContainer? container, string filter = null, Specification<WmsContainer> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, CancellationToken cancellationToken = default); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs index 468e6bb..37e5922 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs @@ -1,3 +1,5 @@ +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; using Volo.Abp.Specifications; @@ -49,7 +51,7 @@ /// <param name="includeDetails">if set to <c>true</c> [include details].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<List<WmsMaterial>> GetListAsync(WmsMaterial material, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsMaterial> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsMaterial>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// 鑾峰彇鐗╂枡鍩虹鍒楄〃 @@ -65,7 +67,7 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(WmsMaterial material, string filter = null, Specification<WmsMaterial> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// 鑾峰彇鐗╂枡鍒楄〃 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs index f42bc56..971f737 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsContainerRepository.cs @@ -1,6 +1,8 @@ using System.Linq.Dynamic.Core; +using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.WmsContainers; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -50,52 +52,38 @@ return sort + 1; } - /// <summary> - /// 查询列表 - /// </summary> - /// <param name="container"></param> - /// <param name="sorting"></param> - /// <param name="maxResultCount"></param> - /// <param name="skipCount"></param> - /// <param name="filter"></param> - /// <param name="specification"></param> - /// <param name="includeDetails"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<List<WmsContainer>> GetListAsync(WmsContainer? container,string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsContainer> 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<WmsContainer>> GetListAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { - specification ??= new WmsContainerSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) - .Where(specification.ToExpression()) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.ContainerNo.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(container.ContainerNo),u=>u.ContainerNo.Contains(container.ContainerNo)) - .WhereIf(container.ContainerStatus>0, u=>u.ContainerStatus == u.ContainerStatus) - .WhereIf(container.ContainerType>0, u=>u.ContainerType == u.ContainerType) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsContainer.Sort) : sorting) + .OrderByDescending(x => x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } - /// <summary> - /// 查询数量 - /// </summary> - /// <param name="container"></param> - /// <param name="filter"></param> - /// <param name="specification"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<long> GetCountAsync(WmsContainer? container, string filter = null, Specification<WmsContainer> specification = null, CancellationToken cancellationToken = default) + /// <summary> + /// 获取总数托盘管理 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsContainer, bool>>> whereConditions, CancellationToken cancellationToken = default) { - specification ??= new WmsContainerSpecification(); return await (await GetQueryableAsync()) - .Where(specification.ToExpression()) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .WhereIf(!string.IsNullOrEmpty(container.ContainerNo), u => u.ContainerNo.Contains(container.ContainerNo)) - .WhereIf(container.ContainerStatus > 0, u => u.ContainerStatus == u.ContainerStatus) - .WhereIf(container.ContainerType > 0, u => u.ContainerType == u.ContainerType) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.ContainerNo.Contains(filter)) .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs index 219d23d..50fc33d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs @@ -5,6 +5,7 @@ using CMS.Plugin.HIAWms.Domain.WmsAreas; using CMS.Plugin.HIAWms.Domain.WmsMaterials; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -71,19 +72,23 @@ } /// <inheritdoc /> - public async Task<List<WmsMaterial>> GetListAsync(WmsMaterial? material, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsMaterial> 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<WmsMaterial>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { - specification ??= new WmsMaterialSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) - .Where(specification.ToExpression()) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.MaterialNo.Contains(filter)) - .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName)) - .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo)) - .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType) - .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterial.Sort) : sorting) + .OrderByDescending(x => x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } @@ -105,25 +110,17 @@ .ToListAsync(GetCancellationToken(cancellationToken)); } - /// <summary> - /// 获取总数 - /// </summary> - /// <param name="material"></param> - /// <param name="filter"></param> - /// <param name="specification"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<long> GetCountAsync(WmsMaterial? material, string filter = null, Specification<WmsMaterial> specification = null, CancellationToken cancellationToken = default) + /// <summary> + /// 获取总数物料基础信息 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default) { - specification ??= new WmsMaterialSpecification(); return await (await GetQueryableAsync()) - .Where(specification.ToExpression()) - .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName)) - .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo)) - .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType) - .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType) + .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.MaterialNo.Contains(filter)) .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); } 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/\346\211\230\347\233\230\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/\346\211\230\347\233\230\351\205\215\347\275\256.txt" new file mode 100644 index 0000000..6782a45 --- /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/\346\211\230\347\233\230\351\205\215\347\275\256.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmscontainers +[瀹炰綋绫诲悕]:WmsContainer +[瀹炰綋绫诲璞″悕]:WmsContainer +[椤甸潰鑿滃崟鍚峕:鎵樼洏绠$悊 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsContainer +[琛ㄧ殑涓枃娉ㄨВ]:鎵樼洏绠$悊 +[閲嶅鎬ф牎楠屽瓧娈礭:ContainerNo +[鍒犻櫎鎻愮ず瀛楁]:ContainerNo +[妯$硦鏌ヨ瀛楁]:'ContainerNo' +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ユ墭鐩樼紪鍙� +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]:ContainerType,ContainerTypeEnum&ContainerStatus,ContainerStatusEnum +[鍓嶇鏍规枃浠跺す鍚嶇О]: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/\347\211\251\346\226\231\345\237\272\347\241\200\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/\347\211\251\346\226\231\345\237\272\347\241\200\351\205\215\347\275\256.txt" new file mode 100644 index 0000000..e12be5e --- /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/\347\211\251\346\226\231\345\237\272\347\241\200\351\205\215\347\275\256.txt" @@ -0,0 +1,14 @@ +[琛ㄥ悕]:scms_wmsmaterials +[瀹炰綋绫诲悕]:WmsMaterial +[瀹炰綋绫诲璞″悕]:WmsMaterial +[椤甸潰鑿滃崟鍚峕:鐗╂枡鍩虹 +[椤甸潰鑿滃崟瀵硅薄缂╁啓]:wmsMaterial +[琛ㄧ殑涓枃娉ㄨВ]:鐗╂枡鍩虹淇℃伅 +[閲嶅鎬ф牎楠屽瓧娈礭:MaterialNo +[鍒犻櫎鎻愮ず瀛楁]:MaterialNo +[妯$硦鏌ヨ瀛楁]:'MaterialNo', 'MaterialName', +[妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ョ墿鏂欑紪鍙�/鐗╂枡鍚嶇О +[椤圭洰鍛藉悕绌洪棿]:HIAWms +[鏋氫妇绫诲瀷瀛楁闆嗗悎]:PurchaseType,PurchaseTypeEnum&MaterialType,MaterialTypeEnum&IsMainBranch,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/MainForm.cs" "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/MainForm.cs" index 23b5274..5867a50 100644 --- "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/MainForm.cs" +++ "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/MainForm.cs" @@ -215,11 +215,11 @@ return; } //澧炲姞鏍¢獙 - if (columnList.Where(x => x.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()).Count() == 0) - { - MessageBox.Show($"琛ㄤ腑娌℃湁瀛楁{SystemCommonVar.c_creator}锛�"); - return; - } + //if (columnList.Where(x => x.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()).Count() == 0) + //{ + // MessageBox.Show($"琛ㄤ腑娌℃湁瀛楁{SystemCommonVar.c_creator}锛�"); + // return; + //} -- Gitblit v1.9.3