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:
@@ -147,8 +147,8 @@ async function onUserCmd(cmd) {
|
||||
if (cmd === 'logout') return goLogout()
|
||||
if (cmd === 'account') {
|
||||
const r = (userStore.user?.role || '')
|
||||
const map = { admin: '/leader/home', leader: '/leader/home', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/leader/home')
|
||||
const map = { admin: '/admin/workbench', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/admin/workbench')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -247,8 +247,8 @@ async function onUserCmd(cmd) {
|
||||
if (cmd === 'logout') return goLogout()
|
||||
if (cmd === 'account') {
|
||||
const r = (userStore.user?.role || '')
|
||||
const map = { admin: '/leader/home', leader: '/leader/home', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/leader/home')
|
||||
const map = { admin: '/admin/workbench', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/admin/workbench')
|
||||
}
|
||||
}
|
||||
function goPublicity() { router.push('/publicity') }
|
||||
|
||||
@@ -240,8 +240,8 @@ async function onUserCmd(cmd) {
|
||||
if (cmd === 'logout') return goLogout()
|
||||
if (cmd === 'account') {
|
||||
const r = (userStore.user?.role || '')
|
||||
const map = { admin: '/leader/home', leader: '/leader/home', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/leader/home')
|
||||
const map = { admin: '/admin/workbench', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/admin/workbench')
|
||||
}
|
||||
}
|
||||
function goDetail(n) {
|
||||
|
||||
@@ -243,7 +243,7 @@ const loggedIn = computed(() => !!userStore.token)
|
||||
const userName = computed(() => userStore.user?.userName || '用户')
|
||||
// 意向按钮按角色显隐:
|
||||
// sponsor (含 MAIN/SUB) → 仅支持意向; executor (含 MAIN/SUB) → 仅执行意向
|
||||
// admin / leader / manager / doctor → 两个都隐藏
|
||||
// admin / manager / doctor → 两个都隐藏
|
||||
// 匿名 → 两个都显示 (走 guestDialog)
|
||||
const canShowSupportBtn = computed(() => {
|
||||
const r = userStore.user?.role || ''
|
||||
@@ -392,8 +392,8 @@ async function onUserCmd(cmd) {
|
||||
if (cmd === 'logout') return goLogout()
|
||||
if (cmd === 'account') {
|
||||
const r = (userStore.user?.role || '')
|
||||
const map = { admin: '/leader/home', leader: '/leader/home', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/leader/home')
|
||||
const map = { admin: '/admin/workbench', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/admin/workbench')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -185,8 +185,8 @@ async function onUserCmd(cmd) {
|
||||
if (cmd === 'logout') return goLogout()
|
||||
if (cmd === 'account') {
|
||||
const r = (userStore.user?.role || '')
|
||||
const map = { admin: '/leader/home', leader: '/leader/home', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/leader/home')
|
||||
const map = { admin: '/admin/workbench', manager: '/manager/workbench', doctor: '/doctor/home', executor: '/executor/meetings', sponsor: '/sponsor/home' }
|
||||
router.push(map[r] || '/admin/workbench')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user