From 054c4b3be788b870026fdd1da916be18931161e7 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 30 4月 2025 16:24:31 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx |  101 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 81 insertions(+), 20 deletions(-)

diff --git a/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
similarity index 74%
rename from HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
rename to HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
index 377b8fb..2e2946f 100644
--- a/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
+++ b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
@@ -1,4 +1,13 @@
-import { ref, onMounted, reactive, computed, Ref, watch } from 'vue'
+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'
@@ -16,9 +25,23 @@
   // 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 visible = computed({
     get() {
       return props.modelValue
@@ -35,6 +58,7 @@
       label: '鐗╂枡缂栫爜',
       prop: 'materialCode',
       el: 'input',
+      disabled: disabled,
       placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
       rules: [{ required: true, message: '鐗╂枡缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
     },
@@ -50,11 +74,7 @@
       prop: 'purchaseType',
       el: 'select',
       placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
-      options: [
-        { label: '绫诲瀷1', value: 1 },
-        { label: '绫诲瀷2', value: 2 },
-        // Add all enum values
-      ],
+      options: [],
       rules: [{ required: true, message: '璇烽�夋嫨閲囪喘绫诲瀷', trigger: 'change' }],
     },
     {
@@ -62,11 +82,7 @@
       prop: 'materialType',
       el: 'select',
       placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
-      options: [
-        { label: '绫诲瀷A', value: 1 },
-        { label: '绫诲瀷B', value: 2 },
-        // Add all enum values
-      ],
+      options: [],
       rules: [{ required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷', trigger: 'change' }],
     },
     {
@@ -84,7 +100,14 @@
     {
       label: '澶栧緞(mm)',
       prop: 'outerDiameter',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ュ寰�',
       step: 0.01,
       precision: 2,
@@ -92,7 +115,14 @@
     {
       label: '澹佸帤(mm)',
       prop: 'wallThickness',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ュ鍘�',
       step: 0.01,
       precision: 2,
@@ -106,7 +136,14 @@
     {
       label: '闀垮害(m)',
       prop: 'length',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ラ暱搴�',
       step: 0.1,
       precision: 2,
@@ -115,10 +152,7 @@
       label: '鏄惁涓绘敮绠�',
       prop: 'isMainBranch',
       el: 'select',
-      options: [
-        { label: '鏄�', value: 1 },
-        { label: '鍚�', value: 2 },
-      ],
+      options: [],
     },
     {
       label: '鐢熶骇宸ュ巶',
@@ -184,7 +218,7 @@
       wallThickness: formData.value.wallThickness,
       materialQuality: formData.value.materialQuality,
       length: formData.value.length,
-      isMainBranch: formData.value.isMainBranch === 1,
+      isMainBranch: formData.value.isMainBranch,
       factory: formData.value.factory,
       certification: formData.value.certification,
       remark: formData.value.remark,
@@ -206,10 +240,34 @@
       },
     }
   }
+  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 onOpen = async () => {
+    const materialTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'MaterialTypeEnum',
+    })
+    updateFormItemOptions('materialType', materialTypeEnum)
+
+    const purchaseTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'PurchaseTypeEnum',
+    })
+    updateFormItemOptions('purchaseType', purchaseTypeEnum)
+
+    const yesOrNoTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isMainBranch', yesOrNoTypeEnum)
+
     if (current.value) {
       const res = await wmsMaterialDrawer.getWmsMaterialDetail(current.value)
 
@@ -224,15 +282,18 @@
         wallThickness: res.wallThickness,
         materialQuality: res.materialQuality,
         length: res.length,
-        isMainBranch: res.isMainBranch ? 1 : 2,
+        isMainBranch: res.isMainBranch,
         factory: res.factory,
         certification: res.certification,
         remark: res.remark,
         id: res.id,
       }
+      disabled.value = true
       updateCheckData()
     } else {
       formData.value = {}
+
+      disabled.value = false
       updateCheckData()
     }
   }

--
Gitblit v1.9.3