From 0f640febeab9a5d70452ff8d6759cc1e930f2346 Mon Sep 17 00:00:00 2001
From: yz <yz_0812@outlook.com>
Date: 星期五, 12 三月 2021 23:16:41 +0800
Subject: [PATCH] 修改bug

---
 src/views/febs/system/user/Edit.vue |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/views/febs/system/user/Edit.vue b/src/views/febs/system/user/Edit.vue
index 7acee37..5672ca4 100644
--- a/src/views/febs/system/user/Edit.vue
+++ b/src/views/febs/system/user/Edit.vue
@@ -66,14 +66,12 @@
         <el-tree
           ref="deptTree"
           :data="deptTree"
-          :check-strictly="true"
           :default-checked-keys="user.deptIdsArr"
           show-checkbox
           accordion
           node-key="id"
           highlight-current
           style="border: 1px solid #DCDFE6;border-radius: 3px;padding: 6px;"
-          @check="checkeTree"
         />
       </el-form-item>
       <el-form-item :label="$t('table.user.status')" prop="status">
@@ -251,8 +249,23 @@
       })
     },
     setUser(val) {
+      setTimeout(() => {
+        this.filterDate(val)
+      }, 1000)
+    },
+    filterDate(val) {
+      var this_ = this
       this.user = { ...val }
-      this.user.deptIds && (this.user.deptIdsArr = this.user.deptIds.split(','))
+      var deptIdArrStr = []
+      this.user.deptIds.split(',').forEach(element => {
+        const thisNode = this_.$refs.deptTree.getNode(element) // 获取当前节点
+        if (thisNode.childNodes.length === 0) {
+          deptIdArrStr.push(thisNode.data.id)
+          return
+        }
+      })
+
+      this.user.deptIds && (this.user.deptIdsArr = deptIdArrStr)
     },
     close() {
       this.$emit('close')
@@ -291,7 +304,7 @@
         if (valid) {
           this.buttonLoading = true
           this.user.roleId = this.user.roleId.join(',')
-          this.user.deptIds = this.$refs.deptTree.getCheckedKeys()
+          this.user.deptIds = this.$refs.deptTree.getCheckedKeys().concat(this.$refs.deptTree.getHalfCheckedKeys())
           if (!this.user.userId) {
             // create
             this.$post('system/user', { ...this.user }).then(() => {

--
Gitblit v1.8.0