From e545f964005b0c80b29a4417ca8275570778ac75 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 14 三月 2026 13:29:44 +0800
Subject: [PATCH] 工艺路线加上产品和bom 样式优化

---
 src/views/basicData/parameterMaintenance/index.vue |  687 +++++++++++++++++++++++++-------------------------------
 1 files changed, 311 insertions(+), 376 deletions(-)

diff --git a/src/views/basicData/parameterMaintenance/index.vue b/src/views/basicData/parameterMaintenance/index.vue
index 0400952..367f587 100644
--- a/src/views/basicData/parameterMaintenance/index.vue
+++ b/src/views/basicData/parameterMaintenance/index.vue
@@ -3,15 +3,16 @@
     <div class="search_form">
       <div>
         <span class="search_title ml10">鍙傛暟鍚嶇О锛�</span>
-        <el-input v-model="searchForm.materialCode"
+        <el-input v-model="searchForm.paramName"
                   style="width: 200px"
                   placeholder="璇疯緭鍏ュ弬鏁板悕绉�"
                   clearable />
-        <span class="search_title ml10">鍏宠仈浜у搧绫诲瀷锛�</span>
+        <!-- 鍏宠仈浜у搧绫诲瀷鎼滅储 -->
+        <!-- <span class="search_title ml10">鍏宠仈浜у搧绫诲瀷锛�</span>
         <el-input v-model="searchForm.productName"
-                  style="width: 200px"
+                  style="width: 200px"d
                   placeholder="璇疯緭鍏ュ叧鑱斾骇鍝佺被鍨�"
-                  clearable />
+                  clearable /> -->
         <el-button type="primary"
                    @click="handleQuery"
                    style="margin-left: 10px">鎼滅储</el-button>
@@ -19,19 +20,21 @@
         <el-button type="primary"
                    @click="handleAdd"
                    style="margin-left: 10px">鏂板鍙傛暟</el-button>
-        <el-button type="primary"
+        <!-- 浜у搧绫诲瀷缁存姢鎸夐挳 -->
+        <!-- <el-button type="primary"
                    @click="handleProductTypeMaintenance"
-                   style="margin-left: 10px">浜у搧绫诲瀷缁存姢</el-button>
+                   style="margin-left: 10px">浜у搧绫诲瀷缁存姢</el-button> -->
       </div>
     </div>
     <div class="table_list">
-      <PIMTable rowKey="materialCode"
+      <PIMTable rowKey="paramName"
                 :column="tableColumn"
                 :tableData="tableData"
                 :page="page"
-                height="calc(100vh - 320px)"
+                height="calc(100vh - 280px)"
                 :tableLoading="tableLoading"
                 :isSelection="false"
+                :isShowPagination="false"
                 @pagination="pagination">
       </PIMTable>
     </div>
@@ -43,101 +46,72 @@
                :rules="rules"
                ref="formRef"
                label-width="120px">
-        <el-form-item label="鍙傛暟缂栧彿"
-                      prop="parameterCode">
-          <el-input v-model="formData.parameterCode"
-                    placeholder="璇疯緭鍏ュ弬鏁扮紪鍙�" />
-        </el-form-item>
         <el-form-item label="鍙傛暟鍚嶇О"
-                      prop="parameterName">
-          <el-input v-model="formData.parameterName"
+                      prop="paramName">
+          <el-input v-model="formData.paramName"
                     placeholder="璇疯緭鍏ュ弬鏁板悕绉�" />
         </el-form-item>
-        <el-form-item label="鍙傛暟妯″紡"
-                      prop="parameterFormat">
-          <el-select v-model="formData.parameterType2"
+        <el-form-item label="鍙傛暟绫诲瀷"
+                      prop="paramType">
+          <el-select v-model="formData.paramType"
                      placeholder="璇烽�夋嫨鍙傛暟绫诲瀷">
