IntelligentRecognition/ah-jjsp-web/bns/js/compreDisplay/compreDisplay.js

438 lines
16 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 工程类型默认为空、天气数据默认为空、作业票默认为当日、日计划默认为当日、定时刷新启动按钮
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();
}