生产管理系统前端 - 瓦力提交代码&文档更新
This commit is contained in:
@@ -0,0 +1,253 @@
|
||||
# 预警逻辑管理 - 触发条件功能开发完成
|
||||
|
||||
## 📋 更新概述
|
||||
|
||||
成功为水肥一体化系统的实时监测与预警模块中的**预警逻辑管理**页面开发了完整的触发条件功能。新建预警规则时,现在支持:
|
||||
- ✅ **设备选择** - 选择监测设备
|
||||
- ✅ **参数选择** - 选择监测参数
|
||||
- ✅ **等式选择** - 选择比较运算符
|
||||
- ✅ **阈值输入** - 输入判断阈值
|
||||
|
||||
## 🎯 核心功能
|
||||
|
||||
### 1. **多条件触发配置** ⭐ 新增
|
||||
|
||||
#### 支持的设备类型
|
||||
- 水肥机-01、02、03、04
|
||||
- 电动阀-V01、V02
|
||||
- 土壤传感器-01
|
||||
- 气象站
|
||||
|
||||
#### 支持的监测参数
|
||||
**水质参数:**
|
||||
- EC值 (mS/cm)
|
||||
- PH值
|
||||
|
||||
**设备参数:**
|
||||
- 水压 (bar)
|
||||
- 流量 (L/h)
|
||||
- 液位 (L)
|
||||
- 电池电压 (V)
|
||||
- 光伏电压 (V)
|
||||
|
||||
**环境参数:**
|
||||
- 土壤湿度 (%)
|
||||
- 土壤温度 (℃)
|
||||
- 气温 (℃)
|
||||
- 空气湿度 (%)
|
||||
|
||||
#### 支持的等式运算符
|
||||
- `>` 大于
|
||||
- `>=` 大于等于
|
||||
- `<` 小于
|
||||
- `<=` 小于等于
|
||||
- `=` 等于
|
||||
|
||||
### 2. **触发条件管理**
|
||||
|
||||
#### 添加条件
|
||||
- 点击"添加条件"按钮即可添加新的触发条件
|
||||
- 每个条件包含:设备 + 参数 + 等式 + 阈值
|
||||
- 支持添加多个条件
|
||||
|
||||
#### 删除条件
|
||||
- 每个条件卡片右上角有删除按钮
|
||||
- 点击即可删除该条件
|
||||
|
||||
#### 条件逻辑
|
||||
- **且(AND)**:所有条件都满足时触发
|
||||
- **或(OR)**:任一条件满足时触发
|
||||
|
||||
### 3. **完整的规则表单**
|
||||
|
||||
#### 基础信息
|
||||
- **规则名称**:必填,规则的名称
|
||||
- **告警级别**:提示 / 警告 / 严重
|
||||
- **规则描述**:可选,规则的详细说明
|
||||
|
||||
#### 触发逻辑
|
||||
- **条件逻辑**:且 / 或
|
||||
- **触发条件**:可添加多个条件
|
||||
- **持续时间**:条件持续满足的时间(分钟),0表示立即触发
|
||||
|
||||
### 4. **表单验证**
|
||||
|
||||
在保存规则时,系统会验证:
|
||||
- ✅ 规则名称不能为空
|
||||
- ✅ 至少要有一个触发条件
|
||||
- ✅ 所有条件必须填写完整(设备、参数、阈值都不能为空)
|
||||
|
||||
## 📊 使用示例
|
||||
|
||||
### 示例1:EC值异常预警
|
||||
```
|
||||
规则名称:EC值超标预警
|
||||
告警级别:严重
|
||||
条件逻辑:且
|
||||
触发条件:
|
||||
- 设备:水肥机-01
|
||||
- 参数:EC值 (mS/cm)
|
||||
- 等式:>
|
||||
- 阈值:3.5
|
||||
持续时间:0分钟(立即触发)
|
||||
```
|
||||
|
||||
### 示例2:土壤湿度低位预警
|
||||
```
|
||||
规则名称:土壤湿度持续低位预警
|
||||
告警级别:警告
|
||||
条件逻辑:且
|
||||
触发条件:
|
||||
条件1:
|
||||
- 设备:土壤传感器-01
|
||||
- 参数:土壤湿度 (%)
|
||||
- 等式:<
|
||||
- 阈值:30
|
||||
条件2:
|
||||
- 设备:气象站
|
||||
- 参数:空气湿度 (%)
|
||||
- 等式:<
|
||||
- 阈值:40
|
||||
持续时间:60分钟
|
||||
```
|
||||
|
||||
### 示例3:水压异常预警(或逻辑)
|
||||
```
|
||||
规则名称:水压异常预警
|
||||
告警级别:警告
|
||||
条件逻辑:或
|
||||
触发条件:
|
||||
条件1:
|
||||
- 设备:电动阀-V01
|
||||
- 参数:水压 (bar)
|
||||
- 等式:<
|
||||
- 阈值:1.5
|
||||
条件2:
|
||||
- 设备:电动阀-V01
|
||||
- 参数:水压 (bar)
|
||||
- 等式:>
|
||||
- 阈值:4.5
|
||||
持续时间:5分钟
|
||||
```
|
||||
|
||||
## 🎨 界面优化
|
||||
|
||||
### 1. **条件卡片布局**
|
||||
- 每个条件以独立卡片形式展示
|
||||
- 清晰的编号(条件1、条件2...)
|
||||
- 四列网格布局:设备 | 参数 | 等式 | 阈值
|
||||
|
||||
### 2. **下拉选择器优化**
|
||||
- 设备选择器:列出所有可用设备
|
||||
- 参数选择器:显示参数名称和单位
|
||||
- 等式选择器:显示运算符符号和说明
|
||||
|
||||
### 3. **条件显示优化**
|
||||
- 规则列表中显示所有触发条件
|
||||
- 使用标签美化显示
|
||||
- 清晰展示条件逻辑(且/或)
|
||||
|
||||
## 🔄 数据流转
|
||||
|
||||
### 新建规则流程
|
||||
1. 点击"新建预警规则"按钮
|
||||
2. 填写基础信息(名称、级别、描述)
|
||||
3. 选择条件逻辑(且/或)
|
||||
4. 添加触发条件:
|
||||
- 选择设备
|
||||
- 选择参数
|
||||
- 选择等式
|
||||
- 输入阈值
|
||||
5. 设置持续时间
|
||||
6. 点击"保存规则"
|
||||
|
||||
### 编辑规则流程
|
||||
1. 点击规则卡片的"编辑"按钮
|
||||
2. 表单自动加载现有数据
|
||||
3. 修改任意字段
|
||||
4. 点击"保存规则"更新
|
||||
|
||||
### 数据保存
|
||||
- 新建规则会添加到规则列表顶部
|
||||
- 编辑规则会更新原有规则
|
||||
- 自动生成唯一ID和创建时间
|
||||
- 自动关联参数单位
|
||||
|
||||
## 💡 技术实现
|
||||
|
||||
### 状态管理
|
||||
```typescript
|
||||
// 触发条件状态
|
||||
const [ruleConditions, setRuleConditions] = useState([])
|
||||
|
||||
// 表单数据状态
|
||||
const [ruleName, setRuleName] = useState('')
|
||||
const [ruleDescription, setRuleDescription] = useState('')
|
||||
const [ruleLevel, setRuleLevel] = useState('警告')
|
||||
const [conditionOperator, setConditionOperator] = useState('且')
|
||||
const [ruleDuration, setRuleDuration] = useState(0)
|
||||
```
|
||||
|
||||
### 辅助函数
|
||||
- `getParameterUnit()` - 获取参数单位
|
||||
- `getParameterLabel()` - 获取参数中文标签
|
||||
- `getDeviceLabel()` - 获取设备中文标签
|
||||
|
||||
### 表单验证
|
||||
- 必填字段验证
|
||||
- 条件完整性验证
|
||||
- 实时错误提示
|
||||
|
||||
## 🎯 使用建议
|
||||
|
||||
### 1. **合理设置条件逻辑**
|
||||
- **且逻辑**:适用于需要多个条件同时满足的场景
|
||||
- **或逻辑**:适用于任一条件满足即需要告警的场景
|
||||
|
||||
### 2. **正确选择告警级别**
|
||||
- **提示**:轻微异常,仅供参考
|
||||
- **警告**:需要关注的异常情况
|
||||
- **严重**:必须立即处理的严重问题
|
||||
|
||||
### 3. **合理设置持续时间**
|
||||
- 0分钟:条件满足立即触发(适用于严重告警)
|
||||
- 5-30分钟:短期持续(适用于一般警告)
|
||||
- 60分钟以上:长期趋势(适用于提示类告警)
|
||||
|
||||
### 4. **条件设计建议**
|
||||
- 避免条件过于复杂
|
||||
- 建议单个规则不超过5个条件
|
||||
- 关联性强的条件放在同一规则
|
||||
- 独立的监测指标分开建规则
|
||||
|
||||
## ✅ 测试验证
|
||||
|
||||
### 功能测试清单
|
||||
- [x] 新建规则 - 添加条件
|
||||
- [x] 新建规则 - 删除条件
|
||||
- [x] 新建规则 - 设备选择
|
||||
- [x] 新建规则 - 参数选择
|
||||
- [x] 新建规则 - 等式选择
|
||||
- [x] 新建规则 - 阈值输入
|
||||
- [x] 新建规则 - 表单验证
|
||||
- [x] 新建规则 - 数据保存
|
||||
- [x] 编辑规则 - 数据加载
|
||||
- [x] 编辑规则 - 数据更新
|
||||
- [x] 规则显示 - 条件展示
|
||||
- [x] 规则显示 - 单位显示
|
||||
|
||||
## 🚀 后续扩展
|
||||
|
||||
### 可扩展功能
|
||||
1. **更多设备类型**:可以继续添加其他物联网设备
|
||||
2. **更多参数类型**:根据实际需求添加新的监测参数
|
||||
3. **复杂运算符**:如范围判断、变化率等
|
||||
4. **条件分组**:支持条件的嵌套分组(高级功能)
|
||||
5. **条件模板**:预设常用的条件组合
|
||||
6. **历史数据验证**:使用历史数据验证规则有效性
|
||||
|
||||
## 📝 总结
|
||||
|
||||
本次更新为预警逻辑管理功能添加了完整的触发条件配置能力,支持灵活的多条件组合,实现了真正的智能预警。用户可以根据实际业务需求,自由配置各种预警规则,提高系统的智能化水平和运维效率。
|
||||
|
||||
所有功能已完成开发并通过测试,可以立即投入使用!
|
||||
Reference in New Issue
Block a user