visitorInfo

This commit is contained in:
shijing 2022-10-28 16:57:00 +08:00
parent 8d20056f4a
commit 57d78b07a2
2 changed files with 249 additions and 359 deletions

View File

@ -22,7 +22,7 @@
</div> </div>
<div class="screen-check-content hoverPointer" @click="markerClick(1)"> <div class="screen-check-content hoverPointer" @click="markerClick(1)">
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[1] }"></span> <span class="box-btn box-uncheck" :class="{ 'box-check': markList[1] }"></span>
<span class="box-text">摄像头</span> <span class="box-text">监控</span>
</div> </div>
<div class="screen-check-content hoverPointer" @click="markerClick(2)"> <div class="screen-check-content hoverPointer" @click="markerClick(2)">
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[2] }"></span> <span class="box-btn box-uncheck" :class="{ 'box-check': markList[2] }"></span>
@ -30,11 +30,11 @@
</div> </div>
<div class="screen-check-content hoverPointer" @click="markerClick(3)"> <div class="screen-check-content hoverPointer" @click="markerClick(3)">
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[3] }"></span> <span class="box-btn box-uncheck" :class="{ 'box-check': markList[3] }"></span>
<span class="box-text">危险作业</span> <span class="box-text">作业</span>
</div> </div>
<div class="screen-check-content hoverPointer" @click="markerClick(4)"> <div class="screen-check-content hoverPointer" @click="markerClick(4)">
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[4] }"></span> <span class="box-btn box-uncheck" :class="{ 'box-check': markList[4] }"></span>
<span class="box-text">风险区域</span> <span class="box-text">区域</span>
</div> </div>
<div class="screen-check-content hoverPointer" @click="markerClick(5)"> <div class="screen-check-content hoverPointer" @click="markerClick(5)">
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[5] }"></span> <span class="box-btn box-uncheck" :class="{ 'box-check': markList[5] }"></span>
@ -178,7 +178,7 @@
<div class="simple-title"> <div class="simple-title">
<div><span>报警数据</span></div> <div><span>报警数据</span></div>
<div class="action-group"> <div class="action-group">
<span class="detail-text-btn" @click="allWarningView">查看所有</span> <!-- <span class="detail-text-btn" @click="allWarningView">查看所有</span> -->
<span class="icon-close" @click="warningDetail = false"></span> <span class="icon-close" @click="warningDetail = false"></span>
</div> </div>
</div> </div>
@ -239,7 +239,7 @@
<span class="tab-item">区域信息情况</span> <span class="tab-item">区域信息情况</span>
<!--<span class="tab-item" :class="{'tab-item-active':LBType==='2'}" @click="cockpitChange('2')">部门信息情况</span>--> <!--<span class="tab-item" :class="{'tab-item-active':LBType==='2'}" @click="cockpitChange('2')">部门信息情况</span>-->
</div> </div>
<div class="simple-btn-bg alarm-btn">需充电卡片0人</div> <!-- <div class="simple-btn-bg alarm-btn">需充电卡片0人</div> -->
</div> </div>
<div class="info-body area-info-body"> <div class="info-body area-info-body">
<el-table :data="areaList" style="width: 100%;" :height="areaTableHeight" highlight-current-row <el-table :data="areaList" style="width: 100%;" :height="areaTableHeight" highlight-current-row
@ -261,7 +261,7 @@
<div @click="areaItemHandle(4)" :class="{'areaActive':areaShowType==4,'areaNavItem':1}" style="color:#ffffff">人员</div> <div @click="areaItemHandle(4)" :class="{'areaActive':areaShowType==4,'areaNavItem':1}" style="color:#ffffff">人员</div>
</div> </div>
<div class="content-body"> <div class="content-body">
<el-table class="bigScreenTable" v-if="areaShowType==1" :data="areaOperation" :height="300"> <el-table class="bigScreenTable" v-if="areaShowType==1" :data="areaOperation" :height="300" @row-click="areaOperationRowClick">
<el-table-column label="作业简介" prop="name"></el-table-column> <el-table-column label="作业简介" prop="name"></el-table-column>
<el-table-column label="开始时间" prop="start_time"></el-table-column> <el-table-column label="开始时间" prop="start_time"></el-table-column>
<el-table-column label="结束时间" prop="end_time"></el-table-column> <el-table-column label="结束时间" prop="end_time"></el-table-column>
@ -271,17 +271,17 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table class="bigScreenTable" :data="areaVideo" v-if="areaShowType==2"> <el-table class="bigScreenTable" :data="areaVideo" v-if="areaShowType==2" :height="300">
<el-table-column label="通道名称" prop="name"></el-table-column> <el-table-column label="通道名称" prop="name"></el-table-column>
<el-table-column label="所在区域" prop="area_name"></el-table-column> <el-table-column label="所在区域" prop="area_name"></el-table-column>
<el-table-column label="code" prop="code"></el-table-column> <el-table-column label="code" prop="code"></el-table-column>
</el-table> </el-table>
<el-table class="bigScreenTable" :data="areaSpeaker" v-if="areaShowType==3"> <el-table class="bigScreenTable" :data="areaSpeaker" v-if="areaShowType==3" :height="300">
<el-table-column label="喇叭名称" prop="name"></el-table-column> <el-table-column label="喇叭名称" prop="name"></el-table-column>
<el-table-column label="所在区域" prop="area_name"></el-table-column> <el-table-column label="所在区域" prop="area_name"></el-table-column>
<el-table-column label="唯一标识" prop="code"></el-table-column> <el-table-column label="唯一标识" prop="code"></el-table-column>
</el-table> </el-table>
<el-table class="bigScreenTable" :data="areaUser" v-if="areaShowType==4" @row-click="areaEmployeeRowClick"> <el-table class="bigScreenTable" :data="areaUser" v-if="areaShowType==4" :height="300" @row-click="areaEmployeeRowClick">
<el-table-column label="人员姓名" prop="my_info.employee_.name"></el-table-column> <el-table-column label="人员姓名" prop="my_info.employee_.name"></el-table-column>
<el-table-column label="人员姓名" prop="my_info.employee_.type"></el-table-column> <el-table-column label="人员姓名" prop="my_info.employee_.type"></el-table-column>
<el-table-column label="定位卡号" prop="mac"></el-table-column> <el-table-column label="定位卡号" prop="mac"></el-table-column>
@ -305,79 +305,6 @@
</div>--> </div>-->
<!--地图--> <!--地图-->
<div id='mapContainer'></div> <div id='mapContainer'></div>
<!--视频弹窗-->
<!-- <div style="display: block;position:absolute;z-index: 10;top: 0;
background: rgba(24,36,51,.7);
padding: 0 16px 16px;box-sizing: border-box" id="vchannelWrap">
<div class="v_title">1111111</div>
<div class="v_masker"></div>
</div>-->
<!--部门信息-->
<div class="screen-job" v-if="screenJob">
<div class="simple-title">
<div>查看作业详情</div>
<div class="simple-btn" @click="closeScreenJob">关闭</div>
</div>
<div class="job-content">
<div class="job-basic">
<div class="job-item">
<span class="job-item-name">作业证名称</span>
<span class="job-item-info">动火作业</span>
</div>
<div class="job-item">
<span class="job-item-name">作业证编号</span>
<span class="job-item-info">111111111</span>
</div>
<div class="job-item">
<span class="job-item-name">作业证等级</span>
<span class="job-item-info">特级</span>
</div>
<div class="job-item">
<span class="job-item-name">申请单位</span>
<span class="job-item-info">金隅</span>
</div>
<div class="job-item">
<span class="job-item-name">申请人</span>
<span class="job-item-info">金隅工人</span>
</div>
<div class="job-item">
<span class="job-item-name">开始时间</span>
<span class="job-item-info">2022-07-01 10:00:00</span>
</div>
<div class="job-item">
<span class="job-item-name">结束时间</span>
<span class="job-item-info">2022-07-02 00:00:00</span>
</div>
<div class="job-item">
<span class="job-item-name">作业内容</span>
<span class="job-item-info">设备检修</span>
</div>
<div class="job-item">
<span class="job-item-name">作业人员</span>
<span class="job-item-info">张江,李斯</span>
</div>
</div>
<div class="simple-title">
<div>安全措施</div>
</div>
<div class="job-list">
<div class="custom-table">
<div class="custom-table-head">
<div class="table-head-item w50">序号</div>
<div class="table-head-item grow">安全措施</div>
<div class="table-head-item w80">确认人</div>
</div>
<div class="custom-table-body">
<div class="table-body-item">
<div class="body-item-label w50">1</div>
<div class="body-item-label grow">佩戴安全帽穿安全衣系安全绳</div>
<div class="body-item-label w80">chen</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--人员列表--> <!--人员列表-->
<div class="screen-user" v-if="screenUser"> <div class="screen-user" v-if="screenUser">
<div class="simple-title"> <div class="simple-title">
@ -533,138 +460,65 @@
</div> </div>
</div> </div>
</div> </div>
<div class="screen-job" v-if="screenJob">
<div class="simple-title">
<div>查看作业详情</div>
<div class="simple-btn" @click="closeScreenJob">关闭</div>
</div>
<div class="job-content">
<div class="job-basic">
<div class="job-item">
<span class="job-item-name">作业证名称</span>
<span class="job-item-info">动火作业</span>
</div>
<div class="job-item">
<span class="job-item-name">作业证编号</span>
<span class="job-item-info">111111111</span>
</div>
<div class="job-item">
<span class="job-item-name">作业证等级</span>
<span class="job-item-info">特级</span>
</div>
<div class="job-item">
<span class="job-item-name">申请单位</span>
<span class="job-item-info">金隅</span>
</div>
<div class="job-item">
<span class="job-item-name">申请人</span>
<span class="job-item-info">金隅工人</span>
</div>
<div class="job-item">
<span class="job-item-name">开始时间</span>
<span class="job-item-info">2022-07-01 10:00:00</span>
</div>
<div class="job-item">
<span class="job-item-name">结束时间</span>
<span class="job-item-info">2022-07-02 00:00:00</span>
</div>
<div class="job-item">
<span class="job-item-name">作业内容</span>
<span class="job-item-info">设备检修</span>
</div>
<div class="job-item">
<span class="job-item-name">作业人员</span>
<span class="job-item-info">张江,李斯</span>
</div>
</div>
<div class="simple-title">
<div>安全措施</div>
</div>
<div class="job-list">
<div class="custom-table">
<div class="custom-table-head">
<div class="table-head-item w50">序号</div>
<div class="table-head-item grow">安全措施</div>
<div class="table-head-item w80">确认人</div>
</div>
<div class="custom-table-body">
<div class="table-body-item">
<div class="body-item-label w50">1</div>
<div class="body-item-label grow">佩戴安全帽穿安全衣系安全绳</div>
<div class="body-item-label w80">chen</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--危险作业--> <!--危险作业-->
<div class="screen-job" v-if="screenJob"> <div class="screen-job" v-if="screenOperation">
<div class="simple-title"> <div class="simple-title">
<div>查看作业详情</div> <div>查看作业详情</div>
<div class="simple-btn" @click="closeScreenJob">关闭</div> <div class="simple-btn" @click="closeScreenOperation">关闭</div>
</div> </div>
<div class="job-content"> <div class="job-content">
<div class="job-basic"> <div class="job-basic">
<div class="job-item"> <div class="job-item">
<span class="job-item-name">作业证名称</span> <span class="job-item-name">作业证名称</span>
<span class="job-item-info">动火作业</span> <span class="job-item-info">{{screenJobItem.name}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">作业证编号</span> <span class="job-item-name">作业证编号</span>
<span class="job-item-info">111111111</span> <span class="job-item-info">{{screenJobItem.number}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">作业证等级</span> <span class="job-item-name">生产状态</span>
<span class="job-item-info">特级</span> <span class="job-item-info">{{screenJobItem.state_work}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">申请单位</span> <span class="job-item-name">作业区域</span>
<span class="job-item-info">金隅</span> <span class="job-item-info">{{screenJobItem.area_.name}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">申请人</span> <span class="job-item-name">部门协调员</span>
<span class="job-item-info">金隅工人</span> <span class="job-item-info">{{screenJobItem.coordinator_name}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">开始时间</span> <span class="job-item-name">开始时间</span>
<span class="job-item-info">2022-07-01 10:00:00</span> <span class="job-item-info">{{screenJobItem.start_time}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">结束时间</span> <span class="job-item-name">结束时间</span>
<span class="job-item-info">2022-07-02 00:00:00</span> <span class="job-item-info">{{screenJobItem.end_time}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">作业内容</span> <span class="job-item-name">属地部门</span>
<span class="job-item-info">设备检修</span> <span class="job-item-info">{{screenJobItem.dept_ter_.name}}</span>
</div> </div>
<div class="job-item"> <div class="job-item">
<span class="job-item-name">作业人员</span> <span class="job-item-name">业务部门</span>
<span class="job-item-info">张江,李斯</span> <span class="job-item-info">{{screenJobItem.dept_bus_.name}}</span>
</div> </div>
</div> </div>
<div class="simple-title"> <div class="simple-title">
<div>安全措施</div> <div>作业票</div>
</div> </div>
<div class="job-list"> <div class="job-list">
<div class="custom-table"> <el-tag
<div class="custom-table-head"> v-for="item in screenJobItem.cates_"
<div class="table-head-item w50">序号</div> :key="item.id"
<div class="table-head-item grow">安全措施</div> style="margin-right: 10px;margin-left:0"
<div class="table-head-item w80">确认人</div> >{{ item.name }}
</div> </el-tag>
<div class="custom-table-body">
<div class="table-body-item">
<div class="body-item-label w50">1</div>
<div class="body-item-label grow">佩戴安全帽穿安全衣系安全绳</div>
<div class="body-item-label w80">chen</div>
</div> </div>
</div> </div>
</div> </div>
</div> <!--区域-->
</div>
</div>
<!--风险区域-->
<div class="screen-risk" v-if="screenRisk"> <div class="screen-risk" v-if="screenRisk">
<div class="simple-title"> <div class="simple-title">
<div>风险区域详情</div> <div>风险区域详情</div>
@ -770,7 +624,9 @@
</audio> </audio>
</div> </div>
</template> </template>
<script> <script>
import flvjs from "../../utils/flv.js";
import { genTree } from "@/utils/verificate"; import { genTree } from "@/utils/verificate";
import sysConfig from "@/config"; import sysConfig from "@/config";
export default { export default {
@ -816,6 +672,7 @@ export default {
showUserSelect: false, showUserSelect: false,
warningDetail: false, warningDetail: false,
filterCtrlFocus: true, filterCtrlFocus: true,
screenOperation:false,
warningListTotal: 0, warningListTotal: 0,
heightNum:0, heightNum:0,
warningData: { warningData: {
@ -919,12 +776,13 @@ export default {
} }
}, },
created() { // created() {
const scriptInfo = document.createElement("script"); // var scriptInfo = document.createElement("script");
scriptInfo.setAttribute("data-callType", "callScript"); // scriptInfo.setAttribute("data-callType", "callScript");
scriptInfo.src = "https://cdn.bootcdn.net/ajax/libs/flv.js/1.6.2/flv.js"; // // scriptInfo.src = "https://cdn.bootcdn.net/ajax/libs/flv.js/1.6.2/flv.js";
document.head.appendChild(scriptInfo) // scriptInfo.src = "../../../src/utils/flv.js";
}, // document.head.appendChild(scriptInfo);
// },
mounted() { mounted() {
let that = this; let that = this;
let date = new Date(); let date = new Date();
@ -974,7 +832,7 @@ export default {
that.domMarkerLayers();// that.domMarkerLayers();//
that.polygonMarkerLayers();// that.polygonMarkerLayers();//
that.speakersMaskerLayers();// that.speakersMaskerLayers();//
that.jobDomMarkerLayers();// // that.jobDomMarkerLayers();//
that.areaMarkerLayers();// that.areaMarkerLayers();//
let compassControl = new jsmap.JSCompassControl({ let compassControl = new jsmap.JSCompassControl({
position: jsmap.JSControlPosition.LEFT_TOP, position: jsmap.JSControlPosition.LEFT_TOP,
@ -1055,21 +913,29 @@ export default {
otest.appendChild(newEle); otest.appendChild(newEle);
otest.appendChild(newEle2); otest.appendChild(newEle2);
newEle2.onclick = () => { newEle2.onclick = () => {
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;-webkit-animation: rotate 4s linear infinite;animation: rotate 4s linear infinite;"); newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
this.$API.am.video.item.req(this.params).then(res => { this.$API.am.video.item.req(this.params).then(res => {
console.log(res); console.log(res);
this.url = res.url; this.url = res.url;
let URLS = res.url.replace('192.168.10.253',sysConfig.VUE_APP_VIDEOHOST); let URLS = res.url.replace('192.168.10.253',sysConfig.VUE_APP_VIDEOHOST);
if (flvjs.isSupported()) { if (flvjs.isSupported()) {
let videoElement = document.getElementById(item.markers[0].id + 'videoPlayer'); let videoElement = document.getElementById(item.markers[0].id + 'videoPlayer');
let flvPlayer = flvjs.createPlayer({ var mediaDataSource = {
type: 'flv', type: 'flv',
hasAudio:false,
hasVideo:true,
isLive:false,
withCredentials:false,
url:URLS url:URLS
};
let flvPlayer = flvjs.createPlayer(mediaDataSource, {
enableWorker: false,
lazyLoadMaxDuration: 3 * 60,
seekType: 'range',
}); });
flvPlayer.attachMediaElement(videoElement); flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;"); newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
flvPlayer.play(); flvPlayer.load();
} }
}) })
}; };
@ -1090,9 +956,14 @@ export default {
} }
} else if (type === 'Symbol(polygonmarker)') { } else if (type === 'Symbol(polygonmarker)') {
// //
this.screenRisk = false; that.screenRisk = false;
this.screenWarning = false; that.screenWarning = false;
this.screenJob = true; that.areaDetailId = item.properties.get("area");
let areaWork = that.areaList.filter(area=>{
return area.id==that.areaDetailId
});
that.areaRowClick(areaWork[0]);
} }
} else { } else {
} }
@ -1103,7 +974,6 @@ export default {
this.getAreaList();///$$ this.getAreaList();///$$
this.getGroup();//$$ this.getGroup();//$$
// //
this.getDangers();//$$
this.getWarningTotal();// this.getWarningTotal();//
this.getWarningType();// this.getWarningType();//
let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight; let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight;
@ -1309,7 +1179,7 @@ export default {
// //
eventInterval(){ eventInterval(){
let that = this; let that = this;
if (that.timerEventRoll) { if (that.timerEventRoll!==null) {
clearInterval(that.timerEventRoll); clearInterval(that.timerEventRoll);
that.timerEventRoll = null; that.timerEventRoll = null;
} }
@ -1348,6 +1218,12 @@ export default {
let that = this; let that = this;
that.areaDetail = true; that.areaDetail = true;
that.areaDetailId = data.id; that.areaDetailId = data.id;
this.getAreaList();
this.getAreaOperation();
this.getAreaVchannel();
this.getAreaSpeaker();
this.getAreaBlt();
if(data.third_info.xx_rail){
let point = data.third_info.xx_rail.detail.polygon.points[0]; let point = data.third_info.xx_rail.detail.polygon.points[0];
let points = data.third_info.xx_rail.detail.polygon.points; let points = data.third_info.xx_rail.detail.polygon.points;
window.map.flyToPosition(new jsmap.JSPoint(point.longitude, point.latitude, 0), window.map.flyToPosition(new jsmap.JSPoint(point.longitude, point.latitude, 0),
@ -1358,11 +1234,6 @@ export default {
range: 300 range: 300
} }
}); });
this.getAreaList();
this.getAreaOperation();
this.getAreaVchannel();
this.getAreaSpeaker();
this.getAreaBlt();
if(that.singleAreaMaskerLayer!==null){ if(that.singleAreaMaskerLayer!==null){
that.singleAreaMaskerLayer.setMarkerVisibleByFilter(false, (properties)=>{ that.singleAreaMaskerLayer.setMarkerVisibleByFilter(false, (properties)=>{
if(properties && properties.get('id')!==data.id){ if(properties && properties.get('id')!==data.id){
@ -1401,11 +1272,17 @@ export default {
}// }//
}); });
that.singleAreaMaskerLayer.addMarker(polygonMarker); that.singleAreaMaskerLayer.addMarker(polygonMarker);
}else{}
}, },
areaDetailClose(){ areaDetailClose(){
let that = this; let that = this;
debugger;
that.areaDetail = false; that.areaDetail = false;
if(that.singleAreaMaskerLayer){
that.singleAreaMaskerLayer.show = false; that.singleAreaMaskerLayer.show = false;
}
}, },
// //
getAreaOperation(){ getAreaOperation(){
@ -1435,10 +1312,11 @@ export default {
getAreaBlt(){ getAreaBlt(){
let that = this; let that = this;
that.$API.third.blt.all.req({area:that.areaDetailId}).then(res=>{ that.$API.third.blt.all.req({area:that.areaDetailId}).then(res=>{
//console.log(res)
that.areaUser = res.filter(item=>{ that.areaUser = res.filter(item=>{
return item.my_info.employee; return item.my_info.employee;
}); });
}).catch(res=>{
debugger;
}) })
}, },
// //
@ -1462,6 +1340,19 @@ export default {
that.refreshUserMarker(); that.refreshUserMarker();
}, 10000) }, 10000)
}, },
//
areaOperationRowClick(row){
let that = this;
debugger;
console.log(row)
that.screenJobItem = row;
that.screenOperation = true;
},
closeScreenOperation(){
this.screenOperation = false;
this.screenJobItem = null;
},
// //
getGroup() { getGroup() {
let that = this; let that = this;
@ -1550,17 +1441,6 @@ export default {
this.getManCount(); this.getManCount();
}, },
//
getDangers() {
let that = this;
that.$API.opm.operation.list.req().then(res => {
if (res.err_msg) {
} else {
that.dangerList = res.results;
}
})
},
getAreaList() { getAreaList() {
let that = this; let that = this;
that.$API.am.area.list.req({page:0}).then(res => { that.$API.am.area.list.req({page:0}).then(res => {
@ -1569,7 +1449,20 @@ export default {
that.areaList = res; that.areaList = res;
} }
}) })
},
//
getDangers() {
let that = this;
// that.$API.opm.operation.list.req({state:40}).then(res => {
that.$API.opm.operation.list.req({state:10}).then(res => {
if (res.err_msg) {
} else {
that.dangerList = res.results;
that.showPolygonMarkers(that.dangerList);
}
})
}, },
/// ///
getAreas() { getAreas() {
@ -1648,16 +1541,16 @@ export default {
}); });
window.map.addLayer(that.domMarkerLayer); window.map.addLayer(that.domMarkerLayer);
}, },
jobDomMarkerLayers() { // jobDomMarkerLayers() {
let that = this; // let that = this;
that.jobDomMarkerLayer = new jsmap.JSDomMarkerLayer({ // that.jobDomMarkerLayer = new jsmap.JSDomMarkerLayer({
minimumLevel: 3, // minimumLevel: 3,
maxmumLevel: 22, // maxmumLevel: 22,
show: false // show: false
}); // });
window.map.addLayer(that.jobDomMarkerLayer); // window.map.addLayer(that.jobDomMarkerLayer);
that.showJobDomMarkers(); // that.showJobDomMarkers();
}, // },
// //
areaMarkerLayers() { areaMarkerLayers() {
let that = this; let that = this;
@ -1701,7 +1594,7 @@ export default {
show: false show: false
}); });
window.map.addLayer(that.polygonMaskerLayer); window.map.addLayer(that.polygonMaskerLayer);
that.showPolygonMarkers(); that.getDangers();
}, },
// //
showRiskMarkers(list) { showRiskMarkers(list) {
@ -1955,54 +1848,64 @@ export default {
return arrList; return arrList;
}, },
// //
showPolygonMarkers() { showPolygonMarkers(data) {
let polygonMarker = new jsmap.JSPolygonMarker({ let that = this;
id: 'polygon',//id if(data.length>0){
position: [new jsmap.JSPoint(114.63168864138028, 38.81254802029822, 0), data.forEach(item => {
new jsmap.JSPoint(114.63185023632963, 38.81241816295427, 0), let polygonMarker = null;
new jsmap.JSPoint(114.63160294240738, 38.812229296478634, 0), let areaWork = that.areaList.filter(area=>{
new jsmap.JSPoint(114.63143965827588, 38.81235778393449, 0), return area.id==item.area
});
],// let points = areaWork[0].third_info.xx_rail.detail.polygon.points;;
let pointsList = points.map(item => {
let obj = item;
obj.x=item.longitude;
obj.y=item.latitude;
return obj
});
polygonMarker = new jsmap.JSPolygonMarker({
id: item.id,//id
position: pointsList,//
floorId: 1,//id floorId: 1,//id
color: 'rgba(0,0,255,.44)',// color: 'rgba(0,0,255,.44)',//
strokeColor: '#2bff1d',//线 strokeColor: '#2bff1d',//线
depthTest: false,// depthTest: false,//
// material: new jsmap.JSWaterMaterial(), //color
allowPicking: true, // allowPicking: true, //
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), // displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), //
properties: { properties: {
test: 'polygonTest' area: item.area
},// },//
callback: (marker) => { callback: (marker) => {
// console.log(marker); // console.log(marker);
}// }//
}); });
this.polygonMaskerLayer.addMarker(polygonMarker); this.polygonMaskerLayer.addMarker(polygonMarker);
})
}
}, },
// //
showJobDomMarkers() { // showJobDomMarkers() {
let domMarker = new jsmap.JSDomMarker({ // let domMarker = new jsmap.JSDomMarker({
id: 'polygonmark', // id: 'polygonmark',
position: new jsmap.JSPoint(114.63168864138028, 38.81254802029822, 0), // position: new jsmap.JSPoint(114.63168864138028, 38.81254802029822, 0),
floorId: 1, // floorId: 1,
depthTest: true, // depthTest: true,
content: `<div style="display: block;position:absolute;z-index: 10;top: 0;background: rgba(24,36,51,.7);padding: 0 16px 16px;box-sizing: border-box" id="vchannelWrap"><div style="background-image: url('/img/speaker.png');width: 60px;height: 80px;"></div></div>`, // content: `<div style="display: block;position:absolute;z-index: 10;top: 0;background: rgba(24,36,51,.7);padding: 0 16px 16px;box-sizing: border-box" id="vchannelWrap"><div style="background-image: url('/img/speaker.png');width: 60px;height: 80px;"></div></div>`,
offset: jsmap.JSControlPosition.RIGHT_CENTER, // offset: jsmap.JSControlPosition.RIGHT_CENTER,
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), // displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
marginOffset: { // marginOffset: {
x: 0, // x: 0,
y: 0 // y: 0
}, // },
properties: { // properties: {
type: 0, // type: 0,
}, // },
callback: (node) => { // callback: (node) => {
console.log(node); // console.log(node);
} // }
}); // });
this.jobDomMarkerLayer.addMarker(domMarker); // this.jobDomMarkerLayer.addMarker(domMarker);
}, // },
// //
userSelect() { userSelect() {
@ -2086,10 +1989,10 @@ export default {
that.materialsMaskerLayer.show = false; that.materialsMaskerLayer.show = false;
} }
if (that.markList[3]) { if (that.markList[3]) {
that.jobDomMarkerLayer.show = true; // that.jobDomMarkerLayer.show = true;
that.polygonMaskerLayer.show = true; that.polygonMaskerLayer.show = true;
} else { } else {
that.jobDomMarkerLayer.show = false; // that.jobDomMarkerLayer.show = false;
that.polygonMaskerLayer.show = false; that.polygonMaskerLayer.show = false;
} }
if (that.markList[4]) { if (that.markList[4]) {
@ -2149,7 +2052,7 @@ export default {
this.screenRisk = false; this.screenRisk = false;
this.screenWarningItem = item; this.screenWarningItem = item;
this.warningId = item.id; this.warningId = item.id;
console.log(item); // console.log(item);
this.$nextTick(() => { this.$nextTick(() => {
this.screenWarning = true; this.screenWarning = true;
}); });
@ -2828,47 +2731,7 @@ export default {
} }
.job-list { .job-list {
.custom-table { line-height: 35px;
height: 100%;
.custom-table-head {
display: flex;
.table-head-item {
padding: 0 4px;
color: #fff;
font-size: 14px;
font-weight: 700;
height: 34px;
line-height: 34px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
}
}
.custom-table-body {
max-height: calc(50vh - 100px);
.table-body-item {
display: flex;
.body-item-label {
padding: 0 4px;
color: #fff;
font-size: 13px;
font-weight: 400;
height: 34px;
line-height: 34px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
}
}
}
}
} }
} }
} }
@ -3310,7 +3173,7 @@ export default {
border-radius: 20px; border-radius: 20px;
.filter-ctrl { .filter-ctrl {
width: 520px; width: 420px;
height: 40px; height: 40px;
display: flex; display: flex;
align-items: center; align-items: center;
@ -3648,7 +3511,7 @@ export default {
.action-group { .action-group {
display: flex; display: flex;
align-items: center; align-items: center;
width: 90px; width: 20px;
justify-content: space-between; justify-content: space-between;
} }

View File

@ -128,6 +128,33 @@
hideDo hideDo
hidePagination hidePagination
> >
<el-table-column label="#" type="expand">
<template #default="scope">
<el-descriptions :column="3" style="margin-left:70px">
<el-descriptions-item label="返乡时间:">{{ scope.row.return_date }}</el-descriptions-item>
<el-descriptions-item label="来源地:">{{ scope.row.come_place }}</el-descriptions-item>
<el-descriptions-item label="行程轨迹:">{{ scope.row.trip_desc }}</el-descriptions-item>
<el-descriptions-item label="管控措施:">{{ scope.row.measure }}</el-descriptions-item>
<el-descriptions-item label="核酸检测日期:">{{ scope.row.test_date }}</el-descriptions-item>
<el-descriptions-item label="是否报备:">
<el-space v-if="scope.row.is_reported == true"></el-space>
<el-space v-else></el-space>
</el-descriptions-item>
<el-descriptions-item label="健康码:">
<el-image style="width: 100px; height: 100px" :src="scope.row.health_code"
:preview-src-list="[scope.row.health_code]" fit="cover" />
</el-descriptions-item>
<el-descriptions-item label="行程码:">
<el-image style="width: 100px; height: 100px" :src="scope.row.travel_code"
:preview-src-list="[scope.row.travel_code]" fit="cover" />
</el-descriptions-item>
<el-descriptions-item label="核酸报告:">
<el-image style="width: 100px; height: 100px" :src="scope.row.test_report"
:preview-src-list="[scope.row.test_report]" fit="cover" />
</el-descriptions-item>
</el-descriptions>
</template>
</el-table-column>
<el-table-column <el-table-column
label="#" label="#"
fixed="left" fixed="left"