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

pull/746/head
puhui999 2025-03-21 14:03:05 +08:00
parent 73d2c2005c
commit 6745594e3a
2 changed files with 37 additions and 21 deletions

View File

@ -27,7 +27,9 @@
</div> </div>
<!-- 删除触发器 --> <!-- 删除触发器 -->
<div class="device-listener-delete"> <div class="device-listener-delete">
<slot></slot> <el-tooltip content="删除触发器" placement="top">
<slot></slot>
</el-tooltip>
</div> </div>
</div> </div>
<!-- 触发器条件 --> <!-- 触发器条件 -->
@ -54,26 +56,37 @@
@update:model-value="(val) => (condition.parameters[index2] = val)" @update:model-value="(val) => (condition.parameters[index2] = val)"
class="mb-10px last:mb-0" class="mb-10px last:mb-0"
> >
<!-- 删除规则 --> <el-tooltip content="删除参数" placement="top">
<el-button <el-button
class="device-listener-delete" class="device-listener-delete"
type="danger" type="danger"
circle circle
:icon="Delete" :icon="Delete"
size="small" size="small"
@click="removeConditionParameter(condition.parameters, index2)" @click="removeConditionParameter(condition.parameters, index2)"
/> />
</el-tooltip>
</DeviceListenerCondition> </DeviceListenerCondition>
</div> </div>
<div class="flex flex-1 flex-col items-center justify-center w-a h-a"> <!-- 添加参数 -->
<!-- 添加规则 --> <div class="flex flex-1 flex-col items-center justify-center w-60px h-a">
<el-button <el-tooltip content="添加参数" placement="top">
type="primary" <el-button
circle type="primary"
:icon="Plus" circle
size="small" :icon="Plus"
@click="addConditionParameter(condition.parameters)" size="small"
/> @click="addConditionParameter(condition.parameters)"
/>
</el-tooltip>
</div>
<!-- 删除条件 -->
<div
class="device-listener-condition flex flex-1 flex-col items-center justify-center w-a h-a"
>
<el-tooltip content="删除条件" placement="top">
<el-button type="danger" :icon="Delete" size="small" @click="removeCondition(index)" />
</el-tooltip>
</div> </div>
</div> </div>
<el-text class="ml-10px!" type="primary" @click="addCondition"></el-text> <el-text class="ml-10px!" type="primary" @click="addCondition"></el-text>
@ -104,7 +117,10 @@ const addCondition = () => {
parameters: [] parameters: []
}) })
} }
/** 移除触发条件 */
const removeCondition = (index: number) => {
triggerConfig.value.conditions.splice(index, 1)
}
/** 添加参数 */ /** 添加参数 */
const addConditionParameter = (conditionParameters: IotRuleSceneTriggerConditionParameter[]) => { const addConditionParameter = (conditionParameters: IotRuleSceneTriggerConditionParameter[]) => {
conditionParameters.push({} as IotRuleSceneTriggerConditionParameter) conditionParameters.push({} as IotRuleSceneTriggerConditionParameter)

View File

@ -15,7 +15,7 @@
</el-select> </el-select>
<el-select <el-select
v-model="conditionParameter.operator" v-model="conditionParameter.operator"
class="!w-240px mr-10px" class="!w-180px mr-10px"
clearable clearable
placeholder="请选择条件" placeholder="请选择条件"
> >