IntelligentRecognition/ah-jjsp-web/.svn/pristine/dc/dc11628ce937ca95607a6ae0ccc...

181 lines
6.8 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
//在div中初始化地图
// /let myChart = echarts.init(document.getElementById('map-content'));
let uploadedDataURL2 = "../../js/compreDisplay/anhui/hefei.json";
echarts.init(document.getElementById('echarts-map2')).dispose();
let myChart2 = null;
/**
* 加载地图
* @param dataMap
*/
function map2(dataMap) {
$.getJSON(uploadedDataURL2, function (geoJson) {
echarts.registerMap('anhui', geoJson);
myChart2.hideLoading();
let max = 480,
min = 1; // todo
let maxSize4Pin = 100,
minSize4Pin = 100;
let convertData = function (data) {
let res = [];
for (let i = 0; i < data.length; i++) {
let geoCoord = data[i].coordinate;
if (geoCoord) {
res.push({
name: data[i].isOnline == 1 ? "在线" : "不在线",
value: geoCoord.concat(data[i].value),
coordinate: data[i].coordinate,
cityName: data[i].cityName,
workId: data[i].workId,
macId: data[i].macId,
puid: data[i].puid,
classId: data[i].classId,
subName: data[i].subName,
workUnit: data[i].workUnit,
workManager: data[i].workManager,
proName: data[i].proName,
ticketNo: data[i].ticketNo,
ticketType: data[i].ticketType,
workTeam: data[i].workTeam,
workContent: data[i].workContent,
riskLevel: data[i].riskLevel,
workPostion: data[i].workPostion,
safetyManager: data[i].safetyManager,
workStatus: data[i].workStatus,
isOnline: data[i].isOnline,
bidName: data[i].bidName
});
}
}
return res;
};
let option = {
silent: false,
backgroundColor: 'transparent',
textStyle: {
fontSize: 15,
fontWeight: 'bold',
color: 'red'
},
tooltip: {
trigger: 'item',
enterable: true,
position: function (pos, params, dom, rect, size) {
if ($(dom).children($('p')).length === 0) $(dom).css('display', 'none')
pos = [pos[0], pos[1] + 10];
return pos;
},
backgroundColor: 'rgba(14, 17, 28,0.63)', //设置背景颜色
textStyle: {
color: '#fff'
},
borderColor: "#174FDD",
formatter: function (params) {
if (params.data)
return (
'<p class="map-p">' + dealEmptyString(params.data.proName) + '</p>' +
'<p class="map-p">风险等级:' + dealEmptyString(params.data.riskLevel) + '</p>' +
'<p class="map-p" title="' + params.data.workContent + '" style="max-width:300px;text-overflow:ellipsis;overflow:hidden;">作业内容:' + sliceStr(params.data.workContent) + '</p>' +
'<p class="map-p">班组长:' + dealEmptyString(params.data.workManager) + '</p>' +
'<p class="map-p">球机:' + dealEmptyString(params.data.isOnline) + '</p>'
)
},
// extraCssText: "background:url('../../img/tc.png') 100% 100% repeat;",
extraCssText: "max-width:300px;height:auto;word-break:break-all;white-space:pre-wrap;",
},
geo: {
show: true,
map: 'anhui',
aspectScale:0.8,
label: {
normal: {
show: true,
textStyle: {
color: '#fff',
fontFamily: 'Alibaba PuHuiTi R'
},
rotate: -20,
},
emphasis: {
show: true,
}
},
roam: true,
scaleLimit: {
max: max,
min: min
},
itemStyle: {
normal: {
areaColor: '#356dbb',
borderColor: '#7ad4ff',
borderWidth: 1,
shadowColor: 'rgba(53,109,187,0.5)',
shadowBlur: 30,
},
emphasis: {
areaColor: '#2B91B7',
}
},
tooltip: {
show: true
}
},
series: [{
name: '在线',
type: 'scatter',
coordinateSystem: 'geo',
animation: false,
symbolSize: function (val) {
let a = (maxSize4Pin - minSize4Pin) / (max - min);
let b = minSize4Pin - a * min;
b = maxSize4Pin - a * max;
return 33;
},
symbol: function (val) {
console.log(val)
switch (val[2]) {
case 2:
return 'image://../../img/compreDisplay/two-risk.png';
break;
case 3:
return 'image://../../img/compreDisplay/three-risk.png';
break;
case 4:
return 'image://../../img/compreDisplay/four-risk.png';
break;
case 5:
return 'image://../../img/compreDisplay/five-risk.png';
break;
default:
break;
}
},
label: {
normal: {
show: false,
textStyle: {
color: '#fff',
fontSize: 15,
opacity: 1
}
}
},
zlevel: 6,
z: 6,
// data: convertData(dataMap)
},
]
}
myChart2.clear();
myChart2.setOption(option, true);
});
window.addEventListener("resize", function () {
myChart2.resize();
});
}