From 049fda473cc178917a02f3a174dfd08a84b0cb8d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 17 九月 2026 10:52:28 +0800
Subject: [PATCH] 新疆——新聚lims 1.每个检验项都要有一个选择检测时间的地方,跟温湿度放在一起,还有检测地点,设备也要单独绑定检验项,最后导出模版再总结到一起 2.产品名称改为检测依据、加一个样品名称手输 3.下单时原始记录模板可以从标准库绑定的模板进行删减

---
 src/views/business/productOrder/components/addView.vue |  103 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 78 insertions(+), 25 deletions(-)

diff --git a/src/views/business/productOrder/components/addView.vue b/src/views/business/productOrder/components/addView.vue
index b5ba69f..fbf92ef 100644
--- a/src/views/business/productOrder/components/addView.vue
+++ b/src/views/business/productOrder/components/addView.vue
@@ -2,9 +2,9 @@
   <div class="app-container">
     <div v-show="!cableConfigShow&&!auxiliaryShow">
       <div style="display: flex;justify-content: space-between;align-items:center;">
-        <div>濮旀墭鍗曚俊鎭�</div>
+        <div class="order-detail__title">濮旀墭鍗曚俊鎭�</div>
         <div>
-          <el-cascader
+          <el-cascader v-if="false"
             v-model="addObj.quarterItemId"
             :disabled="active>1"
             :options="quarterItemOptions"
@@ -38,7 +38,29 @@
     </div>
     <div v-show="!cableConfigShow&&!auxiliaryShow" style="margin-top: 10px">
       <div class="search">
