zs
2025-05-05 6ecd5b23904d2e862dd572ab7feb1a85824fc9ad
HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.ts
@@ -5,6 +5,10 @@
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')
@@ -42,11 +46,7 @@
      label: '货位类型',
      prop: 'storageTypeNo',
      el: 'select',
      options: [
        { label: '类型1', value: 'Type1' },
        { label: '类型2', value: 'Type2' },
        // 根据实际的 PlaceTypeEnum 添加更多选项
      ],
      options: [],
      placeholder: '请选择货位类型',
      rules: [
        { required: true, message: '货位类型不能为空', trigger: 'change' },
@@ -56,11 +56,7 @@
      label: '货位状态',
      prop: 'placeStatus',
      el: 'select',
      options: [
        { label: '状态1', value: 'Status1' },
        { label: '状态2', value: 'Status2' },
        // 根据实际的 PlaceStatusEnum 添加更多选项
      ],
      options: [],
      placeholder: '请选择货位状态',
      rules: [
        { required: true, message: '货位状态不能为空', trigger: 'change' },
@@ -69,8 +65,9 @@
    {
      label: '所在库区',
      prop: 'areaCode',
      el: 'input',
      placeholder: '请输入所在库区',
      el: 'select',
      options: [],
      placeholder: '请选择所在库区',
      rules: [{ required: true, message: '所在库区不能为空', trigger: 'blur' }],
    },
    {
@@ -103,10 +100,7 @@
      label: '是否锁定',
      prop: 'islock',
      el: 'select',
      options: [
        { label: '是', value: 'Y' },
        { label: '否', value: 'N' },
      ],
      options: [],
      placeholder: '请选择是否锁定',
      rules: [
        { required: true, message: '是否锁定不能为空', trigger: 'change' },
@@ -116,10 +110,7 @@
      label: '是否空托',
      prop: 'emptyContainer',
      el: 'select',
      options: [
        { label: '是', value: 'Y' },
        { label: '否', value: 'N' },
      ],
      options: [],
      placeholder: '请选择是否空托',
      rules: [
        { required: true, message: '是否空托不能为空', trigger: 'change' },
@@ -194,10 +185,48 @@
      },
    }
  }
  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)
@@ -217,7 +246,15 @@
      }
      updateCheckData()
    } else {
      formData.value = {}
      formData.value = {
        storageTypeNo: 1, // 货位类型
        placeStatus: 1, // 货位状态
        areaCode: areaList[0], // 所在库区
        aisle: 1, // 巷道
        layerNo: 1, // 层
        islock: 2, // 是否锁定
        emptyContainer: 2, // 是否空托
      }
      updateCheckData()
    }
  }