|
@@ -1,5 +1,5 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { onMounted, ref, useTemplateRef, watch } from 'vue';
|
|
|
+import { onMounted, ref, useTemplateRef } from 'vue';
|
|
|
|
|
|
import ConfirmModal from '@/components/ConfirmModal.vue';
|
|
|
import SvgIcon from '@/components/SvgIcon.vue';
|
|
@@ -60,12 +60,17 @@ const characterDelete = (index: number) => {
|
|
|
modalComponentRef.value?.showView();
|
|
|
};
|
|
|
const addMenu = () => {
|
|
|
- console.log(checkedKeys.value);
|
|
|
- console.log(checkedAll.value);
|
|
|
+ if (checkedKeys.value.length === 0) {
|
|
|
+ checked.value = false;
|
|
|
+ indeterminate.value = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (checkedAll.value.length !== checkedKeys.value.length) {
|
|
|
indeterminate.value = true;
|
|
|
+ checked.value = false;
|
|
|
} else {
|
|
|
indeterminate.value = false;
|
|
|
+ checked.value = true;
|
|
|
}
|
|
|
};
|
|
|
const selectAll = () => {
|
|
@@ -100,20 +105,12 @@ const transformTreeData = (data: TreeStructure[]): DataNode[] => {
|
|
|
}));
|
|
|
};
|
|
|
|
|
|
-watch(
|
|
|
- () => checkedAll.value,
|
|
|
- (count) => {
|
|
|
- if (count) {
|
|
|
- console.log(count);
|
|
|
- }
|
|
|
- },
|
|
|
-);
|
|
|
-
|
|
|
onMounted(() => {
|
|
|
handleRequest(async () => {
|
|
|
const data = await getSubPermList(0);
|
|
|
const treeData = transformTreeData(data);
|
|
|
treeStructure.value = treeData[0].subPermissions;
|
|
|
+ checkedAll.value = getAllKeys(treeStructure.value);
|
|
|
});
|
|
|
});
|
|
|
</script>
|
|
@@ -172,7 +169,9 @@ onMounted(() => {
|
|
|
</AFormItem>
|
|
|
<AFormItem label="菜单权限配置">
|
|
|
<div class="permission-configuration">
|
|
|
- <ACheckbox class="select-all" v-model:checked="checked" @change="selectAll">全选</ACheckbox>
|
|
|
+ <ACheckbox class="select-all" :indeterminate="indeterminate" v-model:checked="checked" @change="selectAll"
|
|
|
+ >全选</ACheckbox
|
|
|
+ >
|
|
|
<ATree
|
|
|
v-model:expanded-keys="expandedKeys"
|
|
|
v-model:selected-keys="selectedKeys"
|