From 6f90e7110190d146fde06cf1f5b2272fd49b53d6 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 19 十月 2026 17:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/business/inspectionTask/inspection.vue |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index bc31b8c..1031214 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -396,7 +396,7 @@
         </div>
         <div class="search_input" style="width: 100%">
           <el-select v-model="verifyUser" clearable filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-            <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
+            <el-option v-for="(item, i) in reviewerOptions" :key="i" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </div>
@@ -521,6 +521,7 @@
 import { mapGetters } from "@/utils/store-compat";
 import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
 import {getDicts} from "@/api/system/dict/data";
+import { parseInspectionValueAnnotation, formatInspectionValue } from "@/utils/inspectionValueFormat";
 export default {
   name: 'Inspection',
   components: {
@@ -553,6 +554,7 @@
       state: null,
       inspectorList: null,
       typeSource: null,
+      taskSource: null,
       sagData: [],
       sagForm: {
         sampleCode: null,
@@ -726,6 +728,11 @@
   // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
   computed: {
     ...mapGetters(["userId"]),
+    reviewerOptions() {
+      return this.taskSource === 'QUALITY_MONITOR'
+        ? this.personList.filter(item => Number(item.value) !== Number(this.userId))
+        : this.personList;
+    },
     action() {
       return this.javaApi + "/insOrderPlan/uploadFile";
     },
@@ -830,14 +837,16 @@
   },
   methods: {
     syncRouteContext() {
-      const { sonLaboratory, orderId, state, inspectorList, typeSource } = this.$route.query;
+      const { sonLaboratory, orderId, state, inspectorList, typeSource, taskSource } = this.$route.query;
       const orderChanged = this.id !== orderId;
       this.sonLaboratory = sonLaboratory;
       this.orderId = orderId;
       this.state = state;
       this.inspectorList = inspectorList;
       this.typeSource = typeSource;
+      this.taskSource = taskSource;
       if (orderChanged) {
+        if (taskSource === 'QUALITY_MONITOR') this.verifyUser = null;
         this.tableLists = [];
         this.tableList = [];
         this.sampleProduct = [];
@@ -999,6 +1008,7 @@
         laboratory: this.sonLaboratory,
       }).then(async (res) => {
         this.insOrder = res.data.insOrder;
+        this.taskSource = this.insOrder.taskSource || this.taskSource;
         if(res.data.insOrder.ifsOrderType==='02wg'){
           //鏌ヨ闆朵欢灞炴��
           this.getPartProps(res.data.insOrder.ifsInventoryId)
@@ -1575,6 +1585,17 @@
     // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁�
     changeInput(m, code, n) {
       if (n) {
+        const config = parseInspectionValueAnnotation(n.v && n.v.ps && n.v.ps.value);
+        if (config && !config.error && config.decimalPlaces != null && typeof n.v.v === 'string') {
+          const numericPattern = config.displayMode === 'SCIENTIFIC'
+            ? /^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/
+            : /^[+-]?\d*\.?\d+$/;
+          if (n.v.v.trim() && !numericPattern.test(n.v.v.trim())) {
+            this.$message.warning('璇ユ楠屽�煎繀椤诲~鍐欐暟瀛�');
+            return;
+          }
+          n.v.v = formatInspectionValue(n.v.v, config);
+        }
         // 瀹氫箟涓�涓嚱鏁版潵楠岃瘉鍒嗘暟鏄惁鏈夋晥
         if (typeof n.v.v == "string") {
           function isValidFraction(fraction) {
@@ -1705,7 +1726,7 @@
         const v = n.v.v;
         // 鑳藉姏鑼冨洿宸插簾寮�,妫�楠屽�肩被鍨嬩笉鍐嶄綔涓哄垽鏂緷鎹�傛暣涓插彧鐢辩畻寮忓瓧绗︾粍鎴愭椂鎵嶈鑼冨寲鏍煎紡,
         // 鍑虹幇涓枃绛夊叾瀹冨瓧绗﹀嵆鎸夋枃鏈鐞嗗師鏍蜂繚鐣�,鍚﹀垯鏂囧瓧浼氳閫愬瓧鍒犳帀
-        if (typeof v !== "string" || /[^\d.^e>锛炩墺鈮�<锛滄柇瑁傝剢鍖朶-/+]/.test(v)) {
+        if (typeof v !== "string" || /[^\d.^eE>锛炩墺鈮�<锛滄柇瑁傝剢鍖朶-/+]/.test(v)) {
           return;
         }
         n.v.v = v
@@ -1747,6 +1768,10 @@
       }
     },
     openAddCheck() {
+      if (this.taskSource === 'QUALITY_MONITOR') {
+        this.upInsReview(1);
+        return;
+      }
       this.addCheck = true;
     },
     // 鏀堕泦妯℃澘绾ф娴嬫潯浠剁殑缂哄け椤癸紙姣忎釜妯℃澘閮借濉叏锛�

--
Gitblit v1.9.3