Compare commits

...

2 Commits

5 changed files with 106 additions and 13 deletions

View File

@ -156,7 +156,7 @@ export function MapFun(mapObj) {
} }
} else if (feature.type == 'eventList') { } else if (feature.type == 'eventList') {
const elementHtml = createEventListDetailsPopNew(feature) const elementHtml = createEventListDetailsPopNew(feature)
L.popup({ className: 'Event-List-Details-pop', offset: [168, 200] }).setLatLng(feature.latLng).setContent(elementHtml).openOn(map) L.popup({ className: 'Event-List-Details-pop', offset: [0, 200] }).setLatLng(feature.latLng).setContent(elementHtml).openOn(map)
} else if (feature.type == 'eventTwoList') { } else if (feature.type == 'eventTwoList') {
const elementHtml = createImportantAreaPopNew(feature) const elementHtml = createImportantAreaPopNew(feature)
L.popup({ className: 'Event-List-Details-pop', offset: [168, 200] }).setLatLng(feature.latLng).setContent(elementHtml).openOn(map) L.popup({ className: 'Event-List-Details-pop', offset: [168, 200] }).setLatLng(feature.latLng).setContent(elementHtml).openOn(map)

View File

@ -166,7 +166,7 @@ export default {
}, },
], ],
eventListData: [], eventListData: [],
total:0, total:6,
pageSize:6, pageSize:6,
currentPage:1, currentPage:1,
@ -200,7 +200,7 @@ export default {
let resdata=res.data.data; let resdata=res.data.data;
this.dateTabs[1].dataNum=resdata.length; this.dateTabs[1].dataNum=resdata.length;
// this.eventListData = res.data; // this.eventListData = res.data;
this.total = res.count; // this.total = res.data.count;
// console.log("111"); // console.log("111");
// //
$.ajax({ $.ajax({

View File

@ -1,9 +1,10 @@
<template> <template>
<div class="box"> <div class="box">
<div class="title">重点区域列表</div> <div class="title">重点区域列表</div>
<div class="title-close" @click="handleClose"><i class="el-icon-close"></i></div>
<!-- 工地列表 --> <!-- 工地列表 -->
<div class="eventData"> <div class="eventData">
<div style="display: flex;justify-content: space-between"> <div style="display: flex;">
<el-input <el-input
placeholder="请输入区域名称" placeholder="请输入区域名称"
prefix-icon="el-icon-search" prefix-icon="el-icon-search"
@ -11,14 +12,14 @@
v-model="searchValue" v-model="searchValue"
> >
</el-input> </el-input>
<el-select v-model="selectAreaValue" placeholder="全部" @change="fliterSiteByArea"> <!-- <el-select v-model="selectAreaValue" placeholder="全部" @change="fliterSiteByArea">
<el-option <el-option
v-for="item in areaOptions" v-for="item in areaOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select> -->
<el-select v-model="selectValue" placeholder="全部" @change="fliterSiteByArea"> <el-select v-model="selectValue" placeholder="全部" @change="fliterSiteByArea">
<el-option <el-option
v-for="item in options" v-for="item in options"
@ -163,6 +164,10 @@ import { createImportantAreaPopNew } from '../../../../supermap/createMarkerPopu
}) })
}, },
methods: { methods: {
//
handleClose(){
this.$emit("closeSiteListMore");
},
searchSite() { searchSite() {
if (!this.searchValue && this.selectValue !== '全部') { if (!this.searchValue && this.selectValue !== '全部') {
selectKeyArea({ type: this.selectValue }).then((res) => { selectKeyArea({ type: this.selectValue }).then((res) => {
@ -224,6 +229,9 @@ import { createImportantAreaPopNew } from '../../../../supermap/createMarkerPopu
let lonLat = gcjLL2wgs84LL(item[0], item[1]); let lonLat = gcjLL2wgs84LL(item[0], item[1]);
areaLatLng.push([lonLat[1],lonLat[0]]) areaLatLng.push([lonLat[1],lonLat[0]])
}) })
//
let lonLat=arr[0];
this.$parent.hiMap.mapObj.map.flyTo({ lat: lonLat[1], lng:lonLat[0] },14);
this.$parent.hiMapFun.addAreaToMap(areaLatLng) this.$parent.hiMapFun.addAreaToMap(areaLatLng)
} }
// else { // else {
@ -255,15 +263,26 @@ import { createImportantAreaPopNew } from '../../../../supermap/createMarkerPopu
background: url(../../../../assets/construction/listTopBg.png) no-repeat, background: url(../../../../assets/construction/listTopBg.png) no-repeat,
url(../../../../assets/construction/siteTag.png) no-repeat 507px 17px; url(../../../../assets/construction/siteTag.png) no-repeat 507px 17px;
padding: 30px 0 18px 14px; padding: 30px 0 18px 14px;
position: relative;
.title { .title {
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;
} }
.title-close{
position: absolute;
right:10px;
top: 10px;
cursor: pointer;
.el-icon-close:before {
color:#fff;
}
}
::v-deep .eventData { ::v-deep .eventData {
width: 544px; width: 544px;
margin-top: 14px; margin-top: 14px;
.el-input { .el-input {
width: 200px; width: 200px;
margin-right: 10px;
} }
.el-input__inner { .el-input__inner {
border: 1px solid rgba(31,254,253,.9); border: 1px solid rgba(31,254,253,.9);

View File

@ -106,6 +106,7 @@
</template> </template>
<script> <script>
import bus from "@/views/layout/bus"; import bus from "@/views/layout/bus";
import moment from 'moment'
import * as echarts from "echarts"; import * as echarts from "echarts";
export default { export default {
@ -135,20 +136,39 @@ export default {
advice: "", advice: "",
area: "台东商圈", area: "台东商圈",
}, },
lastWeek:[], //
}; };
}, },
components: { components: {
}, },
created() {}, created() {},
mounted() { mounted() {
this.setDataRange();
// //
this.getTop5Area(); this.getTop5Area();
// //
this.getTop5EventCharts(); this.getTop5EventCharts();
// //
this.getRelevanceCharts(); // this.getRelevanceCharts();
}, },
methods: { methods: {
// daterange
// daterange: ['2022-11-18','2022-11-25'],
setDataRange(){
this.daterange=[];
let nowData=moment().format("YYYY-MM-DD");
let sevenData=moment().subtract(6, 'days').format('YYYY-MM-DD');
this.daterange.push(sevenData);
this.daterange.push(nowData);
for (let i=6; i>=0; i--){
let newData=moment().subtract(i, 'days').format('MM-DD');
this.lastWeek.push(newData);
// console.log("🚀 ~ file: VideoListRight.vue:168 ~ setDataRange ~ this.lastWeek", this.lastWeek)
}
//
this.getRelevanceCharts(this.lastWeek);
},
// //
chooseSelectArea(item) { chooseSelectArea(item) {
this.selectArea = item.areaId; this.selectArea = item.areaId;
@ -287,7 +307,7 @@ export default {
eventChart.setOption(option); eventChart.setOption(option);
}, },
// //
getRelevanceCharts() { getRelevanceCharts(date) {
let eventChart = echarts.init(document.getElementById("relevance-chart")); let eventChart = echarts.init(document.getElementById("relevance-chart"));
let option = { let option = {
backgroundColor: "rgba(32, 33, 36,.7)", backgroundColor: "rgba(32, 33, 36,.7)",
@ -317,7 +337,7 @@ export default {
}, },
xAxis: { xAxis: {
type: "category", type: "category",
data: ["11/18", "11/19", "11/20", "11/21", "11/22", "11/23", "11/24"], data: date,
axisLine: { axisLine: {
show: false, // 线 show: false, // 线
lineStyle: { lineStyle: {

View File

@ -66,7 +66,7 @@
</div> </div>
<!-- 工地列表 --> <!-- 工地列表 -->
<div class="siteList" v-if="keyAreasShow"> <div class="siteList" v-if="keyAreasShow">
<site-list-more></site-list-more> <site-list-more @closeSiteListMore="closeSiteListMore"></site-list-more>
</div> </div>
<!--视频列表弹出框--> <!--视频列表弹出框-->
@ -166,6 +166,9 @@ import { selectByAreaEvent, selectKeyArea } from "@/api/area";
import { gcjLL2wgs84LL } from "@/utils/coordinateSystemTransform"; import { gcjLL2wgs84LL } from "@/utils/coordinateSystemTransform";
// //
import HorizonTimeLine from "./components/HorizonTimeLine"; import HorizonTimeLine from "./components/HorizonTimeLine";
import {
crowflowList,
} from "@/api/areaMonitor";
export default { export default {
data() { data() {
return { return {
@ -279,6 +282,10 @@ export default {
} }
}, },
methods: { methods: {
//
closeSiteListMore(){
this.keyAreasShow=false;
},
IsShowLideoVisible(val){ IsShowLideoVisible(val){
this.videoVisible=val this.videoVisible=val
}, },
@ -482,7 +489,7 @@ export default {
}, },
layerHandleChange(item) { layerHandleChange(item) {
console.log("地图显示等",item); console.log("地图显示等111",item);
if (this.changeLayerBtnGroup.indexOf(item) !== -1) { if (this.changeLayerBtnGroup.indexOf(item) !== -1) {
switch (item) { switch (item) {
case "AI事件": case "AI事件":
@ -545,6 +552,8 @@ export default {
this.hiMapFun.addAreaToMap(areaLatLng); this.hiMapFun.addAreaToMap(areaLatLng);
} }
}); });
//
this.shoppingMallThermodynamic();
} else { } else {
const dataEvent = []; const dataEvent = [];
res.data.data.forEach((item) => { res.data.data.forEach((item) => {
@ -575,6 +584,7 @@ export default {
case "窗口单位": case "窗口单位":
if (item === "商业街区") { if (item === "商业街区") {
this.hiMapFun.removerPolygon(); this.hiMapFun.removerPolygon();
this.hiMapFun.removeLayerByLayerName("shoppingMallLayer");
} }
this.hiMapFun.removeLayerByLayerName(item); this.hiMapFun.removeLayerByLayerName(item);
break; break;
@ -612,6 +622,43 @@ export default {
createCameraDetailsPop createCameraDetailsPop
); );
}, },
//
async shoppingMallThermodynamic(){
//
const params = {
page: 1,
size: 500,
needAreaData:true,
};
// console.log("");
let shoppingMallList=await crowflowList(params);
let smList=shoppingMallList.data.data;
let smListLength=smList.length;
let smOnMapData=[];
for(let i=0; i<smListLength; i++){
if(smList[i].totalAreaData){
var jsonData = JSON.parse(smList[i].totalAreaData);//
// console.log("smList[i].totalAreaData",jsonData)
for(let key in jsonData) {
let latlonVal=[];
// console.log(jsonData[key]) // foo, bar
let keyArr=key.split("_");
latlonVal.push(keyArr[1]);
latlonVal.push(keyArr[0]);
latlonVal.push(jsonData[key]);
// console.log("smList[i]xxxx",latlonVal)
smOnMapData.push(latlonVal);
}
}
}
// console.log("smList[i]xxxx",smOnMapData)
this.hiMapFun.removeLayerByLayerName("shoppingMallLayer");
this.hiMapFun.thermodynamic(
smOnMapData,
25,
"shoppingMallLayer"
);
},
thermodynamic() { thermodynamic() {
let dataNumber = []; let dataNumber = [];
@ -680,6 +727,7 @@ export default {
this.thermodynamicPeopleType = ""; this.thermodynamicPeopleType = "";
}, },
changeThermodynamicPeopleType(value) { changeThermodynamicPeopleType(value) {
console.log("热力图上图数据",this.thermodynamicPeopleAll);
this.hiMapFun.removeLayerByLayerName("types"); this.hiMapFun.removeLayerByLayerName("types");
switch (value) { switch (value) {
case "all": case "all":
@ -709,7 +757,7 @@ export default {
case "clear": case "clear":
this.hiMapFun.removeLayerByLayerName("types"); this.hiMapFun.removeLayerByLayerName("types");
this.hiMapFun.removeLayerByLayerName("thermodynamic"); this.hiMapFun.removeLayerByLayerName("thermodynamic");
this.thermodynamicPeopleType = ""; // this.thermodynamicPeopleType = "";
break; break;
} }
}, },
@ -726,6 +774,12 @@ export default {
this.hiMapFun.removeLayerByLayerName("景区景点"); this.hiMapFun.removeLayerByLayerName("景区景点");
this.hiMapFun.removeLayerByLayerName("海水浴场"); this.hiMapFun.removeLayerByLayerName("海水浴场");
this.hiMapFun.removeLayerByLayerName("窗口单位"); this.hiMapFun.removeLayerByLayerName("窗口单位");
this.hiMapFun.removeLayerByLayerName("shoppingMallLayer"); //
//
this.changeLayerBtnGroup=[];
this.thermodynamicPeopleType = "";
}, },
// //
handleKeyArea() { handleKeyArea() {