From ac7991e7ed058ebdc38a20fb099cd17dd1b91e19 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 17 二月 2025 13:52:43 +0800 Subject: [PATCH] 挂起/取消挂起操作 --- src/components/flow/Dept/index.vue | 43 ++++++++++++++++++++++++++++--------------- 1 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/components/flow/Dept/index.vue b/src/components/flow/Dept/index.vue index 105e6a7..7081767 100644 --- a/src/components/flow/Dept/index.vue +++ b/src/components/flow/Dept/index.vue @@ -4,16 +4,19 @@ :title="`閫夋嫨鍊欓�夐儴闂╜" :visible.sync="show" 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> @@ -34,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: [], @@ -61,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