From d6723c2a0b2d5262ae156d71eadde66a884084eb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 17 九月 2026 15:15:16 +0800
Subject: [PATCH] 新疆——新聚lims 1.检验单详情展示修改 2.委托单详情展示优化

---
 src/views/business/inspectionTask/components/InspectionWord.vue |   21 ++-----
 src/views/business/productOrder/components/addView.vue          |   49 ----------------
 src/views/business/inspectionView/index.vue                     |   63 ++++++++++-----------
 src/views/business/inspectionTask/inspection.vue                |   25 +++-----
 4 files changed, 45 insertions(+), 113 deletions(-)

diff --git a/src/views/business/inspectionTask/components/InspectionWord.vue b/src/views/business/inspectionTask/components/InspectionWord.vue
index 19b5037..54ddbd0 100644
--- a/src/views/business/inspectionTask/components/InspectionWord.vue
+++ b/src/views/business/inspectionTask/components/InspectionWord.vue
@@ -48,7 +48,7 @@
                 placeholder="璇疯緭鍏ユ娴嬪湴鐐�" size="small" style="width: 200px"
                 @change="m => subOtherForm(m, 'detectionPlace')"></el-input>
             </el-form-item>
-            <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+            <el-form-item label="璁惧:">
               <el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
                 size="small" placeholder="璇烽�夋嫨璁惧" style="width: 360px"
                 @change="m => subOtherForm(m, 'deviceIds')">
@@ -523,9 +523,7 @@
           this.retestTag = '1'
         }
         this.getEquipOptions(1)
-        if (this.sonLaboratory === '鏂拌仛') {
-          this.loadDeviceOptions()
-        }
+        this.loadDeviceOptions()
         // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
         let list = await this.getCurrentProduct(this.currentSample.id, 0)
         if (list === undefined) {
@@ -1357,12 +1355,6 @@
         })
       }
     },
-    // 鏂拌仛鐩存帴缁戝畾妯℃澘鐨勫崟鎹紝璁惧鎸夋ā鏉块�夋嫨
-    isDirectTemplateOrder() {
-      return this.sonLaboratory === '鏂拌仛' &&
-        Array.isArray(this.insOrder.templateConditions) &&
-        this.insOrder.templateConditions.length > 0
-    },
     loadDeviceOptions() {
       search({ status: 0 }).then(res => {
         this.deviceOptions = (res.data || []).map(device => ({
@@ -1382,11 +1374,12 @@
     upInsReview(e) {
       if (e == 1) {
         // 閫氳繃
+        // 姣忎釜妯℃澘閮借鏈夌粨璁猴紱鍏ㄩ儴鍚堟牸鎵嶇畻鏁村崟鍚堟牸
         const insResults = this.tableLists.map(
           item => (this.otherForm[item.templateId] || {}).insResult
         )
         const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1)
-        if (this.isDirectTemplateOrder() && missingIndex > -1) {
+        if (missingIndex > -1) {
           this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳)
           return
         }
@@ -1397,9 +1390,7 @@
           laboratory: this.sonLaboratory,
           tell: null,
           userId: this.checkUser,
-          insResult: this.isDirectTemplateOrder()
-            ? (insResults.every(result => result === 1) ? 1 : 0)
-            : this.insOrder.insResult
+          insResult: insResults.every(result => result === 1) ? 1 : 0
         }).then(res => {
           if (res.code === 200) {
             this.$message.success("鎿嶄綔鎴愬姛")
@@ -1481,7 +1472,7 @@
         if (!form.humidity) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑婀垮害`)
         if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻)
         if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦)
-        if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+        if (!form.deviceIds || form.deviceIds.length === 0) {
           missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑璁惧`)
         }
       })
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 342b500..c05b7fa 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -177,7 +177,7 @@
       </div>
       <!-- 褰撳墠妫�楠屾ā鏉跨殑妫�娴嬫潯浠朵笌妫�楠岀粨璁� -->
       <div class="template-panel">
-        <el-form v-if="showTemplateConditions" :inline="true" :model="currentOtherForm" class="form-inline"
+        <el-form :inline="true" :model="currentOtherForm" class="form-inline"
           size="small" label-width="84px">
           <el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="娓╁害:">
             <el-input v-model="currentOtherForm.temperature" :disabled="state > 1" placeholder="" size="small"
@@ -189,16 +189,16 @@
               style="width: 90px" @change="(m) => subOtherForm(m, 'humidity')"></el-input>
             <span class="template-panel__unit">%RH</span>
           </el-form-item>
-          <el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="妫�娴嬫椂闂�:">
+          <el-form-item label="妫�娴嬫椂闂�:">
             <el-date-picker v-model="currentOtherForm.detectionTime" :disabled="state > 1" type="date"
               value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鏃ユ湡" size="small" style="width: 160px"
               @change="(m) => subOtherForm(m, 'detectionTime')"></el-date-picker>
           </el-form-item>
-          <el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="妫�娴嬪湴鐐�:">
+          <el-form-item label="妫�娴嬪湴鐐�:">
             <el-input v-model="currentOtherForm.detectionPlace" :disabled="state > 1" clearable placeholder="璇疯緭鍏ユ娴嬪湴鐐�"
               size="small" style="width: 200px" @change="(m) => subOtherForm(m, 'detectionPlace')"></el-input>
           </el-form-item>
-          <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+          <el-form-item label="璁惧:">
             <el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
               size="small" placeholder="璇烽�夋嫨璁惧" style="width: 360px"
               @change="(m) => subOtherForm(m, 'deviceIds')">
@@ -207,8 +207,7 @@
           </el-form-item>
         </el-form>
         <!-- 澶嶆牳鏃舵墠鑳介�� -->
-        <el-form :inline="true" :model="currentOtherForm"
-          :class="['form-inline', { 'template-panel__conclusion--divided': showTemplateConditions }]"
+        <el-form :inline="true" :model="currentOtherForm" class="form-inline template-panel__conclusion--divided"
           size="small" label-width="84px">
           <el-form-item label="妫�楠岀粨璁�:">
             <el-radio-group v-model="currentOtherForm.insResult" :disabled="state != 2"
@@ -870,10 +869,6 @@
         }
       );
     },
-    // 02wg 鍗曟病鏈夋俯婀垮害锛涙柊鑱氱洿鎺ョ粦瀹氭ā鏉跨殑鍗曞彧鏈夎澶�
-    showTemplateConditions() {
-      return this.insOrder.ifsOrderType !== "02wg" || this.isDirectTemplateOrder();
-    },
   },
   created() {
     this.saveQueue = Promise.resolve();
@@ -1159,9 +1154,7 @@
           this.rawMaterialTag = "1";
         }
         this.getEquipOptions(1);
