【功能修改】IoT:设备状态从 status 到 state,移除已禁用

This commit is contained in:
YunaiV 2025-01-29 00:16:54 +08:00
parent b9193dd875
commit 3c73a6728f
4 changed files with 22 additions and 31 deletions

View File

@ -10,10 +10,9 @@ export interface DeviceVO {
deviceType: number // 设备类型 deviceType: number // 设备类型
nickname: string // 设备备注名称 nickname: string // 设备备注名称
gatewayId: number // 网关设备 ID gatewayId: number // 网关设备 ID
status: number // 设备状态 state: number // 设备状态
statusLastUpdateTime: Date // 设备状态最后更新时间 onlineTime: Date // 最后上线时间
lastOnlineTime: Date // 最后上线时间 offlineTime: Date // 最后离线时间
lastOfflineTime: Date // 最后离线时间
activeTime: Date // 设备激活时间 activeTime: Date // 设备激活时间
createTime: Date // 创建时间 createTime: Date // 创建时间
ip: string // 设备的 IP 地址 ip: string // 设备的 IP 地址
@ -31,11 +30,6 @@ export interface DeviceVO {
groupIds?: number[] // 添加分组 ID groupIds?: number[] // 添加分组 ID
} }
export interface DeviceUpdateStatusVO {
id: number // 设备 ID主键自增
status: number // 设备状态
}
// IoT 设备数据 VO // IoT 设备数据 VO
export interface DeviceDataVO { export interface DeviceDataVO {
deviceId: number // 设备编号 deviceId: number // 设备编号
@ -93,11 +87,6 @@ export const DeviceApi = {
return await request.put({ url: `/iot/device/update`, data }) return await request.put({ url: `/iot/device/update`, data })
}, },
// 修改设备状态
updateDeviceStatus: async (data: DeviceUpdateStatusVO) => {
return await request.put({ url: `/iot/device/update-status`, data })
},
// 修改设备分组 // 修改设备分组
updateDeviceGroup: async (data: { ids: number[]; groupIds: number[] }) => { updateDeviceGroup: async (data: { ids: number[]; groupIds: number[] }) => {
return await request.put({ url: `/iot/device/update-group`, data }) return await request.put({ url: `/iot/device/update-group`, data })

View File

@ -1,8 +1,8 @@
/** /**
* *
*/ */
import {useDictStoreWithOut} from '@/store/modules/dict' import { useDictStoreWithOut } from '@/store/modules/dict'
import {ElementPlusInfoType} from '@/types/elementPlus' import { ElementPlusInfoType } from '@/types/elementPlus'
const dictStore = useDictStoreWithOut() const dictStore = useDictStoreWithOut()
@ -235,7 +235,7 @@ export enum DICT_TYPE {
IOT_PRODUCT_DEVICE_TYPE = 'iot_product_device_type', // IOT 产品设备类型 IOT_PRODUCT_DEVICE_TYPE = 'iot_product_device_type', // IOT 产品设备类型
IOT_DATA_FORMAT = 'iot_data_format', // IOT 数据格式 IOT_DATA_FORMAT = 'iot_data_format', // IOT 数据格式
IOT_PROTOCOL_TYPE = 'iot_protocol_type', // IOT 接入网关协议 IOT_PROTOCOL_TYPE = 'iot_protocol_type', // IOT 接入网关协议
IOT_DEVICE_STATUS = 'iot_device_status', // IOT 设备状态 IOT_DEVICE_STATE = 'iot_device_state', // IOT 设备状态
IOT_THING_MODEL_TYPE = 'iot_thing_model_type', // IOT 产品功能类型 IOT_THING_MODEL_TYPE = 'iot_thing_model_type', // IOT 产品功能类型
IOT_DATA_TYPE = 'iot_data_type', // IOT 数据类型 IOT_DATA_TYPE = 'iot_data_type', // IOT 数据类型
IOT_THING_MODEL_UNIT = 'iot_thing_model_unit', // IOT 物模型单位 IOT_THING_MODEL_UNIT = 'iot_thing_model_unit', // IOT 物模型单位

View File

@ -23,13 +23,13 @@
{{ formatDate(device.activeTime) }} {{ formatDate(device.activeTime) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="最后上线时间"> <el-descriptions-item label="最后上线时间">
{{ formatDate(device.lastOnlineTime) }} {{ formatDate(device.onlineTime) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="当前状态"> <el-descriptions-item label="当前状态">
<dict-tag :type="DICT_TYPE.IOT_DEVICE_STATUS" :value="device.status" /> <dict-tag :type="DICT_TYPE.IOT_DEVICE_STATE" :value="device.status" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="最后离线时间" :span="3"> <el-descriptions-item label="最后离线时间" :span="3">
{{ formatDate(device.lastOfflineTime) }} {{ formatDate(device.offlineTime) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="MQTT 连接参数"> <el-descriptions-item label="MQTT 连接参数">
<el-button type="primary" @click="openMqttParams">查看</el-button> <el-button type="primary" @click="openMqttParams">查看</el-button>

View File

@ -64,7 +64,7 @@
class="!w-240px" class="!w-240px"
> >
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.IOT_DEVICE_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.IOT_DEVICE_STATE)"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
@ -161,7 +161,7 @@
<div <div
class="absolute top-0 left-0 right-0 h-[50px] pointer-events-none" class="absolute top-0 left-0 right-0 h-[50px] pointer-events-none"
:class="[ :class="[
item.status === DeviceStatusEnum.ONLINE item.state === DeviceStatusEnum.ONLINE
? 'bg-gradient-to-b from-[#eefaff] to-transparent' ? 'bg-gradient-to-b from-[#eefaff] to-transparent'
: 'bg-gradient-to-b from-[#fff1f1] to-transparent' : 'bg-gradient-to-b from-[#fff1f1] to-transparent'
]" ]"
@ -179,7 +179,7 @@
<div <div
class="w-1 h-1 rounded-full mr-1.5" class="w-1 h-1 rounded-full mr-1.5"
:class=" :class="
item.status === DeviceStatusEnum.ONLINE item.state === DeviceStatusEnum.ONLINE
? 'bg-[var(--el-color-success)]' ? 'bg-[var(--el-color-success)]'
: 'bg-[var(--el-color-danger)]' : 'bg-[var(--el-color-danger)]'
" "
@ -187,9 +187,9 @@
</div> </div>
<el-text <el-text
class="!text-xs font-bold" class="!text-xs font-bold"
:type="item.status === DeviceStatusEnum.ONLINE ? 'success' : 'danger'" :type="item.state === DeviceStatusEnum.ONLINE ? 'success' : 'danger'"
> >
{{ getDictLabel(DICT_TYPE.IOT_DEVICE_STATUS, item.status) }} {{ getDictLabel(DICT_TYPE.IOT_DEVICE_STATE, item.state) }}
</el-text> </el-text>
</div> </div>
</div> </div>
@ -199,9 +199,9 @@
<div class="flex-1"> <div class="flex-1">
<div class="mb-2.5 last:mb-0"> <div class="mb-2.5 last:mb-0">
<span class="text-[#717c8e] mr-2.5">所属产品</span> <span class="text-[#717c8e] mr-2.5">所属产品</span>
<span class="text-[#0070ff]">{{ <span class="text-[#0070ff]">
products.find((p) => p.id === item.productId)?.name {{ products.find((p) => p.id === item.productId)?.name }}
}}</span> </span>
</div> </div>
<div class="mb-2.5 last:mb-0"> <div class="mb-2.5 last:mb-0">
<span class="text-[#717c8e] mr-2.5">设备类型</span> <span class="text-[#717c8e] mr-2.5">设备类型</span>
@ -209,7 +209,9 @@
</div> </div>
<div class="mb-2.5 last:mb-0"> <div class="mb-2.5 last:mb-0">
<span class="text-[#717c8e] mr-2.5">DeviceKey</span> <span class="text-[#717c8e] mr-2.5">DeviceKey</span>
<span class="text-[#0b1d30] inline-block align-middle overflow-hidden text-ellipsis whitespace-nowrap max-w-[130px]"> <span
class="text-[#0b1d30] inline-block align-middle overflow-hidden text-ellipsis whitespace-nowrap max-w-[130px]"
>
{{ item.deviceKey }} {{ item.deviceKey }}
</span> </span>
</div> </div>
@ -306,13 +308,13 @@
</el-table-column> </el-table-column>
<el-table-column label="设备状态" align="center" prop="status"> <el-table-column label="设备状态" align="center" prop="status">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.IOT_DEVICE_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.IOT_DEVICE_STATE" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="最后上线时间" label="最后上线时间"
align="center" align="center"
prop="lastOnlineTime" prop="onlineTime"
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />