Ver Fonte

!779 用户管理,选中树形后无法取消选中问题
Merge pull request !779 from 王靖文/master

芋道源码 há 7 meses atrás
pai
commit
0879cdd159
3 ficheiros alterados com 17512 adições e 5 exclusões
  1. 17486 0
      package-lock.json
  2. 18 2
      src/views/system/user/DeptTree.vue
  3. 8 3
      src/views/system/user/index.vue

Diff do ficheiro suprimidas por serem muito extensas
+ 17486 - 0
package-lock.json


+ 18 - 2
src/views/system/user/DeptTree.vue

@@ -46,8 +46,24 @@ const filterNode = (name: string, data: Tree) => {
 }
 
 /** 处理部门被点击 */
-const handleNodeClick = async (row: { [key: string]: any }) => {
-  emits('node-click', row)
+let currentNode: any = {}
+const handleNodeClick = async (row: { [key: string]: any }, treeNode: any) => {
+  // 判断选中状态
+  if (currentNode && currentNode.name === row.name) {
+    treeNode.checked = !treeNode.checked
+  } else {
+    treeNode.checked = true
+  }
+  if (treeNode.checked) {
+    // 选中
+    currentNode = row
+    emits('node-click', row)
+  } else {
+    // 取消选中
+    treeRef.value!.setCurrentKey(undefined)
+    emits('node-click', undefined)
+    currentNode = null
+  }
 }
 const emits = defineEmits(['node-click'])
 

+ 8 - 3
src/views/system/user/index.vue

@@ -255,9 +255,14 @@ const resetQuery = () => {
 }
 
 /** 处理部门被点击 */
-const handleDeptNodeClick = async (row) => {
-  queryParams.deptId = row.id
-  await getList()
+const handleDeptNodeClick = async (row: any) => {
+  if (row === undefined) {
+    queryParams.deptId = undefined
+    await getList()
+  } else {
+    queryParams.deptId = row.id
+    await getList()
+  }
 }
 
 /** 添加/修改操作 */