¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .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; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // 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> |
| | | ) |
| | | } |
| | | }, |
| | | }) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // å符串类æ¥è¯¢ |
| | | 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 }, |
| | | ]; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // æ¯ å¦(é«çº§æ¥è¯¢ç¨) |
| | | export const BOOLEAN_OPTIONS = [ |
| | | { label: 'æ¯', value: 'true'}, |
| | | { label: 'å¦', value: 'false' }, |
| | | ]; |
| | | |
| | | // æ¯ å¦(æ°å¢ãä¿®æ¹çé¢ä¸ç¨) |
| | | export const BOOLEAN_OPTIONS_AddEdit = [ |
| | | { label: 'æ¯', value: true}, |
| | | { label: 'å¦', value: false }, |
| | | ]; |
| | |
| | | title: '', |
| | | isAdd: false, |
| | | }) |
| | | const dialogConfigForQuery = reactive({ |
| | | visible: false, |
| | | title: '', |
| | | isAdd: false, |
| | | }) |
| | | |
| | | const dialogSettingConfig = reactive({ |
| | | visible: false, |
| | |
| | | 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) { |
| | |
| | | /** |
| | | * å¯¼åº |
| | | */ |
| | | 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, 'ç©æåºç¡') |
| | | } |
| | | |
| | | /** |
| | | * å
³é®åæç´¢ |
| | | */ |
| | |
| | | dataSource, |
| | | contextMenu, |
| | | dialogConfig, |
| | | dialogConfigForQuery, |
| | | dialogSettingConfig, |
| | | tableRef, |
| | | current, |
| | |
| | | onRowClick, |
| | | onConfirmWmsMaterial, |
| | | onCheck, |
| | | onAdvancedQuery, |
| | | onAddWmsMaterial, |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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) |
| | | }, |
| | | }) |
| | | /** |
| | | * é«çº§æ¥è¯¢çformåæ®µ |
| | | */ |
| | | 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: '请è¾å
¥ä¸»åä½ï¼å¦ï¼kgãmã个ï¼', |
| | | 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: '请è¾å
¥å¤å¾ï¼åä½ï¼mmï¼', |
| | | 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: '请è¾å
¥å£åï¼åä½ï¼mmï¼', |
| | | 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: '请è¾å
¥é¿åº¦ï¼åä½ï¼mï¼', |
| | | 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, |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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) |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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) |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .drawer { |
| | | width: 800px; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * ç©æåºç¡ä¿¡æ¯æ¥è¯¢å¼¹åºæ¡ |
| | | */ |
| | | 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> |
| | | ) |
| | | }, |
| | | }) |
| | |
| | | .wmsMaterialContent { |
| | | width: 100%; |
| | | height: 90%; |
| | | height: 100%; |
| | | |
| | | .wmsMaterialList { |
| | | width: 100%; |
| | |
| | | .header { |
| | | margin-bottom: 12px; |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | } |
| | |
| | | import { columns } from './Config' |
| | | import TdButton from '@/components/TdButton/TdButton' |
| | | import { vPermission } from '@/libs/Permission/Permission' |
| | | import dayjs from 'dayjs' |
| | | import { |
| | | getWmsEnumData, |
| | | getWmsDataList, |
| | |
| | | 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 |
| | |
| | | dataSource, |
| | | contextMenu, |
| | | dialogConfig, |
| | | dialogConfigForQuery, |
| | | tableRef, |
| | | current, |
| | | search, |
| | |
| | | onError, |
| | | onSearch, |
| | | onRowClick, |
| | | onAdvancedQuery, |
| | | onConfirmWmsMaterial, |
| | | onCheck, |
| | | onAddWmsMaterial, |
| | |
| | | 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, |
| | | })) |
| | |
| | | } |
| | | } |
| | | |
| | | // å®ä¹ååºå¼æ¥è¯¢æ°æ® |
| | | 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 |
| | | } |
| | | |
| | | /** |
| | |
| | | <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} |
| | |
| | | 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 |
| | |
| | | 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} |
| | | {/* é«çº§æ¥è¯¢ */} |
| | | <WmsMaterialQueryDrawer |
| | | ref="wmsMaterialQueryDrawerRef" |
| | | v-model={dialogConfigForQuery.visible} |
| | | title={dialogConfigForQuery.title} |
| | | row={current.value} |
| | | sort={sort.value} |
| | | onConfirmQuery={handleQuery} |
| | | onRestQuery={resetQuery} |
| | | onClose={closeQuery} |
| | | /> |
| | | </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> |
| | | |
| | | <div class={styles.headerContent}> |
| | | <div class={styles.header}> |
| | |
| | | æ·»å |
| | | </IconButton> |
| | | <el-divider direction="vertical" /> |
| | | |
| | | <el-upload |
| | | v-permission="wmsMaterial-import" |
| | | name="file" |
| | |
| | | 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> |
| | |
| | | <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} |
| | |
| | | using CMS.Plugin.HIAWms.Domain.Shared.Enums; |
| | | using CmsQueryExtensions.Extension; |
| | | using Volo.Abp.Application.Dtos; |
| | | |
| | | namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; |
| | | |
| | | /// <summary> |
| | | /// WmsMaterialæ¥è¯¢åæ°å¯¹è±¡ |
| | | /// ç©æåºç¡ä¿¡æ¯æ¥è¯¢åæ° |
| | | /// </summary> |
| | | public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto |
| | | { |
| | | /// <summary> |
| | | /// Gets or sets the filter. |
| | | /// </summary> |
| | | public string Filter { get; set; } |
| | | |
| | | #region å
³é®åæ¥è¯¢ |
| | | |
| | | /// <summary> |
| | | /// Gets or sets the name. |
| | | /// å
³é®åæ¨¡ç³æ¥è¯¢ï¼æ³¨ææ¯å°åï¼ï¼ |
| | | /// </summary> |
| | | public string Name { get; set; } |
| | | 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; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼-æ¥è¯¢å
³ç³»è¿ç®ç¬¦ |
| | | /// </summary> |
| | | public SearchFilterModeEnum MaterialCode_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | |
| | | public string MaterialNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼-æ¥è¯¢å
³ç³»è¿ç®ç¬¦ |
| | | /// </summary> |
| | | public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; |
| | | |
| | | /// <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ãmãä¸ªï¼ |
| | | /// </summary> |
| | | public string PrimaryUnit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 主åä½ï¼å¦ï¼kgãmã个ï¼-æ¥è¯¢å
³ç³»è¿ç®ç¬¦ |
| | | /// </summary> |
| | | public SearchFilterModeEnum PrimaryUnit_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼ |
| | | /// </summary> |
| | | public string Standard { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/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 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; } |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | public string MaterialModel { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éè´ç±»åï¼æä¸¾å¼ï¼ |
| | | /// åå·-æ¥è¯¢å
³ç³»è¿ç®ç¬¦ |
| | | /// </summary> |
| | | public PurchaseTypeEnum PurchaseType { get; set; } |
| | | public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.æ¨¡ç³æ¥è¯¢; |
| | | |
| | | /// <summary> |
| | | /// ç©æç±»åï¼æä¸¾å¼ï¼ |
| | | /// </summary> |
| | | public MaterialTypeEnum MaterialType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ |
| | | /// </summary> |
| | | public string PrimaryUnit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼ |
| | | /// </summary> |
| | | public string Standard { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¤å¾ï¼åä½ï¼mmï¼ |
| | | /// </summary> |
| | | public decimal OuterDiameter { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å£åï¼åä½ï¼mmï¼ |
| | | /// </summary> |
| | | public decimal WallThickness { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æè´¨ï¼å¦ï¼304ä¸éé¢ï¼ |
| | | /// </summary> |
| | | public string MaterialQuality { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿åº¦ï¼åä½ï¼mï¼ |
| | | /// </summary> |
| | | public decimal Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ï¼true: 主æ¯ç®¡, false: é主æ¯ç®¡ï¼ |
| | | /// </summary> |
| | | public YesNoEnum IsMainBranch { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产工å |
| | | /// </summary> |
| | | public string Factory { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¯ä¹¦ç¼å·ï¼å¦ï¼åå容å¨è®¤è¯ï¼ |
| | | /// </summary> |
| | | public string Certification { get; set; } |
| | | } |
| | |
| | | namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; |
| | | |
| | | /// <summary> |
| | | /// WmsMaterialåå»ºåæ°å¯¹è±¡ |
| | | /// ç©æåºç¡ä¿¡æ¯åå»ºåæ°å¯¹è±¡ |
| | | /// </summary> |
| | | public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase |
| | | { |
| | |
| | | /// æ¯å¦ç¦ç¨ |
| | | /// </summary> |
| | | public bool? IsDisabled { get; set; } = false; |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public string CreatorName { get; set; } |
| | | } |
| | |
| | | using CMS.Plugin.HIAWms.Domain.Shared.Enums; |
| | | using System; |
| | | using Volo.Abp.Application.Dtos; |
| | | |
| | | namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; |
| | | |
| | | /// <summary> |
| | | /// WmsMaterialåå»ºææ´æ°åºç±» |
| | | /// ç©æåºç¡ä¿¡æ¯åå»ºææ´æ°åºç±» |
| | | /// </summary> |
| | | public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto |
| | | { |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | | public string MaterialCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | public string MaterialName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åå· |
| | | /// </summary> |
| | | public string MaterialModel { get; set; } |
| | | /// <summary> |
| | | /// éè´ç±»åï¼æä¸¾å¼ï¼ |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ |
| | | /// </summary> |
| | | public string PrimaryUnit { get; set; } |
| | | public string? PrimaryUnit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼ |
| | | /// </summary> |
| | | public string Standard { get; set; } |
| | | public string? Standard { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¤å¾ï¼åä½ï¼mmï¼ |
| | |
| | | /// <summary> |
| | | /// æè´¨ï¼å¦ï¼304ä¸éé¢ï¼ |
| | | /// </summary> |
| | | public string MaterialQuality { get; set; } |
| | | public string? MaterialQuality { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿åº¦ï¼åä½ï¼mï¼ |
| | |
| | | public decimal Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ï¼true: 主æ¯ç®¡, false: é主æ¯ç®¡ï¼ |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ |
| | | /// </summary> |
| | | public YesNoEnum IsMainBranch { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产工å |
| | | /// </summary> |
| | | public string Factory { get; set; } |
| | | public string? Factory { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¯ä¹¦ç¼å·ï¼å¦ï¼åå容å¨è®¤è¯ï¼ |
| | | /// è¯ä¹¦ç¼å· |
| | | /// </summary> |
| | | public string Certification { get; set; } |
| | | public string? Certification { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段1 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField1 { get; set; } |
| | | public string? RedundantField1 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段2 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField2 { get; set; } |
| | | public string? RedundantField2 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段3 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField3 { get; set; } |
| | | public string? RedundantField3 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æåº |
| | | /// </summary> |
| | | public int Sort { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public virtual string Remark { get; set; } |
| | | 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. |
| | |
| | | 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> |
| | | /// WmsMaterialæ°æ®åæ°å¯¹è±¡ |
| | | /// ç©æåºç¡ä¿¡æ¯æ°æ®åæ°å¯¹è±¡ |
| | | /// </summary> |
| | | public class WmsMaterialDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp |
| | | { |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | | public string MaterialCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | |
| | | return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ç©æç±»åï¼æä¸¾å¼ï¼ |
| | | /// </summary> |
| | |
| | | return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ |
| | | /// </summary> |
| | | public string PrimaryUnit { get; set; } |
| | | public string? PrimaryUnit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼ |
| | | /// </summary> |
| | | public string Standard { get; set; } |
| | | public string? Standard { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¤å¾ï¼åä½ï¼mmï¼ |
| | |
| | | /// <summary> |
| | | /// æè´¨ï¼å¦ï¼304ä¸éé¢ï¼ |
| | | /// </summary> |
| | | public string MaterialQuality { get; set; } |
| | | public string? MaterialQuality { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿åº¦ï¼åä½ï¼mï¼ |
| | |
| | | public decimal Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ï¼1: 主æ¯ç®¡, 2: é主æ¯ç®¡ï¼ |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ |
| | | /// </summary> |
| | | public YesNoEnum IsMainBranch { get; set; } |
| | | |
| | |
| | | return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå· |
| | | /// </summary> |
| | | public string MaterialModel { get; set; } |
| | | /// <summary> |
| | | /// ç产工å |
| | | /// </summary> |
| | | public string Factory { get; set; } |
| | | public string? Factory { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¯ä¹¦ç¼å·ï¼å¦ï¼åå容å¨è®¤è¯ï¼ |
| | | /// è¯ä¹¦ç¼å· |
| | | /// </summary> |
| | | public string Certification { get; set; } |
| | | public string? Certification { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段1 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField1 { get; set; } |
| | | public string? RedundantField1 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段2 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField2 { get; set; } |
| | | public string? RedundantField2 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½å段3 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | public string RedundantField3 { get; set; } |
| | | public string? RedundantField3 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æåº |
| | | /// </summary> |
| | | public virtual int Sort { get; set; } |
| | | public int Sort { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public virtual string Remark { get; set; } |
| | | public string? Remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦ç¦ç¨ |
| | | /// </summary> |
| | | public virtual bool? IsDisabled { get; set; } |
| | | public bool? IsDisabled { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¹¶åæ³ |
| | | /// |
| | | /// </summary> |
| | | public string ConcurrencyStamp { get; set; } |
| | | public ExtraPropertyDictionary? ExtraProperties { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public string? ConcurrencyStamp { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public DateTime CreationTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public string? CreatorId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public DateTime? LastModificationTime { get; set; } |
| | | |
| | | /// <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. |
| | |
| | | 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> |
| | | /// WmsMaterialå¯¼åºæ¨¡å |
| | | /// ç©æåºç¡ä¿¡æ¯å¯¼åºæ¨¡å |
| | | /// </summary> |
| | | public class MaterialExportModel |
| | | public class WmsMaterialExportModel |
| | | { |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | | /// <example>MAT-2023-001</example> |
| | | [ExcelColumn(Name = "ç©æç¼ç ", Width = 25)] |
| | | //[ExcelColumn(Name = "ç©æç¼ç ï¼å¯ä¸æ è¯ï¼", Width = 25)] |
| | | //public string MaterialCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç ï¼å¯ä¸æ è¯ï¼ |
| | | /// </summary> |
| | | [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)] |
| | | [ExcelColumn(Name = "éè´ç±»åï¼æä¸¾å¼ï¼", Width = 25)] |
| | | public PurchaseTypeEnum PurchaseType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç±»å |
| | | /// ç©æç±»åï¼æä¸¾å¼ï¼ |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 1:åææ 2:åæå 3:æå |
| | | /// </remarks> |
| | | /// <example>1</example> |
| | | [ExcelColumn(Name = "ç©æç±»å", Width = 25)] |
| | | [ExcelColumn(Name = "ç©æç±»åï¼æä¸¾å¼ï¼", Width = 25)] |
| | | public MaterialTypeEnum MaterialType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 主计éåä½ |
| | | /// 主åä½ï¼å¦ï¼kgãmãä¸ªï¼ |
| | | /// </summary> |
| | | /// <example>kg</example> |
| | | [ExcelColumn(Name = "主åä½", Width = 25)] |
| | | [ExcelColumn(Name = "主åä½ï¼å¦ï¼kgãmã个ï¼", Width = 25)] |
| | | public string PrimaryUnit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è§æ ¼/ææ¯æ å |
| | | /// è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼ |
| | | /// </summary> |
| | | /// <example>GB/T 8163-2018</example> |
| | | [ExcelColumn(Name = "è§æ ¼/æ å", Width = 25)] |
| | | [ExcelColumn(Name = "è§æ ¼/æ åï¼å¦ï¼GB/T 8163-2018ï¼", Width = 25)] |
| | | public string Standard { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¤å¾ï¼åä½ï¼æ¯«ç±³ï¼ |
| | | /// å¤å¾ï¼åä½ï¼mmï¼ |
| | | /// </summary> |
| | | /// <example>50.5</example> |
| | | [ExcelColumn(Name = "å¤å¾(mm)", Width = 25)] |
| | | [ExcelColumn(Name = "å¤å¾ï¼åä½ï¼mmï¼", Width = 25)] |
| | | public decimal OuterDiameter { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å£åï¼åä½ï¼æ¯«ç±³ï¼ |
| | | /// å£åï¼åä½ï¼mmï¼ |
| | | /// </summary> |
| | | /// <example>2.5</example> |
| | | [ExcelColumn(Name = "å£å(mm)", Width = 25)] |
| | | [ExcelColumn(Name = "å£åï¼åä½ï¼mmï¼", Width = 25)] |
| | | public decimal WallThickness { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æè´¨è¯´æ |
| | | /// æè´¨ï¼å¦ï¼304ä¸éé¢ï¼ |
| | | /// </summary> |
| | | /// <example>304ä¸éé¢</example> |
| | | [ExcelColumn(Name = "æè´¨", Width = 25)] |
| | | [ExcelColumn(Name = "æè´¨ï¼å¦ï¼304ä¸éé¢ï¼", Width = 25)] |
| | | public string MaterialQuality { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åå· |
| | | /// é¿åº¦ï¼åä½ï¼mï¼ |
| | | /// </summary> |
| | | [ExcelColumn(Name = "åå·", Width = 25)] |
| | | public string MaterialModel { get; set; } |
| | | /// <summary> |
| | | /// é¿åº¦ï¼åä½ï¼ç±³ï¼ |
| | | /// </summary> |
| | | /// <example>6.0</example> |
| | | [ExcelColumn(Name = "é¿åº¦(m)", Width = 25)] |
| | | [ExcelColumn(Name = "é¿åº¦ï¼åä½ï¼mï¼", Width = 25)] |
| | | public decimal Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦ä¸»æ¯ç®¡æ è¯ |
| | | /// æ¯å¦ä¸ºä¸»æ¯ç®¡ |
| | | /// </summary> |
| | | /// <example>true</example> |
| | | [ExcelColumn(Name = "æ¯å¦ä¸»æ¯ç®¡", Width = 25)] |
| | | [Description("æ¯/å¦")] |
| | | [ExcelColumn(Name = "æ¯å¦ä¸ºä¸»æ¯ç®¡", Width = 25)] |
| | | 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 |
| | | /// åä½å段1 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// å¯ç¨äºä¸´æ¶åå¨ä¾åºåç¼ç çæ©å±ä¿¡æ¯ |
| | | /// </remarks> |
| | | [ExcelColumn(Name = "æ©å±å段1", Width = 25)] |
| | | [ExcelColumn(Name = "åä½å段1 - é¢çæ©å±ç¨é", Width = 25)] |
| | | public string RedundantField1 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢çæ©å±å段2 |
| | | /// åä½å段2 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// å¯ç¨äºä¸´æ¶å卿¹æ¬¡å·çæ©å±ä¿¡æ¯ |
| | | /// </remarks> |
| | | [ExcelColumn(Name = "æ©å±å段2", Width = 25)] |
| | | [ExcelColumn(Name = "åä½å段2 - é¢çæ©å±ç¨é", Width = 25)] |
| | | public string RedundantField2 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢çæ©å±å段3 |
| | | /// åä½å段3 - é¢çæ©å±ç¨é |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// å¯ç¨äºä¸´æ¶åå¨èªå®ä¹åç±»çæ©å±ä¿¡æ¯ |
| | | /// </remarks> |
| | | [ExcelColumn(Name = "æ©å±å段3", Width = 25)] |
| | | [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() |
| | | { |
| | |
| | | return exportData; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | /// <summary> |
| | | /// WmsMaterial导å
¥æ¨¡å |
| | | /// </summary> |
| | | public class WmsMaterialImportModel : MaterialExportModel |
| | | public class WmsMaterialImportModel : WmsMaterialExportModel |
| | | { |
| | | /// <summary> |
| | | /// è¡å· |
| | |
| | | using Volo.Abp.Domain.Entities; |
| | | |
| | | namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; |
| | | |
| | | /// <summary> |
| | | /// WmsMaterialæ´æ°åæ°å¯¹è±¡ |
| | | /// ç©æåºç¡ä¿¡æ¯æ´æ°åæ°å¯¹è±¡ |
| | | /// </summary> |
| | | public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp |
| | | { |
| | |
| | | /// å¹¶åæ³ |
| | | /// </summary> |
| | | public string ConcurrencyStamp { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public string LastModifierName { get; set; } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | 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; } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 /> |
| | |
| | | } |
| | | } |
| | | |
| | | /// <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)); |
| | |
| | | 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> |
| | |
| | | ["é
ç½®"] = ExportHelper.ConvertListToExportData(result), |
| | | }; |
| | | |
| | | var fileName = result.Count > 1 ? "WmsMaterialå表" : result.Count == 1 ? result[0]?.MaterialNo : "WmsMaterial模ç"; |
| | | var fileName = "ç©æåºç¡"; |
| | | return (sheets, fileName); |
| | | } |
| | | |
| | |
| | | using CmsQueryExtensions.Extension; |
| | | using System.Linq.Expressions; |
| | | using Volo.Abp.Domain.Repositories; |
| | | using Volo.Abp.Specifications; |
| | | |
| | |
| | | /// <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> |
| | | /// è·åç©æåºç¡å表 |
| | |
| | | /// <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> |
| | | /// è·åç©æå表 |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | /// <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)); |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæ»æ° |
| | | /// è·åæ»æ°ç©æåºç¡ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="material"></param> |
| | | /// <param name="filter"></param> |
| | | /// <param name="specification"></param> |
| | | /// <param name="whereConditions"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public async Task<long> GetCountAsync(WmsMaterial? material, string filter = null, Specification<WmsMaterial> specification = null, CancellationToken cancellationToken = default) |
| | | 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)); |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [表å]:scms_wmsmaterials |
| | | [å®ä½ç±»å]:WmsMaterial |
| | | [å®ä½ç±»å¯¹è±¡å]:WmsMaterial |
| | | [页é¢èåå]:ç©æåºç¡ |
| | | [页é¢èå对象缩å]:wmsMaterial |
| | | [表çä¸ææ³¨è§£]:ç©æåºç¡ä¿¡æ¯ |
| | | [é夿§æ ¡éªå段]:MaterialNo |
| | | [å é¤æç¤ºåæ®µ]:MaterialNo |
| | | [æ¨¡ç³æ¥è¯¢å段]:'MaterialNo', 'MaterialName', |
| | | [æ¨¡ç³æ¥è¯¢å段å]:请è¾å
¥ç©æç¼å·/ç©æåç§° |
| | | [项ç®å½å空é´]:HIAWms |
| | | [æä¸¾ç±»ååæ®µéå]:PurchaseType,PurchaseTypeEnum&MaterialType,MaterialTypeEnum&IsMainBranch,YesNoEnum |
| | | [åç«¯æ ¹æä»¶å¤¹åç§°]:web |
| | | [æåº]:CreationTime |
| | |
| | | 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; |
| | | //} |
| | | |
| | | |
| | | |