refactor(projects): assign + assign-batch 合并为单路由, 子页面 v-if 区分

- router 删 /assign-batch 路由, 仅保留 /assign (单条/批量都走)
- Projects.vue openAssign() 2 个 push 路径统一为 /manager/projects/assign
- 子页面面包屑加 v-if 批量模式 tag (橙色 badge 标识)
- 单/批模式区分完全靠 query.projectId vs query.projectIds + 子页面内 v-if/v-else 区块 (info-bar / 实时校验栏)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
郭庆泰
2026-08-20 23:03:43 +08:00
co-authored by Claude
parent 36b62a26b9
commit 3240590f40
3 changed files with 7 additions and 3 deletions
+4 -2
View File
@@ -467,12 +467,14 @@ function openAssign() {
ElMessage.warning('请先勾选项目')
return
}
// 跳转独立子页面: 单条 vs 批量
// 跳转独立子页面 /manager/projects/assign, 单条 vs 批量通过 query 区分:
// 单条: ?projectId=X → 子页面 v-if 单条分支
// 批量: ?projectIds=1,2,3 → 子页面 v-else 批量分支
if (selection.value.length === 1) {
router.push({ path: '/manager/projects/assign', query: { projectId: selection.value[0].projectId } })
} else {
const ids = selection.value.map(r => r.projectId).join(',')
router.push({ path: '/manager/projects/assign-batch', query: { projectIds: ids } })
router.push({ path: '/manager/projects/assign', query: { projectIds: ids } })
}
}
function openBatch(kind) {