feat(需求): ①全站列表/卡片分页统一为共享 OldPagination(共N条+10/20/50/100条数可选+跳页) ②创建用户菜单权限改左右布局(后台|桌面端并排) ③修复角色筛选失效(normalizeUserPageParams 白名单丢 role 字段)

This commit is contained in:
2026-09-07 00:02:30 +08:00
parent d3f5a371e3
commit cd6beef388
18 changed files with 323 additions and 245 deletions
@@ -59,31 +59,33 @@ watch(
<template>
<el-scrollbar max-height="300px" class="user-menu-tree-scroll">
<template v-if="adminNodes.length || appNodes.length">
<div v-if="adminNodes.length" class="menu-group-block">
<div class="menu-group-title">后台</div>
<el-tree
ref="adminTree"
:data="adminNodes"
node-key="id"
show-checkbox
check-strictly
default-expand-all
:props="{ label: 'name', children: 'children' }"
@check="onCheck"
/>
</div>
<div v-if="appNodes.length" class="menu-group-block">
<div class="menu-group-title">桌面端</div>
<el-tree
ref="appTree"
:data="appNodes"
node-key="id"
show-checkbox
check-strictly
default-expand-all
:props="{ label: 'name', children: 'children' }"
@check="onCheck"
/>
<div class="menu-group-columns">
<div v-if="adminNodes.length" class="menu-group-block">
<div class="menu-group-title">后台</div>
<el-tree
ref="adminTree"
:data="adminNodes"
node-key="id"
show-checkbox
check-strictly
default-expand-all
:props="{ label: 'name', children: 'children' }"
@check="onCheck"
/>
</div>
<div v-if="appNodes.length" class="menu-group-block">
<div class="menu-group-title">桌面端</div>
<el-tree
ref="appTree"
:data="appNodes"
node-key="id"
show-checkbox
check-strictly
default-expand-all
:props="{ label: 'name', children: 'children' }"
@check="onCheck"
/>
</div>
</div>
</template>
<p v-else class="menu-group-empty">暂无可用菜单</p>
@@ -91,8 +93,20 @@ watch(
</template>
<style scoped>
.menu-group-block + .menu-group-block {
margin-top: 10px;
.menu-group-columns {
display: flex;
align-items: flex-start;
gap: 16px;
}
.menu-group-block {
flex: 1 1 0;
min-width: 0;
padding: 0 10px 8px 0;
}
.menu-group-block:last-child {
padding-right: 0;
border-left: 1px solid #e6edf4;
padding-left: 16px;
}
.menu-group-title {
padding: 4px 0 6px;