From 45ebd886f35617ca02f84b3ea90de1a8d68eeb0e Mon Sep 17 00:00:00 2001 From: LSF <695944503@qq.com> Date: Mon, 12 Aug 2024 20:17:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?add:=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9A=84=E9=80=9A=E4=BF=A1=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/device/add-or-update.vue | 7 ++++++- src/views/iot/device/device-debug.vue | 24 +++++++++--------------- src/views/iot/device/device-details.vue | 8 ++++++-- src/views/iot/device/device-info.vue | 20 ++++++++++++++------ src/views/iot/device/index.vue | 6 +++++- 5 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/views/iot/device/add-or-update.vue b/src/views/iot/device/add-or-update.vue index d7560d1..c4596d8 100644 --- a/src/views/iot/device/add-or-update.vue +++ b/src/views/iot/device/add-or-update.vue @@ -13,6 +13,9 @@ + + + @@ -43,6 +46,7 @@ const dataForm = reactive({ name: '', type: '', uid: '', + protocolType:'', secret: '', status: '1' }) @@ -73,7 +77,8 @@ const dataRules = ref({ type: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }], uid: [{ required: true, message: '唯一标识码不能为空', trigger: 'blur' }], secret: [{ required: true, message: '设备密钥不能为空', trigger: 'blur' }], - status: [{ required: true, message: '状态不能为空', trigger: 'blur' }] + status: [{ required: true, message: '状态不能为空', trigger: 'blur' }], + protocolType: [{ required: true, message: '通信协议不能为空', trigger: 'blur' }] }) // 表单提交 diff --git a/src/views/iot/device/device-debug.vue b/src/views/iot/device/device-debug.vue index c72fc90..885f2de 100644 --- a/src/views/iot/device/device-debug.vue +++ b/src/views/iot/device/device-debug.vue @@ -6,12 +6,7 @@ - - - - - - + @@ -52,12 +47,7 @@ - - - - - - + @@ -108,12 +98,16 @@ const props = defineProps({ deviceId: { type: Number, required: true - } + }, + protocolType: { + type: String, + required: true + } }) const serviceDebugDataForm = reactive({ deviceId: props.deviceId, - accessProtocol: 'MQTT', + accessProtocol: props.protocolType, command: 'LOCK', payload: '', waitResponse: '0' @@ -122,7 +116,7 @@ const serviceDebugDataForm = reactive({ //设备属性上报表单 const propertyDataForm = reactive({ deviceId: props.deviceId, - accessProtocol: 'MQTT', + accessProtocol: props.protocolType, propertyType: 'RUNNING_STATUS', command: 'LOCK', payload: '0' diff --git a/src/views/iot/device/device-details.vue b/src/views/iot/device/device-details.vue index 67b94e4..233ae49 100644 --- a/src/views/iot/device/device-details.vue +++ b/src/views/iot/device/device-details.vue @@ -11,7 +11,7 @@ - + @@ -29,7 +29,11 @@ const props = defineProps({ deviceId: { type: Number, required: true - } + }, + protocolType: { + type: String, + required: true + } }) // 默认显示的标签页名称 diff --git a/src/views/iot/device/device-info.vue b/src/views/iot/device/device-info.vue index 490b686..205fe17 100644 --- a/src/views/iot/device/device-info.vue +++ b/src/views/iot/device/device-info.vue @@ -49,22 +49,29 @@ + + + + + - - - - - + + + + + + + - + 创建信息 @@ -98,6 +105,7 @@ const dataForm = reactive({ appVersion: '', batteryPercent: '', temperature: '', + protocolType: '', status: '', runningStatus: '', upTime: '', diff --git a/src/views/iot/device/index.vue b/src/views/iot/device/index.vue index dca6cb9..4788ff9 100644 --- a/src/views/iot/device/index.vue +++ b/src/views/iot/device/index.vue @@ -42,6 +42,7 @@ + @@ -69,7 +70,7 @@ - + @@ -93,11 +94,14 @@ const addOrUpdateRef = ref() const deviceDetailsVisible = ref(false) const deviceDetailsTitle = ref() const deviceId = ref() +const protocolType = ref() const showDeviceDetailsHandle = (row: any) => { deviceId.value = row.id + protocolType.value = row.protocolType deviceDetailsTitle.value = '设备 - ' + row.code + '-' + row.name deviceDetailsVisible.value = true } + const addOrUpdateHandle = (id?: number) => { addOrUpdateRef.value.init(id) } -- Gitee From 20e3f005779307b04b3dffdc75b51732d8045d0f Mon Sep 17 00:00:00 2001 From: LSF <695944503@qq.com> Date: Tue, 20 Aug 2024 10:46:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?add:=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/device/device-event.vue | 2 +- src/views/iot/device/index.vue | 34 ++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/views/iot/device/device-event.vue b/src/views/iot/device/device-event.vue index ba4b62d..3cb356c 100644 --- a/src/views/iot/device/device-event.vue +++ b/src/views/iot/device/device-event.vue @@ -20,7 +20,7 @@ @selection-change="selectionChangeHandle" > - + diff --git a/src/views/iot/device/index.vue b/src/views/iot/device/index.vue index 4788ff9..ac30cf4 100644 --- a/src/views/iot/device/index.vue +++ b/src/views/iot/device/index.vue @@ -45,7 +45,23 @@ - + + + + @@ -107,4 +123,20 @@ const addOrUpdateHandle = (id?: number) => { } const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle, reset } = useCrud(state) + +const batteryFormat = (percentage: number) => { + return percentage === 100 ? '满' : `${percentage}%` +} + + +const formatBatteryPercentage = (percentage: number | undefined) => { + return percentage !== undefined ? percentage : 0 +} + +const getBatteryColor = (percentage) => { + if (percentage >= 80) return '#67C23A' // Green + if (percentage >= 60) return '#409EFF' // Blue + if (percentage >= 30) return '#E6A23C' // Yellow + return '#F56C6C' // Red +} -- Gitee