将所有操作页面的周期选择统一为"专注当下"模式:默认进入当前进行中周期,已归档和未开始周期从操作页面移除,改为独立入口访问。
路径:frontend/src/components/PeriodBanner.vue
Props:
periods — 所有周期列表(由父页面加载,通常来自 periodApi.list())modelValue — 当前选中周期 IDshowSwitch — 是否显示切换按钮(默认 true)Emits:
update:modelValue — 切换周期时触发行为:
路由:/scores/history
组件:frontend/src/views/scoring/HistoryView.vue
布局:左侧已归档周期列表 + 右侧选中周期的绩效详情(只读)
API:复用 GET /api/scores/my?periodId=xxx
| 页面 | 改动 |
|---|---|
| MyOkrView | 替换 chip 选择器 → PeriodBanner;过滤掉已归档/未开始 |
| TeamOkrView | 同上 |
| ScoringListView | 替换 el-select → PeriodBanner;右上角「历史记录」按钮 |
| MyResultView | 替换 el-select → PeriodBanner;右上角「历史记录」按钮 |
| FeedbackView | 替换周期选择 → PeriodBanner |
| PeriodListView | 不变(管理员全集视图) |
{ path: 'scores/history', name: 'ScoreHistory', component: () => import('../views/scoring/HistoryView.vue'), meta: { title: '历史绩效' } }
无需改动。现有 API 已支持按 periodId 查询,前端过滤即可。