生产管理系统前端 - 瓦力提交代码&文档更新
This commit is contained in:
351
src/components/irrigation/DELETE_RULE_CONFIRMATION_UPDATE.md
Normal file
351
src/components/irrigation/DELETE_RULE_CONFIRMATION_UPDATE.md
Normal file
@@ -0,0 +1,351 @@
|
||||
# 预警逻辑管理 - 删除规则二次确认功能
|
||||
|
||||
## 📋 更新概述
|
||||
|
||||
为水肥一体化系统的实时监测与预警模块中的**预警逻辑管理**页面的删除按钮增加了系统内二次确认功能,提升系统安全性,防止误删重要预警规则。
|
||||
|
||||
## 🎯 更新内容
|
||||
|
||||
### 1. **删除确认对话框** ⭐ 新增
|
||||
|
||||
#### 功能特点
|
||||
- ✅ **规则信息显示**:显示即将删除的规则名称
|
||||
- ✅ **警告提示**:明确提示删除后无法恢复
|
||||
- ✅ **状态提醒**:如果规则处于启用状态,额外提醒删除后立即停止监控
|
||||
- ✅ **双重确认**:取消/确认两个按钮,防止误操作
|
||||
- ✅ **视觉警示**:使用红色主题色,强调操作的危险性
|
||||
|
||||
### 2. **UI设计优化**
|
||||
|
||||
#### 对话框结构
|
||||
```
|
||||
标题区域:
|
||||
- 警告图标(红色)
|
||||
- "确认删除预警规则"标题
|
||||
|
||||
内容区域:
|
||||
- 规则名称显示
|
||||
- 红色警告框:删除后无法恢复提示
|
||||
- 橙色提示框(可选):启用状态规则的额外提醒
|
||||
|
||||
操作区域:
|
||||
- 取消按钮(默认样式)
|
||||
- 确认删除按钮(红色危险样式)
|
||||
```
|
||||
|
||||
#### 视觉层次
|
||||
1. **红色警告框**
|
||||
- 背景:浅红色 (bg-red-50)
|
||||
- 边框:红色 (border-red-200)
|
||||
- 文字:深红色 (text-red-800)
|
||||
- 内容:强调删除不可恢复
|
||||
|
||||
2. **橙色提示框**(仅当规则启用时显示)
|
||||
- 背景:浅橙色 (bg-orange-50)
|
||||
- 边框:橙色 (border-orange-200)
|
||||
- 文字:深橙色 (text-orange-800)
|
||||
- 内容:提醒删除后监控立即停止
|
||||
|
||||
3. **确认按钮**
|
||||
- 背景:红色 (bg-red-600)
|
||||
- 悬停:深红色 (hover:bg-red-700)
|
||||
- 视觉强调:突出危险操作
|
||||
|
||||
### 3. **操作流程**
|
||||
|
||||
#### 删除流程
|
||||
1. 用户点击规则卡片的"删除"按钮
|
||||
2. 系统弹出确认对话框
|
||||
3. 显示规则名称和警告信息
|
||||
4. 用户选择:
|
||||
- **取消**:关闭对话框,不执行删除
|
||||
- **确认删除**:执行删除操作
|
||||
|
||||
#### 删除成功
|
||||
- 规则从列表中移除
|
||||
- 显示成功提示:`预警规则"规则名称"已删除`
|
||||
- 对话框自动关闭
|
||||
|
||||
## 💻 技术实现
|
||||
|
||||
### 状态管理
|
||||
```typescript
|
||||
// 删除确认对话框控制
|
||||
const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
|
||||
// 待删除的规则ID
|
||||
const [ruleToDelete, setRuleToDelete] = useState<string | null>(null);
|
||||
```
|
||||
|
||||
### 核心函数
|
||||
|
||||
#### 触发删除确认
|
||||
```typescript
|
||||
const handleDeleteRule = (ruleId: string) => {
|
||||
setRuleToDelete(ruleId);
|
||||
setShowDeleteConfirm(true);
|
||||
};
|
||||
```
|
||||
|
||||
#### 确认删除执行
|
||||
```typescript
|
||||
const confirmDeleteRule = () => {
|
||||
if (ruleToDelete) {
|
||||
const rule = alertRules.find(r => r.id === ruleToDelete);
|
||||
setAlertRules(alertRules.filter(r => r.id !== ruleToDelete));
|
||||
toast.success(`预警规则"${rule?.name}"已删除`);
|
||||
setRuleToDelete(null);
|
||||
}
|
||||
setShowDeleteConfirm(false);
|
||||
};
|
||||
```
|
||||
|
||||
### 组件导入
|
||||
```typescript
|
||||
import {
|
||||
AlertDialog,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogContent,
|
||||
AlertDialogDescription,
|
||||
AlertDialogFooter,
|
||||
AlertDialogHeader,
|
||||
AlertDialogTitle,
|
||||
} from '../ui/alert-dialog';
|
||||
```
|
||||
|
||||
## 📊 使用示例
|
||||
|
||||
### 示例1:删除已启用的规则
|
||||
|
||||
**触发场景:**
|
||||
- 用户点击"EC值异常预警"规则的删除按钮
|
||||
- 该规则当前状态为"启用"
|
||||
|
||||
**对话框显示:**
|
||||
```
|
||||
┌─────────────────────────────────────┐
|
||||
│ ⚠️ 确认删除预警规则 │
|
||||
├─────────────────────────────────────┤
|
||||
│ 您确定要删除预警规则 │
|
||||
│ "EC值异常预警"吗? │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ ⚠️ 警告:删除后将无法恢复, │ │
|
||||
│ │ 该规则的所有配置信息将被永久删除。 │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ 💡 提示:该规则当前处于启用状态, │ │
|
||||
│ │ 删除后将立即停止监控。 │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ [取消] [确认删除] │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 示例2:删除已禁用的规则
|
||||
|
||||
**触发场景:**
|
||||
- 用户点击"水压异常预警"规则的删除按钮
|
||||
- 该规则当前状态为"禁用"
|
||||
|
||||
**对话框显示:**
|
||||
```
|
||||
┌─────────────────────────────────────┐
|
||||
│ ⚠️ 确认删除预警规则 │
|
||||
├─────────────────────────────────────┤
|
||||
│ 您确定要删除预警规则 │
|
||||
│ "水压异常预警"吗? │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ ⚠️ 警告:删除后将无法恢复, │ │
|
||||
│ │ 该规则的所有配置信息将被永久删除。 │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ [取消] [确认删除] │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 🎨 UI细节
|
||||
|
||||
### 色彩方案
|
||||
|
||||
| 元素 | 背景色 | 边框色 | 文字色 | 说明 |
|
||||
|------|--------|--------|--------|------|
|
||||
| 警告框 | bg-red-50 | border-red-200 | text-red-800 | 强调危险操作 |
|
||||
| 提示框 | bg-orange-50 | border-orange-200 | text-orange-800 | 额外提醒信息 |
|
||||
| 确认按钮 | bg-red-600 | - | white | 红色危险按钮 |
|
||||
| 取消按钮 | - | - | - | 默认样式 |
|
||||
|
||||
### 图标使用
|
||||
- **警告图标**:`AlertTriangle`(红色)
|
||||
- 位置:对话框标题左侧
|
||||
- 尺寸:5x5 (w-5 h-5)
|
||||
- 作用:视觉警示
|
||||
|
||||
### 间距布局
|
||||
- 内容区域间距:`space-y-3`
|
||||
- 警告框内边距:`p-3`
|
||||
- 边框圆角:`rounded-md`
|
||||
|
||||
## ✅ 安全性提升
|
||||
|
||||
### 1. **防止误删**
|
||||
- 双重确认机制
|
||||
- 明确显示规则名称
|
||||
- 清晰的警告提示
|
||||
|
||||
### 2. **信息透明**
|
||||
- 显示规则当前状态
|
||||
- 提示删除后果
|
||||
- 无法恢复的明确警告
|
||||
|
||||
### 3. **操作可逆**
|
||||
- 提供取消按钮
|
||||
- 点击对话框外部可关闭
|
||||
- 取消后不执行任何操作
|
||||
|
||||
## 🔄 与其他功能的协作
|
||||
|
||||
### 1. **规则列表**
|
||||
- 删除按钮触发确认对话框
|
||||
- 删除成功后列表自动更新
|
||||
- 保持用户当前的浏览位置
|
||||
|
||||
### 2. **状态统计**
|
||||
- 删除后更新预警规则统计
|
||||
- 更新启用/禁用规则数量
|
||||
- 更新相关图表数据
|
||||
|
||||
### 3. **Toast通知**
|
||||
- 删除成功显示提示信息
|
||||
- 包含被删除的规则名称
|
||||
- 3秒后自动消失
|
||||
|
||||
## 🎯 用户体验优化
|
||||
|
||||
### 交互优化
|
||||
1. **视觉反馈**
|
||||
- 删除按钮悬停效果
|
||||
- 对话框动画过渡
|
||||
- 按钮点击效果
|
||||
|
||||
2. **信息层次**
|
||||
- 重要信息突出显示
|
||||
- 警告信息分级呈现
|
||||
- 操作按钮位置醒目
|
||||
|
||||
3. **操作便捷**
|
||||
- 键盘支持(ESC关闭)
|
||||
- 点击遮罩层关闭
|
||||
- 快捷按钮操作
|
||||
|
||||
### 可访问性
|
||||
- 清晰的标题和描述
|
||||
- 语义化的HTML结构
|
||||
- 合理的焦点管理
|
||||
- 键盘导航支持
|
||||
|
||||
## 🧪 测试建议
|
||||
|
||||
### 功能测试
|
||||
- [ ] 点击删除按钮打开确认对话框
|
||||
- [ ] 对话框显示正确的规则名称
|
||||
- [ ] 启用状态规则显示额外提示
|
||||
- [ ] 禁用状态规则不显示额外提示
|
||||
- [ ] 点击"取消"关闭对话框且不删除
|
||||
- [ ] 点击"确认删除"成功删除规则
|
||||
- [ ] 删除成功后显示Toast提示
|
||||
- [ ] 规则列表正确更新
|
||||
|
||||
### UI测试
|
||||
- [ ] 对话框样式符合设计规范
|
||||
- [ ] 警告框颜色正确
|
||||
- [ ] 提示框颜色正确
|
||||
- [ ] 确认按钮为红色危险样式
|
||||
- [ ] 图标显示正确
|
||||
- [ ] 响应式布局正常
|
||||
|
||||
### 边界测试
|
||||
- [ ] 连续删除多个规则
|
||||
- [ ] 删除最后一个规则
|
||||
- [ ] 快速点击删除按钮
|
||||
- [ ] 在对话框打开时切换Tab
|
||||
|
||||
## 📝 用户操作指南
|
||||
|
||||
### 如何删除预警规则
|
||||
|
||||
1. **定位规则**
|
||||
- 在预警逻辑管理页面
|
||||
- 找到要删除的规则卡片
|
||||
|
||||
2. **触发删除**
|
||||
- 点击规则卡片右上角的"删除"按钮
|
||||
- 系统弹出确认对话框
|
||||
|
||||
3. **确认信息**
|
||||
- 查看规则名称是否正确
|
||||
- 阅读警告提示
|
||||
- 了解删除后果
|
||||
|
||||
4. **执行操作**
|
||||
- 确认删除:点击红色"确认删除"按钮
|
||||
- 取消操作:点击"取消"按钮或点击对话框外部
|
||||
|
||||
5. **验证结果**
|
||||
- 删除成功后规则从列表中消失
|
||||
- 查看Toast提示确认删除成功
|
||||
|
||||
## 💡 最佳实践
|
||||
|
||||
### 删除建议
|
||||
1. **删除前确认**
|
||||
- 确保要删除的规则确实不再需要
|
||||
- 建议先禁用规则观察影响
|
||||
- 记录重要规则的配置参数
|
||||
|
||||
2. **谨慎操作**
|
||||
- 仔细阅读确认对话框信息
|
||||
- 特别注意启用状态的规则
|
||||
- 避免误删正在使用的规则
|
||||
|
||||
3. **数据备份**
|
||||
- 定期导出规则配置
|
||||
- 保存重要规则的截图
|
||||
- 记录关键参数设置
|
||||
|
||||
## 🚀 后续扩展建议
|
||||
|
||||
### 可选功能
|
||||
1. **删除前检查**
|
||||
- 检查规则触发历史
|
||||
- 显示最近触发次数
|
||||
- 提示相关依赖项
|
||||
|
||||
2. **软删除**
|
||||
- 实现回收站功能
|
||||
- 支持恢复已删除规则
|
||||
- 设置自动清理周期
|
||||
|
||||
3. **批量删除**
|
||||
- 支持多选规则
|
||||
- 批量删除确认
|
||||
- 显示删除进度
|
||||
|
||||
4. **删除日志**
|
||||
- 记录删除操作
|
||||
- 记录操作人和时间
|
||||
- 支持审计追踪
|
||||
|
||||
## 📊 总结
|
||||
|
||||
本次更新为预警规则删除功能增加了完善的二次确认机制,通过清晰的警告提示、明确的操作按钮和友好的用户界面,有效防止误删重要规则,提升了系统的安全性和可靠性。
|
||||
|
||||
### 核心价值
|
||||
✅ **提升安全性** - 防止误删重要配置
|
||||
✅ **改善体验** - 清晰的提示和引导
|
||||
✅ **增强信任** - 透明的操作反馈
|
||||
✅ **降低风险** - 可取消的确认流程
|
||||
|
||||
所有功能已完成开发并可立即使用!
|
||||
Reference in New Issue
Block a user