feat: 整体废弃 leader 业务角色
leader 角色 (项目负责人) 业务上已不再使用, 整体下线。仅保留 sys_dept.leader 字段 (部门负责人, RuoYi 标准字段, 与角色无关)。 前端清理 (15 文件): - 路由: 删除 /leader 块 + 4 子路由 (router L56-61) - 菜单: 删除 AdminLayout 中 leader 菜单 (5 行) - 视图: 删除整个 views/leader/ 目录 (Home/Projects/Meetings/Account.vue 共 ~32KB) - Login.vue: 删默认 role='leader', 删 leader 角色选项, 删 autoRole 的 leader 分支, 删 roleHome 的 leader 项 - PortalShell.vue + 5 个 portal/* (Home/Publicity/ArticleView/PublicityDetail/SpecialPlanDetail): admin fallback '/leader/home' → '/admin/workbench', 删 leader 项, 同步更新 admin 入口 (/leader/home → /admin/workbench) - 5 处 ROLE_LABEL 字典删 leader: '项目负责人' (AdminLayout/Account/Roles/Users/Workbench) - Roles.vue 注释同步 后端清理 (7 文件): - BizDashboardController: 删除 /leader dashboard 端点 (整个方法) - BizPersonController: BUSINESS_MAIN_ROLES 删 leader - BizExecutorController/BizProjectPlanController/ISysUserService/SysUserExtendVo/SysUser: 注释同步删 leader 测试: - test_20rounds.py: 删 leader 路由断言 + view_map + role_home + role_view 共 5 处 未做 / 后续: - DB: sys_user.role_type='leader' 现存账号是测试账号, 用户确认可忽略, 后续手动清理 - 文档: proto/html/leader.html 等原型文件保留 (历史) - _self/*.md 笔记提及 leader 不动 (笔记)
This commit is contained in:
+2
-6
@@ -85,7 +85,6 @@ def test_round(n):
|
||||
# 7. 前端路由覆盖
|
||||
expected_routes = [
|
||||
'/', '/publicity', '/login', '/register-expert', '/register-supplier', '/register-sponsor',
|
||||
'/leader/home', '/leader/projects', '/leader/meetings', '/leader/account',
|
||||
'/manager/workbench', '/manager/plans', '/manager/projects', '/manager/meetings',
|
||||
'/manager/experts', '/manager/exec-units', '/manager/support-units',
|
||||
'/manager/support-intent', '/manager/exec-intent', '/manager/accounts',
|
||||
@@ -98,7 +97,6 @@ def test_round(n):
|
||||
for r in expected_routes:
|
||||
path_only = r.lstrip('/')
|
||||
# 路由 path 可能有/也可能没有(顶级 parent vs child),name 也可作为 path 替代
|
||||
# 期望 router 中存在 path: 'leader/home' 或 name: 'leader-home'
|
||||
name_guess = path_only.replace('/', '-')
|
||||
if not any(p in router_file for p in [
|
||||
f"path: '{path_only}'", f"path: '/{path_only}'",
|
||||
@@ -188,7 +186,6 @@ def test_round(n):
|
||||
# ============ 新增: 角色页 field 覆盖率 ============
|
||||
view_map = {
|
||||
# 角色: [(view文件, 原型HTML, 必须出现的字段)]
|
||||
'leader': ('Home.vue', 'leader-home.html', ['项目总数量','已结算数量','已结题数量','未执行会议','已执行会议','消息通知']),
|
||||
'manager': ('Workbench.vue', 'workbench.html', ['项目总数量','已结算的会议','已结题的项目','待结算的会议','未执行会议','待审核的专家']),
|
||||
'doctor': ('Review.vue', None, ['项目评审','评审意见','评分']),
|
||||
'executor': ('Meetings.vue', None, ['会议管理']),
|
||||
@@ -236,7 +233,7 @@ def test_round(n):
|
||||
|
||||
# ============ 新增: 角色路由自动跳转 ============
|
||||
login_js = Path('/home/john/ry8080/ry-vue3/src/views/auth/Login.vue').read_text()
|
||||
check('登录按角色路由', 'leader' in login_js and 'manager' in login_js, '')
|
||||
check('登录按角色路由', 'manager' in login_js, '')
|
||||
|
||||
# ============ 新增: 业务表结构校验 ============
|
||||
try:
|
||||
@@ -282,7 +279,7 @@ def test_round(n):
|
||||
check('流程5-认证端点', 'msg' in r, f"code={r.get('code')}")
|
||||
|
||||
# ============ 新增: 角色权限检查(每个角色 home 可访问)============
|
||||
for role_home in ['/leader/home','/manager/workbench','/doctor/review','/executor/meetings','/sponsor/home']:
|
||||
for role_home in ['/manager/workbench','/doctor/review','/executor/meetings','/sponsor/home']:
|
||||
path_only = role_home.lstrip('/')
|
||||
name_guess = path_only.replace('/', '-')
|
||||
check(f'角色 home: {role_home}', any(p in router_file for p in [
|
||||
@@ -301,7 +298,6 @@ def test_round(n):
|
||||
|
||||
# ============ 新增: 角色 × view 映射完整性 ============
|
||||
expected_role_views = {
|
||||
'leader': ['Home.vue','Projects.vue','Meetings.vue','Account.vue'],
|
||||
'manager': ['Workbench.vue','Plans.vue','Projects.vue','Meetings.vue','Experts.vue','ExecUnits.vue','SupportUnits.vue','SupportIntent.vue','ExecIntent.vue','Accounts.vue'],
|
||||
'doctor': ['Review.vue','Score.vue'],
|
||||
'executor': ['Meetings.vue','Labor.vue'],
|
||||
|
||||
Reference in New Issue
Block a user