| | |
| | | import isEqual from 'lodash/isEqual' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { cloneDeep } from 'lodash' |
| | | import { |
| | | getAreaAreaDataList, |
| | | getWmsEnumData, |
| | | } from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' |
| | | |
| | | export const useWmsPlaceDrawer = (props: any, ctx?: any) => { |
| | | const wmsPlaceDrawer = injectModel<WmsPlaceDrawer>('wmsPlaceDrawer') |
| | |
| | | label: '货位类型', |
| | | prop: 'storageTypeNo', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '类型1', value: 1 }, |
| | | { label: '类型2', value: 2 }, |
| | | // 根据实际的 PlaceTypeEnum 添加更多选项 |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择货位类型', |
| | | rules: [ |
| | | { required: true, message: '货位类型不能为空', trigger: 'change' }, |
| | |
| | | label: '货位状态', |
| | | prop: 'placeStatus', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '状态1', value: 1 }, |
| | | { label: '状态2', value: 2 }, |
| | | // 根据实际的 PlaceStatusEnum 添加更多选项 |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择货位状态', |
| | | rules: [ |
| | | { required: true, message: '货位状态不能为空', trigger: 'change' }, |
| | |
| | | { |
| | | label: '所在库区', |
| | | prop: 'areaCode', |
| | | el: 'input', |
| | | placeholder: '请输入所在库区', |
| | | el: 'select', |
| | | options: [], |
| | | placeholder: '请选择所在库区', |
| | | rules: [{ required: true, message: '所在库区不能为空', trigger: 'blur' }], |
| | | }, |
| | | { |
| | |
| | | label: '是否锁定', |
| | | prop: 'islock', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '是', value: 1 }, |
| | | { label: '否', value: 2 }, |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择是否锁定', |
| | | rules: [ |
| | | { required: true, message: '是否锁定不能为空', trigger: 'change' }, |
| | |
| | | label: '是否空托', |
| | | prop: 'emptyContainer', |
| | | el: 'select', |
| | | options: [ |
| | | { label: '是', value: 1 }, |
| | | { label: '否', value: 2 }, |
| | | ], |
| | | options: [], |
| | | placeholder: '请选择是否空托', |
| | | rules: [ |
| | | { required: true, message: '是否空托不能为空', trigger: 'change' }, |
| | |
| | | }, |
| | | } |
| | | } |
| | | |
| | | const updateFormItemOptions = (propName: string, enumData: any[]) => { |
| | | const item = formItems.find((item) => item.prop === propName) |
| | | if (item && enumData) { |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.description, |
| | | value: item.value, |
| | | })) |
| | | } |
| | | } |
| | | |
| | | const updateFormAreaOptions = (propName: string, enumData: any[]) => { |
| | | const item = formItems.find((item) => item.prop === propName) |
| | | if (item && enumData) { |
| | | item.options = enumData.map((item) => ({ |
| | | label: item.areaName, |
| | | value: item.areaNo, |
| | | })) |
| | | } |
| | | } |
| | | /** |
| | | * 弹窗打开获取详情 |
| | | */ |
| | | const onOpen = async () => { |
| | | const storageTypeNoData = await getWmsEnumData({ |
| | | EnumName: 'PlaceTypeEnum', |
| | | }) |
| | | updateFormItemOptions('storageTypeNo', storageTypeNoData) |
| | | |
| | | const placeStatusData = await getWmsEnumData({ |
| | | EnumName: 'PlaceStatusEnum', |
| | | }) |
| | | updateFormItemOptions('placeStatus', placeStatusData) |
| | | const yesNoData = await getWmsEnumData({ |
| | | EnumName: 'YesNoEnum', |
| | | }) |
| | | updateFormItemOptions('islock', yesNoData) |
| | | updateFormItemOptions('emptyContainer', yesNoData) |
| | | |
| | | const areaList = await getAreaAreaDataList() |
| | | updateFormAreaOptions('areaCode', areaList) |
| | | |
| | | if (current.value) { |
| | | const res = await wmsPlaceDrawer.getWmsPlaceDetail(current.value) |
| | | |
| | |
| | | } |
| | | updateCheckData() |
| | | } else { |
| | | formData.value = {} |
| | | formData.value = { |
| | | storageTypeNo: 1, // 货位类型 |
| | | placeStatus: 1, // 货位状态 |
| | | areaCode: areaList[0], // 所在库区 |
| | | aisle: 1, // 巷道 |
| | | layerNo: 1, // 层 |
| | | islock: 2, // 是否锁定 |
| | | emptyContainer: 2, // 是否空托 |
| | | } |
| | | updateCheckData() |
| | | } |
| | | } |