-        if (this.sonLaboratory === "鏂拌仛") {
-          this.loadDeviceOptions();
-        }
+        this.loadDeviceOptions();
         // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
         let list = await this.getCurrentProduct(this.currentSample.id, 0);
         this.currentSample.insProduct = this.HaveJson(list);
@@ -2364,10 +2357,10 @@
         if (this.insOrder.ifsOrderType !== "02wg") {
           if (!form.temperature) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑娓╁害`);
           if (!form.humidity) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑婀垮害`);
-          if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻);
-          if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦);
         }
-        if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+        if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻);
+        if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦);
+        if (!form.deviceIds || form.deviceIds.length === 0) {
           missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑璁惧`);
         }
       });
diff --git a/src/views/business/inspectionView/index.vue b/src/views/business/inspectionView/index.vue
index eec9fe9..5a520f1 100644
--- a/src/views/business/inspectionView/index.vue
+++ b/src/views/business/inspectionView/index.vue
@@ -21,13 +21,18 @@
         <el-form-item label="濮旀墭缂栧彿:">
           <el-input v-model="insOrder.entrustCode" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
         </el-form-item>
+        <el-form-item label="妫�娴嬩緷鎹�:">
+          <el-tooltip :content="standardDisplayName(insOrder.sample)" :disabled="!insOrder.sample">
+            <el-input :value="standardDisplayName(insOrder.sample)" clearable disabled size="small"></el-input>
+          </el-tooltip>
+        </el-form-item>
+        <el-form-item label="鏍峰搧鍚嶇О:">
+          <el-input :value="insOrder.sampleView || '-'" clearable disabled size="small"></el-input>
+        </el-form-item>
         <el-form-item label="鏍峰搧缂栧彿:">
           <el-tooltip :content="currentSample.sampleCode" :disabled="!currentSample.sampleCode">
             <el-input v-model="currentSample.sampleCode" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
           </el-tooltip>
-        </el-form-item>
-        <el-form-item label="鏍峰搧鍚嶇О:">
-          <el-input v-model="currentSample.sample" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
         </el-form-item>
         <el-form-item label="鏍峰搧鏁伴噺:">
           <el-input v-model="insOrder.testQuantity" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
@@ -132,7 +137,7 @@
       </div>
       <!-- 褰撳墠妫�楠屾ā鏉跨殑妫�娴嬫潯浠朵笌妫�楠岀粨璁� -->
       <div class="template-panel">
-        <el-form v-if="showTemplateConditions" :inline="true" :model="currentOtherForm" class="form-inline"
+        <el-form :inline="true" :model="currentOtherForm" class="form-inline"
                  size="small" label-width="84px">
           <el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="娓╁害:">
             <el-input v-model="currentOtherForm.temperature" :disabled="state > 1" size="small"
@@ -144,17 +149,17 @@
                       style="width: 90px" @change="m => subOtherForm(m, 'humidity')" />
             <span class="template-panel__unit">%RH</span>
           </el-form-item>
-          <el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="妫�娴嬫椂闂�:">
+          <el-form-item label="妫�娴嬫椂闂�:">
             <el-date-picker v-model="currentOtherForm.detectionTime" :disabled="state > 1" type="date"
                             value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鏃ユ湡" size="small" style="width: 160px"
                             @change="m => subOtherForm(m, 'detectionTime')" />
           </el-form-item>
-          <el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="妫�娴嬪湴鐐�:">
+          <el-form-item label="妫�娴嬪湴鐐�:">
             <el-input v-model="currentOtherForm.detectionPlace" :disabled="state > 1" clearable
                       placeholder="璇疯緭鍏ユ娴嬪湴鐐�" size="small" style="width: 200px"
                       @change="m => subOtherForm(m, 'detectionPlace')" />
           </el-form-item>
-          <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+          <el-form-item label="璁惧:">
             <el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
                        placeholder="璇烽�夋嫨璁惧" size="small" style="width: 360px"
                        @change="m => subOtherForm(m, 'deviceIds')">
@@ -163,8 +168,7 @@
             </el-select>
           </el-form-item>
         </el-form>
-        <el-form :inline="true" :model="currentOtherForm"
-                 :class="['form-inline', { 'template-panel__conclusion--divided': showTemplateConditions }]"
+        <el-form :inline="true" :model="currentOtherForm" class="form-inline template-panel__conclusion--divided"
                  size="small" label-width="84px">
           <el-form-item label="妫�楠岀粨璁�:">
             <el-radio-group v-model="currentOtherForm.insResult" :disabled="state != 2"
@@ -579,7 +583,6 @@
       reviewLoading: false,
       reviewDia: false,
       noReason: "",
-      reviewInsResult: null,
       tableWidth: 1000,
       currentTable: null,
       tableLists: [],
@@ -757,9 +760,6 @@
         insResult: null,
       };
     },
-    showTemplateConditions() {
-      return this.insOrder.ifsOrderType !== "02wg" || this.isDirectTemplateOrder();
-    },
   },
   created() {
     this.saveQueue = Promise.resolve();
@@ -918,7 +918,6 @@
         laboratory: this.sonLaboratory,
       }).then(async (res) => {
         this.insOrder = res.data.insOrder;
-        this.reviewInsResult = this.insOrder.insResult;
         this.supplierDensity = res.data.supplierDensity;
         this.getList()
         this.urgentList.forEach((m) => {
@@ -952,9 +951,7 @@
           this.rawMaterialTag = "1";
         }
         this.getEquipOptions(1);
-        if (this.sonLaboratory === "鏂拌仛") {
-          this.loadDeviceOptions();
-        }
+        this.loadDeviceOptions();
         // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
         let list = await this.getCurrentProduct(this.currentSample.id, 0);
         this.currentSample.insProduct = this.HaveJson(list);
@@ -2042,21 +2039,16 @@
     upInsReview(e) {
       if (e == 1) {
         // 閫氳繃
-        let finalInsResult = this.reviewInsResult;
-        if (this.isDirectTemplateOrder()) {
-          const insResults = this.tableLists.map(
-            item => (this.otherForm[item.templateId] || {}).insResult
-          );
-          const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1);
-          if (missingIndex > -1) {
-            this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳);
-            return;
-          }
-          finalInsResult = insResults.every(result => result === 1) ? 1 : 0;
-        } else if (finalInsResult !== 0 && finalInsResult !== 1) {
-          this.$message.error("璇烽�夋嫨妫�楠岀粨璁�");
+        // 姣忎釜妯℃澘閮借鏈夌粨璁猴紱鍏ㄩ儴鍚堟牸鎵嶇畻鏁村崟鍚堟牸
+        const insResults = this.tableLists.map(
+          item => (this.otherForm[item.templateId] || {}).insResult
+        );
+        const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1);
+        if (missingIndex > -1) {
+          this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳);
           return;
         }
+        const finalInsResult = insResults.every(result => result === 1) ? 1 : 0;
         this.reviewLoading = true;
         verifyPlan({
           orderId: this.orderId,
@@ -2123,10 +2115,10 @@
         if (this.insOrder.ifsOrderType !== "02wg") {
           if (!form.temperature) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑娓╁害`);
           if (!form.humidity) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑婀垮害`);
-          if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑妫�娴嬫椂闂碻);
-          if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑妫�娴嬪湴鐐筦);
         }
-        if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+        if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑妫�娴嬫椂闂碻);
+        if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑妫�娴嬪湴鐐筦);
+        if (!form.deviceIds || form.deviceIds.length === 0) {
           missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑璁惧`);
         }
       });
