<template> <layout-view> <el-descriptions :title="title" :column="column" :size="size" :colon="false" border > <el-descriptions-item label="设备名称" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceName }} </el-descriptions-item> <el-descriptions-item label="设备编码" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceCode }} </el-descriptions-item> <el-descriptions-item label="设备SN码" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceSN }} </el-descriptions-item> <el-descriptions-item label="设备的MAC地址" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceMac }} </el-descriptions-item> <!-- <el-descriptions-item label="站点Id" label-class-name="labelClass" content-class-name="contentClass" > {{ form.siteId }} </el-descriptions-item> --> <el-descriptions-item label="站点编号" label-class-name="labelClass" content-class-name="contentClass" > {{ form.siteCode }} </el-descriptions-item> <el-descriptions-item label="站点名称" label-class-name="labelClass" content-class-name="contentClass" > {{ form.siteName }} </el-descriptions-item> <el-descriptions-item label="平台系统名称" label-class-name="labelClass" content-class-name="contentClass" > {{ form.platformName }} </el-descriptions-item> <el-descriptions-item label="产品名称" label-class-name="labelClass" content-class-name="contentClass" > {{ form.productName }} </el-descriptions-item> <el-descriptions-item label="设备生产厂商名称" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceFirmname }} </el-descriptions-item> <el-descriptions-item label="设备来源" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("deviceSrc", form.deviceSrc) }} </el-descriptions-item> <el-descriptions-item label="数据获取方式" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("deviceDataSourceWay", form.deviceDataSourceWay) }} </el-descriptions-item> <el-descriptions-item label="经度" label-class-name="labelClass" content-class-name="contentClass" > {{ form.lon }} </el-descriptions-item> <el-descriptions-item label="纬度" label-class-name="labelClass" content-class-name="contentClass" > {{ form.lati }} </el-descriptions-item> <el-descriptions-item label="所属楼栋" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceInBuilding }} 栋 </el-descriptions-item> <el-descriptions-item label="所属楼层" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceInFloor }} 层 </el-descriptions-item> <el-descriptions-item label="保修期至" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatterDate(form.defectsLiabilityPeriod) }} </el-descriptions-item> <el-descriptions-item label="负责人" label-class-name="labelClass" content-class-name="contentClass" > {{ form.leadingOfficial }} </el-descriptions-item> <el-descriptions-item label="联系电话" label-class-name="labelClass" content-class-name="contentClass" > {{ form.leadingOfficialTelephone }} </el-descriptions-item> <el-descriptions-item label="是否接收异常短" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("isReceiveMess", form.isReceiveMess) }} </el-descriptions-item> <el-descriptions-item label="设备图片" label-class-name="labelClass" content-class-name="contentClass" > <ImagePreview :src="form.devicePhotoPath" /> </el-descriptions-item> <el-descriptions-item label="设备topic信息" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceTopic }} </el-descriptions-item> <el-descriptions-item label="设备状态 " label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("deviceStatus", form.deviceStatus) }} </el-descriptions-item> <el-descriptions-item label="启用状态 " label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("enabled", form.enabled) }} </el-descriptions-item> <el-descriptions-item label="利旧设备 " label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatters("source", form.source) }} </el-descriptions-item> <el-descriptions-item label="设备授权码" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceAuthCode }} </el-descriptions-item> <el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass" > {{ form.deviceRemark }} </el-descriptions-item> <el-descriptions-item label="最近上线时间" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatterDate(form.onlineTime) }} </el-descriptions-item> <el-descriptions-item label="最近离线时间" label-class-name="labelClass" content-class-name="contentClass" > {{ util_formatterDate(form.offlineTime) }} </el-descriptions-item> </el-descriptions> <br /> <el-descriptions :title="title" :column="column" :size="size" :colon="false" border > <template slot="title"> <i class="el-icon-tickets"></i> 设备位置 </template> </el-descriptions> <!-- <Map></Map> --> <div class="map"> <el-amap vid="amaps" :zoom="20" viewMode="3D" expandZoomRange :center="[siteInfo.longitude, siteInfo.latitude]" > <el-amap-marker vid="2" topWhenClick :label="{ content: `我在${siteInfo.detailAddress}`, offset: [0, -20], }" :position="[siteInfo.longitude, siteInfo.latitude]" :icon="require('@/assets/images/d.png')" ></el-amap-marker> </el-amap> </div> </layout-view> </template> <script> // import view from "@/assets/mixins/view"; export default { // mixins: [view], props: { form: { type: Object, default: null, }, dict: { type: Object, default: null, }, siteInfo: { type: Object, required: true, default: () => {}, }, }, components: {}, created() {}, methods: { util_formatterDate(time) { if (time == null) { return ""; } let date = new Date(Number(time)); let Y = date.getFullYear() + "-"; let M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-"; let D = this.panLeft(date.getDate()) + " "; let h = this.panLeft(date.getHours()) + ":"; let m = this.panLeft(date.getMinutes()) + ":"; let s = this.panLeft(date.getSeconds()); return Y + M + D + h + m + s; }, panLeft(num) { return num < 10 ? "0" + num : num; }, // 从dict字段暴力取值,取不到则返回原值 util_formatter(key, val) { try { return this.dict[key][val]; } catch (error) { return val; } }, util_formatters(key, val) { try { return val .split(",") .map((i) => this.util_formatter(key, i)) .join(","); } catch (error) { return val; } }, }, data() { return { form: {}, size: "small", column: 3, toString: [ "deviceSrc", "deviceDataSourceWay", "deviceInBuilding", "deviceInFloor", "isReceiveMess", "deviceStatus", "enabled", "deleted", ], toArrays: [], toDate: [], }; }, }; </script> <style lang="less"> .labelClass { width: 200px; } .el-descriptions__body { margin-left: 5px; margin-right: 5px; color: #606266; background-color: #fff; } .contentClass { width: 600px; } .map { width: 100%; height: 600px; } </style>