feat: 收敛AI资源发布审批生命周期

- 统一工作流、知识库、聊天助手的发布、重新发布、下线与删除链路

- 收敛审批编排、生命周期状态机与展示态,补齐审批管理和快照预览

- 调整审批管理权限模型为单入口页面加内部按钮权限
This commit is contained in:
2026-04-09 17:13:54 +08:00
parent 81125ce55c
commit 4e565aef99
68 changed files with 3859 additions and 817 deletions

View File

@@ -243,6 +243,10 @@ function setupAccessGuard(router: Router) {
return true;
}
// 页面菜单与按钮权限码是两套数据源。每次重新构建动态菜单时,
// 同步刷新一次 accessCodes避免后端权限模型调整后页面仍持有旧按钮权限。
await authStore.fetchAccessCodes();
// 生成路由表
// 当前登录用户拥有的角色标识列表
const userRoles = userInfo.roles ?? [];

View File

@@ -3,6 +3,74 @@ import type { RouteRecordRaw } from 'vue-router';
import { $t } from '#/locales';
const routes: RouteRecordRaw[] = [
{
name: 'ApprovalFlowPage',
path: '/sys/approval/flow',
redirect: {
path: '/sys/approval',
query: {
tab: 'flow',
},
},
meta: {
title: $t('approval.tab.flow'),
hideInMenu: true,
hideInBreadcrumb: true,
hideInTab: true,
activePath: '/sys/approval',
},
},
{
name: 'ApprovalPendingPage',
path: '/sys/approval/pending',
redirect: {
path: '/sys/approval',
query: {
tab: 'pending',
},
},
meta: {
title: $t('approval.tab.pending'),
hideInMenu: true,
hideInBreadcrumb: true,
hideInTab: true,
activePath: '/sys/approval',
},
},
{
name: 'ApprovalProcessedPage',
path: '/sys/approval/processed',
redirect: {
path: '/sys/approval',
query: {
tab: 'processed',
},
},
meta: {
title: $t('approval.tab.processed'),
hideInMenu: true,
hideInBreadcrumb: true,
hideInTab: true,
activePath: '/sys/approval',
},
},
{
name: 'ApprovalInitiatedPage',
path: '/sys/approval/initiated',
redirect: {
path: '/sys/approval',
query: {
tab: 'initiated',
},
},
meta: {
title: $t('approval.tab.initiated'),
hideInMenu: true,
hideInBreadcrumb: true,
hideInTab: true,
activePath: '/sys/approval',
},
},
{
name: 'ApprovalDetail',
path: '/sys/approval/detail/:id',