@@ -2348,6 +2340,11 @@
       // 閫夋嫨銆佺Щ闄ゃ�佹竻绌哄潎鐢� change 浜嬩欢瑙﹀彂锛岀珛鍗充繚瀛樸��
       this.saveInsContext();
     },
+    standardDisplayName(value) {
+      if (!value) return "-";
+      const separatorIndex = value.indexOf(" - ");
+      return separatorIndex > -1 ? value.slice(0, separatorIndex) : value;
+    },
     isDirectTemplateOrder() {
       return this.sonLaboratory === "鏂拌仛" &&
         Array.isArray(this.insOrder.templateConditions) &&
diff --git a/src/views/business/productOrder/components/addView.vue b/src/views/business/productOrder/components/addView.vue
index 366be7c..48765fb 100644
--- a/src/views/business/productOrder/components/addView.vue
+++ b/src/views/business/productOrder/components/addView.vue
@@ -60,38 +60,6 @@
           </el-descriptions-item>
           <el-descriptions-item label="澶囨敞" :span="4">{{ addObj.remark || '-' }}</el-descriptions-item>
         </el-descriptions>
-        <el-form class="newju-order-form" :model="addObj" label-width="108px" label-position="right">
-          <el-row>
-            <el-col :span="6"><el-form-item label="浜у搧鍚嶇О"><el-input v-model="addObj.sample" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="鐢熶骇鍗曚綅"><el-input v-model="addObj.production" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="濮旀墭鍗曚綅"><el-input v-model="addObj.company" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="妫�楠岀被鍒�"><el-select v-model="addObj.orderType" disabled size="small"><el-option v-for="item in dict.type.check_type1" :key="item.value" :label="item.label" :value="item.value" /></el-select></el-form-item></el-col>
-          </el-row>
-          <el-row v-if="boundTemplateList.length">
-            <el-col :span="24">
-              <el-form-item label="鍘熷璁板綍妯℃澘">
-                <div class="template-tag-list">
-                  <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
-                </div>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="6"><el-form-item label="鏍峰搧鏁伴噺"><el-input v-model="addObj.testQuantity" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="鏍峰搧缂栧彿"><el-input v-model="sampleCode" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="鏍峰搧澶栬"><el-input v-model="addObj.sampleStatus" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="閫佹牱浜�"><el-input v-model="addObj.prepareUser" disabled size="small" /></el-form-item></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="6"><el-form-item label="鐢熶骇鏃ユ湡"><el-date-picker v-model="addObj.productionDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="鐢熶骇鎵瑰彿"><el-input v-model="addObj.productionBatch" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="閫佹牱鏃ユ湡"><el-date-picker v-model="addObj.sampleDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="鑱旂郴鏂瑰紡"><el-input v-model="addObj.phone" disabled size="small" /></el-form-item></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="12"><el-form-item label="澶囨敞"><el-input v-model="addObj.remark" disabled size="small" style="width: 520px" /></el-form-item></el-col>
-          </el-row>
-        </el-form>
         <el-form v-show="false" ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
           <el-row>
             <el-col :span="6">
@@ -2306,22 +2274,5 @@
 }
 .order-detail__empty {
   color: #c0c4cc;
-}
-.newju-order-form >>> .el-form-item {
-  display: flex;
-  margin-right: 0;
-}
-.newju-order-form >>> .el-form-item__label {
-  flex: 0 0 108px;
-}
-.newju-order-form >>> .el-form-item__content {
-  flex: 1;
-  min-width: 0;
-  margin-left: 0 !important;
-}
-.newju-order-form >>> .el-input,
-.newju-order-form >>> .el-select,
-.newju-order-form >>> .el-date-editor {
-  width: 100%;
 }
 </style>

--
Gitblit v1.9.3