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/WarehouseList.vue            |    6 ++++++
 src/views/tms/modules/WarehouseModal.vue   |    4 ++--
 src/views/tms/modules/WarehouseForm.vue    |    5 +++--
 src/views/tms/modules/GoodsShelvesForm.vue |   25 +++++++++++++++++++------
 4 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/src/views/tms/WarehouseList.vue b/src/views/tms/WarehouseList.vue
index 8d08ca8..9be0090 100644
--- a/src/views/tms/WarehouseList.vue
+++ b/src/views/tms/WarehouseList.vue
@@ -267,6 +267,12 @@
       this.$bus.$off('getCurrSelected', this.handleGetCurrSelected);
     },
     methods: {
+      handleAdd: function () {
+        const nextSeq = Number(this.dataSource[this.dataSource.length - 1].seq) + 1
+        this.$refs.modalForm.add(nextSeq);
+        this.$refs.modalForm.title = "鏂板";
+        this.$refs.modalForm.disableSubmit = false;
+      },
       handleStatus(record) {
         getAction(this.url.list, { parentId: record.id }).then((res) => {
           if (res.success) {
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
diff --git a/src/views/tms/modules/WarehouseForm.vue b/src/views/tms/modules/WarehouseForm.vue
index be42c4d..7896d8a 100644
--- a/src/views/tms/modules/WarehouseForm.vue
+++ b/src/views/tms/modules/WarehouseForm.vue
@@ -25,7 +25,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="鍙跺瓙鑺傜偣鏍囪瘑" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leafFlag">
-              <a-radio-group :disabled="leafDisableFlag" v-model="model.leafFlag" placeholder="璇烽�夋嫨鏄惁鍙跺瓙鑺傜偣">
+              <a-radio-group :default-value="'2'" :disabled="leafDisableFlag" v-model="model.leafFlag" placeholder="璇烽�夋嫨鏄惁鍙跺瓙鑺傜偣">
                 <a-radio :value="'2'">鏈夊瓙鑺傜偣</a-radio>
                 <a-radio :value="'1'">鏄彾瀛愯妭鐐�</a-radio>
               </a-radio-group>
@@ -125,10 +125,11 @@
           console.error(e);
         }
       },
-      add (treeSelected) {
+      add (treeSelected, nextSeq) {
         this.modelDefault.parentId = treeSelected.key
         this.modelDefault.parentWarehouseId = treeSelected.entity.warehouseId
         this.modelDefault.parentWarehouseName = treeSelected.entity.warehouseName
+        this.modelDefault.seq = nextSeq
         this.edit(this.modelDefault);
       },
       edit (record) {
diff --git a/src/views/tms/modules/WarehouseModal.vue b/src/views/tms/modules/WarehouseModal.vue
index 7d856a7..9140e14 100644
--- a/src/views/tms/modules/WarehouseModal.vue
+++ b/src/views/tms/modules/WarehouseModal.vue
@@ -35,10 +35,10 @@
       }
     },
     methods: {
-      add () {
+      add (nextSeq) {
         this.visible=true
         this.$nextTick(()=>{
-          this.$refs.realForm.add(this.treeSelected);
+          this.$refs.realForm.add(this.treeSelected, nextSeq);
         })
       },
       edit (record) {

--
Gitblit v1.9.3