执行历史 - {{ taskInfo.taskName }}
第{{ row.executeNo }}次
成功
失败
执行中
待执行
{{ row.passRate }}%
查看结果
查看错误
重试
```
#### 7.2.3 QcResultDetail.vue 改造
**路由适配**:
```typescript
// router/index.ts 新增路由
{
path: '/qc/execution/result/:executionId',
name: 'ExecutionResultDetail',
component: () => import('@/views/QcResultDetail.vue'),
meta: { title: '质控结果详情', requiresAuth: true }
}
```
**数据加载适配**:
```typescript
// QcResultDetail.vue
const executionId = route.params.executionId
const taskId = route.query.taskId // 兼容手动任务
const loadDetail = async () => {
if (executionId) {
// 自动任务:加载执行记录的质控结果
const res = await getExecutionResult(executionId)
detailData.value = res.data
} else if (taskId) {
// 手动任务:加载任务的质控结果
const res = await getTaskResult(taskId)
detailData.value = res.data
}
}
```
### 7.3 路由设计
```typescript
// router/index.ts
const routes: RouteRecordRaw[] = [
// ... 现有路由
// 新增:执行历史
{
path: '/qc/task/execution-history/:taskId',
name: 'ExecutionHistory',
component: () => import('@/views/ExecutionHistory.vue'),
meta: { title: '执行历史', requiresAuth: true }
},
// 改造:质控结果详情(兼容executionId)
{
path: '/qc/result',
name: 'QcResult',
component: () => import('@/views/QcResult.vue'),
meta: { title: '质控结果', requiresAuth: true }
},
{
path: '/qc/execution/result/:executionId',
name: 'ExecutionResultDetail',
component: () => import('@/views/QcResultDetail.vue'),
meta: { title: '质控结果详情', requiresAuth: true }
}
]
```
## 八、后端实现方案
### 8.1 Quartz集成
#### 8.1.1 Maven依赖
```xml