From 9c7505a22f6c249184228de7c6f256a4d880dfed Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 14 三月 2025 09:36:06 +0800
Subject: [PATCH] 1、设备类管理页面完成增删改查功能 2、产品结构树工序及工步层级引入设备类概念由系统参数配置决定是否展示,若设备类存在时则NC文档挂载在设备类下不存在时则按照对应工序或工步层级下 3、产品结构树工序及工步层级的刀具列表实现增删改查功能 4、新增设备类管理页面并完成布局 5、产品结构树接口调整,产品结构树节点实体信息通过点击后调取接口获取 6、产品结构树搜素输入框增加防抖机制,避免每次输入都重新计算消耗性能使页面卡顿 7、新增工序及工步层级的刀具列表并添加系统权限 8、用户管理页面移除新增用户时的密码校验 9、产品结构树各层级属性信息展示由每行3列调整为每行4列 10、产品结构树页面在工序和工步层级实现对设备类的增删改查功能

---
 src/views/dnc/base/modules/DeviceStructure/DeviceStructureTree.vue |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/views/dnc/base/modules/DeviceStructure/DeviceStructureTree.vue b/src/views/dnc/base/modules/DeviceStructure/DeviceStructureTree.vue
index 1caf639..fef8b3d 100644
--- a/src/views/dnc/base/modules/DeviceStructure/DeviceStructureTree.vue
+++ b/src/views/dnc/base/modules/DeviceStructure/DeviceStructureTree.vue
@@ -59,6 +59,7 @@
         treeDataSource: [],
         selectedKeys: [],
         expandedKeys: [],
+        beforeSearchExpandedKeys: [],
         searchValue: '',
         dataList: [],
         autoExpandParent: true,
@@ -81,6 +82,7 @@
       getTreeDataByApi() {
         this.loading = true
         this.cardLoading = true
+        this.treeDataSource = []
         dncApi.getDeviceTreeDataApi()
           .then(res => {
             if (res.success) {
@@ -88,8 +90,8 @@
               this.allTreeKeys = []
               this.treeDataSource = res.result
               this.generateList(this.treeDataSource)
-              this.expandedKeys = this.allTreeKeys
-              this.$bus.$emit('sendCurrentTreeNodeInfo', this.treeDataSource[0])
+              this.expandedKeys = this.beforeSearchExpandedKeys = this.allTreeKeys
+              this.$bus.$emit('sendDeviceTreeNodeInfo', this.treeDataSource[0])
             } else {
               this.$message.warn(res.message)
             }
@@ -113,9 +115,11 @@
       handleTreeSelect(selectedKeys, { node }) {
         let record = node.dataRef
         this.currentSelected = Object.assign({}, record)
-        this.selectedKeys = selectedKeys
         // 鍚戝彸渚х埗绾х粍浠跺彂閫佸綋鍓嶉�変腑鏍戣妭鐐逛俊鎭�
-        this.$bus.$emit('sendCurrentTreeNodeInfo', this.currentSelected)
+        this.$bus.$emit('sendDeviceTreeNodeInfo', this.currentSelected)
+        if (selectedKeys.length === 0) return
+        this.selectedKeys = selectedKeys
+
       },
 
       /**
@@ -135,27 +139,37 @@
        * @param expandedKeys 灞曞紑椤筴ey
        */
       handleTreeExpand(expandedKeys) {
-        this.expandedKeys = expandedKeys
+        this.expandedKeys = this.beforeSearchExpandedKeys = expandedKeys
+        console.log('beforeSearchExpandedKeys', this.beforeSearchExpandedKeys)
         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
         })
       },
 

--
Gitblit v1.9.3