【功能完善】IoT: 规则场景监听器相关组件

This commit is contained in:
puhui999
2025-03-21 12:13:18 +08:00
parent 9389cf8863
commit 07277a6efb
2 changed files with 21 additions and 4 deletions

View File

@ -21,7 +21,7 @@
<el-button type="primary">选择设备</el-button> <el-button type="primary">选择设备</el-button>
</div> </div>
<!-- 添加规则 --> <!-- 添加规则 -->
<el-button class="device-listener-delete" type="danger" circle :icon="Delete" size="small" /> <el-button class="device-listener-delete" type="danger" round :icon="Delete" size="small" />
</div> </div>
<div class="device-listener-condition flex p-10px"> <div class="device-listener-condition flex p-10px">
<div class="flex flex-col items-center justify-center mr-10px h-a"> <div class="flex flex-col items-center justify-center mr-10px h-a">
@ -41,9 +41,19 @@
:model-value="conditionParameter" :model-value="conditionParameter"
@update:model-value="(val) => (conditionParameters[index] = val)" @update:model-value="(val) => (conditionParameters[index] = val)"
class="mb-10px last:mb-0" class="mb-10px last:mb-0"
>
<!-- 添加规则 -->
<el-button
class="device-listener-delete"
type="danger"
circle
:icon="Delete"
size="small"
@click="removeConditionParameter(index)"
/> />
</DeviceListenerCondition>
</div> </div>
<div class="flex flex-1 flex-col items-center justify-center mr-10px h-a"> <div class="flex flex-1 flex-col items-center justify-center w-a h-a">
<!-- 添加规则 --> <!-- 添加规则 -->
<el-button type="primary" circle :icon="Plus" size="small" @click="addConditionParameter" /> <el-button type="primary" circle :icon="Plus" size="small" @click="addConditionParameter" />
</div> </div>
@ -71,9 +81,14 @@ const emit = defineEmits(['update:modelValue'])
const triggerType = ref() const triggerType = ref()
const messageType = ref('property') const messageType = ref('property')
const conditionParameters = ref<IotRuleSceneTriggerConditionParameter[]>([]) const conditionParameters = ref<IotRuleSceneTriggerConditionParameter[]>([])
/** 添加触发条件 */
const addConditionParameter = () => { const addConditionParameter = () => {
conditionParameters.value?.push({} as IotRuleSceneTriggerConditionParameter) conditionParameters.value?.push({} as IotRuleSceneTriggerConditionParameter)
} }
/** 移除触发条件 */
const removeConditionParameter = (index: number) => {
conditionParameters.value?.splice(index, 1)
}
onMounted(() => { onMounted(() => {
addConditionParameter() addConditionParameter()
}) })
@ -88,7 +103,7 @@ onMounted(() => {
.device-listener-delete { .device-listener-delete {
position: absolute; position: absolute;
top: auto; top: auto;
right: 33px; right: 16px;
bottom: auto; bottom: auto;
} }
} }

View File

@ -29,6 +29,8 @@
<el-input v-model="conditionParameter.value" class="!w-240px mr-10px" placeholder="请输入值"> <el-input v-model="conditionParameter.value" class="!w-240px mr-10px" placeholder="请输入值">
<template #append> 单位 </template> <template #append> 单位 </template>
</el-input> </el-input>
<!-- 按钮插槽 -->
<slot></slot>
</div> </div>
</template> </template>