From f2d1b5615b05c002ec63db4df7164c9ed3ecc4a3 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期二, 26 八月 2025 16:42:21 +0800 Subject: [PATCH] 1、优化产品结构树以及设备结构树、列表右键菜单重复右键后出现window菜单问题 2、优化产品结构树节点删除后的loading展示时机 3、优化产品以及设备结构树权限配置获取列表时的loading展示时机 --- src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue b/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue index d9851a5..464e7df 100644 --- a/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue +++ b/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue @@ -5,20 +5,22 @@ <a-form-item label="鍚嶇О"> <a-input readOnly :value="currentTreeNodeInfo.label"></a-input> </a-form-item> - <a-form-item label="鏄惁鍒嗛厤瀛愯妭鐐�"> + <a-form-item label="鏄惁鍚屾椂閰嶇疆瀛愯妭鐐�"> <a-switch v-model="isAssignSonNode"></a-switch> </a-form-item> </a-form-model> <a-tabs v-model="activeTabKey"> - <a-tab-pane :key="1" tab="鍒嗛厤閮ㄩ棬"> + <a-tab-pane :key="1" tab="鍒嗛厤杞﹂棿"> <DepartPermissionTransfer ref="departPermissionTransferRef" :currentTreeNodeInfo="currentTreeNodeInfo" - :dataSource="allDepartmentsList" :isAssignSonNode="isAssignSonNode"/> + :treeDataProps="allDepartmentsList" :allTreeKeys="allTreeKeys" + :isAssignSonNode="isAssignSonNode"/> </a-tab-pane> <a-tab-pane :key="2" tab="鍒嗛厤鐢ㄦ埛"> <UserPermissionTransfer ref="userPermissionTransferRef" :currentTreeNodeInfo="currentTreeNodeInfo" - :dataSource="allUsersList" :isAssignSonNode="isAssignSonNode"/> + :dataSource="allUsersList" :isAssignSonNode="isAssignSonNode" + @setAdminDisabled="setAdminDisabled"/> </a-tab-pane> </a-tabs> </a-modal> @@ -45,6 +47,7 @@ activeTabKey: 1, allDepartmentsList: [], allUsersList: [], + allTreeKeys: [], hasLoadedDataTabKeyArray: [] } }, @@ -75,31 +78,67 @@ this.visible = true }, - // 璋冪敤鎺ュ彛鑾峰彇鎵�鏈夐儴闂ㄥ垪琛� + // 璋冪敤鎺ュ彛鑾峰彇鎵�鏈夎溅闂村垪琛� getAllDepartmentsListByApi() { + this.allTreeKeys = this.allDepartmentsList = [] + this.$nextTick(() => { + this.$refs.departPermissionTransferRef.targetKeys = this.$refs.departPermissionTransferRef.dataSource = [] + this.$refs.departPermissionTransferRef.spinning = true + }) dncApi.getAllDepartmentsListApi() .then(res => { if (res.success) { - this.allDepartmentsList = res.list - this.$nextTick(() => this.$refs.departPermissionTransferRef.getHasPermissionDepartByApi()) - // 鍙湁涓婃閫�鍑烘椂鍦ㄩ儴闂ㄥ垎閰峵ab鐣岄潰鎵嶄細杩涘叆姝ゅ垽鏂� + this.allDepartmentsList = res.result + this.generateList(this.allDepartmentsList) + this.$nextTick(() => { + this.$refs.departPermissionTransferRef.getHasPermissionDepartByApi() + this.$refs.departPermissionTransferRef.expandedKeys = this.allTreeKeys + this.$refs.departPermissionTransferRef.flatten(JSON.parse(JSON.stringify(this.allDepartmentsList))) + }) + // 鍙湁涓婃閫�鍑烘椂鍦ㄨ溅闂村垎閰峵ab鐣岄潰鎵嶄細杩涘叆姝ゅ垽鏂� // 鑻ヤ笂娆¢��鍑烘椂鍦ㄧ敤鎴峰垎閰峵ab鐣岄潰鍒欏啀娆¤繘鍏ユ椂key鐢�2鍙樹负1鏃朵細瑙﹀彂watch鐩戞祴activeTabKey鍙樺寲鍒欎細灏唊ey:1鍔犲叆hasLoadedDataTabKeyArray锛屽洜姝ゆ棤闇�鍐嶆鍔犲叆key:1 if (!this.hasLoadedDataTabKeyArray.includes(this.activeTabKey)) this.hasLoadedDataTabKeyArray.push(this.activeTabKey) } }) }, + /** + * 閫掑綊鑾峰緱鎵�鏈夋爲鑺傜偣key + * @param data + */ + generateList(data) { + for (let i = 0; i < data.length; i++) { + const node = data[i] + const key = node.key + this.allTreeKeys.push(key) + if (node.children) this.generateList(node.children) + } + }, + // 璋冪敤鎺ュ彛鑾峰彇鎵�鏈夌敤鎴峰垪琛� getAllUsersListByApi() { + this.$nextTick(() => { + this.allUsersList = [] + this.$refs.userPermissionTransferRef.spinning = true + }) dncApi.getAllUsersListApi() .then(res => { if (res.success) { - this.allUsersList = res.result.records + this.allUsersList = res.result this.$nextTick(() => this.$refs.userPermissionTransferRef.getHasPermissionUserByApi()) } }) }, + setAdminDisabled() { + this.allUsersList = this.allUsersList.map(item => { + return { + ...item, + disabled: item.username === 'admin' + } + }) + }, + handleModalClose() { this.visible = false this.hasLoadedDataTabKeyArray = [] -- Gitblit v1.9.3