From 996ac13994099b0a93cc713382109a2086ba1e4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=BA=86=E6=B3=B0?= <12369755+htcloud1@user.noreply.gitee.com> Date: Sat, 22 Aug 2026 20:21:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor(meetings):=20MeetingNew=20admin/manage?= =?UTF-8?q?r=20=E5=8F=8C=E5=89=8D=E7=BC=80=E8=B7=AF=E7=94=B1=20(admin=20?= =?UTF-8?q?=E4=B8=8D=E7=94=A8=20/manager=20=E8=B7=AF=E5=BE=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把 'admin 用 manager 前缀 URL' 这个跨角色硬编码改对称. router: - 新增 admin-meetings-new → manager/MeetingNew.vue (公共页) MeetingNew.vue goBack(): - new 模式: admin 跳 /admin/projects, manager 跳 /manager/projects (用 projectsBase computed) - edit/copy 模式: admin 跳 /admin/meetings, manager 跳 /manager/meetings (用 meetingsBase computed) - roleSegment / isAdmin 从 route.path.split('/')[1] 计算, 不依赖 userStore meetings/Meetings.vue onEdit/onCopy: - 引入 newRouteName computed (isAdmin ? 'admin-meetings-new' : 'manager-meetings-new') - router.push({ name: newRouteName.value, query: {...} }) 效果: - admin 点 '新建/修改/复制' → URL 是 /admin/meetings/new, 不再跨到 /manager/meetings/new - admin 取消保存 → 回 /admin/meetings (列表) 或 /admin/projects (新建上游) - manager 行为不变 --- ry-vue3/src/router/index.js | 1 + ry-vue3/src/views/manager/MeetingNew.vue | 18 +++++++++++++----- ry-vue3/src/views/meetings/Meetings.vue | 10 ++++++---- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ry-vue3/src/router/index.js b/ry-vue3/src/router/index.js index ce527a6..dda2b50 100644 --- a/ry-vue3/src/router/index.js +++ b/ry-vue3/src/router/index.js @@ -28,6 +28,7 @@ const routes = [ { path: 'projects', name: 'admin-projects', component: () => import('@/views/manager/Projects.vue'), meta: { title: '项目管理' } }, { path: 'meetings', name: 'admin-meetings', component: () => import('@/views/meetings/Meetings.vue'), meta: { title: '会议管理' } }, { path: 'meetings/detail/:meetingId', name: 'admin-meetings-detail', component: () => import('@/views/manager/MeetingDetail.vue'), meta: { title: '会议详情' } }, + { path: 'meetings/new', name: 'admin-meetings-new', component: () => import('@/views/manager/MeetingNew.vue'), meta: { title: '新建会议' } }, { path: 'department', name: 'admin-department', component: () => import('@/views/admin/Department.vue'), meta: { title: '科室管理' } }, { path: 'title', name: 'admin-title', component: () => import('@/views/admin/Title.vue'), meta: { title: '职称管理' } }, { path: 'experts', name: 'admin-experts', component: () => import('@/views/expert/Experts.vue'), meta: { title: '专家管理' } }, diff --git a/ry-vue3/src/views/manager/MeetingNew.vue b/ry-vue3/src/views/manager/MeetingNew.vue index de6c5ce..6f719e0 100644 --- a/ry-vue3/src/views/manager/MeetingNew.vue +++ b/ry-vue3/src/views/manager/MeetingNew.vue @@ -57,12 +57,20 @@