diff --git a/src/views/iot/rule/scene/form/RuleSceneForm.vue b/src/views/iot/rule/scene/form/RuleSceneForm.vue index 22ba268e2..a5b2efede 100644 --- a/src/views/iot/rule/scene/form/RuleSceneForm.vue +++ b/src/views/iot/rule/scene/form/RuleSceneForm.vue @@ -128,13 +128,19 @@ const validateTriggers = (_rule: any, value: any, callback: any) => { callback(new Error(`触发器 ${i + 1}: 物模型标识符不能为空`)) return } - if (!trigger.operator) { - callback(new Error(`触发器 ${i + 1}: 操作符不能为空`)) - return - } - if (trigger.value === undefined || trigger.value === null || trigger.value === '') { - callback(new Error(`触发器 ${i + 1}: 参数值不能为空`)) - return + // 事件上报 / 服务调用:operator 由前端自动设为 '=',参数值留空表示"事件 / 调用发生即匹配" + const isEventOrService = + trigger.type === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST || + trigger.type === IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE + if (!isEventOrService) { + if (!trigger.operator) { + callback(new Error(`触发器 ${i + 1}: 操作符不能为空`)) + return + } + if (trigger.value === undefined || trigger.value === null || trigger.value === '') { + callback(new Error(`触发器 ${i + 1}: 参数值不能为空`)) + return + } } } diff --git a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue index 4c61d31e4..4ccff2b43 100644 --- a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue +++ b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue @@ -80,14 +80,20 @@ :config="serviceConfig" placeholder="请输入 JSON 格式的服务参数" /> - - + + { return undefined }) -// 计算属性:事件配置 - 用于 JsonParamsInput -const eventConfig = computed(() => { - if (propertyConfig.value && props.triggerType === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST) { - return { - event: { - name: propertyConfig.value.name || '事件', - outputParams: propertyConfig.value.outputParams || [] - } - } - } - return undefined -}) - /** * 更新条件字段 * @param field 字段名