diff --git a/src/api/iot/rule/scene/index.ts b/src/api/iot/rule/scene/index.ts index bd0a450d0..0fbde2643 100644 --- a/src/api/iot/rule/scene/index.ts +++ b/src/api/iot/rule/scene/index.ts @@ -46,28 +46,28 @@ export interface Action { export const RuleSceneApi = { // 查询场景联动分页 getRuleScenePage: async (params: any) => { - return await request.get({ url: `/iot/rule-scene/page`, params }) + return await request.get({ url: `/iot/scene-rule/page`, params }) }, // 查询场景联动详情 getRuleScene: async (id: number) => { - return await request.get({ url: `/iot/rule-scene/get?id=` + id }) + return await request.get({ url: `/iot/scene-rule/get?id=` + id }) }, // 新增场景联动 createRuleScene: async (data: IotSceneRule) => { - return await request.post({ url: `/iot/rule-scene/create`, data }) + return await request.post({ url: `/iot/scene-rule/create`, data }) }, // 修改场景联动 updateRuleScene: async (data: IotSceneRule) => { - return await request.put({ url: `/iot/rule-scene/update`, data }) + return await request.put({ url: `/iot/scene-rule/update`, data }) }, // 修改场景联动 updateRuleSceneStatus: async (id: number, status: number) => { return await request.put({ - url: `/iot/rule-scene/update-status`, + url: `/iot/scene-rule/update-status`, data: { id, status @@ -77,11 +77,11 @@ export const RuleSceneApi = { // 删除场景联动 deleteRuleScene: async (id: number) => { - return await request.delete({ url: `/iot/rule-scene/delete?id=` + id }) + return await request.delete({ url: `/iot/scene-rule/delete?id=` + id }) }, // 获取场景联动简单列表 getSimpleRuleSceneList: async () => { - return await request.get({ url: `/iot/rule-scene/simple-list` }) + return await request.get({ url: `/iot/scene-rule/simple-list` }) } } diff --git a/src/views/iot/device/device/DeviceForm.vue b/src/views/iot/device/device/DeviceForm.vue index ca3584b0e..dfed0c63e 100644 --- a/src/views/iot/device/device/DeviceForm.vue +++ b/src/views/iot/device/device/DeviceForm.vue @@ -98,7 +98,7 @@ :isWrite="true" :clickMap="true" :center="formData.location" - @locateChange="handleLocationChange" + @locate-change="handleLocationChange" ref="mapRef" class="h-full w-full" /> diff --git a/src/views/iot/rule/scene/form/configs/ConditionConfig.vue b/src/views/iot/rule/scene/form/configs/ConditionConfig.vue index 36dc2f5aa..7cb9bdb26 100644 --- a/src/views/iot/rule/scene/form/configs/ConditionConfig.vue +++ b/src/views/iot/rule/scene/form/configs/ConditionConfig.vue @@ -63,7 +63,7 @@ class="w-full" > () +/** 获取设备状态选项 */ +const deviceStatusOptions = [ + { + value: IoTDeviceStatusEnum.ONLINE.value, + label: IoTDeviceStatusEnum.ONLINE.label + }, + { + value: IoTDeviceStatusEnum.OFFLINE.value, + label: IoTDeviceStatusEnum.OFFLINE.label + } +] + +/** 获取状态操作符选项 */ +const statusOperatorOptions = [ + { + value: IotRuleSceneTriggerConditionParameterOperatorEnum.EQUALS.value, + label: IotRuleSceneTriggerConditionParameterOperatorEnum.EQUALS.name + }, + { + value: IotRuleSceneTriggerConditionParameterOperatorEnum.NOT_EQUALS.value, + label: IotRuleSceneTriggerConditionParameterOperatorEnum.NOT_EQUALS.name + } +] + const condition = useVModel(props, 'modelValue', emit) const propertyType = ref('string') // 属性类型 diff --git a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue index f6eb65f90..4c61d31e4 100644 --- a/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue +++ b/src/views/iot/rule/scene/form/configs/MainConditionInnerConfig.vue @@ -65,7 +65,6 @@ :model-value="condition.operator" @update:model-value="(value) => updateConditionField('operator', value)" :property-type="propertyType" - @change="handleOperatorChange" /> @@ -188,8 +187,8 @@ import { IotRuleSceneTriggerTypeEnum, triggerTypeOptions, getTriggerTypeLabel, - deviceStatusChangeOptions, - IotRuleSceneTriggerConditionParameterOperatorEnum + IotRuleSceneTriggerConditionParameterOperatorEnum, + IoTDeviceStatusEnum } from '@/views/iot/utils/constants' import { useVModel } from '@vueuse/core' @@ -206,6 +205,18 @@ const emit = defineEmits<{ (e: 'trigger-type-change', value: number): void }>() +/** 获取设备状态变更选项(用于触发器配置) */ +const deviceStatusChangeOptions = [ + { + label: IoTDeviceStatusEnum.ONLINE.label, + value: IoTDeviceStatusEnum.ONLINE.value + }, + { + label: IoTDeviceStatusEnum.OFFLINE.label, + value: IoTDeviceStatusEnum.OFFLINE.value + } +] + const condition = useVModel(props, 'modelValue', emit) const propertyType = ref('') // 属性类型 const propertyConfig = ref(null) // 属性配置 @@ -326,12 +337,4 @@ const handlePropertyChange = (propertyInfo: any) => { } } } - -// TODO @puhui999:这个貌似没用上 -/** - * 处理操作符变化事件 - */ -const handleOperatorChange = () => { - // 操作符变化处理 -} diff --git a/src/views/iot/rule/scene/form/inputs/JsonParamsInput.vue b/src/views/iot/rule/scene/form/inputs/JsonParamsInput.vue index ae93feed1..5bfa970d5 100644 --- a/src/views/iot/rule/scene/form/inputs/JsonParamsInput.vue +++ b/src/views/iot/rule/scene/form/inputs/JsonParamsInput.vue @@ -1,148 +1,139 @@ @@ -162,7 +153,7 @@ import { /** JSON参数输入组件 - 通用版本 */ defineOptions({ name: 'JsonParamsInput' }) -export interface JsonParamsConfig { +interface JsonParamsConfig { // 服务配置 service?: { name: string @@ -207,19 +198,6 @@ const localValue = useVModel(props, 'modelValue', emit, { const paramsJson = ref('') // JSON参数字符串 const jsonError = ref('') // JSON验证错误信息 -// 计算属性:是否有配置 -const hasConfig = computed(() => { - // TODO @puhui999: 后续统一处理 - console.log(props.config) - // return !!( - // props.config?.service || - // props.config?.event || - // props.config?.properties || - // props.config?.custom - // ) - return true -}) - // 计算属性:参数列表 const paramsList = computed(() => { switch (props.type) { diff --git a/src/views/iot/rule/scene/form/sections/ActionSection.vue b/src/views/iot/rule/scene/form/sections/ActionSection.vue index 7ff953b71..b41e8cf77 100644 --- a/src/views/iot/rule/scene/form/sections/ActionSection.vue +++ b/src/views/iot/rule/scene/form/sections/ActionSection.vue @@ -1,5 +1,4 @@ -