feat(p91): 我的填写新增「可填写」视图——会话菜单树推导的填报入口列表
build / build (push) Successful in 1m48s

- routes.ts 增 /my/fillable(子页面路由不占模块行不进导航,手册 §2.2 注记)。
- My.vue 三视图化:Tab 增「可填写」(居首);数据源=store.modules(App.vue
  已拉的 GetUserMod 原始树)经 buildNavTree+flattenNav 同一套解析(与左侧
  导航同口径,含 menuRoute 的 /f/{code} 修复),按 page 形如 /f/ 挑填报行并
  去重;**不按角色过滤**——树里有什么就是什么,授权语义在后端(T8 红线同源)。
- 卡片列表:菜单名+寻址 path+「进入填报」router.push(page);空态文案引导
  找管理员配 /f/{code} 模块行并授权。
- 该视图纯前端零请求(答卷两视图行为不变)。

验证:vue-tsc --noEmit 干净;vite build 通过。
This commit is contained in:
chenxing
2026-10-15 23:42:51 +08:00
parent 79c98e4280
commit 66bb272004
2 changed files with 113 additions and 8 deletions
+8
View File
@@ -129,6 +129,14 @@ const routes: RouteRecordRaw[] = [
component: () => import("@/views/My.vue"),
meta: { title: "关于我的", parentPath: "/my" },
},
{
// P91 可填表单列表:数据源=会话菜单树里的 /f/ 行(授权语义在后端,前端不自行过滤)。
// 子页面路由不占模块行、不进导航(手册 §2.2 注记),入口在 My 容器顶部 Tab。
path: "/my/fillable",
name: "fc_my_fillable",
component: () => import("@/views/My.vue"),
meta: { title: "可填写", parentPath: "/my" },
},
// 兜底:外部深链/残留配置落到未登记路由时不白屏,回入口由壳决定首个可用页
{ path: "/:pathMatch(.*)*", redirect: "/" },
];