|
@@ -230,7 +230,9 @@
|
|
<info-item-group title="告警计划" class="alarmPlanGroup">
|
|
<info-item-group title="告警计划" class="alarmPlanGroup">
|
|
<template #extra>
|
|
<template #extra>
|
|
<a-space>
|
|
<a-space>
|
|
- <a-button type="primary" size="small" @click="addPlanHandler"> 新增计划 </a-button>
|
|
|
|
|
|
+ <a-button type="primary" size="small" :disabled="!isOnline" @click="addPlanHandler">
|
|
|
|
+ 新增计划
|
|
|
|
+ </a-button>
|
|
</a-space>
|
|
</a-space>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -243,24 +245,34 @@
|
|
/></div>
|
|
/></div>
|
|
<div class="alarmPlan-item-contant" :title="plan.name">{{ plan.name }}</div>
|
|
<div class="alarmPlan-item-contant" :title="plan.name">{{ plan.name }}</div>
|
|
<div class="alarmPlan-item-action">
|
|
<div class="alarmPlan-item-action">
|
|
- <a-space>
|
|
|
|
|
|
+ <a-space :class="!isOnline && 'offline'">
|
|
<a-popconfirm
|
|
<a-popconfirm
|
|
:title="`确认${plan.enable ? '禁用' : '启用'}计划吗?`"
|
|
:title="`确认${plan.enable ? '禁用' : '启用'}计划吗?`"
|
|
ok-text="确认"
|
|
ok-text="确认"
|
|
cancel-text="取消"
|
|
cancel-text="取消"
|
|
|
|
+ :disabled="!isOnline"
|
|
@confirm="swtichAlarmItem(plan.id, plan.enable, plan)"
|
|
@confirm="swtichAlarmItem(plan.id, plan.enable, plan)"
|
|
>
|
|
>
|
|
- <a-switch :checked="plan.enable" size="small" :loading="plan.loading" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ :checked="plan.enable"
|
|
|
|
+ size="small"
|
|
|
|
+ :loading="plan.loading"
|
|
|
|
+ :disabled="!isOnline"
|
|
|
|
+ />
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
|
|
|
|
- <EditOutlined @click="editAlarmItem(plan.data as AlarmPlanItem)" />
|
|
|
|
|
|
+ <EditOutlined
|
|
|
|
+ v-disabled="!isOnline"
|
|
|
|
+ @click="editAlarmItem(plan.data as AlarmPlanItem)"
|
|
|
|
+ />
|
|
<a-popconfirm
|
|
<a-popconfirm
|
|
title="确认删除计划吗?"
|
|
title="确认删除计划吗?"
|
|
ok-text="确认"
|
|
ok-text="确认"
|
|
cancel-text="取消"
|
|
cancel-text="取消"
|
|
|
|
+ :disabled="!isOnline"
|
|
@confirm="deleteAlarmItem(plan.id)"
|
|
@confirm="deleteAlarmItem(plan.id)"
|
|
>
|
|
>
|
|
- <DeleteOutlined />
|
|
|
|
|
|
+ <DeleteOutlined v-disabled="!isOnline" />
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
</a-space>
|
|
</a-space>
|
|
</div>
|
|
</div>
|
|
@@ -290,6 +302,7 @@
|
|
:room-id="deviceRoomId"
|
|
:room-id="deviceRoomId"
|
|
:furniture-items="furnitureItems"
|
|
:furniture-items="furnitureItems"
|
|
:sub-region-items="subRegionItems"
|
|
:sub-region-items="subRegionItems"
|
|
|
|
+ :online="detailState.online"
|
|
@success="saveConfigSuccess"
|
|
@success="saveConfigSuccess"
|
|
></deviceConfigDrawer>
|
|
></deviceConfigDrawer>
|
|
|
|
|
|
@@ -664,6 +677,9 @@ const areaAvailable = computed(() => {
|
|
return Number(length) < 50 || Number(width) < 50
|
|
return Number(length) < 50 || Number(width) < 50
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+// 设备是否在线
|
|
|
|
+const isOnline = computed(() => detailState.value.online === 1)
|
|
|
|
+
|
|
onUnmounted(() => {
|
|
onUnmounted(() => {
|
|
if (mqttClient) mqttClient.end()
|
|
if (mqttClient) mqttClient.end()
|
|
if (mqttTimeout) clearTimeout(mqttTimeout)
|
|
if (mqttTimeout) clearTimeout(mqttTimeout)
|
|
@@ -945,6 +961,13 @@ const swtichAlarmItem = async (id: number, swtich: boolean, item: AlarmPlanItem)
|
|
color: #40a9ff;
|
|
color: #40a9ff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ :deep(.ant-space.offline) {
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
+ .ant-space-item:hover {
|
|
|
|
+ color: #888;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|