# 告警管理功能更新说明

## 更新时间
2024-10-23

## 更新内容

### 1. 告警记录Tab优化

#### ✅ 移除导出按钮
- **位置**: 告警记录tab页面右上角
- **变更**: 删除了"导出"按钮
- **原因**: 简化界面，聚焦核心功能

#### ✅ 新增操作按钮
在告警记录列表的操作列中，根据告警状态显示不同的操作按钮：

| 告警状态 | 可用操作 | 说明 |
|---------|---------|------|
| 待处理 (pending) | 确认、开始处理 | 可以确认告警或直接开始处理 |
| 已确认 (acknowledged) | 开始处理 | 可以开始处理告警 |
| 处理中 (processing) | 解决 | 可以标记告警为已解决 |
| 已解决 (resolved) | 查看 | 仅可查看详情 |
| 已忽略 (ignored) | 查看 | 仅可查看详情 |

**新增功能说明：**

1. **开始处理** 
   - 图标: Play (播放图标)
   - 功能: 将告警状态从"待处理"或"已确认"更新为"处理中"
   - 弹窗: 要求输入处理说明
   - 用途: 记录处理进度和当前操作

2. **解决**
   - 图标: CheckCheck (双勾图标)
   - 样式: 绿色边框和文字
   - 功能: 将告警状态从"处理中"更新为"已解决"
   - 弹窗: 要求输入解决方案
   - 用途: 记录最终解决方案和处理结果

### 2. 告警规则Tab优化

#### ✅ 新增二次确认功能

所有涉及规则变更的操作都添加了二次确认对话框：

**1. 创建规则确认**
- 触发: 点击新建规则对话框中的"创建"按钮
- 提示: "新规则创建后将立即生效并开始监控。是否确认创建?"
- 目的: 防止误创建规则导致不必要的告警

**2. 编辑规则确认**
- 触发: 点击编辑规则对话框中的"保存"按钮
- 提示: "规则更新后将立即生效，可能会影响现有的告警触发逻辑。是否确认更新?"
- 目的: 确保用户了解规则变更的影响

**3. 删除规则确认**
- 触发: 点击规则卡片右侧的删除按钮
- 提示: "此操作将永久删除该告警规则，删除后将不再触发相关告警。此操作不可撤销，是否继续?"
- 样式: 红色确认按钮，强调危险操作
- 目的: 防止误删除重要规则

## 技术实现

### 新增状态变量
```typescript
const [showProcessDialog, setShowProcessDialog] = useState(false);
const [showResolveDialog, setShowResolveDialog] = useState(false);
const [showSaveRuleConfirm, setShowSaveRuleConfirm] = useState(false);
const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
const [ruleToDelete, setRuleToDelete] = useState<string | null>(null);
const [handleAction, setHandleAction] = useState<'acknowledge' | 'process' | 'resolve'>('acknowledge');
const [handleNote, setHandleNote] = useState('');
```

### 新增处理函数
```typescript
handleStartProcess()  // 开始处理告警
handleResolve()       // 解决告警
handleSaveRule()      // 保存规则（触发确认）
confirmSaveRule()     // 确认保存规则
confirmDeleteRule()   // 确认删除规则
```

### 新增对话框组件
1. **开始处理对话框** (Dialog)
2. **解决告警对话框** (Dialog)
3. **保存规则确认对话框** (AlertDialog)
4. **删除规则确认对话框** (AlertDialog)
5. **规则配置对话框** (Dialog) - 简化版

## 用户操作流程

### 告警处理完整流程

```
待处理 → 点击"确认" → 填写备注 → 已确认
       ↓
    点击"开始处理" → 填写处理说明 → 处理中
       ↓
    点击"解决" → 填写解决方案 → 已解决
```

**快捷流程：**
```
待处理 → 点击"开始处理" → 填写处理说明 → 处理中 → 点击"解决" → 已解决
```

### 规则管理流程

**创建规则：**
```
点击"新建规则" → 填写规则信息 → 点击"创建" → 确认对话框 → 点击"确认创建" → 完成
```

**编辑规则：**
```
点击"编辑"按钮 → 修改规则信息 → 点击"保存" → 确认对话框 → 点击"确认更新" → 完成
```

**删除规则：**
```
点击"删除"按钮 → 确认对话框 → 点击"确认删除" → 完成
```

## 视觉优化

### 操作按钮样式
- **查看**: outline样式，仅图标
- **确认**: 主色调按钮
- **开始处理**: outline样式，带图标和文字
- **解决**: 绿色边框和文字，突出完成状态

### 确认对话框
- **创建/更新**: 标准确认对话框
- **删除**: 红色确认按钮，强调危险操作

## 注意事项

1. **状态流转**: 告警状态必须按照正常流程流转，不能跳过中间状态
2. **操作记录**: 每次状态变更都会记录操作人、时间和说明
3. **规则生效**: 规则的创建和修改会立即生效，需谨慎操作
4. **删除限制**: 已删除的规则无法恢复，建议先禁用后观察

## 快速测试指南

### 测试告警处理流程
1. 进入 **AI作物模型精准决策系统** > **监控中心** > **告警管理**
2. 切换到"告警记录"tab
3. 找到状态为"待处理"的告警
4. 点击"开始处理"按钮，输入处理说明，确认
5. 告警状态变为"处理中"，出现"解决"按钮
6. 点击"解决"按钮，输入解决方案，确认
7. 告警状态变为"已解决"

### 测试规则管理
1. 切换到"告警规则"tab
2. 点击"新建规则"按钮
3. 填写规则信息，点击"创建"
4. 在确认对话框中点击"确认创建"
5. 测试编辑功能：点击某个规则的"编辑"按钮
6. 修改信息后点击"保存"，确认更新
7. 测试删除功能：点击"删除"按钮，确认删除

## 数据示例

系统包含6条告警记录，涵盖不同状态：
- 待处理: 1条 (产量预测模型响应时间超过阈值)
- 已确认: 1条 (产量预测模型CPU使用率过高)
- 处理中: 1条 (生长阶段识别模型服务不可用)
- 已解决: 2条 (内存使用率过高、数据质量异常)
- 已忽略: 1条 (病虫害识别模型响应时间波动)

## 后续优化建议

1. 添加批量操作功能
2. 支持告警升级和降级
3. 添加告警转派功能
4. 支持告警关联和合并
5. 增强告警分析能力
