|
|
@ -1,3 +1,11 @@
|
|
|
|
|
|
|
|
<!--
|
|
|
|
|
|
|
|
* @Descripttion:
|
|
|
|
|
|
|
|
* @version:
|
|
|
|
|
|
|
|
* @Author: JC9527
|
|
|
|
|
|
|
|
* @Date: 2024-01-09 23:08:15
|
|
|
|
|
|
|
|
* @LastEditors: JC9527
|
|
|
|
|
|
|
|
* @LastEditTime: 2024-01-12 12:52:48
|
|
|
|
|
|
|
|
-->
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="map-main">
|
|
|
|
<div class="map-main">
|
|
|
|
<!-- <div id="showMap" class="showMap"></div> -->
|
|
|
|
<!-- <div id="showMap" class="showMap"></div> -->
|
|
|
@ -99,7 +107,7 @@
|
|
|
|
<div>附近队员</div>
|
|
|
|
<div>附近队员</div>
|
|
|
|
<div>位置分享</div>
|
|
|
|
<div>位置分享</div>
|
|
|
|
<div @click="watchClick">强制观摩</div>
|
|
|
|
<div @click="watchClick">强制观摩</div>
|
|
|
|
<div>任务派发</div>
|
|
|
|
<div @click="taskClick">任务派发</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -232,22 +240,22 @@
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">商铺名称:</div>
|
|
|
|
<div class="name">商铺名称:</div>
|
|
|
|
<div class="position">xxx商铺</div>
|
|
|
|
<div class="position">{{ shopInfo.info.shopName }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">商铺类型:</div>
|
|
|
|
<div class="name">商铺类型:</div>
|
|
|
|
<div class="position">餐饮店</div>
|
|
|
|
<div class="position">{{ shopInfo.info.operation }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">所在地址:</div>
|
|
|
|
<div class="name">所在地址:</div>
|
|
|
|
<div class="position">XX街道XX小区</div>
|
|
|
|
<div class="position">{{ shopInfo.info.bodyAddress }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="event-info">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">描述:</div>
|
|
|
|
<div class="name">描述:</div>
|
|
|
|
<div class="position">xxxxxxxxxxxxxxxxxxxxxxxx</div>
|
|
|
|
<div class="position">{{ shopInfo.info.bodyName }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="btn" @click="getShopInfo">
|
|
|
|
<div class="btn" @click="getShopInfo">
|
|
|
@ -396,8 +404,12 @@
|
|
|
|
<crew-assign ref="crewAssign"></crew-assign>
|
|
|
|
<crew-assign ref="crewAssign"></crew-assign>
|
|
|
|
<!-- <video-wall ref="videoWall"></video-wall> -->
|
|
|
|
<!-- <video-wall ref="videoWall"></video-wall> -->
|
|
|
|
<alone-video ref="aloneVideo"></alone-video>
|
|
|
|
<alone-video ref="aloneVideo"></alone-video>
|
|
|
|
|
|
|
|
<!-- 商铺详情 -->
|
|
|
|
<shop ref="shop" width="50%" title="商铺详情查看" />
|
|
|
|
<shop ref="shop" width="50%" title="商铺详情查看" />
|
|
|
|
|
|
|
|
<!-- 新增事件 -->
|
|
|
|
<new-event ref="newEvent" @cancel="cancel"></new-event>
|
|
|
|
<new-event ref="newEvent" @cancel="cancel"></new-event>
|
|
|
|
|
|
|
|
<!-- 任务派发 -->
|
|
|
|
|
|
|
|
<personage-task ref="personageTask"></personage-task>
|
|
|
|
<!-- 强制观摩弹框 -->
|
|
|
|
<!-- 强制观摩弹框 -->
|
|
|
|
<el-dialog
|
|
|
|
<el-dialog
|
|
|
|
:visible.sync="showVideo"
|
|
|
|
:visible.sync="showVideo"
|
|
|
@ -424,20 +436,6 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
// import L from "leaflet";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//引入坐标系转换插件
|
|
|
|
|
|
|
|
// import "proj4";
|
|
|
|
|
|
|
|
// import "proj4leaflet";
|
|
|
|
|
|
|
|
//引入中国底图插件
|
|
|
|
|
|
|
|
// import "@/utils/lib/leaflet.ChineseTmsProviders.js";
|
|
|
|
|
|
|
|
//引入坐标系偏移插件
|
|
|
|
|
|
|
|
// import "@/utils/lib/leaflet.mapCorrection.min.js";//
|
|
|
|
|
|
|
|
// import "@/utils/lib/leaflet-tilelayer-colorizr.js";
|
|
|
|
|
|
|
|
// import zhifarenyuan from "@/utils/mapJson/zhifarenyuan.json"
|
|
|
|
|
|
|
|
// import shijianfenbu from "@/utils/mapJson/shijianfenbu.json"
|
|
|
|
|
|
|
|
// import zhifacheliang from "@/utils/mapJson/zhifacheliang.json"
|
|
|
|
|
|
|
|
// import jiankongshipin from "@/utils/mapJson/jiankongshipin.json"
|
|
|
|
|
|
|
|
import point from "@/utils/mapJson/point.json";
|
|
|
|
import point from "@/utils/mapJson/point.json";
|
|
|
|
|
|
|
|
|
|
|
|
import jiangninggeo from "@/utils/mapJson/jiangningjingkaiqugeo.json";
|
|
|
|
import jiangninggeo from "@/utils/mapJson/jiangningjingkaiqugeo.json";
|
|
|
@ -448,11 +446,6 @@ import ThreeGJ02 from "@/utils/mapJson/3GJ02.json";
|
|
|
|
import FourGJ02 from "@/utils/mapJson/4GJ02.json";
|
|
|
|
import FourGJ02 from "@/utils/mapJson/4GJ02.json";
|
|
|
|
import kaifaqu from "@/utils/mapJson/开发区空港开发区GJ02.json";
|
|
|
|
import kaifaqu from "@/utils/mapJson/开发区空港开发区GJ02.json";
|
|
|
|
import ruanjianyuan from "@/utils/mapJson/开发区软件园GJ02.json";
|
|
|
|
import ruanjianyuan from "@/utils/mapJson/开发区软件园GJ02.json";
|
|
|
|
// 一级网格
|
|
|
|
|
|
|
|
// import detachment1 from "@/utils/mapJson/detachment1.json";
|
|
|
|
|
|
|
|
// import detachment2 from "@/utils/mapJson/detachment2.json";
|
|
|
|
|
|
|
|
// import detachment3 from "@/utils/mapJson/detachment3.json";
|
|
|
|
|
|
|
|
// import detachment4 from "@/utils/mapJson/detachment4.json";
|
|
|
|
|
|
|
|
// 二级网格
|
|
|
|
// 二级网格
|
|
|
|
import gridding from "@/utils/mapJson/中队小网格.json"
|
|
|
|
import gridding from "@/utils/mapJson/中队小网格.json"
|
|
|
|
|
|
|
|
|
|
|
@ -464,6 +457,7 @@ import mapRight from "../components/mapRightContent.vue";
|
|
|
|
// import mapCentre from "../components/mapCentre.vue"
|
|
|
|
// import mapCentre from "../components/mapCentre.vue"
|
|
|
|
// 弹窗
|
|
|
|
// 弹窗
|
|
|
|
import personageTrack from "../../components/personagetrack/index.vue";
|
|
|
|
import personageTrack from "../../components/personagetrack/index.vue";
|
|
|
|
|
|
|
|
import personageTask from "../../components/personageTask/index.vue";
|
|
|
|
import crewAssign from "../../components/crewAssign/index.vue";
|
|
|
|
import crewAssign from "../../components/crewAssign/index.vue";
|
|
|
|
import videoWall from "../../components/videoWall/index.vue";
|
|
|
|
import videoWall from "../../components/videoWall/index.vue";
|
|
|
|
import shop from "../../components/shop/index.vue";
|
|
|
|
import shop from "../../components/shop/index.vue";
|
|
|
@ -485,6 +479,11 @@ import {
|
|
|
|
getCarManageList,
|
|
|
|
getCarManageList,
|
|
|
|
getStreetShopList,
|
|
|
|
getStreetShopList,
|
|
|
|
} from "@/api/bigScreenApi";
|
|
|
|
} from "@/api/bigScreenApi";
|
|
|
|
|
|
|
|
import {
|
|
|
|
|
|
|
|
robotLogin,
|
|
|
|
|
|
|
|
ViewListPage
|
|
|
|
|
|
|
|
} from "@/api/bigScreenApi/robot.js"
|
|
|
|
|
|
|
|
import { setRobotToken } from '@/utils/auth'
|
|
|
|
import flvjs from "flv.js";
|
|
|
|
import flvjs from "flv.js";
|
|
|
|
import axios from "axios";
|
|
|
|
import axios from "axios";
|
|
|
|
|
|
|
|
|
|
|
@ -498,7 +497,8 @@ export default {
|
|
|
|
videoWall,
|
|
|
|
videoWall,
|
|
|
|
shop,
|
|
|
|
shop,
|
|
|
|
aloneVideo,
|
|
|
|
aloneVideo,
|
|
|
|
newEvent
|
|
|
|
newEvent,
|
|
|
|
|
|
|
|
personageTask
|
|
|
|
},
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
@ -536,6 +536,7 @@ export default {
|
|
|
|
// 沿街商铺弹框信息
|
|
|
|
// 沿街商铺弹框信息
|
|
|
|
shopInfo: {
|
|
|
|
shopInfo: {
|
|
|
|
position: [],
|
|
|
|
position: [],
|
|
|
|
|
|
|
|
info:{},
|
|
|
|
visible: false,
|
|
|
|
visible: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
isClickLingtedPolygonId:false,
|
|
|
|
isClickLingtedPolygonId:false,
|
|
|
@ -1396,6 +1397,8 @@ export default {
|
|
|
|
this.monitoringInfo.visible = true;
|
|
|
|
this.monitoringInfo.visible = true;
|
|
|
|
} else if (this.actionMap == 5) {
|
|
|
|
} else if (this.actionMap == 5) {
|
|
|
|
this.shopInfo.position = marker.position;
|
|
|
|
this.shopInfo.position = marker.position;
|
|
|
|
|
|
|
|
this.shopInfo.info = marker.info;
|
|
|
|
|
|
|
|
console.log(marker.info);
|
|
|
|
this.shopInfo.visible = true;
|
|
|
|
this.shopInfo.visible = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -1421,6 +1424,10 @@ export default {
|
|
|
|
this.$refs.personageTrack.open("car");
|
|
|
|
this.$refs.personageTrack.open("car");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 任务派发事件
|
|
|
|
|
|
|
|
taskClick(){
|
|
|
|
|
|
|
|
this.$refs.personageTask.open(this.personInfo.info);
|
|
|
|
|
|
|
|
},
|
|
|
|
// 播放监控视频
|
|
|
|
// 播放监控视频
|
|
|
|
initVideoPlayer(videoUrl){
|
|
|
|
initVideoPlayer(videoUrl){
|
|
|
|
this.$nextTick(()=>{
|
|
|
|
this.$nextTick(()=>{
|
|
|
@ -1554,7 +1561,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 商铺详情查看
|
|
|
|
// 商铺详情查看
|
|
|
|
getShopInfo(){
|
|
|
|
getShopInfo(){
|
|
|
|
this.$refs.shop.open();
|
|
|
|
this.$refs.shop.open(this.shopInfo.info);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2800,10 +2807,22 @@ export default {
|
|
|
|
clearInterval(timer)
|
|
|
|
clearInterval(timer)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 模拟登录获取token
|
|
|
|
|
|
|
|
getrobotToken(){
|
|
|
|
|
|
|
|
robotLogin({username:"赵六",password:"zl@123456"}).then(res=>{
|
|
|
|
|
|
|
|
console.log(res,"登录信息");
|
|
|
|
|
|
|
|
if(res.code == 200) {
|
|
|
|
|
|
|
|
// setRobotToken(res.result.token)
|
|
|
|
|
|
|
|
localStorage.setItem('robotToken',res.result.token)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
|
this.getCarList()
|
|
|
|
this.getCarList();
|
|
|
|
|
|
|
|
this.getrobotToken();
|
|
|
|
// this.markerInterval()
|
|
|
|
// this.markerInterval()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|
|
|
|