| | |
| | | import isEqual from 'lodash/isEqual' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { cloneDeep } from 'lodash' |
| | | import { |
| | | getWmsEnumData, |
| | | getStoreDataList, |
| | | } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' |
| | | |
| | | export const useWmsAreaDrawer = (props: any, ctx?: any) => { |
| | | const wmsAreaDrawer = injectModel<WmsAreaDrawer>('wmsAreaDrawer') |
| | |
| | | const formData = ref<Record<string, any>>({}) |
| | | // ref |
| | | const formRef = ref() |
| | | const disabled = ref(false) |
| | | |
| | | const current = computed(() => { |
| | | return props.row || null |
| | |
| | | label: '库区编号', |
| | | prop: 'areaNo', |
| | | el: 'input', |
| | | disabled: disabled, |
| | | placeholder: '请输入库区编号', |
| | | rules: [{ required: true, message: '库区编号不能为空', trigger: 'blur' }], |
| | | }, |
| | |
| | | label: '库区状态', |
| | | prop: 'areaStatus', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '启用', value: 'Active' }, |
| | | { label: '禁用', value: 'Inactive' }, |
| | | // 根据实际的 AreaStatusEnum 添加更多选项 |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择库区状态', |
| | | rules: [ |
| | | { required: true, message: '库区状态不能为空', trigger: 'change' }, |
| | |
| | | label: '库区类型', |
| | | prop: 'areaType', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '存储区', value: 'Storage' }, |
| | | { label: '装卸区', value: 'Loading' }, |
| | | // 根据实际的 AreaTypeEnum 添加更多选项 |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择库区类型', |
| | | rules: [ |
| | | { required: true, message: '库区类型不能为空', trigger: 'change' }, |
| | |
| | | { |
| | | label: '仓库代码', |
| | | prop: 'storeCode', |
| | | el: 'input', |
| | | el: 'select', |
| | | options: [], |
| | | placeholder: '请输入仓库代码', |
| | | }, |
| | | { |
| | |
| | | }, |
| | | } |
| | | } |
| | | const updateFormItemOptions = (propName: string, enumData: any[]) => { |
| | | const item = formItems.find((item) => item.prop === propName) |
| | | if (item && enumData) { |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.description, |
| | | value: item.value, |
| | | })) |
| | | } |
| | | } |
| | | const updateFormStoreOptions = (propName: string, enumData: any[]) => { |
| | | const item = formItems.find((item) => item.prop === propName) |
| | | if (item && enumData) { |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.StoreCode, |
| | | value: item.StoreName, |
| | | })) |
| | | } |
| | | } |
| | | /** |
| | | * 弹窗打开获取详情 |
| | | */ |
| | | const onOpen = async () => { |
| | | const areaStatusEnum = await getWmsEnumData({ |
| | | EnumName: 'AreaStatusEnum', |
| | | }) |
| | | updateFormItemOptions('areaStatus', areaStatusEnum) |
| | | |
| | | const areaTypeEnum = await getWmsEnumData({ |
| | | EnumName: 'AreaTypeEnum', |
| | | }) |
| | | updateFormItemOptions('areaType', areaTypeEnum) |
| | | |
| | | const storeList = await getStoreDataList() |
| | | updateFormItemOptions('storeCode', storeList) |
| | | if (current.value) { |
| | | const res = await wmsAreaDrawer.getWmsAreaDetail(current.value) |
| | | |
| | |
| | | remark: res.remark, // 备注 |
| | | id: res.id, |
| | | } |
| | | disabled.value = true |
| | | updateCheckData() |
| | | } else { |
| | | disabled.value = false |
| | | formData.value = {} |
| | | updateCheckData() |
| | | } |