From 06d03ada2524da10d6d6f3ff435294df6ff48094 Mon Sep 17 00:00:00 2001 From: SjS Date: Fri, 25 Apr 2025 20:17:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=81=E8=A2=AB=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bst/deviceIot.js | 21 ++ src/api/bst/suit.js | 44 ++++ src/components/DotStatus/index.vue | 100 ++++++++ src/utils/constants.js | 11 + src/views/bst/device/deviceDetail.vue | 158 ++++++------- src/views/bst/suit/index.vue | 327 ++++++++++++++++++++++++++ 6 files changed, 574 insertions(+), 87 deletions(-) create mode 100644 src/api/bst/deviceIot.js create mode 100644 src/api/bst/suit.js create mode 100644 src/components/DotStatus/index.vue create mode 100644 src/views/bst/suit/index.vue diff --git a/src/api/bst/deviceIot.js b/src/api/bst/deviceIot.js new file mode 100644 index 0000000..d7a3085 --- /dev/null +++ b/src/api/bst/deviceIot.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 刷新物联网设备信息 +export function refreshIot(deviceId, onlineType) { + return request({ + url: `/bst/device/iot/${deviceId}/refreshIot`, + method: 'get', + timeout: 20000, + params: { + onlineType + } + }) +} + +// 设备开关 +export function switchDevice(deviceId, open) { + return request({ + url: `/bst/device/iot/${deviceId}/switch?open=${open}`, + method: 'put' + }) +} diff --git a/src/api/bst/suit.js b/src/api/bst/suit.js new file mode 100644 index 0000000..e4fa09f --- /dev/null +++ b/src/api/bst/suit.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询套餐列表 +export function listSuit(query) { + return request({ + url: '/bst/suit/list', + method: 'get', + params: query + }) +} + +// 查询套餐详细 +export function getSuit(suitId) { + return request({ + url: '/bst/suit/' + suitId, + method: 'get' + }) +} + +// 新增套餐 +export function addSuit(data) { + return request({ + url: '/bst/suit', + method: 'post', + data: data + }) +} + +// 修改套餐 +export function updateSuit(data) { + return request({ + url: '/bst/suit', + method: 'put', + data: data + }) +} + +// 删除套餐 +export function delSuit(suitId) { + return request({ + url: '/bst/suit/' + suitId, + method: 'delete' + }) +} diff --git a/src/components/DotStatus/index.vue b/src/components/DotStatus/index.vue new file mode 100644 index 0000000..bab665c --- /dev/null +++ b/src/components/DotStatus/index.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/src/utils/constants.js b/src/utils/constants.js index bee78bc..b59a016 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -126,3 +126,14 @@ export const ModelTag = { ELE: "5", // 电量 } +// 型号功能 +export const OnlineStatus = { + OFFLINE: "0", // 离线 + ONLINE: "1", // 在线 +} + +// 设备获取在线状态类型 +export const DeviceOnlineType = { + GET: "1", //OneNet获取 + COMMAND: "2", // 命令获取 +} diff --git a/src/views/bst/device/deviceDetail.vue b/src/views/bst/device/deviceDetail.vue index 619ac47..888988c 100644 --- a/src/views/bst/device/deviceDetail.vue +++ b/src/views/bst/device/deviceDetail.vue @@ -12,29 +12,23 @@ {{ deviceData.deviceName | dv }} - - - - - - 最后在线: - {{ deviceData.lastOnlineTime | dv }} - + + + + + + + - - 反转开关 - - - 正转开关 - + + + + + + 强制开启 @@ -44,10 +38,10 @@ 刷新设备信息 - - 设备二维码 - - + + + + @@ -62,13 +56,13 @@ MAC-1: {{ deviceData.mac | dv }} - +
MAC-2: {{ deviceData.mac2 | dv }} - +
@@ -90,11 +84,6 @@ 版本号: {{ deviceData.version | dv }}
-
- - WIFI: - {{ deviceData.wifi | dv }} -
开关设置: @@ -103,7 +92,7 @@
功能: - +
@@ -148,31 +137,31 @@ - -
-
- 电力参数 -
-
-
-
电压
-
{{ deviceData.voltage | fix2 | dv }} V
-
-
-
电流
-
{{ deviceData.electricity | fix2 | dv }} A
-
-
-
功率
-
{{ deviceData.realTimePower | fix2 | dv }} W
-
-
-
电压系数
-
{{ deviceData.vxs | fix3 | dv }}
-
-
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + @@ -233,12 +222,12 @@ - - - - - - + + + + + + {{ deviceData.remark | dv }} @@ -256,31 +245,32 @@ import {toDescriptionFromSecond} from '@/utils/date' import BooleanTag from '@/components/BooleanTag/index.vue' import {isEmpty} from '@/utils' import LineField from '@/components/LineField/index.vue' - +import {DeviceOnlineType,OnlineStatus} from "@/utils/constants"; +import {ModelTag} from "@/utils/constants"; +import DotStatus from "@/components/DotStatus/index.vue"; +import {refreshIot} from "@/api/bst/deviceIot"; +import {getDevice} from "@/api/bst/device"; +import {switchDevice} from "@/api/bst/deviceIot"; export default { - name: 'Device/:deviceId', + name: 'DeviceView', dicts: [ - 'sm_device_status', - 'sm_device_outage_way', - 'sm_device_notice_way', - 'sm_model_tag', - 'sm_device_online_status', - 'service_type', - 'device_service_mode', - 'time_unit', - 'bonus_arrival_type', - 'device_user_opera_type', - 'device_set' + 'device_set', + 'device_online_status', + 'device_status', + 'device_power_status', + 'device_model_tag', + 'model_type', ], components: { + DotStatus, LineField, BooleanTag, - QrCode + QrCode, + OnlineStatus }, data() { return { - showSetWifi: false, loading: false, deviceData: { modelTags: [], @@ -300,15 +290,15 @@ export default { }, // 设备ID deviceId: null, - DeviceOnlineStatus, - DeviceStatus, + OnlineStatus, ModelTag, - DeviceServiceMode, - DeviceOnlineType, editDialogVisible: false } }, computed: { + DeviceOnlineType() { + return DeviceOnlineType + }, // 计算数据库电量 calcDbEle() { return (device) => { @@ -417,12 +407,6 @@ export default { }) }) }, - onSetWifiSuccess(data) { - this.deviceData.wifi = data.wifiName; - }, - handleSetWifi() { - this.showSetWifi = true; - }, isEmpty, handleUnbind() { this.$confirm('是否强制解绑该商户?', '警告', { diff --git a/src/views/bst/suit/index.vue b/src/views/bst/suit/index.vue new file mode 100644 index 0000000..c80b446 --- /dev/null +++ b/src/views/bst/suit/index.vue @@ -0,0 +1,327 @@ + + +