|
@@ -18,7 +18,7 @@
|
|
|
<!--主体-->
|
|
|
<div class="con_left">
|
|
|
<div class="list_tit">设备列表</div>
|
|
|
- <el-select v-model="value" placeholder="请选择">
|
|
|
+ <el-select v-model="listParams.brand" placeholder="请选择" @change="brandHasChanged" clearable>
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:key="item.value"
|
|
@@ -29,29 +29,33 @@
|
|
|
<el-input
|
|
|
placeholder="请输入内容"
|
|
|
suffix-icon="el-icon-search"
|
|
|
- v-model="input1">
|
|
|
+ v-model="listParams.deviceName">
|
|
|
</el-input>
|
|
|
<dl class="sp_list">
|
|
|
- <dt><span class="dt1">序号</span><span class="dt2">设备名称</span><span class="dt3">定位</span></dt>
|
|
|
+ <dt>
|
|
|
+ <span class="dt1">序号</span>
|
|
|
+ <span class="dt2">设备名称</span>
|
|
|
+ <span class="dt3">定位</span>
|
|
|
+ </dt>
|
|
|
<div class="hei_scroll hei56">
|
|
|
- <dd><span class="dt1">0101</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0102</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0103</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0104</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0105</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0101</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0102</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0103</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0104</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0105</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0102</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0103</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
- <dd><span class="dt1">0104</span><span class="dt2">G068545</span><span class="dt3"><img src="../assets/images/sentinel/hz_list_d.png"/></span></dd>
|
|
|
+ <dd v-for="(e,idx) in deviceListSearch" :key="idx">
|
|
|
+ <span class="dt1">{{ idx + 1 }}</span>
|
|
|
+ <span class="dt2">{{ e.deviceName }}</span>
|
|
|
+ <span class="dt3">
|
|
|
+ <img
|
|
|
+ style="cursor: pointer;"
|
|
|
+ @click="dropLocation(e.latitude,e.longitude)"
|
|
|
+ src="../assets/images/sentinel/hz_list_d.png"
|
|
|
+ />
|
|
|
+ </span>
|
|
|
+ </dd>
|
|
|
</div>
|
|
|
</dl>
|
|
|
<el-pagination
|
|
|
background
|
|
|
layout="prev, pager, next"
|
|
|
+ :current-page.sync="listParams.pageNum"
|
|
|
+ @current-change="pageNumHasChanged"
|
|
|
:total="100">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
@@ -90,6 +94,12 @@
|
|
|
import Cookies from 'js-cookie'
|
|
|
import supermap from '@/components/supermap-2.5d' //超图
|
|
|
import {getUserProfile} from "@/api/system/user";
|
|
|
+ import {
|
|
|
+ listDeviceAll,
|
|
|
+ selectBrandList,
|
|
|
+ selectByDeviceId,
|
|
|
+ selectDailyThreshold
|
|
|
+ } from "@/api/sentinel"
|
|
|
|
|
|
import '../assets/styles/hz_body.css';
|
|
|
|
|
@@ -116,7 +126,30 @@
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.getListDeviceAll()
|
|
|
+ // 查询品牌
|
|
|
+ selectBrandList().then(res => {
|
|
|
+ if(res.data){
|
|
|
+ let brandoptions = []
|
|
|
+ res.data.forEach(e => {
|
|
|
+ brandoptions.push({
|
|
|
+ value:e,
|
|
|
+ label:e
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.options = brandoptions
|
|
|
+ }
|
|
|
+ })
|
|
|
+ selectByDeviceId({id:'05cb0481a4e441028f1a219c961176c8'}).then(res => {
|
|
|
+ // 品牌:brand
|
|
|
+ // 工作状态:workingStatusText
|
|
|
+ // 所属区域:address
|
|
|
+ // 设备名称:deviceName
|
|
|
+ // 设备类型:deviceTypeText
|
|
|
|
|
|
+ })
|
|
|
+ selectDailyThreshold().then(res => {
|
|
|
+ })
|
|
|
},
|
|
|
mounted() {
|
|
|
// 初始化地图数据
|
|
@@ -132,26 +165,83 @@
|
|
|
input:'',
|
|
|
input1: '',
|
|
|
title:'四平市智慧哨兵监管平台',
|
|
|
- options: [{
|
|
|
- value: '选项1',
|
|
|
- label: '华生1'
|
|
|
- }, {
|
|
|
- value: '选项2',
|
|
|
- label: '华生2'
|
|
|
- }, {
|
|
|
- value: '选项3',
|
|
|
- label: '华生3'
|
|
|
- }, {
|
|
|
- value: '选项4',
|
|
|
- label: '华生4'
|
|
|
- }, {
|
|
|
- value: '选项5',
|
|
|
- label: '华生5'
|
|
|
- }],
|
|
|
+ deviceList:[], // 设备列表
|
|
|
+ deviceListSearch:[], // 设备列表检索
|
|
|
+ listParams:{
|
|
|
+ brand:'',
|
|
|
+ deviceName:'',
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ }, // 设备列表条件检索
|
|
|
+ options: [],
|
|
|
value: ''
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ dropLocation(lat, lng) {
|
|
|
+ this.$refs.supermap.dropLocation(lat*1, lng*1)
|
|
|
+ },
|
|
|
+ pageNumHasChanged(e){
|
|
|
+ this.getListDeviceAll()
|
|
|
+ },
|
|
|
+ // 查询设备列表
|
|
|
+ getListDeviceAll(){
|
|
|
+ listDeviceAll(this.listParams).then(res => {
|
|
|
+ this.deviceList = res.rows
|
|
|
+ this.deviceListSearch = res.rows
|
|
|
+ let deviceMarkersList = []
|
|
|
+ // hz_qy
|
|
|
+ if (res.rows != null && res.rows.length > 0) {
|
|
|
+ for (let i = 0; i < res.rows.length; i++) {
|
|
|
+ let markersMap = {
|
|
|
+ lng: 124.59,
|
|
|
+ lat: 43.02,
|
|
|
+ icon: "hzqy",
|
|
|
+ bindPopupHtml: "",
|
|
|
+ click: "preview",
|
|
|
+ parameter: "",
|
|
|
+ keepBindPopup: false,
|
|
|
+ isAggregation: false,
|
|
|
+ };
|
|
|
+ markersMap.lng = res.rows[i].longitude*1;
|
|
|
+ markersMap.lat = res.rows[i].latitude*1;
|
|
|
+ markersMap.radius = res.rows[i].cameraRadius || '';
|
|
|
+ deviceMarkersList.push(markersMap);
|
|
|
+ }
|
|
|
+ setTimeout(() => {
|
|
|
+ this.$refs.supermap.clearM();
|
|
|
+ this.$refs.supermap.clearMRadius();
|
|
|
+ this.$refs.supermap.setMarkersRadius(deviceMarkersList);
|
|
|
+ }, 1000);
|
|
|
+ } else {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.$refs.supermap.clearM();
|
|
|
+ this.$refs.supermap.clearMRadius();
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ brandHasChanged(e){
|
|
|
+ this.getListDeviceAll()
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * desc: 设备列表条件检索
|
|
|
+ * @param {string} [val=''] // 设备名称
|
|
|
+ * @param {string} [brandName=''] // 品牌
|
|
|
+ * */
|
|
|
+ searchOptionHasChanged(val='',brandName=''){
|
|
|
+ this.deviceListSearch = [];
|
|
|
+ // 名称检索
|
|
|
+ for (let i in this.deviceList) {
|
|
|
+ if (this.deviceList[i].deviceName.indexOf(val) != -1) {
|
|
|
+ this.deviceListSearch.push(this.deviceList[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 品牌检索
|
|
|
+ if(brandName){
|
|
|
+ this.deviceListSearch = this.deviceListSearch.filter(v => v.brand == brandName)
|
|
|
+ }
|
|
|
+ },
|
|
|
getSuperMapUrl(){
|
|
|
getUserProfile().then(response => {
|
|
|
let mapDeptId=response.mapDeptId
|
|
@@ -338,6 +428,11 @@
|
|
|
myChart.setOption(option);
|
|
|
}
|
|
|
},
|
|
|
+ watch:{
|
|
|
+ ['listParams.deviceName'](){
|
|
|
+ this.getListDeviceAll()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
<style rel="stylesheet/scss" lang="scss">
|