From ba15d76ff0ec80ee759913511158d4333f6e6c59 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期五, 29 八月 2025 18:21:22 +0800
Subject: [PATCH] 日常业务问题修改、工具参数查询增加

---
 src/views/tms/lossBound/modules/LossboundModal.vue |   95 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 60 insertions(+), 35 deletions(-)

diff --git a/src/views/tms/lossBound/modules/LossboundModal.vue b/src/views/tms/lossBound/modules/LossboundModal.vue
index bfa9ba6..e10bd0c 100644
--- a/src/views/tms/lossBound/modules/LossboundModal.vue
+++ b/src/views/tms/lossBound/modules/LossboundModal.vue
@@ -13,16 +13,19 @@
         <a-row>
           <a-col :span="12">
             <a-form-model-item label="鎶ユ崯鍗曞崟鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderCode">
-              <j-input v-model="model.orderCode" placeholder="绯荤粺鑷姩鐢熸垚" :disabled="true"></j-input>
+              <a-input v-model="model.orderCode" placeholder="绯荤粺鑷姩鐢熸垚" :disabled="true"></a-input>
             </a-form-model-item>
           </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="鎶ユ崯浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="losser">
-              <j-dict-select-tag :disabled="disableSubmit"
-                                 v-model="model.losser" dictCode="sys_user,realname,id"
+           <a-col :span="12">
+            <a-form-model-item label="缁忔墜浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                               prop="handler">
+
+              <j-dict-select-tag :disabled="true"
+                                 v-model="model.handler" dictCode="sys_user,realname,id"
                                  placeholder="璇烽�夋嫨" />
             </a-form-model-item>
           </a-col>
+         
         </a-row>
         <a-row>
           <a-col :span="12">
@@ -43,16 +46,14 @@
           </a-col>
         </a-row>
         <a-row>
-
-          <a-col :span="12">
-            <a-form-model-item v-if="addShow" label="缁忔墜浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"
-                               prop="handler">
-
+ <!-- <a-col :span="12">
+            <a-form-model-item label="鎶ユ崯浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="losser">
               <j-dict-select-tag :disabled="disableSubmit"
-                                 v-model="model.handler" dictCode="sys_user,realname,id"
+                                 v-model="model.losser" dictCode="sys_user,realname,id"
                                  placeholder="璇烽�夋嫨" />
             </a-form-model-item>
-          </a-col>
+          </a-col> -->
+         
           <a-col :span="12">
             <a-form-model-item v-if="addShow" label="瀹℃牳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                prop="orderStatus">
@@ -60,9 +61,7 @@
                                  placeholder="璇烽�夋嫨瀹℃牳鐘舵��" disabled />
             </a-form-model-item>
           </a-col>
-        </a-row>
-        <a-row>
-          <a-col :span="12">
+           <a-col :span="12">
             <a-form-model-item v-if="addShow" label="瀹℃牳鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                prop="approvalDate">
 
@@ -72,8 +71,8 @@
           </a-col>
         </a-row>
         <a-row>
-          <a-col :span="12">
-            <a-form-model-item v-if="addShow" label="瀹℃牳鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol"
+          <a-col :span="24">
+            <a-form-model-item v-if="addShow" label="瀹℃牳鎰忚" :labelCol="{span:2}" :wrapperCol="{span:20}"
                                prop="approvalOpinion">
               <a-input v-model="model.approvalOpinion" placeholder="璇疯緭鍏ュ鏍告剰瑙�" disabled></a-input>
             </a-form-model-item>
@@ -81,15 +80,13 @@
         </a-row>
         <a-row>
           <a-col :span="12">
-            <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
-              <a-textarea :disabled="disableSubmit" v-model="model.remark" rows="4" placeholder="璇疯緭鍏ュ娉�" />
+            <a-form-model-item label="鎶ユ崯鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossReason">
+              <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="璇疯緭鍏ユ姤鎹熷師鍥�" />
             </a-form-model-item>
           </a-col>
-        </a-row>
-        <a-row>
           <a-col :span="12">
-            <a-form-model-item label="鎶ユ崯鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossReason">
-              <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="璇疯緭鍏ュ娉�" />
+            <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-textarea :disabled="disableSubmit" v-model="model.remark" rows="4" placeholder="璇疯緭鍏ュ娉�" />
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -113,9 +110,20 @@
       @change="handleTableChange">
 
       <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
-        <a-input-number :disabled="disableSubmit" :value="text" v-if="col.dataIndex == 'lossNumber'" :min="0"
-                        :max="99999"
-                        @change="(e) => handleChange(e, record.key, col, index)" style="width: 100%;" />
+        <div v-if="col.dataIndex == 'lossNumber'">
+          <a-input-number
+            :disabled="record.accuracyClass === '1'"
+            :value="text"
+            :min="1"
+            :max="99999"
+            @change="(e) => handleChange(e, record.key, col, index)"
+            style="width: 100%;"
+          />
+          <div v-if="record.lossNumberError" style="color: #f5222d; font-size: 12px; margin-top: 4px;">
+            {{ record.lossNumberMsg }}
+          </div>
+        </div>
+
         <a-textarea
           v-if="col.dataIndex == 'lossReason'"
           :disabled="disableSubmit"
@@ -218,7 +226,8 @@
           dataIndex: 'lossNumber',
           align: 'center',
           width: 150,
-          scopedSlots: { customRender: 'lossNumber' }
+          scopedSlots: { customRender: 'lossNumber' },
+          key: 'lossNumber'
         },
         {
           title: '涓枃鍚嶇О',
@@ -314,8 +323,11 @@
           supplierId: data[i].supplierId,
           goodsShelvesId: data[i].positionCode,
           toolMaterial: data[i].toolMaterial,
-          partMaterial: data[i].partMaterial
-
+          partMaterial: data[i].partMaterial,
+          lossNumber: "1", // 鍒濆鍖栨姤鎹熸暟閲�
+          lossNumberError: false, // 鏍¢獙鐘舵��
+          lossNumberMsg: '', // 閿欒淇℃伅
+          accuracyClass: data[i].accuracyClass
         })
       }
       this.ipagination.total = this.dataSource.length
@@ -332,13 +344,15 @@
       const target = temp.filter(item => key === item.key)[index]
       if (target) {
         target[column.dataIndex] = value
-        this.dataSource = temp
-        if (column.dataIndex === 'lossNumber') {
 
-          target[column.dataIndex] = value
-        }
-        if (column.dataIndex === 'lossReason') {
-          target[column.dataIndex] = value
+        if (column.dataIndex === 'lossNumber') {
+          if (value === null || value === undefined || value <= 0) {
+            target.lossNumberError = true
+            target.lossNumberMsg = '鎶ユ崯鏁伴噺涓嶈兘涓虹┖涓斿繀椤诲ぇ浜�0'
+          } else {
+            target.lossNumberError = false
+            target.lossNumberMsg = ''
+          }
         }
         this.dataSource = temp
       }
@@ -398,6 +412,17 @@
       // 瑙﹀彂琛ㄥ崟楠岃瘉
       this.$refs.form.validate(valid => {
         if (valid) {
+          let isTableValid = true
+          this.dataSource.forEach((row, index) => {
+            this.handleChange(row.lossNumber, row.key, { dataIndex: 'lossNumber' }, index)
+            if (row.lossNumberError) {
+              isTableValid = false
+            }
+          })
+
+          if (!isTableValid) {
+            return false
+          }
           this.model.toolsLossBoundDetailList = this.dataSource
           that.confirmLoading = true
           let httpurl = ''

--
Gitblit v1.9.3