|
@@ -9,8 +9,8 @@
|
|
</el-button>
|
|
</el-button>
|
|
<template #dropdown>
|
|
<template #dropdown>
|
|
<el-dropdown-menu>
|
|
<el-dropdown-menu>
|
|
- <el-dropdown-item>全部勾选</el-dropdown-item>
|
|
|
|
- <el-dropdown-item>取消全选</el-dropdown-item>
|
|
|
|
|
|
+ <el-dropdown-item @click.native="checkAll(true)">全部勾选</el-dropdown-item>
|
|
|
|
+ <el-dropdown-item @click.native="checkAll(false)">取消全选</el-dropdown-item>
|
|
<el-dropdown-item @click.native="expand(true)">展开所有</el-dropdown-item>
|
|
<el-dropdown-item @click.native="expand(true)">展开所有</el-dropdown-item>
|
|
<el-dropdown-item @click.native="expand(false)">折叠所有</el-dropdown-item>
|
|
<el-dropdown-item @click.native="expand(false)">折叠所有</el-dropdown-item>
|
|
</el-dropdown-menu>
|
|
</el-dropdown-menu>
|
|
@@ -103,9 +103,21 @@ const next = async () => {
|
|
step.value = nextStep;
|
|
step.value = nextStep;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+// 选中状态变化
|
|
const checkChange = () => {
|
|
const checkChange = () => {
|
|
idsList[step.value].value = treeRef.value.getCheckedKeys(step.value === 0 ? false : true);
|
|
idsList[step.value].value = treeRef.value.getCheckedKeys(step.value === 0 ? false : true);
|
|
};
|
|
};
|
|
|
|
+
|
|
|
|
+// 全选取消全选
|
|
|
|
+const checkAll = (all: boolean) => {
|
|
|
|
+ if (!all) {
|
|
|
|
+ treeRef.value.setCheckedKeys([]);
|
|
|
|
+ } else {
|
|
|
|
+ const ids = deepTree(treeDataList[step.value].value, []);
|
|
|
|
+ treeRef.value.setCheckedKeys(ids);
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
const submit = async () => {
|
|
const submit = async () => {
|
|
const data = {
|
|
const data = {
|
|
menuIds: menuIds.value,
|
|
menuIds: menuIds.value,
|
|
@@ -124,9 +136,18 @@ const submit = async () => {
|
|
})
|
|
})
|
|
.finally(() => {
|
|
.finally(() => {
|
|
btnLoading.value = false;
|
|
btnLoading.value = false;
|
|
|
|
+ isShowDialog.value = false;
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+function deepTree(tree: any[], arr: number[]) {
|
|
|
|
+ for (let item of tree) {
|
|
|
|
+ arr.push(item.id);
|
|
|
|
+ if (item.children?.length) deepTree(item.children, arr);
|
|
|
|
+ }
|
|
|
|
+ return arr;
|
|
|
|
+}
|
|
|
|
+
|
|
// openDialog({ name: '超级管理员', id: 3 });
|
|
// openDialog({ name: '超级管理员', id: 3 });
|
|
|
|
|
|
defineExpose({ openDialog });
|
|
defineExpose({ openDialog });
|