From 2e68890c7d8bc740773b86089c91c87bda342dd0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 31 May 2026 00:36:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(iot):=20=E5=AE=8C=E5=96=84=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E8=81=94=E5=8A=A8=E9=85=8D=E7=BD=AE=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vue3 抽取场景联动校验工具,统一触发器、附加条件和执行器校验 - Vben5 antd/ele 同步场景联动提交前兜底校验 - 补充 CRON 表达式、JSON 参数和动态字段必填校验 - 保留 deviceId=0 表示全部设备的业务语义 --- .../iot/rule/scene/form/RuleSceneForm.vue | 3 +- .../rule/scene/form/configs/AlertConfig.vue | 10 +- .../scene/form/configs/ConditionConfig.vue | 2 +- .../form/configs/DeviceControlConfig.vue | 2 +- .../form/configs/MainConditionInnerConfig.vue | 2 +- .../iot/rule/scene/form/utils/actionRules.ts | 110 ---- .../scene/form/utils/triggerConditionRules.ts | 277 ---------- src/views/iot/utils/sceneRule.ts | 503 ++++++++++++++++++ 8 files changed, 515 insertions(+), 394 deletions(-) delete mode 100644 src/views/iot/rule/scene/form/utils/actionRules.ts delete mode 100644 src/views/iot/rule/scene/form/utils/triggerConditionRules.ts create mode 100644 src/views/iot/utils/sceneRule.ts diff --git a/src/views/iot/rule/scene/form/RuleSceneForm.vue b/src/views/iot/rule/scene/form/RuleSceneForm.vue index 66f4aaf5e..3afa78edd 100644 --- a/src/views/iot/rule/scene/form/RuleSceneForm.vue +++ b/src/views/iot/rule/scene/form/RuleSceneForm.vue @@ -39,8 +39,7 @@ import ActionSection from './sections/ActionSection.vue' import { IotSceneRule } from '@/api/iot/rule/scene' import { RuleSceneApi } from '@/api/iot/rule/scene' import { IotRuleSceneTriggerTypeEnum } from '@/views/iot/utils/constants' -import { validateTriggerItem } from './utils/triggerConditionRules' -import { validateActionItem } from './utils/actionRules' +import { validateActionItem, validateTriggerItem } from '@/views/iot/utils/sceneRule' import type { Trigger, Action } from '@/api/iot/rule/scene' import { ElMessage } from 'element-plus' import { CommonStatusEnum } from '@/utils/constants' diff --git a/src/views/iot/rule/scene/form/configs/AlertConfig.vue b/src/views/iot/rule/scene/form/configs/AlertConfig.vue index ca32bbf94..2567dd8ab 100644 --- a/src/views/iot/rule/scene/form/configs/AlertConfig.vue +++ b/src/views/iot/rule/scene/form/configs/AlertConfig.vue @@ -1,6 +1,12 @@