()
+const emit = defineEmits<{
(e: 'update:modelValue', value: ConditionGroupContainerFormData): void
(e: 'validate', result: { valid: boolean; message: string }): void
(e: 'remove'): void
-}
-
-const props = defineProps
()
-const emit = defineEmits()
+}>()
const container = useVModel(props, 'modelValue', emit)
diff --git a/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue b/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue
index 472a63a42..8eaa05cc1 100644
--- a/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue
+++ b/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue
@@ -89,34 +89,6 @@
-
-
-
-
-
-
- 条件预览
-
-
- {{ conditionPreview }}
-
-
-
-
-
-
-
@@ -136,6 +108,7 @@ interface Props {
interface Emits {
(e: 'update:modelValue', value: ConditionFormData): void
+
(e: 'validate', result: { valid: boolean; message: string }): void
}
@@ -211,29 +184,6 @@ const needsSecondTimeInput = computed(() => {
return condition.value.operator === IotRuleSceneTriggerTimeOperatorEnum.BETWEEN_TIME.value
})
-const conditionPreview = computed(() => {
- if (!condition.value.operator) {
- return ''
- }
-
- const operatorOption = timeOperatorOptions.find((opt) => opt.value === condition.value.operator)
- const operatorLabel = operatorOption?.label || condition.value.operator
-
- if (condition.value.operator === IotRuleSceneTriggerTimeOperatorEnum.TODAY.value) {
- return `当前时间 ${operatorLabel}`
- }
-
- if (!condition.value.timeValue) {
- return `当前时间 ${operatorLabel} [未设置时间]`
- }
-
- if (needsSecondTimeInput.value && condition.value.timeValue2) {
- return `当前时间 ${operatorLabel} ${condition.value.timeValue} 和 ${condition.value.timeValue2}`
- }
-
- return `当前时间 ${operatorLabel} ${condition.value.timeValue}`
-})
-
// 事件处理
const updateConditionField = (field: keyof ConditionFormData, value: any) => {
condition.value[field] = value
diff --git a/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue b/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue
index c0d860468..5e41a5f00 100644
--- a/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue
+++ b/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue
@@ -12,7 +12,7 @@
-
+
附加条件组
与主条件为且关系
diff --git a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue
index 23c492a91..709cf7356 100644
--- a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue
+++ b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue
@@ -67,14 +67,6 @@
-
-
-
-
-
- 预览:{{ conditionPreview }}
-
-
@@ -147,13 +139,6 @@ const isDeviceStatusTrigger = computed(() => {
return props.triggerType === IotRuleSceneTriggerTypeEnum.DEVICE_STATE_UPDATE
})
-const conditionPreview = computed(() => {
- if (!condition.value.productId || !condition.value.deviceId || !condition.value.identifier) {
- return ''
- }
- return `设备[${condition.value.deviceId}]的${condition.value.identifier} ${condition.value.operator} ${condition.value.param}`
-})
-
// 获取触发类型文本
// TODO @puhui999:是不是有枚举可以服用哈;
const getTriggerTypeText = (type: number) => {
diff --git a/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue b/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue
index ffc2d5fe6..3cd8167e7 100644
--- a/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue
+++ b/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue
@@ -63,24 +63,6 @@
/>
-
-
-
-
@@ -108,9 +90,9 @@
import { useVModel } from '@vueuse/core'
import ConditionConfig from './ConditionConfig.vue'
import {
- SubConditionGroupFormData,
ConditionFormData,
- IotRuleSceneTriggerConditionTypeEnum
+ IotRuleSceneTriggerConditionTypeEnum,
+ SubConditionGroupFormData
} from '@/api/iot/rule/scene/scene.types'
/** 子条件组配置组件 */
@@ -124,6 +106,7 @@ interface Props {
interface Emits {
(e: 'update:modelValue', value: SubConditionGroupFormData): void
+
(e: 'validate', result: { valid: boolean; message: string }): void
}
diff --git a/src/views/iot/rule/scene/form/selectors/PropertySelector.vue b/src/views/iot/rule/scene/form/selectors/PropertySelector.vue
index 188d8f044..a8afbf28c 100644
--- a/src/views/iot/rule/scene/form/selectors/PropertySelector.vue
+++ b/src/views/iot/rule/scene/form/selectors/PropertySelector.vue
@@ -134,21 +134,17 @@ import type { IotThingModelTSLRespVO, PropertySelectorItem } from './types'
/** 属性选择器组件 */
defineOptions({ name: 'PropertySelector' })
-interface Props {
+const props = defineProps<{
modelValue?: string
triggerType: number
productId?: number
deviceId?: number
-}
+}>()
-interface Emits {
+const emit = defineEmits<{
(e: 'update:modelValue', value: string): void
-
(e: 'change', value: { type: string; config: any }): void
-}
-
-const props = defineProps
()
-const emit = defineEmits()
+}>()
const localValue = useVModel(props, 'modelValue', emit)