pull/91/head
xuhaoyun 1 year ago
parent 18489d427b
commit 6a4eefa2be

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,33 @@
import request from '@/utils/request'
//查询企业数据
export function queryCompany(params) {
return request({
url: '/element/resource/queryCompany',
method: 'get',
params
})
}
//查询监控数据
export function queryVideo(params) {
return request({
url: '/element/resource/queryVideo',
method: 'get',
params
})
}
//根据企业id查询企业信息
export function selectCompanyInfoById(params) {
return request({
url: '/element/resource/selectCompanyInfoById',
method: 'get',
params
})
}
//图层数据
export function statistic(params) {
return request({
url: '/element/resource/statistic',
method: 'get',
params
})
}

@ -45,7 +45,7 @@ export default {
});
let that = this
map.centerAndZoom(new BMap.Point(this.dongtaiPoint[0], this.dongtaiPoint[1]), 12);
// map.setMinZoom(11)
map.setMinZoom(12)
map.setMaxZoom(19)
map.enableScrollWheelZoom(true);
// hjrequest({
@ -196,7 +196,8 @@ export default {
label.setOffset(new BMap.Size(130, -10))
label.setStyle({ width: '372px', height: '242px', background: 'url(pbImg/bz49.png) no-repeat', backgroundSize: '100% 100%', border: '0', color: '#fff', padding: '13px 20px' })
label.setContent(`
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;border-bottom:1px solid #657E83;'> <h4 style='margin:12px;font-size: 14px;color: #EBFFF4;letter-spacing: 1px;line-height: 24px;text-shadow: 0 0 9px rgba(21,255,195,0.77);'>${res.data.companyName}</h4><div class='closeBtn' style='font-size: 14px;color: #30C4FF;letter-spacing: 1px;font-weight: 400;'>企业看板<i style='display:inline-block; background: url(pbImg/跳转.png) no-repeat;width:16px;height:14px;background-size: 100% 100%;"'></i></div></div>
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;border-bottom:1px solid #657E83;'> <h4 style='margin:12px;font-size: 14px;color: #EBFFF4;letter-spacing: 1px;line-height: 24px;text-shadow: 0 0 9px rgba(21,255,195,0.77);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;'>${res.data.companyName}</h4><div class='closeBtn' style='font-size: 14px;color: #30C4FF;letter-spacing: 1px;font-weight: 400;'>企业看板<i style='display:inline-block; background: url(pbImg/跳转.png) no-repeat;width:16px;height:14px;background-size: 100% 100%;"'></i></div><div class='closeBtn1' style='background: url(pbImg/.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;position:relative;z-index:200000000;
margin-top:-15px;"'></div></div>
<div style='height:70px;width:100%;margin-top:15px;background: url(pbImg/编组.png);display:flex;justify-content: space-around;align-items: center;'>
<div style='width:80px;height:80%;text-align:center;padding:15px 0;'>
<div style='font-size: 18px;color: #FFFCEB;letter-spacing: 2.25px;line-height: 16px;text-shadow: 0 0 9px rgba(255,236,21,0.41);'>${res.data.scoreMonth}</div>
@ -244,6 +245,11 @@ export default {
`);
map.addOverlay(label);
let closebtn = document.querySelector('.closeBtn')
let closeBtn1 = document.querySelector('.closeBtn1')
closeBtn1.addEventListener('click', () => {
map.removeOverlay(label);
})
//console.log(btn, 'btn');
closebtn.addEventListener('click', () => {
that.$emit('toArchives', item)

@ -50,6 +50,14 @@ const routes = [
component: () => import('@/views/realtimeWarning'),
},
//要素资源
{
path: 'factorResources',
name: 'factorResources',
component: () => import('@/views/factorResources'),
},
// 系统管理
{
path: 'systemManagement',

@ -5,7 +5,7 @@ import { getToken } from '@/utils/auth'
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const request = axios.create({
baseURL: 'http://172.18.113.50:8080/zhapi',
// baseURL: 'http://172.18.113.13:8080/zhapi', // 孙强
//baseURL: 'http://172.18.113.13:8080/zhapi', // 孙强
//baseURL: 'http://192.168.0.188:8888/zhapi',
// baseURL: `http://${window.location.host}/zhapi`,
timeout: 50000,

@ -15,7 +15,6 @@
<div class="monitorItem" v-for="(item, index) in monitorList" :key="index">
<div class="online" v-if="item.isOnline">
<div class="left">
<img src="../../assets/archives/公共区域2.png" v-if="item.deviceVideoSubType == 1">
<img src="../../assets/archives/摄像头0912.png" v-if="item.deviceVideoSubType == 3">
<img src="../../assets/archives/高空抛物2.png" v-if="item.deviceVideoSubType == 2">

@ -584,6 +584,8 @@ export default {
background: url('~@/assets/companyCanban/09091.png') no-repeat;
background-size: 100% 100%;
position: relative;
box-sizing: border-box;
padding-top: 35px;
.tjsjTitle {
position: absolute;
@ -609,7 +611,9 @@ export default {
.fxfqs {
width: 100%;
height: 100%;
height: calc(100% - 30px);
}
}
}

@ -1,6 +1,6 @@
<template>
<div class="qyyg">
<div class="title" @click="showDialog"><img src="../../assets/safetyIndex/装饰009991.png" alt="">企业员工</div>
<div class="title" @click="showDialog"><img src="../../assets/safetyIndex/装饰009991.png" alt="">人员安全</div>
<div class="ygtb" id="ygtb">
</div>
<el-dialog title="人员安全上报数据详情" :visible.sync="diaVisible" class="picForm"
@ -18,7 +18,7 @@
</div>
</div>
<div class="zdgw">
<div class="tjsjTitle">流动人员</div>
<div class="tjsjTitle">重点岗位人员</div>
<div class="zhuangshi"></div>
<div class="zdItem">
<div class="yellowIconBox"><img src="../../assets/companyCanban/icon/危险品领用、保管、使用人员.png" alt=""></div>

@ -49,7 +49,7 @@
</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip label="中高风险返企" width="35">
<el-table-column show-overflow-tooltip label="中高风险返企" width="35">
<template slot-scope="scope">
<div>
{{ scope.row.zgfx || 0 }}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,232 @@
<template>
<div>
<div class="bmap" id="container" ref="container"></div>
</div>
</template>
<script>
import MapLine from "../../../public/zhenhaiLine.json"
import MapPoint from "../../../public/zhenhaiPoint.json"
import styleJson from "../../../public/custom_map_config.json"
export default {
name: 'zhenhaimap',
props: ['companyInfoList', 'deviceVideoInfoList'],
data() {
return {
dongtaiPoint: [121.604192, 29.977299],
WaringList: this.companyInfoList,
VideoInfoList: this.deviceVideoInfoList,
villageList: [],
villageSumList: [],
flag: true,
companyList: [],
}
},
mounted() {
this.$nextTick(() => {
this.initMap()
})
},
watch: {
companyInfoList: {
handler(newVal) {
this.WaringList = newVal
this.initMap()
},
immediate: true
},
deviceVideoInfoList: {
handler(newVal) {
this.VideoInfoList = newVal
this.initMap()
},
immediate: true
}
},
methods: {
goBack() {
this.initMap()
this.$emit('goBack')
},
initMap() {
var BMap = window.BMap
// console.log(BMap, 'BMap');
var map = new BMap.Map('container', {
style: {
styleJson
}
});
// console.log(this.WaringList, 'waringList');
let that = this
map.centerAndZoom(new BMap.Point(this.dongtaiPoint[0], this.dongtaiPoint[1]), 13);
map.setMinZoom(12)
map.setMaxZoom(19)
map.enableScrollWheelZoom(true);
// hjrequest({
// url: '/yc/dt/statistical/village',
// method: 'get',
// params: { areaCode: that.areaCode }
// }).then((res) => {
// that.villageSumList = res.data
// })
// console.log(MapLine, 'MapLine');
for (var i = 0, n = MapLine.features.length; i < n; i++) {
showBoundaryEx(MapLine.features[i]);
}
var label = new BMap.Label();
showPoint()
showPic()
function showBoundaryEx(city) {
var paths = []
var list = city.geometry.coordinates
// console.log(list.length, 'list[0].length')
//console.log(list[1], 'list[1].length')
var polygon = {}
if (list.length > 1) {
for (let a = 0; a < list.length; a++) {
paths = []
for (let i = 0; i < list[a][0].length; i++) {
let lat = list[a][0][i][1],
lng = list[a][0][i][0];
paths.push(new BMap.Point(lng, lat));
}
polygon = new BMap.Polygon(paths, {
fillColor: '#3b4c44',
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1
}); //
map.addOverlay(polygon); //
}
// // console.log(list, 'length');
} else {
// console.log(list[0], ' list[0]');
for (let i = 0; i < list[0].length; i++) {
let lat = list[0][i][1],
lng = list[0][i][0];
paths.push(new BMap.Point(lng, lat));
}
// console.log(list, 'length');
polygon = new BMap.Polygon(paths, {
fillColor: '#3b4c44',
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1
}); //
map.addOverlay(polygon); //
}
polygon.infowindow = new BMap.InfoWindow();
polygon.infowindow.name = city.properties.name;
polygon.addEventListener("mouseover", function () {
polygon.setFillColor("#ffa500");
});
polygon.addEventListener("mouseout", function () {
map.removeOverlay(label);
polygon.setFillColor('#3b4c44');
});
}
function showPoint() {
// console.log(MapPoint, 'MapPoint');
for (let i = 0; i < MapPoint.features.length; i++) {
var opts = {
position: new BMap.Point(MapPoint.features[i].geometry.coordinates[0], MapPoint.features[i].geometry.coordinates[1]), //
offset: new BMap.Size(-30, -30) //
};
//
var label1 = new BMap.Label(MapPoint.features[i].properties.name, opts);
//
label1.setStyle({
color: 'orange',
borderRadius: '5px',
borderColor: '#ccc',
padding: '10px',
fontSize: '16px',
height: '20px',
lineHeight: '20px',
backgroundColor: 'rgba(0,0,0,0)',
border: '0',
fontFamily: '微软雅黑'
});
map.addOverlay(label1);
}
}
function showPic() {
// console.log(that.WaringList, 'that.WaringList');
that.WaringList.forEach(item => {
//
var myIcon = new BMap.Icon("pbImg/企业icon悬浮.png", new BMap.Size(80, 80));
myIcon.setImageUrl("pbImg/企业icon悬浮.png")
// Marker使
var marker = new BMap.Marker(new BMap.Point(item.longitude, item.latitude), {
icon: myIcon
});
// console.log(marker, 'marker');
map.addOverlay(marker);
marker.addEventListener("click", function () {
that.$emit('showCompanyData', item)
});
})
//that.flexPoint()
console.log(that.VideoInfoList, 'that.VideoInfoList');
that.VideoInfoList.forEach(item => {
//
var myIcon = new BMap.Icon("pbImg/监控icon悬浮.png", new BMap.Size(80, 80));
myIcon.setImageUrl("pbImg/监控icon悬浮.png")
// Marker使
var marker = new BMap.Marker(new BMap.Point(item.longitude, item.latitude), {
icon: myIcon
});
// console.log(marker, 'marker');
map.addOverlay(marker);
marker.addEventListener("click", function () {
that.$emit('showCameraData', item)
});
})
}
},
flexPoint() {
var pointAll = document.querySelectorAll('.BMap_Marker.BMap_noprint')
console.log(pointAll, 'pointAll');
}
}
}
</script>
<style scoped lang="less">
.bmap {
width: 100%;
height: 100%;
border: 1px solid #000000;
}
// /deep/ .BMap_Marker {
// z-index: 1000;
// background: url('../../../public/dongtai/awrni.png') no-repeat !important;
// background-size: 100% 100% !important;
// }
.fanhui {
display: inline-block;
width: 50px;
height: 20px;
position: absolute;
left: 49%;
bottom: 30px;
display: flex;
justify-content: center;
align-items: center;
z-index: 50;
}
</style>

@ -14,7 +14,7 @@
<div class="shu"></div>
<el-menu-item index="3" route="/home/closeLoopDispose">闭环处置</el-menu-item>
<div class="shu"></div>
<el-menu-item index="4" route="/home">要素资源</el-menu-item>
<el-menu-item index="4" route="/home/factorResources">要素资源</el-menu-item>
<div class="shu"></div>
<el-menu-item index="5" route="/home/enterpriseArchives">企业档案</el-menu-item>
<div class="shu"></div>

@ -15,7 +15,6 @@
<div class="yujingTop">
<div class="companyName">{{ item.companyName }}</div>
<div class="impBtnList">
<div :class="{ 'shewei': a == '剧毒' || a == '易制毒', 'zhongdian': a == '消防重点' || a == '所管消防', 'zhibao': a == '放射源' || a == '易制爆', 'zhian': a == '治安重点' || a == '创安单位' }"
v-for="a in item.companyTypeList" :key="a">{{ a }}
</div>
@ -218,8 +217,6 @@ export default {
border-bottom: 1px solid #495461;
height: 54px;
width: 100%;
display: flex;
align-items: center;
padding: 0 14px;
@ -229,7 +226,7 @@ export default {
letter-spacing: 1.14px;
font-weight: 500;
margin-right: 20px;
width: 220px;
width: 100%;
//white-space: nowrap; //
}
@ -241,7 +238,7 @@ export default {
align-items: center;
overflow: hidden;
white-space: nowrap; //
width: 270px;
text-overflow: ellipsis; //...
.shewei {

@ -47,7 +47,7 @@ export default {
// console.log(this.WaringList, 'waringList');
let that = this
map.centerAndZoom(new BMap.Point(this.dongtaiPoint[0], this.dongtaiPoint[1]), 13);
// map.setMinZoom(11)
map.setMinZoom(12)
map.setMaxZoom(19)
map.enableScrollWheelZoom(true);
// hjrequest({
@ -172,13 +172,13 @@ export default {
label.setPosition(new BMap.Point(item.longitude, item.latitude));
label.setOffset(new BMap.Size(130, -10))
label.setStyle({ width: '340px', height: '238px', background: 'url(pbImg/气泡弹窗1.png) no-repeat', backgroundSize: '100% 100%', border: '0', color: '#fff' })
label.setStyle({ width: '340px', height: '238px', background: 'url(pbImg/气泡弹窗1.png) no-repeat', backgroundSize: '100% 100%', border: '0', color: '#fff', zIndex: 2000000000, })
label.setContent(`
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;'> <h4 style='margin:12px;font-size: 14px;color: #FFE6D9;'>${item.companyName}</h4><div class='closeBtn' style='background: url(pbImg/关闭.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;margin-right:10px;"'></div></div>
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;'> <h4 style='margin:12px;font-size: 14px;color: #FFE6D9;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; '>${item.companyName}</h4><div class='closeBtn' style='background: url(pbImg/关闭.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;margin-right:10px;"'></div></div>
<div style='margin:0 auto;font-size: 14px;width:316px;height:108px;padding:0 12px;background: rgba(108,128,151,0.20);border: 1px solid rgba(73,84,97,1);'>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;">一级指标</span>${item.levelIndexOne}</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;">预警指标</span>"${item.levelIndexThree}"异常</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;">预警时间</span>${item.alarmTime}</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">一级指标</span>${item.levelIndexOne}</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警指标</span>"${item.levelIndexThree}"异常</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警时间</span>${item.alarmTime}</h4>
<div class='zhuanchuzhiBtn' style='width:80px;height:34px;font-size: 14px;
color: #FFFFFF;
text-align:center;

@ -231,7 +231,8 @@ export default {
position: relative;
padding: 10px 8px;
background: rgba(0, 0, 0, 0);
z-index: 1;
z-index: 200;
cursor: pointer;
.caseDetail {
width: 100%;

@ -77,7 +77,7 @@
<el-tab-pane label="年度" name="year"></el-tab-pane>
</el-tabs>
<div class="second" v-if="topSortData.length > 1">
<div class="second" v-if="topSortData.length > 1" @click="toCanban(1)">
<div class="mingci">
<img src="../../assets/safetyIndex/第二名.png" alt="">&nbsp;
总得分&nbsp;<span>{{ topSortData[1].score }}</span>
@ -96,7 +96,7 @@
</div>
</div>
</div>
<div class="third" v-if="topSortData.length > 2">
<div class="third" v-if="topSortData.length > 2" @click="toCanban(0)">
<div class="mingci">
<img src="../../assets/safetyIndex/第三名.png" alt="">&nbsp;
总得分&nbsp;<span>{{ topSortData[2].score }}</span>
@ -114,7 +114,7 @@
</div>
</div>
</div>
<div class="first" v-if="topSortData.length">
<div class="first" v-if="topSortData.length" @click="toCanban(2)">
<div class="mingci">
<img src="../../assets/safetyIndex/第一名.png" alt="">&nbsp;
总得分&nbsp;<span>{{ topSortData[0].score }}</span>
@ -185,11 +185,17 @@ export default {
goMore() {
this.$router.push({ path: '/home/enterpriseRank' })
},
toCanban(index) {
sessionStorage.setItem('companyID', this.topSortData[index].companyId)
this.$router.push({
path: '/home/companyCanban',
})
},
toArchives(val) {
sessionStorage.setItem('companyID', val.companyId)
sessionStorage.setItem('companyName', val.companyName)
this.$router.push({
name: 'archives',
path: '/home/companyCanban',
})
}
},
@ -440,6 +446,7 @@ export default {
padding: 5px 27px 12px 10px;
box-sizing: border-box;
text-align: center;
cursor: pointer;
.mingci {
height: 18px;
@ -514,6 +521,7 @@ export default {
padding: 5px 10px 12px 27px;
box-sizing: border-box;
text-align: center;
cursor: pointer;
.mingci {
height: 18px;
@ -593,6 +601,7 @@ export default {
background-size: 100% 100%;
padding: 10px 16px 16px;
text-align: center;
cursor: pointer;
.mingci {
height: 22px;

@ -105,7 +105,12 @@
</el-table-column>
<el-table-column show-overflow-tooltip prop="goodsTypeCn" label="物品类型" width="100">
</el-table-column>
<el-table-column show-overflow-tooltip prop="quantity" label="总量t" width="100">
<el-table-column show-overflow-tooltip label="总量t" width="100">
<template slot-scope="scope">
<div>
{{ (scope.row.quantity - 0).toFixed(2) }}
</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="companyName" label="隶属企业">
</el-table-column>
@ -457,7 +462,7 @@ export default {
background: url('~@/assets/head/编组 3021112.png') no-repeat;
background-size: 100% 100%;
width: 1241px;
height: 640px;
height: 660px;
position: relative;
.el-dialog__title {

@ -68,6 +68,8 @@
</el-table-column>
<el-table-column show-overflow-tooltip prop="visitContactInfo" label="联系方式">
</el-table-column>
<el-table-column show-overflow-tooltip prop="visitCompany" label="所属企业" width="180">
</el-table-column>
<el-table-column show-overflow-tooltip prop="visitTime" label="访问时间">
</el-table-column>
<el-table-column show-overflow-tooltip prop="contactPerson" label="对接人" width="90">

Loading…
Cancel
Save