+            <el-option label="鏁板�兼牸寮�"
+                       value="1" />
+            <el-option label="鏂囨湰鏍煎紡"
+                       value="2" />
+            <el-option label="涓嬫媺閫夐」"
+                       value="3" />
+            <el-option label="鏃堕棿鏍煎紡"
+                       value="4" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鍙栧�兼ā寮�"
+                      prop="valueMode">
+          <el-select v-model="formData.valueMode"
+                     @change="handleValueModeChange"
+                     placeholder="璇烽�夋嫨鍙栧�兼ā寮�">
             <el-option label="鍗曞��"
                        value="1" />
             <el-option label="鍖洪棿"
                        value="2" />
           </el-select>
         </el-form-item>
-        <el-form-item label="鍙傛暟绫诲瀷"
-                      prop="parameterType">
-          <el-select v-model="formData.parameterType"
-                     @change="handleParameterTypeChange"
-                     placeholder="璇烽�夋嫨鍙傛暟绫诲瀷">
-            <el-option label="鏁板�兼牸寮�"
-                       value="鏁板�兼牸寮�" />
-            <el-option label="鏂囨湰鏍煎紡"
-                       value="鏂囨湰鏍煎紡" />
-            <el-option label="涓嬫媺閫夐」"
-                       value="涓嬫媺閫夐」" />
-            <el-option label="鏃堕棿鏍煎紡"
-                       value="鏃堕棿鏍煎紡" />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="formData.parameterType === '涓嬫媺閫夐」'"
-                      label="鏁版嵁瀛楀吀"
-                      prop="parameterFormat">
-          <el-select v-model="formData.parameterFormat"
-                     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 v-else-if="formData.parameterType === '鏃堕棿鏍煎紡'"
-                      label="鏃堕棿鏍煎紡"
-                      prop="parameterFormat">
-          <el-select v-model="formData.parameterFormat"
-                     placeholder="璇烽�夋嫨鏃堕棿鏍煎紡">
-            <el-option label="YYYY-MM-DD HH:mm:ss"
-                       value="YYYY-MM-DD HH:mm:ss" />
-            <el-option label="YYYY-MM-DD"
-                       value="YYYY-MM-DD" />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-else
-                      label="鍙傛暟鏍煎紡"
-                      prop="parameterFormat">
-          <el-input v-model="formData.parameterFormat"
-                    placeholder="璇疯緭鍏ュ弬鏁版牸寮�" />
-        </el-form-item>
-        <el-form-item label="鍏宠仈浜у搧绫诲瀷"
-                      prop="parameterValue">
-          <el-select v-model="formData.parameterValue"
-                     placeholder="璇烽�夋嫨鍏宠仈浜у搧绫诲瀷">
-            <el-option v-for="item in productTypes"
-                       :key="item.value"
-                       :label="item.label"
-                       :value="item.value" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="鏍囧噯鍊�"
-                      v-if="formData.parameterType2 === '1'"
-                      prop="standardValue">
-          <el-input v-model="formData.standardValue"
-                    placeholder="璇疯緭鍏ユ爣鍑嗗��" />
-        </el-form-item>
-        <el-form-item label="鏈�澶у��"
-                      v-if="formData.parameterType2 === '2'"
-                      prop="standardValue">
-          <el-input v-model="formData.standardValue"
-                    placeholder="璇疯緭鍏ユ爣鍑嗗��" />
-        </el-form-item>
-        <el-form-item label="鏈�灏忓��"
-                      v-if="formData.parameterType2 === '2'"
-                      prop="standardValue">
-          <el-input v-model="formData.standardValue"
-                    placeholder="璇疯緭鍏ユ爣鍑嗗��" />
-        </el-form-item>
         <el-form-item label="鍗曚綅"
                       prop="unit">
           <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>
+        <el-form-item label="鏈�灏忓��"
+                      v-if="formData.valueMode === '2'"
+                      prop="defaultMin">
+          <el-input v-model="formData.defaultMin"
+                    placeholder="璇疯緭鍏ユ渶灏忓��" />
+        </el-form-item>
+        <el-form-item label="鏈�澶у��"
+                      v-if="formData.valueMode === '2'"
+                      prop="defaultMax">
+          <el-input v-model="formData.defaultMax"
+                    placeholder="璇疯緭鍏ユ渶澶у��" />
+        </el-form-item>
+        <el-form-item label="鏄惁蹇呭~"
+                      prop="isRequired">
+          <el-radio-group v-model="formData.isRequired">
+            <el-radio label="1">鏄�</el-radio>
+            <el-radio label="0">鍚�</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="澶囨敞"
+                      prop="remark">
+          <el-input v-model="formData.remark"
+                    type="textarea"
+                    :rows="3"
+                    placeholder="璇疯緭鍏ュ娉�" />
         </el-form-item>
       </el-form>
       <template #footer>
