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/ProductStructureTree.vue |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/views/dnc/base/modules/ProductStructure/ProductStructureTree.vue b/src/views/dnc/base/modules/ProductStructure/ProductStructureTree.vue
index ae81024..1a8ebdf 100644
--- a/src/views/dnc/base/modules/ProductStructure/ProductStructureTree.vue
+++ b/src/views/dnc/base/modules/ProductStructure/ProductStructureTree.vue
@@ -36,6 +36,7 @@
             <a-icon slot="product" type="shopping"/>
             <a-icon slot="component" type="camera"/>
             <a-icon slot="part" type="hdd"/>
+            <a-icon slot="processSpecVersion" type="tag"/>
             <a-icon slot="process" type="apartment"/>
             <a-icon slot="processStep" type="tool"/>
           </a-tree>
@@ -50,6 +51,8 @@
     <ComponentModal :currentTreeNodeInfo="rightClickSelected" @submitSuccess="modalFormSubmitSuccess"/>
     <!--闆朵欢寮圭獥-->
     <PartModal :currentTreeNodeInfo="rightClickSelected" @submitSuccess="modalFormSubmitSuccess"/>
+    <!--宸ヨ壓瑙勭▼鐗堟湰寮圭獥-->
+    <ProcessSpecVersionModal :currentTreeNodeInfo="rightClickSelected" @submitSuccess="modalFormSubmitSuccess"/>
     <!--宸ュ簭寮圭獥-->
     <ProcessModal :currentTreeNodeInfo="rightClickSelected" @submitSuccess="modalFormSubmitSuccess"/>
     <!--宸ユ寮圭獥-->
@@ -66,6 +69,7 @@
   import ProductModal from './Product/ProductModal'
   import ComponentModal from './Component/ComponentModal'
   import PartModal from './Part/PartModal'
+  import ProcessSpecVersionModal from './ProcessSpecVersion/ProcessSpecVersionModal'
   import ProcessModal from './Process/ProcessModal'
   import ProcessStepModal from './ProcessStep/ProcessStepModal'
   import AssignPermissionModal from './Permission/AssignPermissionModal'
@@ -76,6 +80,7 @@
       AssignPermissionModal,
       ProcessStepModal,
       ProcessModal,
+      ProcessSpecVersionModal,
       PartModal,
       ComponentModal,
       ProductModal,
@@ -89,6 +94,7 @@
         treeDataSource: [],
         selectedKeys: [],
         expandedKeys: [],
+        beforeSearchExpandedKeys: [],
         searchValue: '',
         dataList: [],
         autoExpandParent: true,
@@ -116,7 +122,7 @@
             this.treeDataSource = res.list
             this.generateList(this.treeDataSource)
             // this.expandedKeys = this.allTreeKeys
-            if (this.expandedKeys.length === 0) this.expandedKeys = [this.treeDataSource[0].id]
+            if (this.expandedKeys.length === 0) this.expandedKeys = this.beforeSearchExpandedKeys = [this.treeDataSource[0].id]
           } else {
             this.$message.warn(res.message)
           }
@@ -203,27 +209,36 @@
        * @param expandedKeys 灞曞紑椤筴ey
        */
       handleTreeExpand(expandedKeys) {
-        this.expandedKeys = expandedKeys
+        this.expandedKeys = this.beforeSearchExpandedKeys = expandedKeys
         this.autoExpandParent = false
       },
 
       /* 杈撳叆鏌ヨ鍐呭鍙樺寲鏃惰Е鍙� */
       handleSearchInputChange() {
         let search = this.searchInput
-        let expandedKeys = this.dataList
-          .map(item => {
-            if (item.title != null) {
-              if (item.title.indexOf(search) > -1) {
-                return this.getParentKey(item.key, this.treeDataSource)
+        let expandedKeys
+        let autoExpandParent
+        if (search !== '') {
+          expandedKeys = this.dataList
+            .map(item => {
+              if (item.title != null) {
+                if (item.title.indexOf(search) > -1) {
+                  return this.getParentKey(item.key, this.treeDataSource)
+                }
+                return null
               }
-              return null
-            }
-          })
-          .filter((item, i, self) => item && self.indexOf(item) === i)
+            })
+            .filter((item, i, self) => item && self.indexOf(item) === i)
+          autoExpandParent = true
+        } else {
+          expandedKeys = this.beforeSearchExpandedKeys
+          autoExpandParent = false
+        }
+
         Object.assign(this, {
           expandedKeys,
           searchValue: search,
-          autoExpandParent: true
+          autoExpandParent
         })
       },
 
@@ -284,6 +299,9 @@
           case 3:
             treeNode.slots = { icon: 'part' }
             break
+          case 4:
+            treeNode.slots = { icon: 'processSpecVersion' }
+            break
           case 5:
             treeNode.slots = { icon: 'process' }
             break

--
Gitblit v1.9.3