From d025bd201ab0dcc127630f2b68c650d975bdabaf Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 16 九月 2026 11:09:17 +0800
Subject: [PATCH] fix: 1.下单展示模板 2.页面温湿度调整

---
 src/views/business/productOrder/components/addOrder.vue |   48 ++++++++++++++++++++++-
 src/views/business/productOrder/components/addView.vue  |   20 +++++++++-
 2 files changed, 63 insertions(+), 5 deletions(-)

diff --git a/src/views/business/productOrder/components/addOrder.vue b/src/views/business/productOrder/components/addOrder.vue
index 000296d..ceeb352 100644
--- a/src/views/business/productOrder/components/addOrder.vue
+++ b/src/views/business/productOrder/components/addOrder.vue
@@ -49,6 +49,16 @@
             <el-col :span="6"><el-form-item label="濮旀墭鍗曚綅"><el-input v-model="addObj.company" disabled size="small"><template slot="append"><el-button :disabled="active>1" icon="el-icon-search" @click="openCompanyList" /></template></el-input></el-form-item></el-col>
             <el-col :span="6"><el-form-item label="妫�楠岀被鍒�"><el-select v-model="addObj.orderType" :disabled="active>1" 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="addObj.standardTreeId || boundTemplateList.length">
+            <el-col :span="24">
+              <el-form-item label="鍘熷璁板綍妯℃澘">
+                <div v-loading="templateBindingLoading" class="template-tag-list">
+                  <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
+                  <span v-if="!templateBindingLoading && boundTemplateList.length === 0" class="empty-template-text">鏆傛湭缁戝畾鍘熷璁板綍妯℃澘</span>
+                </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="active>1" placeholder="濡傦細2妗躲��500mL" size="small" /></el-form-item></el-col>
             <el-col :span="6"><el-form-item label="鏍峰搧缂栧彿"><el-input v-model="sampleCode" :disabled="active>1" size="small" /></el-form-item></el-col>
@@ -61,7 +71,7 @@
             <el-col :span="6"><el-form-item label="閫佹牱鏃ユ湡"><el-date-picker v-model="addObj.sampleDate" type="date" value-format="yyyy-MM-dd" :disabled="active>1" size="small" /></el-form-item></el-col>
             <el-col :span="6"><el-form-item label="鑱旂郴鏂瑰紡"><el-input v-model="addObj.phone" :disabled="active>1" size="small" /></el-form-item></el-col>
           </el-row>
-          <el-row><el-col :span="6"><el-form-item label="鐜鏉′欢"><el-input v-model="addObj.temperature" :disabled="active>1" placeholder="娓╁害" size="small" /></el-form-item></el-col><el-col :span="6"><el-form-item label="婀垮害"><el-input v-model="addObj.humidity" :disabled="active>1" size="small" /></el-form-item></el-col><el-col :span="6"><el-form-item label="澶囨敞"><el-input v-model="addObj.remark" :disabled="active>1" 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="active>1" size="small" /></el-form-item></el-col></el-row>
         </el-form>
         <el-form v-if="false" ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
           <el-row>
@@ -627,7 +637,7 @@
   upInsOrderOfState
 } from "@/api/business/add";
 import {selectUserCondition} from "@/api/performance/class";
-import {selectsStandardMethodByFLSSM} from "@/api/standard/standardLibrary";
+import {selectTemplateBindings, selectsStandardMethodByFLSSM} from "@/api/standard/standardLibrary";
 import limsTable from "@/components/Table/lims-table.vue";
 import {selectCustomPageList} from "@/api/system/customer";
 import {mapGetters} from "vuex";
@@ -665,6 +675,8 @@
       tabIndex: '',
       currentId: '',
       sampleCode: '',
+      boundTemplateList: [],
+      templateBindingLoading: false,
       sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
       editTable:[],
       template: null,
@@ -948,6 +960,8 @@
           };
           this.addObj.type = String(this.addObj.type)
           const samples = this.HaveJson(res.data.sampleProduct)
+          this.sampleCode = samples.length ? samples[0].sampleCode || '' : ''
+          this.boundTemplateList = this.sortTemplateList(res.data.templateList)
           const loadSamples = this.canSelectProduct
             ? Promise.all(samples.map(sample => this.loadSelectableProducts(sample)))
             : Promise.resolve(samples)
@@ -1416,8 +1430,11 @@
         })
       }else{
         // 甯歌鎻愪氦
+        const newJuOrder = {...this.addObj,typeSource:-1}
+        delete newJuOrder.temperature
+        delete newJuOrder.humidity
         const payload = this.addObj.standardTreeId
-          ? { insOrder: {...this.addObj,typeSource:-1}, standardTreeId: this.addObj.standardTreeId, sampleCode: this.sampleCode }
+          ? { insOrder: newJuOrder, standardTreeId: this.addObj.standardTreeId, sampleCode: this.sampleCode }
           : { insOrder: {...this.addObj,typeSource:-1}, sampleList: sampleList }
         addInsOrder(payload).then(res => {
           this.saveLoad = false
@@ -1555,8 +1572,23 @@
         const productName = this.selectTreeNode.data.label
         this.addObj.sample = productName
         this.addObj.standardTreeId = this.selectTreeNode.data.id
+        this.loadTemplateBindings(this.addObj.standardTreeId)
         this.selectStandardTree = false
         this.sampleList = []
+      },
+      sortTemplateList(list) {
+        return (list || []).slice().sort((a, b) => (a.sort || 0) - (b.sort || 0))
+      },
+      async loadTemplateBindings(standardTreeId) {
+        this.boundTemplateList = []
+        if (!standardTreeId) return
+        this.templateBindingLoading = true
+        try {
+          const res = await selectTemplateBindings({standardTreeId})
+          this.boundTemplateList = this.sortTemplateList(res.data)
+        } finally {
+          this.templateBindingLoading = false
+        }
       },
       // 鐢ㄦ寚瀹氬瀷鍙锋浛鎹㈡爲璺緞鏈锛堟湯娈靛嵆鏍囧噯/鍨嬪彿锛�
       buildFactoryPath(model) {
@@ -2347,4 +2379,14 @@
   color: orange;
   font-size: 18px;
 }
+.template-tag-list {
+  min-height: 32px;
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  gap: 8px;
+}
+.empty-template-text {
+  color: #909399;
+}
 </style>
diff --git a/src/views/business/productOrder/components/addView.vue b/src/views/business/productOrder/components/addView.vue
index 7c3bbd6..608c69f 100644
--- a/src/views/business/productOrder/components/addView.vue
+++ b/src/views/business/productOrder/components/addView.vue
@@ -45,6 +45,15 @@
             <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>
@@ -58,8 +67,6 @@
             <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="6"><el-form-item label="鐜鏉′欢"><el-input v-model="addObj.temperature" disabled placeholder="娓╁害" size="small" /></el-form-item></el-col>
-            <el-col :span="6"><el-form-item label="婀垮害"><el-input v-model="addObj.humidity" disabled size="small" /></el-form-item></el-col>
             <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>
@@ -644,6 +651,7 @@
       tabIndex: '',
       currentId: '',
       sampleCode: '',
+      boundTemplateList: [],
       sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
       editTable:[],
       template: null,
@@ -889,6 +897,7 @@
           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
@@ -2238,4 +2247,11 @@
   color: orange;
   font-size: 18px;
 }
+.template-tag-list {
+  min-height: 32px;
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  gap: 8px;
+}
 </style>

--
Gitblit v1.9.3