From 4be9b07e00bea78ae394aec67062b4db9895b565 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 14 三月 2026 15:46:21 +0800
Subject: [PATCH] BOM产品选择弹窗改接口

---
 src/views/basicData/parameterMaintenance/index.vue |  118 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 57 insertions(+), 61 deletions(-)

diff --git a/src/views/basicData/parameterMaintenance/index.vue b/src/views/basicData/parameterMaintenance/index.vue
index 367f587..67ed7ef 100644
--- a/src/views/basicData/parameterMaintenance/index.vue
+++ b/src/views/basicData/parameterMaintenance/index.vue
@@ -54,6 +54,7 @@
         <el-form-item label="鍙傛暟绫诲瀷"
                       prop="paramType">
           <el-select v-model="formData.paramType"
+                     @change="handleParamTypeChange"
                      placeholder="璇烽�夋嫨鍙傛暟绫诲瀷">
             <el-option label="鏁板�兼牸寮�"
                        value="1" />
@@ -68,7 +69,6 @@
         <el-form-item label="鍙栧�兼ā寮�"
                       prop="valueMode">
           <el-select v-model="formData.valueMode"
-                     @change="handleValueModeChange"
                      placeholder="璇烽�夋嫨鍙栧�兼ā寮�">
             <el-option label="鍗曞��"
                        value="1" />
@@ -81,23 +81,33 @@
           <el-input v-model="formData.unit"
                     placeholder="璇疯緭鍏ュ崟浣�" />
         </el-form-item>
-        <el-form-item label="榛樿鍊�"
-                      v-if="formData.valueMode === '1'"
-                      prop="defaultValue">
-          <el-input v-model="formData.defaultValue"
-                    placeholder="璇疯緭鍏ラ粯璁ゅ��" />
+        <el-form-item label="鍙栧�兼牸寮�"
+                      v-if="formData.paramType == '1' || formData.paramType == '2'"
+                      prop="paramFormat">
+          <el-input v-model="formData.paramFormat"
+                    placeholder="璇疯緭鍏ュ彇鍊兼牸寮�" />
         </el-form-item>
-        <el-form-item label="鏈�灏忓��"
-                      v-if="formData.valueMode === '2'"
-                      prop="defaultMin">
-          <el-input v-model="formData.defaultMin"
-                    placeholder="璇疯緭鍏ユ渶灏忓��" />
+        <el-form-item label="涓嬫媺瀛楀吀"
+                      v-else-if="formData.paramType == '3'"
+                      prop="paramFormat">
+          <el-select v-model="formData.paramFormat"
+                     placeholder="璇烽�夋嫨鍙栧�兼ā寮�">
+            <el-option v-for="item in dictTypes"
+                       :key="item.dictType"
+                       :label="item.dictName"
+                       :value="item.dictType" />
+          </el-select>
         </el-form-item>
-        <el-form-item label="鏈�澶у��"
-                      v-if="formData.valueMode === '2'"
-                      prop="defaultMax">
-          <el-input v-model="formData.defaultMax"
-                    placeholder="璇疯緭鍏ユ渶澶у��" />
+        <el-form-item label="鏃堕棿鏍煎紡"
+                      v-else-if="formData.paramType == '4'"
+                      prop="paramFormat">
+          <el-select v-model="formData.paramFormat"
+                     placeholder="璇烽�夋嫨鍙栧�兼ā寮�">
+            <el-option label="YYYY-MM-DD"
+                       value="YYYY-MM-DD" />
+            <el-option label="YYYY-MM-DD HH:mm:ss"
+                       value="YYYY-MM-DD HH:mm:ss" />
+          </el-select>
         </el-form-item>
         <el-form-item label="鏄惁蹇呭~"
                       prop="isRequired">
