设备详情

This commit is contained in:
hh
2020-12-02 14:47:01 +08:00
parent 7939aa814c
commit 97d93efffe
6 changed files with 158 additions and 14 deletions

View File

@ -13,3 +13,9 @@ export function getProvinceByParent(id) {
method: 'get',
})
}
export function getProvinceByCode(code) {
return request({
url: '/system/province/getProvinceByCode?code=' + code,
method: 'get',
})
}

View File

@ -13,6 +13,15 @@
.pb5 {
padding-bottom: 5px;
}
.pb10 {
padding-bottom: 10px;
}
.pb20 {
padding-bottom: 20px;
}
.p20 {
padding: 20px;
}
.mt5 {
margin-top: 5px;
}
@ -53,9 +62,18 @@
margin-bottom: 20px;
}
.m20 {
margin-left: 20px;
margin: 20px;
}
.tc {
text-align: center;
}
.tr {
text-align: right;
}
.el-dialog:not(.is-fullscreen){
margin-top: 6vh !important;
}
@ -245,4 +263,8 @@
position: relative;
float: right;
padding-right: 5px;
}
.scrollbar-wrapper {
overflow-x: hidden !important;
}

View File

@ -19,6 +19,8 @@ import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
import { formatDate } from "@/utils";
import Pagination from "@/components/Pagination";
//自定义表格工具扩展
import RightToolbar from "@/components/RightToolbar"
@ -67,6 +69,10 @@ Vue.use(Element, {
Vue.config.productionTip = false
Vue.filter('formatDate', function (value) {
return formatDate(value); // 这是时间戳转时间
});
new Vue({
el: '#app',
router,

View File

@ -0,0 +1,107 @@
<template>
<section class="app-container">
<el-row>
<el-col :span="8">
<span>设备名称{{info.deviceName }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>设备型号{{info.deviceModel }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>设备编码{{info.deviceCode }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>设备类型{{ info.deviceType ? this.deviceTypeList.find(v=> v.value == info.deviceType).label : '' }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>{{ info.proName }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>{{ info.cityName }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>{{ info.disName }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>备注{{ info.remark || '无' }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>修改时间{{ info.updateTime | formatDate }}</span>
<el-divider class="mt10 mb10"></el-divider>
<span>创建时间{{ info.createTime | formatDate }}</span>
</el-col>
<el-col :offset="3" :span="10" class="p20">
<el-scrollbar style="height: 550px;" wrap-class="scrollbar-wrapper">
<div v-for="v in signal" :key="v.id" style="width: 80%">
<el-row class="pb20">
<el-col :span="12">
<div class="pb10">{{v.keyCN}}{{v.valueCN}}</div>
</el-col>
<el-col :span="12" class="tr">{{signalUpdateTime | formatDate }}</el-col>
</el-row>
</div>
</el-scrollbar>
</el-col>
</el-row>
</section>
</template>
<script>
import {
info,
} from "@/api/hardware/device";
import { getProvinceByCode } from "@/api/hardware/province";
export default {
name: "DeviceDetail",
data () {
return {
id: '',
info: {},
signal: [],
signalUpdateTime: '',
deviceTypeList: [
{ 'label': '锐能设备', 'value': 'rn', },
{ 'label': '铁塔设备', 'value': 'tt', },
],
};
},
created () {
let { id } = this.$route.query;
if (!id) {
this.msgError('无设备ID');
this.$router.go(-1);
return;
}
this.id = id;
this.getDetail()
},
methods: {
getDetail () {
info(this.id).then(async ({ code, msg, info }) => {
if (200 == code) {
info.proName = await this.getProvinceByCode(info.proCode);
info.cityName = await this.getProvinceByCode(info.cityCode);
info.disName = await this.getProvinceByCode(info.disCode);
this.info = info;
let deviceSignal = JSON.parse(info.deviceSignal.signalJsonTurn);
this.signalUpdateTime = info.deviceSignal.updateTime;
this.signal = deviceSignal.signal.concat(deviceSignal.signal, deviceSignal.signal, deviceSignal.signal);
} else {
this.msgError(msg);
}
})
},
getProvinceByCode (code) {
return new Promise((resolve, reject) => {
getProvinceByCode(code).then(({ code, msg, data }) => {
if (code == 200) {
resolve(data.cityName);
} else {
this.$message.error(msg);
reject({ msg, code })
}
}).catch(error => {
reject(error)
})
})
},
}
}
</script>
<style>
</style>

View File

@ -43,9 +43,12 @@
<el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center">
</el-table-column>
<el-table-column prop="deviceId" align="center" label="设备SN">
<el-table-column prop="deviceId" align="center" label="设备SN" min-width="200">
</el-table-column>
<el-table-column prop="deviceName" align="center" label="设备名称">
<el-table-column prop="deviceName" align="center" label="设备名称" min-width="150">
<template slot-scope="scope">
<el-link type="primary" :href="'./detail?id=' + scope.row.id " target="_blank">{{scope.row.deviceName}}</el-link>
</template>
</el-table-column>
<el-table-column prop="deviceType" align="center" label="类型">
<template slot-scope="scope">{{getDeviceTypeLabel(scope.row.deviceType)}}</template>
@ -58,15 +61,15 @@
</el-table-column>
<el-table-column prop="deviceModel" align="center" label="装置模型">
</el-table-column> -->
<el-table-column prop="proName" align="center" label="省份">
<el-table-column prop="proName" align="center" label="省份" min-width="80">
</el-table-column>
<el-table-column prop="cityName" align="center" label="市">
<el-table-column prop="cityName" align="center" label="市" min-width="80">
</el-table-column>
<el-table-column prop="disName" align="center" label="区">
<el-table-column prop="disName" align="center" label="区" min-width="80">
</el-table-column>
<!-- <el-table-column prop="status" align="center" label="在线状态">
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="250">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAddnode(scope.row)">新增节点
</el-button>
@ -157,11 +160,11 @@
</el-row> -->
<!-- <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="nodeMultiple" @click="batchHandleDeletenode">批量删除</el-button> -->
<el-table :data="nodeData" @selection-change="nodeHandleSelectionChange">
<el-table-column type="selection" width="55" align="center">
</el-table-column>
<el-table-column prop="deviceId" label="设备SN"></el-table-column>
<el-table-column prop="nodeId" label="节点SN"></el-table-column>
<el-table-column prop="nowVersion" label="节点版本"></el-table-column>
<!-- <el-table-column type="selection" width="55" align="center">
</el-table-column> -->
<el-table-column align="center" prop="deviceId" label="设备SN"></el-table-column>
<el-table-column align="center" prop="nodeId" label="节点SN"></el-table-column>
<el-table-column align="center" prop="nowVersion" label="节点版本"></el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdatenode(scope.row)">修改</el-button>

View File

@ -127,13 +127,13 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']"
>修改</el-button>
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-circle-check"
@click="handleDataScope(scope.row)"
v-hasPermi="['system:role:edit']"
>数据权限</el-button>
>数据权限</el-button> -->
<el-button
size="mini"
type="text"