From b4c2cbc7825fe4732fb6333447fdada9567bcb97 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 12 十月 2026 17:48:36 +0800
Subject: [PATCH] 资源需求(标准物质相关)模块调整;新增统一附件组件并接入供应商管理与客户满意度;客户满意度表单改客户卡片下拉并关联已完成委托单;预览、图表、导航栏等组件调整

---
 src/views/CNAS/resourceDemand/standardMaterial/component/borrowDia.vue |   67 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/src/views/CNAS/resourceDemand/standardMaterial/component/borrowDia.vue b/src/views/CNAS/resourceDemand/standardMaterial/component/borrowDia.vue
index 5c4291d..10a0cda 100644
--- a/src/views/CNAS/resourceDemand/standardMaterial/component/borrowDia.vue
+++ b/src/views/CNAS/resourceDemand/standardMaterial/component/borrowDia.vue
@@ -3,7 +3,7 @@
     <el-dialog v-loading="diaLoading" :close-on-click-modal="false"
                :close-on-press-escape="false"
                v-model="formDia"
-               title="鏍囧噯鐗╄川鍊熺敤"
+               title="鏍囧噯鐗╄川棰嗙敤"
                width="80%" @close="closeBorrowDia">
       <el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="auto">
         <el-row :gutter="20">
@@ -18,12 +18,22 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
+            <el-form-item label="鍓╀綑鍙鐢�">
+              <el-input v-model="remaining" disabled size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="棰嗙敤鏁伴噺" prop="borrowQuantity">
+              <el-input-number v-model="form.borrowQuantity" :min="1" :max="remaining > 0 ? remaining : 1" size="small" style="width: 100%"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="瀹屽ソ鎬�" prop="integrity">
               <el-input v-model="form.integrity" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鍊熺敤浜�" prop="borrowUser">
+            <el-form-item label="棰嗙敤浜�" prop="borrowUser">
               <el-input v-model="form.borrowUser" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
@@ -33,7 +43,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鍊熷嚭鏃ユ湡" prop="borrowDate">
+            <el-form-item label="棰嗙敤鏃ユ湡" prop="borrowDate">
               <el-date-picker
                 v-model="form.borrowDate"
                 clearable
@@ -44,18 +54,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="绾﹀畾褰掕繕鏃ユ湡" prop="borrowReturnDate">
-              <el-date-picker
-                v-model="form.borrowReturnDate"
-                clearable
-                format="YYYY-MM-DD HH:mm:ss" placeholder="閫夋嫨鏃ユ湡"
-                size="small" style="width: 100%"
-                type="datetime" value-format="YYYY-MM-DD HH:mm:ss">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鍊熷嚭浜�" prop="lender">
+            <el-form-item label="鍙戞斁浜�" prop="lender">
               <el-input v-model="form.lender" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
@@ -71,7 +70,8 @@
 
 <script>
 import {
-  borrowSubstance
+  borrowSubstance,
+  getRemainingQuantity
 } from "@/api/cnas/resourceDemand/standardMaterial/standardMaterial";
 
 export default {
@@ -91,17 +91,34 @@
         borrowUser: '',
         phone: '',
         borrowDate: '',
-        borrowReturnDate: '',
         lender: '',
-        substanceId: ''
+        substanceId: '',
+        borrowQuantity: null
       },
+      remaining: 0,
       rules: {
         integrity: [{required: true, message: '璇峰~鍐欏畬濂芥��',trigger: 'blur'}],
-        borrowUser: [{required: true, message: '璇峰~鍐欏�熺敤浜�',trigger: 'blur'}],
+        borrowUser: [{required: true, message: '璇峰~鍐欓鐢ㄤ汉',trigger: 'blur'}],
         phone: [{required: true, message: '璇峰~鍐欒仈绯绘柟寮�',trigger: 'blur'}],
-        borrowDate: [{required: true, message: '璇烽�夋嫨鍊熷嚭鏃ユ湡',trigger: 'change'}],
-        borrowReturnDate: [{required: true, message: '璇烽�夋嫨绾﹀畾褰掕繕鏃ユ湡',trigger: 'change'}],
-        lender: [{required: true, message: '璇烽�夋嫨lender',trigger: 'blur'}],
+        borrowDate: [{required: true, message: '璇烽�夋嫨棰嗙敤鏃ユ湡',trigger: 'change'}],
+        lender: [{required: true, message: '璇峰~鍐欏彂鏀句汉',trigger: 'blur'}],
+        borrowQuantity: [
+          {required: true, message: '璇峰~鍐欓鐢ㄦ暟閲�', trigger: 'blur'},
+          {
+            validator: (rule, value, callback) => {
+              if (value === null || value === undefined || value === '') {
+                callback(new Error('璇峰~鍐欓鐢ㄦ暟閲�'))
+              } else if (Number(value) <= 0) {
+                callback(new Error('棰嗙敤鏁伴噺蹇呴』澶т簬0'))
+              } else if (Number(value) > this.remaining) {
+                callback(new Error('棰嗙敤鏁伴噺涓嶈兘瓒呰繃鍓╀綑鍙鐢ㄦ暟閲�'))
+              } else {
+                callback()
+              }
+            },
+            trigger: 'blur'
+          },
+        ],
       },
     };
   },
@@ -116,6 +133,12 @@
       this.form.name = row.name
       this.form.model = row.model
       this.form.substanceId = row.id
+      this.remaining = 0
+      getRemainingQuantity(row.id).then(res => {
+        if (res.code === 200) {
+          this.remaining = res.data
+        }
+      })
     },
     // 鎻愪氦寮规鏁版嵁
     handleEdit () {

--
Gitblit v1.9.3