@@ -242,24 +252,14 @@
       prop: "unit",
     },
     {
-      label: "榛樿鍊�",
-      prop: "defaultValue",
+      label: "鍙栧�兼牸寮�",
+      prop: "paramFormat",
       formatData: (val, row) => {
-        return row.valueMode === 2 ? "-" : val;
-      },
-    },
-    {
-      label: "鏈�灏忓��",
-      prop: "defaultMin",
-      formatData: (val, row) => {
-        return row.valueMode === 1 ? "-" : val;
-      },
-    },
-    {
-      label: "鏈�澶у��",
-      prop: "defaultMax",
-      formatData: (val, row) => {
-        return row.valueMode === 1 ? "-" : val;
+        if (row.paramType == "3") {
+          const dict = dictTypes.value.find(item => item.dictType === val);
+          return dict ? "瀛楀吀:" + dict.dictName : val;
+        }
+        return val;
       },
     },
     {
@@ -308,15 +308,6 @@
     size: 10,
     total: 0,
   });
-  const handleValueModeChange = val => {
-    if (val === "2") {
-      formData.defaultMin = "";
-      formData.defaultMax = "";
-    } else {
-      formData.defaultValue = "";
-    }
-  };
-
   // 鎼滅储琛ㄥ崟
   const searchForm = reactive({
     paramName: "",
@@ -333,9 +324,6 @@
     paramType: "",
     valueMode: "1",
     unit: "",
-    defaultValue: "",
-    defaultMin: "",
-    defaultMax: "",
     isRequired: "0",
     remark: "",
   });
@@ -343,7 +331,20 @@
     paramName: [{ required: true, message: "璇疯緭鍏ュ弬鏁板悕绉�", trigger: "blur" }],
     paramType: [{ required: true, message: "璇烽�夋嫨鍙傛暟绫诲瀷", trigger: "change" }],
     valueMode: [{ required: true, message: "璇烽�夋嫨鍙栧�兼ā寮�", trigger: "change" }],
-    unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }],
+    unit: [
+      {
+        required: false,
+        message: "璇疯緭鍏ュ崟浣�",
+        trigger: "blur",
+        validator: (rule, value, callback) => {
+          if (formData.paramType === "1" && !value) {
+            callback(new Error("鏁板�肩被鍨嬪繀椤诲~鍐欏崟浣�"));
+          } else {
+            callback();
+          }
+        },
+      },
+    ],
   });
   // const productTypes = ref([]);
   const isEdit = ref(false);
@@ -364,13 +365,17 @@
   //   typeName: [{ required: true, message: "璇疯緭鍏ョ被鍨嬪悕绉�", trigger: "blur" }],
   // });
   // const isProductTypeEdit = ref(false);
-  const handleParameterTypeChange = () => {
-    if (formData.parameterType === "鏁板�兼牸寮�") {
-      formData.parameterFormat = "#.0000";
-    } else if (formData.parameterType === "鏃堕棿鏍煎紡") {
-      formData.parameterFormat = "YYYY-MM-DD HH:mm:ss";
+  const handleParamTypeChange = () => {
+    if (formData.paramType === "1") {
+      formData.paramFormat = "#.0000";
+    } else if (formData.paramType === "4") {
+      formData.paramFormat = "YYYY-MM-DD HH:mm:ss";
     } else {
-      formData.parameterFormat = "";
+      formData.paramFormat = "";
+    }
+    // 瑙﹀彂鍗曚綅瀛楁楠岃瘉
+    if (formRef.value) {
+      formRef.value.validateField("unit");
     }
   };
   // 浜у搧绫诲瀷缁存姢鎸夐挳鐐瑰嚮浜嬩欢 - 宸叉敞閲�
@@ -491,9 +496,6 @@
     formData.paramType = "";
     formData.valueMode = "1";
     formData.unit = "";
-    formData.defaultValue = "";
-    formData.defaultMin = "";
-    formData.defaultMax = "";
     formData.isRequired = "0";
     formData.remark = "";
     dialogVisible.value = true;
@@ -510,12 +512,6 @@
     formData.valueMode =
       row.valueMode !== undefined ? String(row.valueMode) : "1";
     formData.unit = row.unit || "";
-    formData.defaultValue =
-      row.defaultValue !== undefined ? String(row.defaultValue) : "";
-    formData.defaultMin =
-      row.defaultMin !== undefined ? String(row.defaultMin) : "";
-    formData.defaultMax =
-      row.defaultMax !== undefined ? String(row.defaultMax) : "";
     formData.isRequired =
       row.isRequired !== undefined ? String(row.isRequired) : "0";
     formData.remark = row.remark || "";

--
Gitblit v1.9.3