@@ -149,7 +123,7 @@
       </template>
     </el-dialog>
     <!-- 浜у搧绫诲瀷缁存姢瀵硅瘽妗� -->
-    <el-dialog v-model="productTypeDialogVisible"
+    <!-- <el-dialog v-model="productTypeDialogVisible"
                title="浜у搧绫诲瀷缁存姢"
                width="600px">
       <div class="product-type-header">
@@ -159,9 +133,9 @@
       <el-table :data="productTypeList"
                 border
                 style="width: 100%; margin-top: 10px; margin-bottom: 20px">
-        <!-- <el-table-column prop="typeCode"
+        <el-table-column prop="typeCode"
                          label="绫诲瀷缂栫爜"
-                         width="150" /> -->
+                         width="150" />
         <el-table-column prop="typeName"
                          label="绫诲瀷鍚嶇О" />
         <el-table-column label="鎿嶄綔"
@@ -176,20 +150,20 @@
           </template>
         </el-table-column>
       </el-table>
-    </el-dialog>
+    </el-dialog> -->
     <!-- 鏂板/缂栬緫浜у搧绫诲瀷瀵硅瘽妗� -->
-    <el-dialog v-model="productTypeFormVisible"
+    <!-- <el-dialog v-model="productTypeFormVisible"
                :title="productTypeDialogTitle"
                width="400px">
       <el-form :model="productTypeForm"
                :rules="productTypeRules"
                ref="productTypeFormRef"
                label-width="100px">
-        <!-- <el-form-item label="绫诲瀷缂栫爜"
+        <el-form-item label="绫诲瀷缂栫爜"
                       prop="typeCode">
           <el-input v-model="productTypeForm.typeCode"
                     placeholder="璇疯緭鍏ョ被鍨嬬紪鐮�" />
-        </el-form-item> -->
+        </el-form-item>
         <el-form-item label="绫诲瀷鍚嶇О"
                       prop="typeName">
           <el-input v-model="productTypeForm.typeName"
@@ -203,7 +177,7 @@
                      @click="handleProductTypeSubmit">纭畾</el-button>
         </span>
       </template>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
@@ -214,7 +188,11 @@
     addParameter,
     updateParameter,
     delParameter,
-    getProductTypes as getProductTypesApi,
+    addBaseParam,
+    editBaseParam,
+    getBaseParamList,
+    removeBaseParam,
+    // getProductTypes as getProductTypesApi,
   } from "@/api/basicData/parameterMaintenance.js";
   import { listType } from "@/api/system/dict/type";
   import PIMTable from "@/components/PIMTable/PIMTable.vue";
