This commit is contained in:
zlwu committed 2026-08-17 20:32:18 +08:00
1 parent 9345cf4ad8
commit c3bd2c00ae
51 files changed
+14486 -15765

No files matched your search

+7
View File
@@ -8,6 +8,8 @@ export type BxMenuEntry = {
group: string
icon: string
color: string
/** true 时不在首页等入口展示(保留定义与路由,便于恢复) */
hidden?: boolean
}
/** 仅叶子业务入口;用户/角色/菜单管理不收录 */
@@ -29,6 +31,7 @@ export const BX_MENU_CATALOG: BxMenuEntry[] = [
group: '备用金',
icon: 'passed',
color: '#059669',
hidden: true,
},
{
menuCode: 'bx:advanceIssue:list',
@@ -38,6 +41,7 @@ export const BX_MENU_CATALOG: BxMenuEntry[] = [
group: '备用金',
icon: 'balance-o',
color: '#0d9488',
hidden: true,
},
{
menuCode: 'bx:reimburseApply:list',
@@ -56,6 +60,7 @@ export const BX_MENU_CATALOG: BxMenuEntry[] = [
group: '报销',
icon: 'checked',
color: '#1d4ed8',
hidden: true,
},
{
menuCode: 'bx:payment:list',
@@ -65,6 +70,7 @@ export const BX_MENU_CATALOG: BxMenuEntry[] = [
group: '报销',
icon: 'paid',
color: '#7c3aed',
hidden: true,
},
{
menuCode: 'bx:viewMine:list',
@@ -83,6 +89,7 @@ export const BX_MENU_CATALOG: BxMenuEntry[] = [
group: '视图',
icon: 'todo-list-o',
color: '#d97706',
hidden: true,
},
{
menuCode: 'bx:viewAll:list',
+3 -1
View File
@@ -12,7 +12,9 @@ export function filterVisibleEntries(
opts: { isSuperAdmin: boolean; all: boolean; menuCodes: string[] },
phase: number = BX_MENU_CURRENT_PHASE,
): BxMenuEntry[] {
return BX_MENU_CATALOG.filter((e) => e.phase <= phase && canAccess(e.menuCode, opts))
return BX_MENU_CATALOG.filter(
(e) => !e.hidden && e.phase <= phase && canAccess(e.menuCode, opts),
)
}
export function entryByPath(path: string): BxMenuEntry | undefined {
+9 -2
View File
@@ -17,8 +17,12 @@
</div>
</div>
<!-- Todo card(置于功能菜单上方) -->
<div class="home-panels" style="margin-top: 12px; display: flex; flex-direction: column; gap: 10px">
<!-- Todo card(置于功能菜单上方;SHOW_HOME_TODO_PANEL 恢复展示) -->
<div
v-if="SHOW_HOME_TODO_PANEL"
class="home-panels"
style="margin-top: 12px; display: flex; flex-direction: column; gap: 10px"
>
<div class="todo-card">
<div v-if="todoItems.length" class="todo-head todo-head--badge-only">
<span class="badge">{{ todoItems.length }}</span>
@@ -98,6 +102,9 @@ import { advanceApi, paymentApi, reimburseApi } from '@/api'
const router = useRouter()
const auth = useAuthStore()
/** 首页待办事项区域:false 隐藏(保留逻辑,改 true 即可恢复) */
const SHOW_HOME_TODO_PANEL = false
const stats = ref({
submittedThisMonth: 0,
pendingCount: 0,
+13 -9
View File
@@ -28,32 +28,32 @@
<van-cell title="修改密码" icon="lock" is-link @click="showPasswordDialog = true" />
</van-cell-group>
<!-- 按门户 menuCode 显隐快捷入口 -->
<!-- 按门户 menuCode + 目录 hidden 显隐快捷入口 -->
<template v-if="showQuickNav">
<van-cell-group inset class="group-block" title="快捷入口">
<van-cell
v-if="auth.can('bx:advanceApprove:list')"
v-if="isEntryVisible('bx:advanceApprove:list')"
title="备用金审批"
icon="cash-back-record"
is-link
to="/advance/approve"
/>
<van-cell
v-if="auth.can('bx:reimburseApprove:list')"
v-if="isEntryVisible('bx:reimburseApprove:list')"
title="报销审批"
icon="description"
is-link
to="/reimburse/approve"
/>
<van-cell
v-if="auth.can('bx:advanceIssue:list')"
v-if="isEntryVisible('bx:advanceIssue:list')"
title="发放管理"
icon="balance-list-o"
is-link
to="/advance/issue"
/>
<van-cell
v-if="auth.can('bx:viewAll:list')"
v-if="isEntryVisible('bx:viewAll:list')"
title="全部记录"
icon="records"
is-link
@@ -145,12 +145,16 @@ const passwordForm = reactive({
confirmPassword: '',
})
function isEntryVisible(menuCode: string) {
return auth.visibleEntries.some((e) => e.menuCode === menuCode)
}
const showQuickNav = computed(
() =>
auth.can('bx:advanceApprove:list') ||
auth.can('bx:reimburseApprove:list') ||
auth.can('bx:advanceIssue:list') ||
auth.can('bx:viewAll:list'),
isEntryVisible('bx:advanceApprove:list') ||
isEntryVisible('bx:reimburseApprove:list') ||
isEntryVisible('bx:advanceIssue:list') ||
isEntryVisible('bx:viewAll:list'),
)
const avatarChar = computed(() => {