# 绩效考评报表更新说明

## 更新日期
2025-01-20

## 更新内容

### 变更概述
将**历史与统计**中的**绩效考评报表**从原来的"效率评价"模式改为"验收评价"模式。

### 主要变更

#### 1. 数据结构变更 ✅

**新增字段**：
- `Task`接口新增`acceptanceRating`字段
- 类型：`'优秀' | '良好' | '合格' | '不合格'`（可选）

**示例数据**：
```typescript
{
  id: 'task-1',
  name: '东区1号地水稻播种',
  // ... 其他字段
  acceptanceRating: '优秀', // 新增验收评价
}
```

#### 2. 报表生成逻辑变更 ✅

**原来（已删除）**：
- 按人员分组统计
- 计算完成任务数、总工时、平均工时
- 计算工作效率（任务数 / (总工时 / 8)）
- 根据效率评定等级（优秀/良好/合格）

**现在（新版本）**：
- 按任务逐条列出
- 显示任务名称、地块、执行人
- 显示工时、完成日期
- 显示验收评价（优秀/良好/合格/不合格/待评价）

```typescript
// 新的报表生成函数
const generatePerformanceReport = () => {
  return filteredArchivedTasks.map(task => ({
    taskName: task.name,
    fieldName: task.fieldName,
    executor: task.assignedTo,
    tasksCompleted: 1,
    totalHours: task.actualHours || task.estimatedHours,
    completedDate: task.actualEndDate || task.plannedEndDate,
    acceptanceRating: task.acceptanceRating || '待评价',
  }));
};
```

#### 3. 报表汇总变更 ✅

**原来（4个指标）**：
- 参与人员
- 完成任务
- 总工时
- **平均效率** ❌已删除

**现在（3个指标）**：
- 参与人员
- 完成任务
- 总工时

#### 4. 报表表格变更 ✅

**原来的表头**：
| 人员 | 完成任务数 | 总工时 | 平均工时 | 工作效率 | 绩效评价 |

**现在的表头**：
| 任务名称 | 地块 | 执行人 | 工时 | 完成日期 | 验收评价 |

#### 5. 评价标准变更 ✅

**原来（基于效率）** ❌已删除：
- 优秀：效率 ≥ 1.2
- 良好：0.8 ≤ 效率 < 1.2
- 合格：效率 < 0.8

**现在（基于验收）**：
- 优秀：绿色徽章
- 良好：蓝色徽章
- 合格：黄色徽章
- 不合格：红色徽章
- 待评价：灰色徽章

#### 6. 说明文字变更 ✅

**原来** ❌已删除：
```
说明：工作效率 = 完成任务数 / (总工时 / 8)，以每8小时完成1个任务为基准。
效率 ≥ 1.2为优秀，0.8-1.2为良好，< 0.8为合格。
```

**现在**：
无说明文字（验收评价无需计算说明）

#### 7. 卡片统计变更 ✅

**报表卡片（绿色）**：

**原来**：
- 描述："统计工时、完成量，用于绩效考核"
- 统计1：参与人员
- 统计2：平均工时 ❌已删除

**现在**：
- 描述："统计任务完成情况和验收评价"
- 统计1：参与人员
- 统计2：完成任务

#### 8. 系统说明变更 ✅

**原来**：
> 绩效考评: 统计每个人员的任务完成数量、总工时、平均工时和工作效率

**现在**：
> 绩效考评: 按任务统计完成情况，包含验收评价（优秀、良好、合格、不合格）

## 对比示例

### 报表数据对比

**原来的报表数据**：
```
绩效汇总：
- 参与人员：1人
- 完成任务：1个
- 总工时：22h
- 平均效率：0.36

明细：
人员    | 完成任务数 | 总工时  | 平均工时    | 工作效率 | 绩效评价
张三    | 1         | 22.0h  | 22.0h/任务 | 0.36    | 合格
```

**现在的报表数据**：
```
绩效汇总：
- 参与人员：1人
- 完成任务：1个
- 总工时：22h

明细：
任务名称           | 地块      | 执行人 | 工时 | 完成日期   | 验收评价
东区1号地水稻播种   | 东区1号地 | 张三   | 22h | 2024-03-02 | 优秀
```

## 验收评价说明

