From 38b161e4d52362081bfe78fb5b51fbf384db7ce2 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 07:22:21 +0800
Subject: [PATCH] 222

---
 HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts |  107 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 68 insertions(+), 39 deletions(-)

diff --git a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts
index 335aeb0..a23713e 100644
--- a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts
+++ b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts
@@ -5,6 +5,10 @@
 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')
@@ -15,6 +19,7 @@
   const formData = ref<Record<string, any>>({})
   // ref
   const formRef = ref()
+  const disabled = ref(false)
 
   const current = computed(() => {
     return props.row || null
@@ -35,6 +40,7 @@
       label: '搴撳尯缂栧彿',
       prop: 'areaNo',
       el: 'input',
+      disabled: disabled,
       placeholder: '璇疯緭鍏ュ簱鍖虹紪鍙�',
       rules: [{ required: true, message: '搴撳尯缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }],
     },
@@ -46,20 +52,10 @@
       rules: [{ required: true, message: '搴撳尯鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }],
     },
     {
-      label: '鎻忚堪',
-      prop: 'areaDesc',
-      el: 'input',
-      placeholder: '璇疯緭鍏ユ弿杩�',
-    },
-    {
       label: '搴撳尯鐘舵��',
       prop: 'areaStatus',
       el: 'select',
-      options: [
-        { label: '鍚敤', value: 'Active' },
-        { label: '绂佺敤', value: 'Inactive' },
-        // 鏍规嵁瀹為檯鐨� AreaStatusEnum 娣诲姞鏇村閫夐」
-      ],
+      options: [],
       placeholder: '璇烽�夋嫨搴撳尯鐘舵��',
       rules: [
         { required: true, message: '搴撳尯鐘舵�佷笉鑳戒负绌�', trigger: 'change' },
@@ -69,11 +65,7 @@
       label: '搴撳尯绫诲瀷',
       prop: 'areaType',
       el: 'select',
-      options: [
-        { label: '瀛樺偍鍖�', value: 'Storage' },
-        { label: '瑁呭嵏鍖�', value: 'Loading' },
-        // 鏍规嵁瀹為檯鐨� AreaTypeEnum 娣诲姞鏇村閫夐」
-      ],
+      options: [],
       placeholder: '璇烽�夋嫨搴撳尯绫诲瀷',
       rules: [
         { required: true, message: '搴撳尯绫诲瀷涓嶈兘涓虹┖', trigger: 'change' },
@@ -82,35 +74,35 @@
     {
       label: '浠撳簱浠g爜',
       prop: 'storeCode',
-      el: 'input',
+      el: 'select',
+      options: [],
+      // storeValueAndLabel: true,
       placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�',
     },
+    // {
+    //   label: '浠撳簱鍚嶇О',
+    //   prop: 'storeName',
+    //   el: 'input',
+    //   placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�',
+    // },
+    // {
+    //   label: '鎺掑簭',
+    //   prop: 'sort',
+    //   el: 'input-number',
+    //   placeholder: '璇疯緭鍏ユ帓搴�',
+    //   rules: [{ required: true, message: '鎺掑簭涓嶈兘涓虹┖', trigger: 'blur' }],
+    // },
     {
-      label: '浠撳簱鍚嶇О',
-      prop: 'storeName',
+      label: '鎻忚堪',
+      prop: 'areaDesc',
       el: 'input',
-      placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�',
-    },
-    {
-      label: '鎺掑簭',
-      prop: 'sort',
-      el: 'input-number',
-      placeholder: '璇疯緭鍏ユ帓搴�',
-      rules: [{ required: true, message: '鎺掑簭涓嶈兘涓虹┖', trigger: 'blur' }],
+      placeholder: '璇疯緭鍏ユ弿杩�',
     },
     {
       label: '澶囨敞',
       prop: 'remark',
       el: 'input',
       placeholder: '璇疯緭鍏ュ娉�',
-    },
-    {
-      label: '鏄惁绂佺敤',
-      prop: 'isDisabled',
-      el: 'switch',
-      rules: [
-        { required: true, message: '鏄惁绂佺敤涓嶈兘涓虹┖', trigger: 'change' },
-      ],
     },
   ])
   /**
@@ -146,14 +138,15 @@
    */
   const onConfirm = async () => {
     await formRef.value?.validate()
+    console.log(formData.value)
     const data = {
       areaNo: formData.value.areaNo, // 搴撳尯缂栧彿
       areaName: formData.value.areaName, // 搴撳尯鍚嶇О
       areaDesc: formData.value.areaDesc, // 鎻忚堪
       areaStatus: formData.value.areaStatus, // 搴撳尯鐘舵��
       areaType: formData.value.areaType, // 搴撳尯绫诲瀷
-      storeCode: formData.value.storeCode, // 浠撳簱浠g爜
-      storeName: formData.value.storeName, // 浠撳簱鍚嶇О
+      storeCode: formData.value.storeCode.areaCode, // 浠撳簱浠g爜
+      storeName: formData.value.storeCode.storeName, // 浠撳簱鍚嶇О
       remark: formData.value.remark, // 澶囨敞
     }
     if (!current.value) {
@@ -173,10 +166,40 @@
       },
     }
   }
+  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.storeName,
+        value: item.storeCode,
+      }))
+    }
+  }
   /**
    * 寮圭獥鎵撳紑鑾峰彇璇︽儏
    */
   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()
+    updateFormStoreOptions('storeCode', storeList)
     if (current.value) {
       const res = await wmsAreaDrawer.getWmsAreaDetail(current.value)
 
@@ -187,13 +210,19 @@
         areaStatus: res.areaStatus, // 搴撳尯鐘舵��
         areaType: res.areaType, // 搴撳尯绫诲瀷
         storeCode: res.storeCode, // 浠撳簱浠g爜
-        storeName: res.storeName, // 浠撳簱鍚嶇О
+        // storeName: res.storeName, // 浠撳簱鍚嶇О
         remark: res.remark, // 澶囨敞
         id: res.id,
       }
+      disabled.value = true
       updateCheckData()
     } else {
-      formData.value = {}
+      disabled.value = false
+      formData.value = {
+        areaStatus: 1, // 搴撳尯鐘舵��
+        areaType: 1, // 搴撳尯绫诲瀷
+        storeCode: storeList[0],
+      }
       updateCheckData()
     }
   }

--
Gitblit v1.9.3