feat(workbench): 接入工作台首页概览聚合接口

This commit is contained in:
yelan
2026-09-02 13:17:40 +08:00
parent e0e98ec74f
commit e52f203123
13 changed files with 398 additions and 358 deletions
@@ -53,7 +53,6 @@ const STATUS_VALUES: SigningTaskStatus[] = [
'failed',
]
const DATE_RANGE_VALUES: SigningDateRange[] = ['today', 'yesterday', '3d', '7d', 'all']
const CAMPUS_VALUES: WorkbenchCampus[] = ['本部院区', '东院区', '西院区']
const statusLabels: Record<SigningTaskStatus, string> = {
pending: '待签署',
@@ -165,7 +164,7 @@ function isSigningDateRange(value: string): value is SigningDateRange {
}
function isWorkbenchCampus(value: string): value is WorkbenchCampus {
return CAMPUS_VALUES.includes(value as WorkbenchCampus)
return appStore.campuses.includes(value)
}
function syncFilterFromRoute() {
@@ -201,12 +200,7 @@ async function loadOrganizationOptions() {
campusesResult.value.map((campus) => [campus.name, campus.id]),
)
campusNames.value = Object.fromEntries(
campusesResult.value
.filter(
(campus): campus is typeof campus & { name: WorkbenchCampus } =>
campus.name === '本部院区' || campus.name === '东院区' || campus.name === '西院区',
)
.map((campus) => [campus.id, campus.name]),
campusesResult.value.map((campus) => [campus.id, campus.name]),
)
}
@@ -558,6 +552,8 @@ async function handleOnlineResend() {
}
async function initializePage() {
await appStore.loadCampuses()
syncFilterFromRoute()
await loadOrganizationOptions()
await loadTemplates()
await loadTasks()
@@ -589,7 +585,6 @@ watch(
)
onMounted(() => {
syncFilterFromRoute()
void initializePage()
})
</script>