1
1
<!-- 设备信息 -->
2
2
<template >
3
3
<ContentWrap >
4
- <el-collapse v-model =" activeNames" >
5
- <el-descriptions :column =" 3" title =" 设备信息" >
6
- <el-descriptions-item label =" 产品名称" >{{ product.name }}</el-descriptions-item >
7
- <el-descriptions-item label =" ProductKey" >
8
- {{ product.productKey }}
9
- <el-button @click =" copyToClipboard(product.productKey)" >复制</el-button >
10
- </el-descriptions-item >
11
- <el-descriptions-item label =" 设备类型" >
12
- <dict-tag :type =" DICT_TYPE.IOT_PRODUCT_DEVICE_TYPE" :value =" product.deviceType" />
13
- </el-descriptions-item >
14
- <el-descriptions-item label =" DeviceName" >
15
- {{ device.deviceName }}
16
- <el-button @click =" copyToClipboard(device.deviceName)" >复制</el-button >
17
- </el-descriptions-item >
18
- <el-descriptions-item label =" 备注名称" >{{ device.nickname }}</el-descriptions-item >
19
- <el-descriptions-item label =" 创建时间" >
20
- {{ formatDate(device.createTime) }}
21
- </el-descriptions-item >
22
- <el-descriptions-item label =" 激活时间" >
23
- {{ formatDate(device.activeTime) }}
24
- </el-descriptions-item >
25
- <el-descriptions-item label =" 最后上线时间" >
26
- {{ formatDate(device.onlineTime) }}
27
- </el-descriptions-item >
28
- <el-descriptions-item label =" 当前状态" >
29
- <dict-tag :type =" DICT_TYPE.IOT_DEVICE_STATE" :value =" device.status" />
30
- </el-descriptions-item >
31
- <el-descriptions-item label =" 最后离线时间" :span =" 3" >
32
- {{ formatDate(device.offlineTime) }}
33
- </el-descriptions-item >
34
- <el-descriptions-item label =" MQTT 连接参数" >
35
- <el-button type =" primary" @click =" openMqttParams" >查看</el-button >
36
- </el-descriptions-item >
37
- </el-descriptions >
38
- </el-collapse >
39
-
40
- <!-- MQTT 连接参数弹框 -->
41
- <Dialog
42
- title =" MQTT 连接参数"
43
- v-model =" mqttDialogVisible"
44
- width =" 50%"
45
- :before-close =" handleCloseMqttDialog"
46
- >
47
- <el-form :model =" mqttParams" label-width =" 120px" >
48
- <el-form-item label =" clientId" >
49
- <el-input v-model =" mqttParams.mqttClientId" readonly >
50
- <template #append >
51
- <el-button @click =" copyToClipboard(mqttParams.mqttClientId)" type =" primary" >
52
- <Icon icon =" ph:copy" />
53
- </el-button >
54
- </template >
55
- </el-input >
56
- </el-form-item >
57
- <el-form-item label =" username" >
58
- <el-input v-model =" mqttParams.mqttUsername" readonly >
59
- <template #append >
60
- <el-button @click =" copyToClipboard(mqttParams.mqttUsername)" type =" primary" >
61
- <Icon icon =" ph:copy" />
62
- </el-button >
63
- </template >
64
- </el-input >
65
- </el-form-item >
66
- <el-form-item label =" passwd" >
67
- <el-input v-model =" mqttParams.mqttPassword" readonly type =" password" >
68
- <template #append >
69
- <el-button @click =" copyToClipboard(mqttParams.mqttPassword)" type =" primary" >
70
- <Icon icon =" ph:copy" />
71
- </el-button >
72
- </template >
73
- </el-input >
74
- </el-form-item >
75
- </el-form >
76
- <template #footer >
77
- <el-button @click =" mqttDialogVisible = false" >关闭</el-button >
78
- </template >
79
- </Dialog >
4
+ <el-descriptions :column =" 3" title =" 设备信息" >
5
+ <el-descriptions-item label =" 产品名称" >{{ product.name }}</el-descriptions-item >
6
+ <el-descriptions-item label =" ProductKey" >
7
+ {{ product.productKey }}
8
+ <el-button @click =" copyToClipboard(product.productKey)" >复制</el-button >
9
+ </el-descriptions-item >
10
+ <el-descriptions-item label =" 设备类型" >
11
+ <dict-tag :type =" DICT_TYPE.IOT_PRODUCT_DEVICE_TYPE" :value =" product.deviceType" />
12
+ </el-descriptions-item >
13
+ <el-descriptions-item label =" DeviceName" >
14
+ {{ device.deviceName }}
15
+ <el-button @click =" copyToClipboard(device.deviceName)" >复制</el-button >
16
+ </el-descriptions-item >
17
+ <el-descriptions-item label =" 备注名称" >{{ device.nickname }}</el-descriptions-item >
18
+ <el-descriptions-item label =" 创建时间" >
19
+ {{ formatDate(device.createTime) }}
20
+ </el-descriptions-item >
21
+ <el-descriptions-item label =" 当前状态" >
22
+ <dict-tag :type =" DICT_TYPE.IOT_DEVICE_STATE" :value =" device.state" />
23
+ </el-descriptions-item >
24
+ <el-descriptions-item label =" 激活时间" >
25
+ {{ formatDate(device.activeTime) }}
26
+ </el-descriptions-item >
27
+ <el-descriptions-item label =" 最后上线时间" >
28
+ {{ formatDate(device.onlineTime) }}
29
+ </el-descriptions-item >
30
+ <el-descriptions-item label =" 最后离线时间" :span =" 3" >
31
+ {{ formatDate(device.offlineTime) }}
32
+ </el-descriptions-item >
33
+ <el-descriptions-item label =" MQTT 连接参数" >
34
+ <el-button type =" primary" @click =" openMqttParams" >查看</el-button >
35
+ </el-descriptions-item >
36
+ </el-descriptions >
80
37
</ContentWrap >
38
+
39
+ <!-- MQTT 连接参数弹框 -->
40
+ <Dialog
41
+ title =" MQTT 连接参数"
42
+ v-model =" mqttDialogVisible"
43
+ width =" 50%"
44
+ :before-close =" handleCloseMqttDialog"
45
+ >
46
+ <el-form :model =" mqttParams" label-width =" 120px" >
47
+ <el-form-item label =" clientId" >
48
+ <el-input v-model =" mqttParams.mqttClientId" readonly >
49
+ <template #append >
50
+ <el-button @click =" copyToClipboard(mqttParams.mqttClientId)" type =" primary" >
51
+ <Icon icon =" ph:copy" />
52
+ </el-button >
53
+ </template >
54
+ </el-input >
55
+ </el-form-item >
56
+ <el-form-item label =" username" >
57
+ <el-input v-model =" mqttParams.mqttUsername" readonly >
58
+ <template #append >
59
+ <el-button @click =" copyToClipboard(mqttParams.mqttUsername)" type =" primary" >
60
+ <Icon icon =" ph:copy" />
61
+ </el-button >
62
+ </template >
63
+ </el-input >
64
+ </el-form-item >
65
+ <el-form-item label =" passwd" >
66
+ <el-input v-model =" mqttParams.mqttPassword" readonly type =" password" >
67
+ <template #append >
68
+ <el-button @click =" copyToClipboard(mqttParams.mqttPassword)" type =" primary" >
69
+ <Icon icon =" ph:copy" />
70
+ </el-button >
71
+ </template >
72
+ </el-input >
73
+ </el-form-item >
74
+ </el-form >
75
+ <template #footer >
76
+ <el-button @click =" mqttDialogVisible = false" >关闭</el-button >
77
+ </template >
78
+ </Dialog >
79
+
80
+ <!-- TODO 待开发:设备标签 -->
81
+ <!-- TODO 待开发:设备地图 -->
81
82
</template >
82
83
<script setup lang="ts">
83
84
import { DICT_TYPE } from ' @/utils/dict'
@@ -90,7 +91,6 @@ const message = useMessage() // 消息提示
90
91
const { product, device } = defineProps <{ product: ProductVO ; device: DeviceVO }>() // 定义 Props
91
92
const emit = defineEmits ([' refresh' ]) // 定义 Emits
92
93
93
- const activeNames = ref ([' basicInfo' ]) // 展示的折叠面板
94
94
const mqttDialogVisible = ref (false ) // 定义 MQTT 弹框的可见性
95
95
const mqttParams = ref ({
96
96
mqttClientId: ' ' ,
0 commit comments