@@ -222,64 +200,86 @@
 
   const tableColumn = ref([
     {
-      label: "鍙傛暟缂栧彿",
-      prop: "parameterCode",
-      className: "code-cell",
-    },
-    {
       label: "鍙傛暟鍚嶇О",
-      prop: "parameterName",
-    },
-    {
-      label: "鍙傛暟妯″紡",
-      prop: "parameterType2",
+      prop: "paramName",
     },
     {
       label: "鍙傛暟绫诲瀷",
-      prop: "parameterType",
+      prop: "paramType",
       dataType: "tag",
       formatType: params => {
         const typeMap = {
-          鏁板�兼牸寮�: "primary",
-          鏂囨湰鏍煎紡: "info",
-          涓嬫媺閫夐」: "warning",
-          鏃堕棿鏍煎紡: "success",
+          1: "primary",
+          2: "info",
+          3: "warning",
+          4: "success",
         };
         return typeMap[params] || "default";
       },
-    },
-    {
-      label: "鍙傛暟鏍煎紡",
-      prop: "parameterFormat",
-    },
-    {
-      label: "鍏宠仈浜у搧绫诲瀷",
-      prop: "parameterValue",
-    },
-    {
-      label: "鏍囧噯鍊�",
-      prop: "standardValue",
-      className: row => {
-        return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+      formatData: val => {
+        const labelMap = {
+          1: "鏁板�兼牸寮�",
+          2: "鏂囨湰鏍煎紡",
+          3: "涓嬫媺閫夐」",
+          4: "鏃堕棿鏍煎紡",
+        };
+        return labelMap[val] || val;
       },
     },
     {
-      label: "鏈�澶у��",
-      prop: "standardValue",
-      className: row => {
-        return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+      label: "鍙栧�兼ā寮�",
+      prop: "valueMode",
+      dataType: "tag",
+      formatType: params => {
+        return params === 2 ? "warning" : "success";
       },
-    },
-    {
-      label: "鏈�灏忓��",
-      prop: "standardValue",
-      className: row => {
-        return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+      formatData: val => {
+        return val === 2 ? "鍖洪棿" : "鍗曞��";
       },
     },
     {
       label: "鍗曚綅",
       prop: "unit",
+    },
+    {
+      label: "榛樿鍊�",
+      prop: "defaultValue",
+      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;
+      },
+    },
+    {
+      label: "鏄惁蹇呭~",
+      prop: "isRequired",
+      dataType: "tag",
+      formatType: params => {
+        return params === 1 ? "danger" : "info";
+      },
+      formatData: val => {
+        return val === 1 ? "鏄�" : "鍚�";
+      },
+    },
+    {
+      label: "澶囨敞",
+      prop: "remark",
+    },
+    {
+      label: "鍒涘缓鏃堕棿",
+      prop: "createTime",
     },
     {
       label: "鎿嶄綔",
@@ -308,10 +308,18 @@
     size: 10,
     total: 0,
   });
+  const handleValueModeChange = val => {
+    if (val === "2") {
+      formData.defaultMin = "";
+      formData.defaultMax = "";
+    } else {
+      formData.defaultValue = "";
+    }
+  };
 
   // 鎼滅储琛ㄥ崟
   const searchForm = reactive({
-    materialCode: "",
+    paramName: "",
     productName: "",
   });
 
@@ -320,53 +328,42 @@
   const dialogTitle = ref("");
   const formRef = ref(null);
   const formData = reactive({
-    parameterCode: "",
-    parameterName: "",
-    parameterType2: "1",
-    parameterType: "",
-    parameterFormat: "",
-    parameterValue: "",
-    standardValue: "",
+    id: null,
+    paramName: "",
+    paramType: "",
+    valueMode: "1",
     unit: "",
+    defaultValue: "",
+    defaultMin: "",
+    defaultMax: "",
+    isRequired: "0",
+    remark: "",
   });
   const rules = reactive({
-    parameterCode: [
-      { required: true, message: "璇疯緭鍏ュ弬鏁扮紪鍙�", trigger: "blur" },
-    ],
-    parameterName: [
-      { required: true, message: "璇疯緭鍏ュ弬鏁板悕绉�", trigger: "blur" },
-    ],
-    parameterType: [
-      { required: true, message: "璇烽�夋嫨鍙傛暟绫诲瀷", trigger: "change" },
-    ],
-    parameterFormat: [
-      { required: true, message: "璇烽�夋嫨鍙傛暟鏍煎紡", trigger: "change" },
-    ],
-    parameterValue: [
-      { required: true, message: "璇烽�夋嫨鍏宠仈浜у搧绫诲瀷", trigger: "change" },
-    ],
-    standardValue: [{ required: true, message: "璇疯緭鍏ユ爣鍑嗗��", trigger: "blur" }],
+    paramName: [{ required: true, message: "璇疯緭鍏ュ弬鏁板悕绉�", trigger: "blur" }],
+    paramType: [{ required: true, message: "璇烽�夋嫨鍙傛暟绫诲瀷", trigger: "change" }],
+    valueMode: [{ required: true, message: "璇烽�夋嫨鍙栧�兼ā寮�", trigger: "change" }],
     unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }],
   });
-  const productTypes = ref([]);
+  // const productTypes = ref([]);
   const isEdit = ref(false);
 
-  // 浜у搧绫诲瀷缁存姢鐩稿叧
-  const productTypeDialogVisible = ref(false);
-  const productTypeFormVisible = ref(false);
-  const productTypeDialogTitle = ref("");
-  const productTypeFormRef = ref(null);
-  const productTypeList = ref([]);
-  const productTypeForm = reactive({
-    id: null,
-    // typeCode: "",
-    typeName: "",
-  });
-  const productTypeRules = reactive({
-    // typeCode: [{ required: true, message: "璇疯緭鍏ョ被鍨嬬紪鐮�", trigger: "blur" }],
-    typeName: [{ required: true, message: "璇疯緭鍏ョ被鍨嬪悕绉�", trigger: "blur" }],
-  });
-  const isProductTypeEdit = ref(false);
+  // 浜у搧绫诲瀷缁存姢鐩稿叧 - 宸叉敞閲�
+  // const productTypeDialogVisible = ref(false);
+  // const productTypeFormVisible = ref(false);
+  // const productTypeDialogTitle = ref("");
+  // const productTypeFormRef = ref(null);
+  // const productTypeList = ref([]);
+  // const productTypeForm = reactive({
+  //   id: null,
+  //   typeCode: "",
+  //   typeName: "",
+  // });
+  // const productTypeRules = reactive({
+  //   typeCode: [{ required: true, message: "璇疯緭鍏ョ被鍨嬬紪鐮�", trigger: "blur" }],
+  //   typeName: [{ required: true, message: "璇疯緭鍏ョ被鍨嬪悕绉�", trigger: "blur" }],
+  // });
+  // const isProductTypeEdit = ref(false);
   const handleParameterTypeChange = () => {
     if (formData.parameterType === "鏁板�兼牸寮�") {
       formData.parameterFormat = "#.0000";
@@ -376,65 +373,65 @@
       formData.parameterFormat = "";
     }
   };
-  // 浜у搧绫诲瀷缁存姢鎸夐挳鐐瑰嚮浜嬩欢
-  const handleProductTypeMaintenance = () => {
-    productTypeDialogVisible.value = true;
-    getProductTypeList();
-  };
+  // 浜у搧绫诲瀷缁存姢鎸夐挳鐐瑰嚮浜嬩欢 - 宸叉敞閲�
+  // const handleProductTypeMaintenance = () => {
+  //   productTypeDialogVisible.value = true;
+  //   getProductTypeList();
+  // };
 
-  // 鑾峰彇浜у搧绫诲瀷鍒楄〃
-  const getProductTypeList = () => {
-    productTypeList.value = [
-      { id: 1, typeCode: "TYPE001", typeName: "3.5鐮屽潡" },
-      { id: 2, typeCode: "TYPE002", typeName: "5.0鐮屽潡" },
-      { id: 3, typeCode: "TYPE003", typeName: "鏉挎潗" },
-    ];
-  };
+  // 鑾峰彇浜у搧绫诲瀷鍒楄〃 - 宸叉敞閲�
+  // const getProductTypeList = () => {
+  //   productTypeList.value = [
+  //     { id: 1, typeCode: "TYPE001", typeName: "3.5鐮屽潡" },
+  //     { id: 2, typeCode: "TYPE002", typeName: "5.0鐮屽潡" },
+  //     { id: 3, typeCode: "TYPE003", typeName: "鏉挎潗" },
+  //   ];
+  // };
 
-  // 鏂板浜у搧绫诲瀷
-  const handleAddProductType = () => {
-    isProductTypeEdit.value = false;
-    productTypeDialogTitle.value = "鏂板浜у搧绫诲瀷";
-    productTypeForm.id = null;
-    productTypeForm.typeCode = "";
-    productTypeForm.typeName = "";
-    productTypeFormVisible.value = true;
-  };
+  // 鏂板浜у搧绫诲瀷 - 宸叉敞閲�
+  // const handleAddProductType = () => {
+  //   isProductTypeEdit.value = false;
+  //   productTypeDialogTitle.value = "鏂板浜у搧绫诲瀷";
+  //   productTypeForm.id = null;
+  //   productTypeForm.typeCode = "";
+  //   productTypeForm.typeName = "";
+  //   productTypeFormVisible.value = true;
+  // };
 
-  // 缂栬緫浜у搧绫诲瀷
-  const handleEditProductType = row => {
-    isProductTypeEdit.value = true;
-    productTypeDialogTitle.value = "缂栬緫浜у搧绫诲瀷";
-    productTypeForm.id = row.id;
-    productTypeForm.typeCode = row.typeCode;
-    productTypeForm.typeName = row.typeName;
-    productTypeFormVisible.value = true;
-  };
+  // 缂栬緫浜у搧绫诲瀷 - 宸叉敞閲�
+  // const handleEditProductType = row => {
+  //   isProductTypeEdit.value = true;
+  //   productTypeDialogTitle.value = "缂栬緫浜у搧绫诲瀷";
+  //   productTypeForm.id = row.id;
+  //   productTypeForm.typeCode = row.typeCode;
+  //   productTypeForm.typeName = row.typeName;
+  //   productTypeFormVisible.value = true;
+  // };
 
-  // 鍒犻櫎浜у搧绫诲瀷
-  const handleDeleteProductType = row => {
-    ElMessageBox.confirm("纭畾瑕佸垹闄よ浜у搧绫诲瀷鍚楋紵", "鎻愮ず", {
-      confirmButtonText: "纭畾",
-      cancelButtonText: "鍙栨秷",
-      type: "warning",
-    })
-      .then(() => {
-        ElMessage.success("鍒犻櫎鎴愬姛");
-        getProductTypeList();
-      })
-      .catch(() => {});
-  };
+  // 鍒犻櫎浜у搧绫诲瀷 - 宸叉敞閲�
+  // const handleDeleteProductType = row => {
+  //   ElMessageBox.confirm("纭畾瑕佸垹闄よ浜у搧绫诲瀷鍚楋紵", "鎻愮ず", {
+  //     confirmButtonText: "纭畾",
+  //     cancelButtonText: "鍙栨秷",
+  //     type: "warning",
+  //   })
+  //     .then(() => {
+  //       ElMessage.success("鍒犻櫎鎴愬姛");
+  //       getProductTypeList();
+  //     })
+  //     .catch(() => {});
+  // };
 
-  // 鎻愪氦浜у搧绫诲瀷琛ㄥ崟
-  const handleProductTypeSubmit = () => {
-    productTypeFormRef.value.validate(valid => {
-      if (valid) {
-        ElMessage.success(isProductTypeEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
-        productTypeFormVisible.value = false;
-        getProductTypeList();
-      }
-    });
-  };
+  // 鎻愪氦浜у搧绫诲瀷琛ㄥ崟 - 宸叉敞閲�
+  // const handleProductTypeSubmit = () => {
+  //   productTypeFormRef.value.validate(valid => {
+  //     if (valid) {
+  //       ElMessage.success(isProductTypeEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
+  //       productTypeFormVisible.value = false;
+  //       getProductTypeList();
+  //     }
+  //   });
+  // };
 
   // 鏌ヨ鍒楄〃
   /** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -445,7 +442,7 @@
 
   /** 閲嶇疆鎸夐挳鎿嶄綔 */
   const handleReset = () => {
-    searchForm.materialCode = "";
+    searchForm.paramName = "";
     searchForm.productName = "";
     page.current = 1;
     getList();
@@ -458,119 +455,47 @@
 
   const getList = () => {
     tableLoading.value = true;
-    // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
-    /*const params = { ...searchForm, ...page };
-                                                                    parameterListPage(params)
-                                                                      .then(res => {
-                                                                        tableLoading.value = false;
-                                                                        tableData.value = res.data;
-                                                                        page.total = res.total || 0;
-                                                                      })
-                                                                      .catch(() => {
-                                                                        tableLoading.value = false;
-                                                                      });*/
-
-    // 鍋囨暟鎹�
-    setTimeout(() => {
-      tableLoading.value = false;
-      tableData.value = [
-        {
-          id: 1,
-          parameterCode: "PARAM001",
-          parameterName: "闀垮害",
-          parameterType2: "1",
-          parameterType: "鏁板�兼牸寮�",
-          parameterFormat: "",
-          parameterValue: "type1",
-          standardValue: "100",
-          unit: "mm",
-        },
-        {
-          id: 2,
-          parameterCode: "PARAM002",
-          parameterName: "娓╁害",
-          parameterType2: "2",
-          parameterType: "鏁板�兼牸寮�",
-          parameterFormat: "",
-          parameterValue: "type1",
-          standardValue: "25",
-          unit: "鈩�",
-        },
-        {
-          id: 3,
-          parameterCode: "PARAM003",
-          parameterName: "棰滆壊",
-          parameterType2: "1",
-          parameterType: "鏂囨湰鏍煎紡",
-          parameterFormat: "",
-          parameterValue: "type2",
-          standardValue: "绾㈣壊",
-          unit: "",
-        },
-        {
-          id: 4,
-          parameterCode: "PARAM004",
-          parameterName: "鐘舵��",
-          parameterType2: "1",
-          parameterType: "涓嬫媺閫夐」",
-          parameterFormat: "status",
-          parameterValue: "type3",
-          standardValue: "姝e父",
-          unit: "",
-        },
-        {
-          id: 5,
-          parameterCode: "PARAM005",
-          parameterName: "鍒涘缓鏃堕棿",
-          parameterType2: "1",
-          parameterType: "鏃堕棿鏍煎紡",
-          parameterFormat: "YYYY-MM-DD HH:mm:ss",
-          parameterValue: "type2",
-          standardValue: "2024-01-01 00:00:00",
-          unit: "",
-        },
-      ];
-      page.total = 5;
-    }, 500);
+    // 璋冪敤鏂版帴鍙� /baseParam/list
+    getBaseParamList({ paramName: searchForm.paramName })
+      .then(res => {
+        tableLoading.value = false;
+        if (res.code === 200) {
+          tableData.value = res.data || [];
+          page.total = res.data?.length || 0;
+        } else {
+          ElMessage.error(res.msg || "鏌ヨ澶辫触");
+        }
+      })
+      .catch(() => {
+        tableLoading.value = false;
+        ElMessage.error("鏌ヨ澶辫触");
+      });
   };
 
-  // 鑾峰彇浜у搧绫诲瀷鍒楄〃
-  const getProductTypes = () => {
-    // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
-    /*getProductTypesApi()
-                                                                      .then(res => {
-                                                                        productTypes.value = res.data || [];
-                                                                      })
-                                                                      .catch(() => {
-                                                                        // 澶辫触鏃朵娇鐢ㄦā鎷熸暟鎹�
-                                                                        productTypes.value = [
-                                                                          { label: "3.5鐮屽潡", value: "type1" },
-                                                                          { label: "5.0鐮屽潡", value: "type2" },
-                                                                          { label: "鏉挎潗", value: "type3" },
-                                                                        ];
-                                                                      });*/
-
-    // 鍋囨暟鎹�
-    productTypes.value = [
-      { label: "3.5鐮屽潡", value: "type1" },
-      { label: "5.0鐮屽潡", value: "type2" },
-      { label: "鏉挎潗", value: "type3" },
-    ];
-  };
+  // 鑾峰彇浜у搧绫诲瀷鍒楄〃 - 宸叉敞閲�
+  // const getProductTypes = () => {
+  //   productTypes.value = [
+  //     { label: "3.5鐮屽潡", value: "type1" },
+  //     { label: "5.0鐮屽潡", value: "type2" },
+  //     { label: "鏉挎潗", value: "type3" },
+  //   ];
+  // };
 
   // 鏂板鎸夐挳鐐瑰嚮浜嬩欢
   const handleAdd = () => {
     isEdit.value = false;
     dialogTitle.value = "鏂板鍙傛暟";
     // 閲嶇疆琛ㄥ崟
-    formData.parameterCode = "";
-    formData.parameterName = "";
-    formData.parameterType2 = "1";
-    formData.parameterType = "";
-    formData.parameterFormat = "";
-    formData.parameterValue = "";
-    formData.standardValue = "";
+    formData.id = null;
+    formData.paramName = "";
+    formData.paramType = "";
+    formData.valueMode = "1";
     formData.unit = "";
+    formData.defaultValue = "";
+    formData.defaultMin = "";
+    formData.defaultMax = "";
+    formData.isRequired = "0";
+    formData.remark = "";
     dialogVisible.value = true;
   };
 
@@ -578,15 +503,22 @@
   const handleEdit = row => {
     isEdit.value = true;
     dialogTitle.value = "缂栬緫鍙傛暟";
-    // 濉厖琛ㄥ崟鏁版嵁
-    formData.parameterCode = row.parameterCode;
-    formData.parameterName = row.parameterName;
-    formData.parameterType2 = row.parameterType2 || "1";
-    formData.parameterType = row.parameterType;
-    formData.parameterFormat = row.parameterFormat;
-    formData.parameterValue = row.parameterValue;
-    formData.standardValue = row.standardValue;
-    formData.unit = row.unit;
+    // 濉厖琛ㄥ崟鏁版嵁 - 灏嗘暟瀛楃被鍨嬭浆鎹负瀛楃涓茬被鍨嬩互鍖归厤琛ㄥ崟缁戝畾
+    formData.id = row.id;
+    formData.paramName = row.paramName || "";
+    formData.paramType = row.paramType !== undefined ? String(row.paramType) : "";
+    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 || "";
     dialogVisible.value = true;
   };
 
@@ -598,19 +530,15 @@
       type: "warning",
     })
       .then(() => {
-        // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
-        /*delParameter(row.id)
-                                                                      .then(res => {
-                                                                        ElMessage.success("鍒犻櫎鎴愬姛");
-                                                                        getList();
-                                                                      })
-                                                                      .catch(() => {
-                                                                        ElMessage.error("鍒犻櫎澶辫触");
-                                                                      });*/
-
-        // 鍋囨暟鎹ā鎷�
-        ElMessage.success("鍒犻櫎鎴愬姛");
-        getList();
+        // 璋冪敤鏂版帴鍙� /baseParam/remove/{id}
+        removeBaseParam(row.id)
+          .then(res => {
+            ElMessage.success("鍒犻櫎鎴愬姛");
+            getList();
+          })
+          .catch(() => {
+            ElMessage.error("鍒犻櫎澶辫触");
+          });
       })
       .catch(() => {
         // 鍙栨秷鍒犻櫎
@@ -621,22 +549,29 @@
   const handleSubmit = () => {
     formRef.value.validate(valid => {
       if (valid) {
-        // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
-        /*const api = isEdit.value ? updateParameter : addParameter;
-                                                                      api(formData)
-                                                                        .then(res => {
-                                                                          ElMessage.success(isEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
-                                                                          dialogVisible.value = false;
-                                                                          getList();
-                                                                        })
-                                                                        .catch(() => {
-                                                                          ElMessage.error(isEdit.value ? "缂栬緫澶辫触" : "鏂板澶辫触");
-                                                                        });*/
-
-        // 鍋囨暟鎹ā鎷�
-        ElMessage.success(isEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
-        dialogVisible.value = false;
-        getList();
+        if (isEdit.value) {
+          // 缂栬緫浣跨敤鏂版帴鍙� /baseParam/edit
+          editBaseParam(formData)
+            .then(res => {
+              ElMessage.success("缂栬緫鎴愬姛");
+              dialogVisible.value = false;
+              getList();
+            })
+            .catch(() => {
+              // ElMessage.error("缂栬緫澶辫触");
+            });
+        } else {
+          // 鏂板浣跨敤鏂版帴鍙� /baseParam/add
+          addBaseParam(formData)
+            .then(res => {
+              ElMessage.success("鏂板鎴愬姛");
+              dialogVisible.value = false;
+              getList();
+            })
+            .catch(() => {
+              ElMessage.error("鏂板澶辫触");
+            });
+        }
       } else {
         return false;
       }
@@ -652,7 +587,7 @@
   onMounted(() => {
     getDictTypes();
     getList();
-    getProductTypes();
+    // getProductTypes();
   });
 </script>
 

--
Gitblit v1.9.3