From b96d0e41cb4d68074fef53ae0ef10ee0c6be1b07 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 28 二月 2025 15:46:20 +0800
Subject: [PATCH] DNC模块: 1、解决点击tabs栏空白处出现空内容组件问题 2、新增树内容搜索时若清空内容后还原为搜索前展开的树节点的功能 产品结构树: 1、工艺和工步层级开放其他文档列表的展示 2、零件层级下新增工艺规程版本层级,并实现工艺规程版本层级的相应功能(增删改) 3、解决因设备结构树数据未加载完成就跳转至产品结构树页面导致接口获取到的前页面方法影响后页面从而出现混乱问题

---
 src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue |   46 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue
index 7551d6b..4dcd066 100644
--- a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue
+++ b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue
@@ -1,21 +1,23 @@
 <template>
-  <a-tabs v-model="activeTabKey" @contextmenu.native="e=>e.preventDefault()"
-          v-if="Object.keys(currentTreeNodeInfo).length!==0">
-    <a-tab-pane :key="1" tab="NC鏂囨。" v-if="currentTreeNodeInfo.type===5||currentTreeNodeInfo.type===6">
-      <NcDocumentTableList ref="ncDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
-                           @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>
-    </a-tab-pane>
+  <div v-if="currentTreeNodeInfo.type!==4">
+    <a-tabs v-model="activeTabKey" @contextmenu.native="e=>e.preventDefault()" @change="handleTabChange"
+            v-if="Object.keys(currentTreeNodeInfo).length!==0">
+      <a-tab-pane :key="1" tab="NC鏂囨。" v-if="currentTreeNodeInfo.type===5||currentTreeNodeInfo.type===6">
+        <NcDocumentTableList ref="ncDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
+                             @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>
+      </a-tab-pane>
 
-    <a-tab-pane :key="1" tab="鍏朵粬鏂囨。" v-else>
-      <OtherDocumentTableList ref="otherDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
-                              @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>
-    </a-tab-pane>
+      <a-tab-pane :key="2" tab="鍏朵粬鏂囨。">
+        <OtherDocumentTableList ref="otherDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
+                                @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>
+      </a-tab-pane>
+    </a-tabs>
 
     <TableContextMenu :tableRowInfo="currentRightClickedTableRowInfo" ref="tableContextMenuRef"/>
 
     <DocumentBatchDeleteModal :currentDocumentInfo="currentRightClickedTableRowInfo" :size="tableContainerSize"
                               @reloadDocumentListData="reloadDocumentListData" ref="documentBatchDeleteModalRef"/>
-  </a-tabs>
+  </div>
 </template>
 
 <script>
@@ -30,10 +32,11 @@
     components: { DocumentBatchDeleteModal, TableContextMenu, OtherDocumentTableList, NcDocumentTableList },
     data() {
       return {
-        activeTabKey: 1,
+        activeTabKey: 2,
         tableContainerSize: 'small',
         currentRightClickedTableRowInfo: {},
-        currentTreeNodeInfo: {}
+        currentTreeNodeInfo: {},
+        hasLoadedDataTabKeyArray: []
       }
     },
     created() {
@@ -64,18 +67,35 @@
         // 浠庢爲缁勪欢鎺ュ彈鏍戣妭鐐逛俊鎭悗浠庣埗缁勪欢娴佸叆瀛愮粍浠�
         this.currentTreeNodeInfo = treeNodeInfo
         // 娓呯┖涓婁竴鑺傜偣宸茬粡鍔犺浇杩囧緱鏂囨。鍒楄〃tabKey
+        this.hasLoadedDataTabKeyArray = []
         if (treeNodeInfo.type === 5 || treeNodeInfo.type === 6) {
+          this.activeTabKey = 1
           this.$nextTick(() => {
             if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1)
           })
         } else {
+          this.activeTabKey = 2
           this.$nextTick(() => {
             if (this.$refs.otherDocumentTableListRef) this.$refs.otherDocumentTableListRef.loadData(1)
           })
         }
+        this.hasLoadedDataTabKeyArray.push(this.activeTabKey)
       },
 
       /**
+       * tab鏍忓垏鎹㈡椂瑙﹀彂
+       * @param activeTabKey 鍒囨崲鍚庣殑tabKey
+       */
+      handleTabChange(activeTabKey) {
+        if (!this.hasLoadedDataTabKeyArray.includes(activeTabKey)) {
+          this.$nextTick(() => {
+            if (this.$refs.otherDocumentTableListRef) this.$refs.otherDocumentTableListRef.loadData(1)
+          })
+          // 闃绘鎺ュ彛鍦ㄥ悓涓�鏂囨。涓�娆$偣鍑诲唴澶氭瑙﹀彂
+          this.hasLoadedDataTabKeyArray.push(activeTabKey)
+        }
+      },
+      /**
        * 鏂囨。浠ュ強NC绋嬪簭瀵煎叆/鍑哄簱/鍏ュ簱鎴愬姛鍚庤Е鍙戦噸鏂板姞杞芥枃妗e垪琛�
        * @param docClassCode 鏂囨。绫诲埆
        * @param attributionId 鑺傜偣Id

--
Gitblit v1.9.3