From 418594d0a3e441eeb7df2abbd70e54a0c72284c6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 30 十月 2026 16:35:46 +0800
Subject: [PATCH] feat(order): 添加送样日期校验和权限刷新机制 - 在委托单新增表单中为送样日期添加占位提示和保存校验 - 在检验审核、检验任务、报告编制、样品接收、报告结果、用印台账等页面添加送样时间列 - 加载委托模板时清空送样日期并清除校验状态

---
 src/views/business/productOrder/components/addOrder.vue |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/views/business/productOrder/components/addOrder.vue b/src/views/business/productOrder/components/addOrder.vue
index 17cd750..aeae70a 100644
--- a/src/views/business/productOrder/components/addOrder.vue
+++ b/src/views/business/productOrder/components/addOrder.vue
@@ -136,7 +136,7 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="閫佹牱鏃ユ湡" prop="sampleDate">
-                <el-date-picker v-model="addObj.sampleDate" type="date" value-format="YYYY-MM-DD" :disabled="active>1"
+                <el-date-picker v-model="addObj.sampleDate" type="date" value-format="YYYY-MM-DD" placeholder="璇烽�夋嫨鏈閫佹牱鏃ユ湡" :disabled="active>1"
                                 size="small"/>
               </el-form-item>
             </el-col>
@@ -1671,6 +1671,11 @@
       }
     },
     saveMethod(sampleList) {
+      if (!this.addObj.sampleDate && !this.isEdit) {
+        this.$refs.newJuOrder?.validateField('sampleDate')
+        this.$message.warning('璇烽�夋嫨鏈閫佹牱鏃ユ湡')
+        return
+      }
       if (this.addObj.standardTreeId) {
         this.saveData([]);
         return;
@@ -1705,6 +1710,11 @@
       }
     },
     saveData(sampleList) {
+      if (!this.addObj.sampleDate && !this.isEdit) {
+        this.$refs.newJuOrder?.validateField('sampleDate')
+        this.$message.warning('璇烽�夋嫨鏈閫佹牱鏃ユ湡')
+        return
+      }
       this.saveLoad = true
       const insOrder = {
         ...this.addObj,
@@ -2185,14 +2195,17 @@
     },
     // 鏌ヨ妯℃澘
     selectInsOrderTemplateById(e) {
+      const loadVersion = ++this.orderLoadVersion
       selectInsOrderTemplateById({id: e}).then(res => {
+        if (loadVersion !== this.orderLoadVersion || this.template !== e) return
         const detail = res.data || {}
         let obj = JSON.parse(detail.thing)
         //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛
         let user = this.nickName
         obj.addObj.custom = user.name
         obj.addObj.userId = user.userId
-        this.addObj = obj.addObj;
+        this.addObj = {...obj.addObj, sampleDate: null};
+        this.$nextTick(() => this.$refs.newJuOrder?.clearValidate('sampleDate'))
         this.sampleList = obj.sampleList;
         this.selectTree = obj.selectTree
         // backend already resolved the bound record templates by standard

--
Gitblit v1.9.3