### 评价等级
- **优秀**：任务完成质量非常高，超出预期
- **良好**：任务完成质量良好，符合要求
- **合格**：任务基本完成，达到最低标准
- **不合格**：任务完成质量不达标，需要返工
- **待评价**：任务已完成但尚未进行验收评价

### 评价流程
1. 任务完成后，状态变为"已完成"
2. 管理员或验收人员对任务进行验收
3. 根据验收结果，设置`acceptanceRating`字段
4. 验收评价显示在绩效考评报表中

### 评价依据（建议）
- 作业质量
- 时间准时性
- 农资使用合理性
- 安全规范遵守情况
- 设备使用规范
- 现场整洁度

## UI变化

### 报表对话框
- **标题**：绩效考评报表（不变）
- **描述**：从"基于已完成任务的人员绩效统计"改为"基于已完成任务的验收评价统计"
- **汇总区域**：去掉"平均效率"
- **表格**：完全重构，从按人员统计改为按任务统计
- **说明区域**：完全删除

### 报表卡片
- **描述**：从"统计工时、完成量，用于绩效考核"改为"统计任务完成情况和验收评价"
- **统计项**：从"平均工时"改为"完成任务"

### 颜色编码
验收评价徽章颜色：
- 优秀：`bg-green-600 text-white`
- 良好：`bg-blue-600 text-white`
- 合格：`bg-yellow-600 text-white`
- 不合格：`bg-red-600 text-white`
- 待评价：`bg-gray-400 text-white`

## 测试建议

### 功能测试
1. 访问：农事任务 > 历史与统计
2. 点击绿色"绩效考评报表"卡片
3. 验证报表对话框显示正确：
   - ✅ 汇总区域只显示3个指标（无"平均效率"）
   - ✅ 表格显示6列（任务名称、地块、执行人、工时、完成日期、验收评价）
   - ✅ 验收评价显示为"优秀"（绿色徽章）
   - ✅ 无计算公式说明文字
4. 点击"下载报表"验证Toast提示

### 数据验证
- 当前示例数据中task-1已设置`acceptanceRating: '优秀'`
- 如果任务没有设置验收评价，应显示"待评价"（灰色徽章）

## 后续建议

### 1. 添加验收评价功能
在任务详情或任务验收界面添加评价功能：
```typescript
<Select>
  <SelectTrigger>
    <SelectValue placeholder="验收评价" />
  </SelectTrigger>
  <SelectContent>
    <SelectItem value="优秀">优秀</SelectItem>
    <SelectItem value="良好">良好</SelectItem>
    <SelectItem value="合格">合格</SelectItem>
    <SelectItem value="不合格">不合格</SelectItem>
  </SelectContent>
</Select>
```

### 2. 按人员分组视图（可选）
如果需要查看某个人员的整体表现，可以添加一个分组视图：
- 切换按钮：按任务 / 按人员
- 按人员时显示：人员名、完成任务数、优秀数、良好数、合格数、不合格数

### 3. 验收评价统计
在汇总区域添加验收评价分布：
- 优秀：X个
- 良好：X个
- 合格：X个
- 不合格：X个

### 4. 评价标准配置
允许管理员自定义评价标准和等级

## 相关文件

### 已修改
- `/components/operation/OperationTask.tsx`
  - `Task`接口添加`acceptanceRating`字段
  - `generatePerformanceReport()`函数完全重写
  - 绩效报表UI完全重构
  - 绩效报表卡片统计更新
  - 系统说明文字更新

### 相关文档
- `/components/operation/TASK_STATISTICS_COMPLETE.md` - 可能需要更新
- `/components/operation/TASK_STATISTICS_QUICK_TEST.md` - 可能需要更新

## 总结

此次更新将绩效考评报表从"效率导向"改为"质量导向"，更符合农业生产实际需求：

✅ **优点**：
- 更直观：直接显示验收评价，无需理解复杂的效率计算
- 更实用：按任务统计，便于追溯具体任务质量
- 更灵活：验收评价可以综合多个因素，不只是工时
- 更全面：包含任务名称、地块等上下文信息

❌ **删除的功能**：
- 工作效率计算
- 平均效率统计
- 效率等级评价
- 按人员分组统计

这些功能如有需要，可以通过添加新的报表类型或视图切换来恢复。
