438 lines
16 KiB
JavaScript
438 lines
16 KiB
JavaScript
|
|
// 工程类型默认为空、天气数据默认为空、作业票默认为当日、日计划默认为当日、定时刷新启动按钮
|
|||
|
|
let form, layer, formSelects, laydate, proType = '', classType = '1', dayType = '3', scheduledTask = false,
|
|||
|
|
scheduledTask2 = false;
|
|||
|
|
// 存放地图作业点、天气集合
|
|||
|
|
let mainMapPointList = [], mapPointList = [], weatherList = [], showWeatherList = [],gtList=[];
|
|||
|
|
// echarts 展示的是否是地市地图
|
|||
|
|
let isCity = false;
|
|||
|
|
// 默认展示周计划
|
|||
|
|
let typeValue = '1';
|
|||
|
|
// 周风险/日风险 历史记录 默认展示日 ; 作业票 历史记录 默认展示日
|
|||
|
|
let dateType = '1', dateType2 = '1';
|
|||
|
|
layui.config({
|
|||
|
|
base: "../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
|
|||
|
|
}).extend({
|
|||
|
|
formSelects: 'formSelects-v4'
|
|||
|
|
}).use(['form', 'layer', 'formSelects', 'laydate'], function () {
|
|||
|
|
form = layui.form;
|
|||
|
|
layer = layui.layer;
|
|||
|
|
formSelects = layui.formSelects;
|
|||
|
|
laydate = layui.laydate;
|
|||
|
|
laydate.render({
|
|||
|
|
elem: '#weekRiskDate', //指定元素 元素选择器
|
|||
|
|
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
|
|||
|
|
trigger: 'click',
|
|||
|
|
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
|
|||
|
|
btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
|
|||
|
|
done: function (value, date) { //时间回调
|
|||
|
|
myChart4.dispose();
|
|||
|
|
myChart4 = echarts.init(document.getElementById('echarts-two'));
|
|||
|
|
getWeekRiskNumAjax();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
laydate.render({
|
|||
|
|
elem: '#classDate', //指定元素 元素选择器
|
|||
|
|
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
|
|||
|
|
trigger: 'click',
|
|||
|
|
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
|
|||
|
|
btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
|
|||
|
|
done: function (value, date) { //时间回调
|
|||
|
|
myChart7.dispose();
|
|||
|
|
myChart7 = echarts.init(document.getElementById('echarts-five'));
|
|||
|
|
mergeData();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
$('#weekRiskDate').val(getNowTime())
|
|||
|
|
$('#classDate').val(getNowTime())
|
|||
|
|
loadData();
|
|||
|
|
// 周计划下拉选监听
|
|||
|
|
formSelects.on('city', function (id, val, vals) {
|
|||
|
|
getWeekRiskNumAjax();
|
|||
|
|
}, true);
|
|||
|
|
// 天气切换
|
|||
|
|
form.on('switch(weather)', function (data) {
|
|||
|
|
let terrainFlag = $(this).parent('.layui-form-item').next().find('input').eq(0).prop('checked')
|
|||
|
|
showWeatherList.splice(0, showWeatherList.length);
|
|||
|
|
mapPointList.splice(0, mapPointList.length);
|
|||
|
|
if (this.checked) {
|
|||
|
|
$.each(weatherList, function (index, item) {
|
|||
|
|
showWeatherList.push(item)
|
|||
|
|
})
|
|||
|
|
if (!terrainFlag) {
|
|||
|
|
map([]);
|
|||
|
|
} else {
|
|||
|
|
clearOverlay(2)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
mapSearch();
|
|||
|
|
if (!terrainFlag) {
|
|||
|
|
map(mapPointList);
|
|||
|
|
} else {
|
|||
|
|
clearOverlay(1)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
//地形切换
|
|||
|
|
form.on('switch(terrain)', function (data) {
|
|||
|
|
let weatherFlag = $(this).parent('.layui-form-item').prev().find('input').eq(0).prop('checked')
|
|||
|
|
showWeatherList.splice(0, showWeatherList.length);
|
|||
|
|
mapPointList.splice(0, mapPointList.length);
|
|||
|
|
if (this.checked) {
|
|||
|
|
$('#allMap').css({ 'width': '100%', height: '100%' });
|
|||
|
|
$('#content-box').css({ 'position': 'relative', 'top': '-100%' });
|
|||
|
|
$('#left').css({ 'background': 'url("../../img/compreDisplay/left-back.png") no-repeat 0 0 / 100% 100%' });
|
|||
|
|
$('#right').css({ 'background': 'url("../../img/compreDisplay/right-back.png") no-repeat 0 0 / 100% 100%' });
|
|||
|
|
$('#echarts-map').css('display', 'none');
|
|||
|
|
if (!weatherFlag) {
|
|||
|
|
mapSearch();
|
|||
|
|
initMap(1)
|
|||
|
|
} else {
|
|||
|
|
$.each(weatherList, function (index, item) {
|
|||
|
|
showWeatherList.push(item)
|
|||
|
|
})
|
|||
|
|
initMap(2)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
$('#allMap').empty().css({ 'width': '0', 'height': '0' });
|
|||
|
|
$('#left').css({ 'background': 'transparent' });
|
|||
|
|
$('#right').css({ 'background': 'transparent' });
|
|||
|
|
$('#content-box').removeAttr('style');
|
|||
|
|
$('#echarts-map').removeAttr('style');
|
|||
|
|
if (!weatherFlag) {
|
|||
|
|
searchRiskData();
|
|||
|
|
console.error(mapPointList);
|
|||
|
|
map(mapPointList);
|
|||
|
|
} else {
|
|||
|
|
$.each(weatherList, function (index, item) {
|
|||
|
|
showWeatherList.push(item)
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
//地形切换
|
|||
|
|
form.on('switch(terrain2)', function (data) {
|
|||
|
|
// let weatherFlag = $(this).parent('.layui-form-item').prev().find('input').eq(0).prop('checked')
|
|||
|
|
// showWeatherList.splice(0, showWeatherList.length);
|
|||
|
|
// mapPointList.splice(0, mapPointList.length);
|
|||
|
|
if (this.checked) {
|
|||
|
|
$('#allMap').css({ 'width': '100%', height: '100%' });
|
|||
|
|
$('#content-box').css({ 'position': 'relative', 'top': '-100%' });
|
|||
|
|
$('#left').css({ 'background': 'url("../../img/compreDisplay/left-back.png") no-repeat 0 0 / 100% 100%' });
|
|||
|
|
$('#right').css({ 'background': 'url("../../img/compreDisplay/right-back.png") no-repeat 0 0 / 100% 100%' });
|
|||
|
|
$('#echarts-map').css('display', 'none');
|
|||
|
|
$('.bid-pro-select').removeAttr('style')
|
|||
|
|
// mapSearch();
|
|||
|
|
initMap2(1)
|
|||
|
|
} else {
|
|||
|
|
$('#allMap').empty().css({ 'width': '0', 'height': '0' });
|
|||
|
|
$('#left').css({ 'background': 'transparent' });
|
|||
|
|
$('#right').css({ 'background': 'transparent' });
|
|||
|
|
$('#content-box').removeAttr('style');
|
|||
|
|
$('#echarts-map').removeAttr('style');
|
|||
|
|
$('.bid-pro-select').css('display', 'none');
|
|||
|
|
searchRiskData();
|
|||
|
|
console.error(mapPointList);
|
|||
|
|
map(mapPointList);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
form.on('select(bidPro)', function (data) {
|
|||
|
|
let value = data.value;
|
|||
|
|
let valueArr = value.split('@');
|
|||
|
|
getSignProTowerAjax(valueArr[0],valueArr[1]);
|
|||
|
|
});
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 工程类型选中
|
|||
|
|
$(".pro-type").click(function (e) {
|
|||
|
|
$('.pro-type').each(function () {
|
|||
|
|
if ($(this).hasClass('check-p')) {
|
|||
|
|
$(this).removeClass('check-p')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$(this).addClass('check-p');
|
|||
|
|
proType = $(this).attr("proValue");
|
|||
|
|
getProNumByType(proType, '', 1);
|
|||
|
|
getTicketNumAjax();
|
|||
|
|
if (typeValue === '2') {
|
|||
|
|
getDayPlanNumAjax();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 周风险和日计划切换
|
|||
|
|
$(".change-type").click(function (e) {
|
|||
|
|
$('.change-type').each(function () {
|
|||
|
|
if ($(this).hasClass('check-p')) {
|
|||
|
|
$(this).removeClass('check-p')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$(this).addClass('check-p');
|
|||
|
|
typeValue = $(this).attr("typeValue");
|
|||
|
|
if (typeValue === '1') {
|
|||
|
|
$('.main-box2').removeAttr('style');
|
|||
|
|
$('.main-box').css('display', 'none');
|
|||
|
|
myChart4.dispose();
|
|||
|
|
myChart4 = echarts.init(document.getElementById('echarts-two'));
|
|||
|
|
getWeekRiskNumAjax();
|
|||
|
|
loadHistoryAjax('1',dateType);
|
|||
|
|
} else if (typeValue === '2') {
|
|||
|
|
$('.main-box2').css('display', 'none');
|
|||
|
|
$('.main-box').removeAttr('style');
|
|||
|
|
myChart3.dispose();
|
|||
|
|
myChart3 = echarts.init(document.getElementById('echarts-one'));
|
|||
|
|
getDayPlanNumAjax();
|
|||
|
|
loadHistoryAjax('2',dateType);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
// 周风险/日风险 历史记录 日/周/月 选中
|
|||
|
|
$(".change-type2").click(function (e) {
|
|||
|
|
$('.change-type2').each(function () {
|
|||
|
|
if ($(this).hasClass('check-p')) {
|
|||
|
|
$(this).removeClass('check-p')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$(this).addClass('check-p');
|
|||
|
|
dateType = $(this).attr("dateType");
|
|||
|
|
myChart9.dispose();
|
|||
|
|
myChart9 = echarts.init(document.getElementById('plan-echarts'));
|
|||
|
|
if (typeValue === '1') {
|
|||
|
|
loadHistoryAjax('1',dateType);
|
|||
|
|
} else if (typeValue === '2') {
|
|||
|
|
loadHistoryAjax('2',dateType);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
// 作业票 历史记录 日/周/月 选中
|
|||
|
|
$(".change-type3").click(function (e) {
|
|||
|
|
$('.change-type3').each(function () {
|
|||
|
|
if ($(this).hasClass('check-p')) {
|
|||
|
|
$(this).removeClass('check-p')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$(this).addClass('check-p');
|
|||
|
|
dateType2 = $(this).attr("dateType");
|
|||
|
|
myChart10.dispose();
|
|||
|
|
myChart10 = echarts.init(document.getElementById('ticket-history-echarts'));
|
|||
|
|
loadHistoryAjax('3',dateType2);
|
|||
|
|
});
|
|||
|
|
/*日计划选中*/
|
|||
|
|
$(".date-type").click(function (e) {
|
|||
|
|
$('.date-type').each(function () {
|
|||
|
|
if ($(this).find('p').eq(0).hasClass('check-p2')) {
|
|||
|
|
$(this).find('p').eq(0).removeClass('check-p2')
|
|||
|
|
$(this).find('p').eq(0).next('img').css('display', 'none')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$(this).find('p').eq(0).addClass('check-p2')
|
|||
|
|
$(this).find('p').eq(0).next('img').removeAttr('style')
|
|||
|
|
dayType = $(this).find('p').attr("dayValue");
|
|||
|
|
myChart3.dispose();
|
|||
|
|
myChart3 = echarts.init(document.getElementById('echarts-one'));
|
|||
|
|
getDayPlanNumAjax();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
/*站班会统计选中*/
|
|||
|
|
$(".date3-type").click(function (e) {
|
|||
|
|
$('.date3-type').each(function () {
|
|||
|
|
if ($(this).find('p').eq(0).hasClass('check-p3')) {
|
|||
|
|
$(this).find('p').eq(0).removeClass('check-p3')
|
|||
|
|
$(this).find('p').eq(0).next('img').css('display', 'none')
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
classType = $(this).find('p').attr("classType")
|
|||
|
|
$(this).find('p').eq(0).addClass('check-p3')
|
|||
|
|
$(this).find('p').eq(0).next('img').removeAttr('style')
|
|||
|
|
if (classType === '2') {
|
|||
|
|
$('.date3-type img').css('width', '32px')
|
|||
|
|
}
|
|||
|
|
myChart7.dispose();
|
|||
|
|
myChart7 = echarts.init(document.getElementById('echarts-five'));
|
|||
|
|
mergeData();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
/*地图风险等级选中*/
|
|||
|
|
$(".check-risk").click(function (e) {
|
|||
|
|
let checkedName = $(this).find('p').eq(0).attr("checkedName");
|
|||
|
|
let isCheck = $(this).attr("isCheck");
|
|||
|
|
if (checkedName === '' && isCheck === '1') {
|
|||
|
|
$('.check-risk').each(function () {
|
|||
|
|
if ($(this).attr("isCheck") === '1') {
|
|||
|
|
$(this).attr("isCheck", '0')
|
|||
|
|
let checkedValue = $(this).find('p').eq(0).attr("checkedName");
|
|||
|
|
$(this).find('img').eq(0).attr("src", setRiskIcon(checkedValue, 1))
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else if (checkedName === '' && isCheck === '0') {
|
|||
|
|
$('.check-risk').each(function () {
|
|||
|
|
if ($(this).attr("isCheck") === '0') {
|
|||
|
|
$(this).attr("isCheck", '1')
|
|||
|
|
let checkedValue = $(this).find('p').eq(0).attr("checkedName");
|
|||
|
|
$(this).find('img').eq(0).attr("src", setRiskIcon(checkedValue, 2))
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else if (checkedName !== '' && isCheck === '1') {
|
|||
|
|
$(this).attr("isCheck", '0')
|
|||
|
|
$(this).find('img').eq(0).attr("src", setRiskIcon(checkedName, 1))
|
|||
|
|
} else if (checkedName !== '' && isCheck === '0') {
|
|||
|
|
$(this).attr("isCheck", '1')
|
|||
|
|
$(this).find('img').eq(0).attr("src", setRiskIcon(checkedName, 2))
|
|||
|
|
}
|
|||
|
|
// let weatherFlag = $('.switch-form').find('.layui-form-item').eq(0).find('input').eq(0).prop('checked')
|
|||
|
|
let weatherFlag = false
|
|||
|
|
// let terrainFlag = $('.switch-form').find('.layui-form-item').eq(1).find('input').eq(0).prop('checked')
|
|||
|
|
let terrainFlag = $('.switch-form').find('.layui-form-item').eq(0).find('input').eq(0).prop('checked')
|
|||
|
|
if (!weatherFlag) {
|
|||
|
|
mapSearch();
|
|||
|
|
if (!terrainFlag) {
|
|||
|
|
if (!isCity) {
|
|||
|
|
map(mapPointList)
|
|||
|
|
} else {
|
|||
|
|
let dataList = mapPointList.filter(item => {
|
|||
|
|
if (item.buildCode === clickCityCode) {
|
|||
|
|
return item
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
map2(dataList)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
clearOverlay(1)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 设置风险等级选中样式
|
|||
|
|
function setRiskIcon(value, type) {
|
|||
|
|
console.log(value)
|
|||
|
|
if (value && type === 1) {
|
|||
|
|
return '../../img/title-btn/no-check/risk-' + value + '-nocheck.png';
|
|||
|
|
} else if (!value && type === 1) {
|
|||
|
|
return '../../img/title-btn/no-check/risk-1-nocheck.png';
|
|||
|
|
} else if (value && type === 2) {
|
|||
|
|
return '../../img/title-btn/check/risk-' + value + '-check.png';
|
|||
|
|
} else if (!value && type === 2) {
|
|||
|
|
return '../../img/title-btn/check/risk-1-check.png';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*返回echarts主地图*/
|
|||
|
|
function back() {
|
|||
|
|
$('.switch-type').removeAttr('style');
|
|||
|
|
$('.switch-btn').removeAttr('style');
|
|||
|
|
$('.switch-type2').css('display', 'none');
|
|||
|
|
$('.back').css('display', 'none');
|
|||
|
|
echarts.init(document.getElementById('echarts-map2')).dispose();
|
|||
|
|
clickCityName = null, clickCityCode = null;
|
|||
|
|
isCity = false;
|
|||
|
|
map(mapPointList);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*建管单位赋值*/
|
|||
|
|
function setOrg(orgList, type) {
|
|||
|
|
let city = formSelects.value('city', 'val');
|
|||
|
|
let keys = [];
|
|||
|
|
$.each(orgList, function (index, item) {
|
|||
|
|
let temp = {
|
|||
|
|
"name": item.name + "(" + item.num + "," + item.rate + ")",
|
|||
|
|
"value": item.code,
|
|||
|
|
"titleName": item.name
|
|||
|
|
};
|
|||
|
|
keys.push(temp);
|
|||
|
|
})
|
|||
|
|
formSelects.data('city', 'local', {
|
|||
|
|
arr: keys
|
|||
|
|
});
|
|||
|
|
if (type) {
|
|||
|
|
formSelects.value('city', city)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*地图关键字搜索*/
|
|||
|
|
function searchRiskData() {
|
|||
|
|
mapSearch();
|
|||
|
|
let weatherFlag = $('.switch-form').find('.layui-form-item').eq(0).find('input').eq(0).prop('checked')
|
|||
|
|
let terrainFlag = $('.switch-form').find('.layui-form-item').eq(1).find('input').eq(0).prop('checked')
|
|||
|
|
if (!weatherFlag) {
|
|||
|
|
if (!terrainFlag) {
|
|||
|
|
map(mapPointList)
|
|||
|
|
} else {
|
|||
|
|
clearOverlay(1)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
showWeatherList.splice(0, showWeatherList.length)
|
|||
|
|
$.each(weatherList, function (index, item) {
|
|||
|
|
showWeatherList.push(item)
|
|||
|
|
})
|
|||
|
|
if (!terrainFlag) {
|
|||
|
|
map([])
|
|||
|
|
} else {
|
|||
|
|
clearOverlay(2)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*加载echarts图*/
|
|||
|
|
initEchartsOne();
|
|||
|
|
|
|||
|
|
/*地图关键字搜索、风险等级选中*/
|
|||
|
|
function mapSearch() {
|
|||
|
|
let selRiskList = [];
|
|||
|
|
mapPointList.splice(0, mapPointList.length);
|
|||
|
|
$('.check-risk').each(function () {
|
|||
|
|
if ($(this).attr("isCheck") === '1') {
|
|||
|
|
if ($(this).find('p').eq(0).attr("checkedName")) {
|
|||
|
|
selRiskList.push($(this).find('p').eq(0).attr("checkedName"))
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
if (selRiskList.length) {
|
|||
|
|
$.each(selRiskList, function (index, item) {
|
|||
|
|
let dataList = mainMapPointList.filter(item2 => {
|
|||
|
|
if (item === '4') {
|
|||
|
|
return item2.riskType === '4' || item2.riskType === '5';
|
|||
|
|
} else {
|
|||
|
|
return item2.riskType === item
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
$.each(dataList, function (index3, item3) {
|
|||
|
|
mapPointList.push(item3)
|
|||
|
|
})
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
let keyWord = $('.keyWord').val();
|
|||
|
|
if (keyWord) {
|
|||
|
|
let dataList = mapPointList.filter(item => {
|
|||
|
|
if (item.proName.indexOf(keyWord) != -1 || item.foreman.indexOf(keyWord) != -1) {
|
|||
|
|
return item
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
mapPointList.splice(0, mapPointList.length);
|
|||
|
|
if (dataList.length > 0) {
|
|||
|
|
$.each(dataList, function (index, item) {
|
|||
|
|
mapPointList.push(item)
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 加载页面数据
|
|||
|
|
function loadData() {
|
|||
|
|
getProNumByType(proType, '', 1);
|
|||
|
|
getWeekRiskNumAjax();
|
|||
|
|
getTicketNumAjax();
|
|||
|
|
getDayAttendanceNumAjax(1);
|
|||
|
|
getRiskMapAjax();
|
|||
|
|
// getWeatherMapAjax();
|
|||
|
|
// getWeatherAlertAjax();
|
|||
|
|
// getDayPlanNumAjax();
|
|||
|
|
timedRefresh();
|
|||
|
|
// timedRefresh2();
|
|||
|
|
mergeData();
|
|||
|
|
getTodayWarnInfo();
|
|||
|
|
loadHistoryAjax('1','1');
|
|||
|
|
loadHistoryAjax('3','1');
|
|||
|
|
getGtList();
|
|||
|
|
}
|