# 农事任务验收评价功能更新

## 更新时间
2025-10-20

## 更新内容

在农事任务—任务管理中，验收任务时增加验收评价弹窗，实现完整的验收评价流程。

## 功能描述

### 1. 验收评价弹窗
当任务状态为"待验收"时，点击"验收任务"按钮，系统会弹出验收评价对话框，而不是直接将任务标记为完成。

### 2. 验收评分系统
验收评价包含三个维度的评分：

#### 质量评分（0-100分）
- 评价作业质量是否达标
- 使用滑块控件调整分数
- 实时显示分数

#### 效率评分（0-100分）
- 评价作业效率和时间把控
- 使用滑块控件调整分数
- 实时显示分数

#### 规范评分（0-100分）
- 评价操作规范性和安全性
- 使用滑块控件调整分数
- 实时显示分数

### 3. 综合评价信息

#### 验收等级（必填）
- 优秀：90分以上
- 良好：80-89分
- 合格：60-79分
- 不合格：60分以下

#### 验收人（必填）
- 输入验收人姓名
- 必填项，不填写无法提交

#### 验收意见（选填）
- 填写验收意见
- 如发现问题请详细说明

#### 存在问题（选填）
- 详细描述存在的问题
- 便于后续改进

### 4. 评分概览
- 自动计算三项评分的平均分作为综合得分
- 显示选择的验收等级
- 实时更新显示

## 使用流程

1. 在任务管理Tab中，找到状态为"待验收"的任务
2. 点击"验收任务"按钮
3. 系统弹出验收评价对话框
4. 查看任务基本信息（任务名称、类型、地块、执行人员）
5. 调整三个维度的评分（质量、效率、规范）
6. 选择验收等级
7. 输入验收人姓名（必填）
8. 填写验收意见和存在问题（选填）
9. 查看综合得分和验收等级
10. 点击"提交验收"按钮
11. 任务状态自动更新为"已完成"
12. 验收评价保存到任务记录中

## 数据结构

### 验收数据
```typescript
{
  rating: '优秀' | '良好' | '合格' | '不合格',  // 验收等级
  qualityScore: number,      // 质量评分 0-100
  efficiencyScore: number,   // 效率评分 0-100
  standardScore: number,     // 规范评分 0-100
  comment: string,           // 验收意见
  inspector: string,         // 验收人（必填）
  issues: string,            // 存在问题
}
```

### 任务字段更新
```typescript
interface Task {
  // ... 其他字段
  acceptanceRating?: '优秀' | '良好' | '合格' | '不合格'; // 验收评价
}
```

## 界面特点

### 1. 任务信息卡片
- 蓝色背景，显示待验收任务的基本信息
- 包含任务名称、类型、地块、执行人员

### 2. 验收评分卡片
- 三个滑块控件，直观调整分数
- 不同颜色区分不同维度（绿色-质量、蓝色-效率、紫色-规范）
- 实时显示分数和说明文字

### 3. 综合评价卡片
- 包含验收等级、验收人、验收意见、存在问题
- 验收等级使用颜色圆点区分
- 必填项标红色星号

### 4. 评分概览卡片
- 绿色背景，醒目显示
- 左侧显示综合得分（自动计算平均分）
- 右侧显示验收等级徽章

## 验证逻辑

1. 验收人为必填项，未填写时提示错误
2. 提交后任务状态自动变为"已完成"
3. 验收评价保存到任务的 `acceptanceRating` 字段
4. 显示成功提示：`任务验收完成，评价：${评级}`

## 技术实现

### 新增状态
```typescript
const [showAcceptanceDialog, setShowAcceptanceDialog] = useState(false);
const [acceptanceData, setAcceptanceData] = useState({
  rating: '优秀',
  qualityScore: 95,
  efficiencyScore: 90,
  standardScore: 92,
  comment: '',
  inspector: '',
  issues: '',
});
```

### 核心函数
- `handleOpenAcceptanceDialog`: 打开验收对话框
- `handleSubmitAcceptance`: 提交验收评价
- 按钮点击从 `handleUpdateStatus` 改为 `handleOpenAcceptanceDialog`

## 应用场景

1. **绩效考评**：基于验收评价生成人员绩效报表
2. **质量追溯**：记录每次作业的质量评分
3. **改进分析**：根据存在问题进行流程优化
4. **人员培训**：根据评分情况进行针对性培训

## 与其他功能的集成

### 绩效考评报表
- 已完成任务显示验收评价等级
- 报表中包含 `acceptanceRating` 字段
- 默认值为"待评价"（未验收的已完成任务）

### 任务统计
- 可按验收等级统计任务完成质量
- 分析不同人员的验收通过率

## 文件位置
`/components/operation/OperationTask.tsx`

## 相关更新
- 修改了"待验收"状态的按钮文本：从"验收通过"改为"验收任务"
- 点击按钮从直接更新状态改为打开验收对话框
- 增加了详细的验收评价表单
- 增加了验收数据验证逻辑