-        <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
+        <el-descriptions class="order-detail" :column="4" border>
+          <el-descriptions-item label="妫�娴嬩緷鎹�">{{ addObj.sample || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鏍峰搧鍚嶇О">{{ addObj.sampleView || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鐢熶骇鍗曚綅">{{ addObj.production || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="濮旀墭鍗曚綅">{{ addObj.company || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="妫�楠岀被鍒�">{{ orderTypeLabel }}</el-descriptions-item>
+          <el-descriptions-item label="鏍峰搧鏁伴噺">{{ addObj.testQuantity || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鏍峰搧缂栧彿">{{ sampleCode || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鏍峰搧澶栬">{{ addObj.sampleStatus || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="閫佹牱浜�">{{ addObj.prepareUser || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鐢熶骇鏃ユ湡">{{ addObj.productionDate || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鐢熶骇鎵瑰彿">{{ addObj.productionBatch || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="閫佹牱鏃ユ湡">{{ addObj.sampleDate || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鑱旂郴鏂瑰紡">{{ addObj.phone || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="鍘熷璁板綍妯℃澘" :span="4">
+            <div v-if="boundTemplateList.length" class="template-tag-list">
+              <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
+            </div>
+            <span v-else class="order-detail__empty">鏆傛湭缁戝畾鍘熷璁板綍妯℃澘</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="澶囨敞" :span="4">{{ addObj.remark || '-' }}</el-descriptions-item>
+        </el-descriptions>
+        <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">
               <el-form-item label="濮旀墭缂栧彿:" prop="entrustCode">
@@ -201,7 +223,7 @@
           </el-row>
         </el-form>
       </div>
-      <div>
+      <div v-show="false">
         <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px">
           <div v-if="active==1">
             <el-form :inline="true" :model="addObj1" label-width="90px">
@@ -415,7 +437,7 @@
               <el-col :span="24">
                 <span><i
                     :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
-                  {{ data.code }} {{ data.label }}</span>
+                  {{ data.label }}</span>
               </el-col>
             </el-row>
           </div>
@@ -459,10 +481,10 @@
             </div>
           </el-col>
           <el-col v-if="distributeData.userId" :span="22" class="search_thing">
-            <div class="search_label"><span class="required-span">* </span>璇曢獙瀹わ細</div>
+            <div class="search_label">璇曢獙瀹わ細</div>
             <div class="search_input">
               <el-select v-model="distributeData.sonLaboratory" filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
-                <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value">
+                <el-option v-for="item in newJuLaboratoryList" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </div>
@@ -608,13 +630,25 @@
   },
   computed:{
   ...mapGetters(["nickName"]),
+    newJuLaboratoryList() {
+      return (this.dict.type.sys_sub_lab || []).filter(item => item.label === '鏂拌仛')
+    },
+    // 妫�楠岀被鍒寜瀛楀吀鍚嶇О灞曠ず
+    orderTypeLabel() {
+      const hit = (this.dict.type.check_type1 || []).find(
+        item => String(item.value) === String(this.addObj.orderType)
+      )
+      return hit ? hit.label : (this.addObj.orderType || '-')
+    },
   },
-  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'],
+  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list', 'sys_sub_lab'],
   data() {
     return {
       active: '',
       tabIndex: '',
       currentId: '',
+      sampleCode: '',
+      boundTemplateList: [],
       sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
       editTable:[],
       template: null,
@@ -643,7 +677,7 @@
         orderType: null,
         send: 1,
         formType: '閫佹', //  鏉ユ牱鏂瑰紡
-        sampleStatus: 'In good condition', // 鏍峰搧鐘舵��
+        sampleStatus: '', // 鏍峰搧鐘舵��
         testQuantity: '', // 鏍峰搧鐘舵��
         production: null,
         productionEn: null,
@@ -669,7 +703,7 @@
           { required: true, message: '璇烽�夋嫨绱ф�ョ▼搴�', trigger: 'change' }
         ],
         sample: [
-          { required: true, message: '璇烽�夋嫨鏍峰搧鍚嶇О', trigger: 'change' }
+          { required: true, message: '璇烽�夋嫨妫�娴嬩緷鎹�', trigger: 'change' }
         ],
         sampleNum: [
           { required: true, message: '璇峰~鍐欐牱鍝佹暟閲�', trigger: 'blur' }
@@ -682,12 +716,6 @@
         ],
         testQuantity: [
           { required: true, message: '璇峰~鍐欐娊妫�鏁伴噺', trigger: 'blur' }
-        ],
-        production: [
-          { required: true, message: '璇峰~鍐欑敓浜у崟浣�', trigger: 'blur' }
-        ],
-        productionEn: [
-          { required: true, message: '璇峰~鍐欑敓浜у崟浣岴N', trigger: 'blur' }
         ],
       },
       sample: {
@@ -865,6 +893,8 @@
           };
           this.addObj.type = String(this.addObj.type)
           this.sampleList = this.HaveJson(res.data.sampleProduct);
+          this.sampleCode = this.sampleList.length ? this.sampleList[0].sampleCode : ''
+          this.boundTemplateList = (res.data.templateList || []).slice().sort((a, b) => (a.sort || 0) - (b.sort || 0))
           this.specialStandardMethod = this.sampleList[0].specialStandardMethod
           this.getProNum()
           this.addObj.sampleNum = this.sampleList.length
@@ -1308,6 +1338,7 @@
               this.distributeData.appointed = ress.data
             })
             setTimeout(() => {
+              this.distributeData.sonLaboratory = this.newJuLaboratoryList.length > 0 ? this.newJuLaboratoryList[0].value : ''
               this.issuedDialogVisible = true;
             }, 1000)
           })
@@ -1324,10 +1355,6 @@
         }
         if (this.distributeData.userId == null || this.distributeData.userId == '') {
           this.$message.error('鎸囨淳浜哄憳鏈~鍐�')
-          return
-        }
-        if (this.distributeData.userId&&(this.distributeData.sonLaboratory== null ||this.distributeData.sonLaboratory== '')) {
-          this.$message.error('璇曢獙瀹ゆ湭濉啓')
           return
         }
         this.upLoad = true;
@@ -1356,8 +1383,8 @@
           this.addObj.code = selects.code
           this.addObj.phone = selects.phone
           this.addObj.companyId = selects.departId
-          this.addObj.production = '涓ぉ绉戞妧瑁呭鐢电紗鏈夐檺鍏徃'
-          this.addObj.productionEn = 'Zhongtian Technology Industrial Wire&Cable System CO.,LTD'
+          this.addObj.production = ''
+          this.addObj.productionEn = ''
           if(this.active==1){
             this.selectInsOrderTemplate()
           }
@@ -1455,7 +1482,6 @@
         } else {
           this.addObj.sample = trees[3]
         }
-        this.addObj.sampleView = this.addObj.sample
         this.addObj.sampleViewEn = this.sampleViewEn
         this.addObj.model = (trees[4] == undefined ? null : trees[4])
         this.selectStandardTree = false
@@ -2150,8 +2176,8 @@
         })
       },
       changeUser(){
-        if(this.sonLaboratoryList.length>0){
-          this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value
+        if(this.newJuLaboratoryList.length>0){
+          this.distributeData.sonLaboratory = this.newJuLaboratoryList[0].value
         }
       },
       addProductList(productList,row,index){
@@ -2217,4 +2243,31 @@
   color: orange;
   font-size: 18px;
 }
+.template-tag-list {
+  min-height: 32px;
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  gap: 8px;
+}
+/* 濮旀墭鍗曚俊鎭細鍙璇︽儏 */
+.order-detail__title {
+  font-size: 16px;
+  font-weight: bold;
+  color: #303133;
+}
+.order-detail>>>.el-descriptions-item__label.is-bordered-label {
+  width: 104px;
+  white-space: nowrap;
+}
+.order-detail>>>.el-descriptions-item__content {
+  color: #303133;
+}
+/* 鎻忚堪鍒楄〃鍐呬笉闇�瑕侀澶栫殑琛岄珮鍗犱綅锛屾爣绛捐涓庡叾瀹冭绛夐珮 */
+.order-detail .template-tag-list {
+  min-height: 0;
+}
+.order-detail__empty {
+  color: #c0c4cc;
+}
 </style>

--
Gitblit v1.9.3