From cbb1cc11a9557ce5c3cca9bca549b098436092b6 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 14 二月 2025 14:55:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/flow/Dept/index.vue |   42 +++++++++++++++++++++++++++---------------
 1 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/src/components/flow/Dept/index.vue b/src/components/flow/Dept/index.vue
index 2d8278e..7081767 100644
--- a/src/components/flow/Dept/index.vue
+++ b/src/components/flow/Dept/index.vue
@@ -6,15 +6,17 @@
       width="65%"
       :destroy-on-close="true"
       :close-on-click-modal="false"
+      :modal="false"
       :before-close="close">
       <el-tree
+        ref="tree"
         :data="deptTree"
         show-checkbox
         node-key="id"
         :check-strictly="true"
         :default-expanded-keys="['dept:100']"
         @check-change="handleCheckChange"
-        :default-checked-keys="checkeds">
+        >
       </el-tree>
       <span slot="footer" class="dialog-footer">
         <el-button @click="close">鍙� 娑�</el-button>
@@ -35,21 +37,21 @@
       type: Boolean
     },
     checkeds: {
-      required: true,
-      type: Array
+      required: true
     }
   },
-  // watch: {
-  //   checkeds: {
-  //     handler(newV) {
-  //       if (newV) {
-  //         console.log("djjdjdjdjdjdjj")
-  //         this.checkedAfterHandler = newV.map(item => {const arr = item.split(':'); return parseInt(arr[1])})
-  //       }
-  //     },
-  //     deep: true
-  //   }
-  // },
+  watch: {
+    show: {
+      handler(newV) {
+        this.$nextTick(() => {
+          if (this.$refs.tree && this.checkeds) {
+            this.$refs.tree.setCheckedKeys(this.checkeds);
+          }
+        });
+      },
+      deep: true
+    }
+  },
   data() {
     return {
       deptTree: [],
@@ -62,9 +64,19 @@
     })
   },
   methods: {
+    setCheckList(value) {
+      this.checkList = value
+      this.$nextTick(() => {
+        if (this.$refs.tree && this.checkeds) {
+          this.$refs.tree.setCheckedKeys(this.checkeds);
+        }
+      });
+    },
     handleCheckChange(data, checked, indeterminate) {
       if (checked) {
-        this.checkList.push(data)
+        if (this.checkList.indexOf(data) === -1) {
+          this.checkList.push(data)
+        }
       } else {
         this.checkList = this.checkList.filter(item => item !== data)
       }

--
Gitblit v1.8.0