设备授权码改进

This commit is contained in:
kerwincui
2022-06-15 16:59:42 +08:00
parent a908ca60a9
commit 422ebf51d8
3 changed files with 92 additions and 8 deletions

View File

@@ -52,6 +52,14 @@ export function getDevice(deviceId) {
}) })
} }
// 根据设备编号查询设备详细
export function getDeviceBySerialNumber(serialNumber) {
return request({
url: '/iot/device/getDeviceBySerialNumber/' + serialNumber,
method: 'get'
})
}
// 查询设备统计信息 // 查询设备统计信息
export function getDeviceStatistic() { export function getDeviceStatistic() {
return request({ return request({

View File

@@ -58,7 +58,7 @@
</el-row> </el-row>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="15"> <el-col :span="15">
<div style="text-align:left;line-height:40px;"> <div style="text-align:left;line-height:40px;white-space:nowrap;">
<dict-tag :options="dict.type.iot_device_status" :value="item.status" size="small" style="display:inline-block;" /> <dict-tag :options="dict.type.iot_device_status" :value="item.status" size="small" style="display:inline-block;" />
<span style="display:inline-block;margin:0 10px;"> <span style="display:inline-block;margin:0 10px;">
<el-tag type="success" size="small" v-if="item.isShadow==1">影子</el-tag> <el-tag type="success" size="small" v-if="item.isShadow==1">影子</el-tag>
@@ -239,7 +239,7 @@ export default {
// 设备列表数据 // 设备列表数据
deviceList: [], deviceList: [],
// 我的分组列表数据 // 我的分组列表数据
myGroupList:[], myGroupList: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
@@ -289,7 +289,10 @@ export default {
if (time != null && time != this.uniqueId) { if (time != null && time != this.uniqueId) {
this.uniqueId = time; this.uniqueId = time;
// 页码筛选 // 页码筛选
this.queryParams.pageNum = Number(this.$route.query.pageNum); let pageNum = this.$route.query.pageNum;
if (pageNum != null) {
this.queryParams.pageNum = Number(pageNum);
}
// 产品筛选 // 产品筛选
let productId = this.$route.query.productId let productId = this.$route.query.productId
if (productId != null) { if (productId != null) {
@@ -309,10 +312,10 @@ export default {
/** 查询设备分组列表 */ /** 查询设备分组列表 */
getGroupList() { getGroupList() {
this.loading = true; this.loading = true;
let queryParams ={ let queryParams = {
pageSize:30, pageSize: 30,
pageNum:1, pageNum: 1,
userId:this.$store.state.user.userId userId: this.$store.state.user.userId
} }
listGroup(queryParams).then(response => { listGroup(queryParams).then(response => {
this.myGroupList = response.rows; this.myGroupList = response.rows;

View File

@@ -47,7 +47,11 @@
<dict-tag :options="dict.type.iot_auth_status" :value="scope.row.status" /> <dict-tag :options="dict.type.iot_auth_status" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备编号" width="150" align="center" prop="serialNumber" /> <el-table-column label="设备编号" width="150" align="center" prop="serialNumber">
<template slot-scope="scope">
<el-link type="primary" @click="getDeviceBySerialNumber(scope.row.serialNumber)" :underline="false">{{scope.row.serialNumber}}</el-link>
</template>
</el-table-column>
<el-table-column label="授权时间" align="center" prop="updateTime" width="180"> <el-table-column label="授权时间" align="center" prop="updateTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
@@ -107,6 +111,47 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 设备详情对话框 -->
<el-dialog title="设备详情" :visible.sync="openDevice" width="600" append-to-body>
<el-descriptions border :column="2" size="medium">
<el-descriptions-item label="设备ID">{{device.deviceId}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{device.deviceName}}</el-descriptions-item>
<el-descriptions-item label="设备编号">{{device.serialNumber}}</el-descriptions-item>
<el-descriptions-item label="设备状态">
<!-- 1-未激活2-禁用3-在线4-离线 -->
<el-tag v-if="device.status==1" type="warning">未激活</el-tag>
<el-tag v-else-if="device.status==2" type="danger">禁用</el-tag>
<el-tag v-else-if="device.status==3" type="success">在线</el-tag>
<el-tag v-else-if="device.status==4" type="info">离线</el-tag>
</el-descriptions-item>
<el-descriptions-item label="设备影子">
<el-tag v-if="device.isShadow==1" type="success">启用</el-tag>
<el-tag v-else type="info">未启用</el-tag>
</el-descriptions-item>
<el-descriptions-item label="定位方式">
<!-- (1=ip自动定位2=设备定位3=自定义) -->
<el-tag v-if="device.locationWay==1" type="success">自动定位</el-tag>
<el-tag v-else-if="device.locationWay==2" type="warning">设备定位</el-tag>
<el-tag v-else-if="device.locationWay==3" type="primary">自定义位置</el-tag>
</el-descriptions-item>
<el-descriptions-item label="产品名称">{{device.productName}}</el-descriptions-item>
<el-descriptions-item label="租户名称">{{device.userName}}</el-descriptions-item>
<el-descriptions-item label="固件版本">Version {{device.firmwareVersion}}</el-descriptions-item>
<el-descriptions-item label="所在地址">{{device.networkAddress}}</el-descriptions-item>
<el-descriptions-item label="设备经度">{{device.longitude}}</el-descriptions-item>
<el-descriptions-item label="设备纬度">{{device.latitude}}</el-descriptions-item>
<el-descriptions-item label="入网IP">{{device.networkIp}}</el-descriptions-item>
<el-descriptions-item label="设备信号">{{device.rssi}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{device.createTime}}</el-descriptions-item>
<el-descriptions-item label="激活时间">{{device.activeTime}}</el-descriptions-item>
<el-descriptions-item label="备注信息">{{device.remark}}</el-descriptions-item>
</el-descriptions>
<div slot="footer" class="dialog-footer">
<el-button @click="goToEditDevice(device.deviceId)" type="primary">查看设备</el-button>
<el-button @click="closeDevice"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -121,6 +166,9 @@
</style> </style>
<script> <script>
import {
getDeviceBySerialNumber,
} from "@/api/iot/device";
import { import {
listUnAuthDevice, listUnAuthDevice,
} from "@/api/iot/device"; } from "@/api/iot/device";
@@ -154,6 +202,10 @@ export default {
}, },
data() { data() {
return { return {
// 设备信息
device: {},
// 设备信息对话框
openDevice: false,
// 设备遮罩层 // 设备遮罩层
deviceLoading: true, deviceLoading: true,
// 总条数 // 总条数
@@ -223,6 +275,23 @@ export default {
}, },
methods: { methods: {
/**获取设备详情*/
getDeviceBySerialNumber(serialNumber) {
this.openDevice = true;
getDeviceBySerialNumber(serialNumber).then(response => {
this.device = response.data;
});
},
/** 修改按钮操作 */
goToEditDevice(deviceId) {
this.openDevice=false;
this.$router.push({
path: '/iot/device-edit',
query: {
deviceId: deviceId,
}
});
},
/** 查询设备列表 */ /** 查询设备列表 */
getDeviceList() { getDeviceList() {
this.deviceLoading = true; this.deviceLoading = true;
@@ -281,6 +350,10 @@ export default {
this.open = false; this.open = false;
this.reset(); this.reset();
}, },
// 关闭设备详情
closeDevice() {
this.openDevice = false;
},
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {