生产管理系统前端 - 瓦力提交代码&文档更新

This commit is contained in:
2025-10-25 16:11:15 +08:00
parent 7615ca9895
commit 1f1d94ed84
336 changed files with 189684 additions and 5161 deletions

View File

@@ -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. **表单验证**
在保存规则时,系统会验证:
- ✅ 规则名称不能为空
- ✅ 至少要有一个触发条件
- ✅ 所有条件必须填写完整(设备、参数、阈值都不能为空)
## 📊 使用示例
### 示例1EC值异常预警
```
规则名称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. **历史数据验证**:使用历史数据验证规则有效性
## 📝 总结
本次更新为预警逻辑管理功能添加了完整的触发条件配置能力,支持灵活的多条件组合,实现了真正的智能预警。用户可以根据实际业务需求,自由配置各种预警规则,提高系统的智能化水平和运维效率。
所有功能已完成开发并通过测试,可以立即投入使用!