From f43aeaa3b3960e7b886023a41bd799fce7232ce5 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期二, 03 六月 2025 13:34:33 +0800
Subject: [PATCH] 工具管理-仓库、库位页面交互优化

---
 src/views/tms/modules/GoodsShelvesForm.vue |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/views/tms/modules/GoodsShelvesForm.vue b/src/views/tms/modules/GoodsShelvesForm.vue
index 3ef07b7..a2a91aa 100644
--- a/src/views/tms/modules/GoodsShelvesForm.vue
+++ b/src/views/tms/modules/GoodsShelvesForm.vue
@@ -40,7 +40,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="true" :value="locationCode"  placeholder="璇疯緭鍏ュ簱浣嶅彿"  ></a-input>
+              <a-input v-model="model.locationCode"  placeholder="璇疯緭鍏ュ簱浣嶅彿"  ></a-input>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -87,6 +87,8 @@
           locationCode: '',
           remark: ''
         },
+        autoLocationCode: '', // 鑷姩鎷兼帴鐨勫簱浣嶅彿
+        userEditedLocationCode: false,
         labelCol: {
           xs: { span: 24 },
           sm: { span: 5 },
@@ -125,7 +127,7 @@
         return this.disabled
       },
       //鎷兼帴搴撲綅鍙�
-      locationCode() {
+      autoGeneratedLocationCode() {
         const { shelfNumber, storey, arrange, columnNumber } = this.model;
         if (shelfNumber || storey || arrange || columnNumber) {
           return `${shelfNumber}${storey}${arrange}${columnNumber}`;
@@ -182,10 +184,21 @@
       },
     },
     watch: {
-      'model.shelfNumber': 'updateLocationCode',
-      'model.storey': 'updateLocationCode',
-      'model.arrange': 'updateLocationCode',
-      'model.columnNumber': 'updateLocationCode'
+      autoGeneratedLocationCode(newVal) {
+        // 鍙湁褰撶敤鎴锋病鏈夋墜鍔ㄨ緭鍏ユ椂鎵嶈嚜鍔ㄥ~鍏�
+        if (!this.userEditedLocationCode) {
+          this.model.locationCode = newVal;
+        }
+        this.autoLocationCode = newVal;
+      },
+      'model.locationCode'(newVal) {
+        // 濡傛灉鐢ㄦ埛鎵嬪姩杈撳叆锛屽垯鏍囪涓哄凡缂栬緫
+        if (newVal !== this.autoLocationCode) {
+          this.userEditedLocationCode = true;
+        } else {
+          this.userEditedLocationCode = false;
+        }
+      }
     }
   }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3