reactor:【system 系统管理】tenantPackage 进一步统一代码风格

This commit is contained in:
YunaiV
2025-09-06 20:54:48 +08:00
parent 942c4ef389
commit 4cbbad4d40
6 changed files with 98 additions and 113 deletions

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { SystemDeptApi } from '#/api/system/dept';
import type { SystemMenuApi } from '#/api/system/menu';
import type { SystemTenantPackageApi } from '#/api/system/tenant-package';
import { computed, ref } from 'vue';
@@ -27,7 +27,7 @@ const getTitle = computed(() => {
? $t('ui.actionTitle.edit', ['套餐'])
: $t('ui.actionTitle.create', ['套餐']);
});
const menuTree = ref<SystemDeptApi.Dept[]>([]); // 菜单树
const menuTree = ref<SystemMenuApi.Menu[]>([]); // 菜单树
const menuLoading = ref(false); // 加载菜单列表
const isAllSelected = ref(false); // 全选状态
const isExpanded = ref(false); // 展开状态
@@ -95,14 +95,14 @@ async function loadMenuTree() {
menuLoading.value = true;
try {
const data = await getMenuList();
menuTree.value = handleTree(data) as SystemDeptApi.Dept[];
menuTree.value = handleTree(data) as SystemMenuApi.Menu[];
} finally {
menuLoading.value = false;
}
}
/** 全选/全不选 */
function toggleSelectAll() {
function handleSelectAll() {
isAllSelected.value = !isAllSelected.value;
if (isAllSelected.value) {
const allIds = getAllNodeIds(menuTree.value);
@@ -113,7 +113,7 @@ function toggleSelectAll() {
}
/** 展开/折叠所有节点 */
function toggleExpandAll() {
function handleExpandAll() {
isExpanded.value = !isExpanded.value;
expandedKeys.value = isExpanded.value ? getAllNodeIds(menuTree.value) : [];
}
@@ -131,12 +131,11 @@ function getAllNodeIds(nodes: any[], ids: number[] = []): number[] {
</script>
<template>
<Modal :title="getTitle" class="w-[40%]">
<Modal :title="getTitle" class="w-2/5">
<Form class="mx-6">
<template #menuIds="slotProps">
<!-- TODO @芋艿可优化使用 antd tree原因是更原生 -->
<VbenTree
class="max-h-[400px] overflow-y-auto"
class="max-h-96 overflow-y-auto"
:loading="menuLoading"
:tree-data="menuTree"
multiple
@@ -150,10 +149,10 @@ function getAllNodeIds(nodes: any[], ids: number[] = []): number[] {
</Form>
<template #prepend-footer>
<div class="flex flex-auto items-center">
<ElCheckbox :model-value="isAllSelected" @change="toggleSelectAll">
<ElCheckbox :model-value="isAllSelected" @change="handleSelectAll">
全选
</ElCheckbox>
<ElCheckbox :model-value="isExpanded" @change="toggleExpandAll">
<ElCheckbox :model-value="isExpanded" @change="handleExpandAll">
全部展开
</ElCheckbox>
</div>