From 2ceb99a629b70a3d63154656b534dcc603af78e7 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 14 二月 2025 13:55:45 +0800
Subject: [PATCH] 1、调整产品和设备结构树权限配置分配用户时,admin只有在分配后或者有权限时才会被禁用

---
 src/views/dnc/base/modules/DeviceStructure/Permission/UserPermissionTransfer.vue  |   10 ++++++----
 src/views/dnc/base/modules/ProductStructure/Permission/UserPermissionTransfer.vue |   10 ++++++----
 src/views/dnc/base/modules/DeviceStructure/Permission/AssignPermissionModal.vue   |   19 ++++++++++++-------
 src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue  |   20 ++++++++++++--------
 4 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/src/views/dnc/base/modules/DeviceStructure/Permission/AssignPermissionModal.vue b/src/views/dnc/base/modules/DeviceStructure/Permission/AssignPermissionModal.vue
index 69b115e..51f8576 100644
--- a/src/views/dnc/base/modules/DeviceStructure/Permission/AssignPermissionModal.vue
+++ b/src/views/dnc/base/modules/DeviceStructure/Permission/AssignPermissionModal.vue
@@ -13,7 +13,8 @@
     <a-tabs v-model="activeTabKey">
       <a-tab-pane :key="1" tab="鍒嗛厤鐢ㄦ埛">
         <UserPermissionTransfer ref="userPermissionTransferRef" :currentTreeNodeInfo="currentTreeNodeInfo"
-                                :dataSource="allUsersList" :isAssignSonNode="isAssignSonNode"/>
+                                :dataSource="allUsersList" :isAssignSonNode="isAssignSonNode"
+                                @setAdminDisabled="setAdminDisabled"/>
       </a-tab-pane>
     </a-tabs>
   </a-modal>
@@ -69,17 +70,21 @@
         dncApi.getAllUsersListApi()
           .then(res => {
             if (res.success) {
-              this.allUsersList = res.result.records.map(item => {
-                return {
-                  ...item,
-                  disabled: item.username === 'admin'
-                }
-              })
+              this.allUsersList = res.result.records
               this.$nextTick(() => this.$refs.userPermissionTransferRef.getHasPermissionUserByApi())
             }
           })
       },
 
+      setAdminDisabled() {
+        this.allUsersList = this.allUsersList.map(item => {
+          return {
+            ...item,
+            disabled: item.username === 'admin'
+          }
+        })
+      },
+
       // 鎺у埗寮圭獥鍏抽棴
       handleModalClose() {
         this.visible = false
diff --git a/src/views/dnc/base/modules/DeviceStructure/Permission/UserPermissionTransfer.vue b/src/views/dnc/base/modules/DeviceStructure/Permission/UserPermissionTransfer.vue
index ba5aec7..f4268ae 100644
--- a/src/views/dnc/base/modules/DeviceStructure/Permission/UserPermissionTransfer.vue
+++ b/src/views/dnc/base/modules/DeviceStructure/Permission/UserPermissionTransfer.vue
@@ -48,7 +48,10 @@
         that.targetKeys = []
         dncApi.getDeviceTreeHasPermissionUserApi(this.currentTreeNodeInfo)
           .then(res => {
-            if (res.success) this.targetKeys = res.list.map(item => item.id)
+            if (res.success) {
+              that.targetKeys = res.list.map(item => item.id)
+              if (that.targetKeys.includes(that.dataSource.find(item => item.username === 'admin').id)) that.$emit('setAdminDisabled')
+            }
           })
           .finally(() => {
             that.spinning = false
@@ -65,8 +68,6 @@
           isAssignSonNode: isAssignSonNode ? 1 : 2,
           userIdArray: moveKeys
         }
-        console.log('params--------------------------', params)
-        console.log(targetKeys, direction, moveKeys)
         if (direction === 'right') {
           method = dncApi.assignDeviceDeviceTreePermissionToUser
         } else {
@@ -80,7 +81,8 @@
                 message: '娑堟伅',
                 description: res.message
               })
-              this.targetKeys = targetKeys
+              that.targetKeys = targetKeys
+              if (targetKeys.includes(that.dataSource.find(item => item.username === 'admin').id)) that.$emit('setAdminDisabled')
             } else {
               $notification.error({
                 message: '娑堟伅',
diff --git a/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue b/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue
index 58c9705..07b8f9e 100644
--- a/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Permission/AssignPermissionModal.vue
@@ -19,7 +19,8 @@
 
       <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>
@@ -83,7 +84,6 @@
         this.allTreeKeys = []
         queryProductionTreeList()
           .then(res => {
-            console.log('res-------------------', res)
             if (res.success) {
               this.allDepartmentsList = res.result
               this.generateList(this.allDepartmentsList)
@@ -117,17 +117,21 @@
         dncApi.getAllUsersListApi()
           .then(res => {
             if (res.success) {
-              this.allUsersList = res.result.records.map(item => {
-                return {
-                  ...item,
-                  disabled: item.username === 'admin'
-                }
-              })
+              this.allUsersList = res.result.records
               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 = []
diff --git a/src/views/dnc/base/modules/ProductStructure/Permission/UserPermissionTransfer.vue b/src/views/dnc/base/modules/ProductStructure/Permission/UserPermissionTransfer.vue
index 886df05..8cde6f1 100644
--- a/src/views/dnc/base/modules/ProductStructure/Permission/UserPermissionTransfer.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Permission/UserPermissionTransfer.vue
@@ -47,7 +47,10 @@
         that.targetKeys = []
         dncApi.getHasPermissionUserApi(this.currentTreeNodeInfo)
           .then(res => {
-            if (res.success) this.targetKeys = res.list.map(item => item.id)
+            if (res.success) {
+              that.targetKeys = res.list.map(item => item.id)
+              if (that.targetKeys.includes(that.dataSource.find(item => item.username === 'admin').id)) that.$emit('setAdminDisabled')
+            }
           })
           .finally(() => {
             that.spinning = false
@@ -64,8 +67,6 @@
           isAssignSonNode: isAssignSonNode ? 1 : 2,
           userIdArray: moveKeys
         }
-        console.log('params--------------------------', params)
-        console.log(targetKeys, direction, moveKeys)
         if (direction === 'right') {
           method = dncApi.assignPermissionToUser
         } else {
@@ -79,7 +80,8 @@
                 message: '娑堟伅',
                 description: res.message
               })
-              this.targetKeys = targetKeys
+              that.targetKeys = targetKeys
+              if (targetKeys.includes(that.dataSource.find(item => item.username === 'admin').id)) that.$emit('setAdminDisabled')
             } else {
               $notification.error({
                 message: '娑堟伅',

--
Gitblit v1.9.3