From 11187af96a5802a1599c8ce4c226169c5c5261bb Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 01 七月 2026 13:42:52 +0800
Subject: [PATCH] 生产订单工艺路线增加参数错误问题

---
 src/components/ProcessParamListDialog.vue |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/src/components/ProcessParamListDialog.vue b/src/components/ProcessParamListDialog.vue
index 49b1c66..5af24bb 100644
--- a/src/components/ProcessParamListDialog.vue
+++ b/src/components/ProcessParamListDialog.vue
@@ -16,7 +16,7 @@
               <Plus />
             </el-icon>鏂板
           </el-button>
-          <el-button v-if="editable"
+          <!-- <el-button v-if="editable"
                      type="primary"
                      link
                      size="small"
@@ -24,7 +24,7 @@
             <el-icon>
               <Refresh />
             </el-icon>鍚屾宸ュ簭鍙傛暟
-          </el-button>
+          </el-button> -->
         </div>
       </div>
       <div class="params-list">
@@ -130,6 +130,7 @@
             </el-form-item>
             <el-form-item label="鏍囧噯鍊�">
               <el-input v-model="selectedParam.standardValue"
+                        @input="val => onStandardValueInput(val, selectedParam)"
                         placeholder="璇疯緭鍏ラ粯璁ゅ��" />
             </el-form-item>
             <el-form-item label="鏄惁蹇呭~">
@@ -144,9 +145,9 @@
         </div>
       </div>
       <template #footer>
-        <el-button @click="selectParamDialogVisible = false">鍙栨秷</el-button>
         <el-button type="primary"
                    @click="handleParamSelectSubmit">纭畾</el-button>
+        <el-button @click="selectParamDialogVisible = false">鍙栨秷</el-button>
       </template>
     </el-dialog>
     <!-- 缂栬緫鍙傛暟瀵硅瘽妗� -->
@@ -175,13 +176,14 @@
         <el-form-item label="鏍囧噯鍊�"
                       prop="standardValue">
           <el-input v-model="editParamForm.standardValue"
+                    @input="val => onStandardValueInput(val, editParamForm)"
                     placeholder="璇疯緭鍏ユ爣鍑嗗��" />
         </el-form-item>
       </el-form>
       <template #footer>
-        <el-button @click="editParamDialogVisible = false">鍙栨秷</el-button>
         <el-button type="primary"
                    @click="handleEditParamSubmit">纭畾</el-button>
+        <el-button @click="editParamDialogVisible = false">鍙栨秷</el-button>
       </template>
     </el-dialog>
   </el-dialog>
@@ -268,8 +270,32 @@
     paramFormat: "",
     unit: "",
   });
+
+  const onStandardValueInput = (val, target) => {
+    const data = target.value || target;
+    const type = data.paramType || data.parameterType;
+    if (type === 1) {
+      // 鏁板�兼牸寮忥細涓嶈兘杈撳叆涓枃鎴栬嫳鏂囧瓧绗�
+      data.standardValue = val.replace(/[a-zA-Z\u4e00-\u9fa5]/g, "");
+    }
+  };
+
   const editParamRules = ref({
-    // standardValue: [{ required: true, message: "璇疯緭鍏ユ爣鍑嗗��", trigger: "blur" }],
+    standardValue: [
+      {
+        validator: (rule, value, callback) => {
+          const type =
+            editParamForm.value.paramType || editParamForm.value.parameterType;
+          if (type === 1 && value) {
+            if (/[a-zA-Z\u4e00-\u9fa5]/.test(value)) {
+              return callback(new Error("鏁板�兼牸寮忎笉鑳藉寘鍚腑鑻辨枃瀛楃"));
+            }
+          }
+          callback();
+        },
+        trigger: "blur",
+      },
+    ],
   });
   const editParamFormRef = ref(null);
 
@@ -346,7 +372,14 @@
       size: paramPage.value.size,
     }).then(res => {
       if (res.code === 200) {
-        filteredParamList.value = res.data?.records || [];
+        const existingParamIds = new Set(
+          (props.paramList || [])
+            .map(item => Number(item.paramId || item.technologyOperationParamId))
+            .filter(id => Number.isFinite(id) && id > 0)
+        );
+        filteredParamList.value = (res.data?.records || []).filter(
+          item => !existingParamIds.has(Number(item.id))
+        );
         paramPage.value.total = res.data.total || 0;
       } else {
         ElMessage.error(res.msg || "鏌ヨ澶辫触");
@@ -375,7 +408,7 @@
     if (props.pageType === "order") {
       addProcessRouteItemParamOrder({
         productionOrderId: Number(props.orderId),
-        technologyRoutingOperationParamId: props.process.id,
+        productionOrderRoutingOperationId: props.process.id,
         paramId: selectedParam.value.id,
         standardValue: selectedParam.value.standardValue || "",
         isRequired: selectedParam.value.isRequired || 0,
@@ -428,6 +461,7 @@
             id: editParamForm.value.id,
             standardValue: editParamForm.value.standardValue || "",
             isRequired: editParamForm.value.isRequired || 0,
+            // productionOrderRoutingOperationId: props.process.id,
           })
             .then(res => {
               if (res.code === 200) {
@@ -639,4 +673,4 @@
   .detail-text {
     font-weight: 500;
   }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3