From 14e02654e0545ee69456d64aef2f35c7c219d708 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 07 May 2021 11:26:49 +0800
Subject: [PATCH] 地图模式设备状态修改
---
public/map/widgets/supervisoryMap/SupervisoryMap.js | 1116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 1,069 insertions(+), 47 deletions(-)
diff --git a/public/map/widgets/supervisoryMap/SupervisoryMap.js b/public/map/widgets/supervisoryMap/SupervisoryMap.js
index 4192bdc..8d81a33 100644
--- a/public/map/widgets/supervisoryMap/SupervisoryMap.js
+++ b/public/map/widgets/supervisoryMap/SupervisoryMap.js
@@ -152,6 +152,25 @@
//存放聚合实体
clusterLayer: null,
+ //左侧控制栏
+ entityData: [],
+ analysisAddEntitys: null,
+ //防抖
+ onceTimeMethodS: null,
+ onceTime: 300,
+ // 警情缓存
+ Pdata: null,
+ // 警情图标缓存
+ Pdatas: null,
+ //业主缓存
+ Ydata: null,
+ // 业主图标缓存
+ Ydatas: null,
+ //设备缓存
+ Sdata: null,
+ // 设备图标缓存
+ Sdatas: null,
+
constructor: function (options, srcRefNode) {
this._map = options.map;
objThis = this;
@@ -175,65 +194,1015 @@
this._map.addLayer(this.addPolygonEntitys);
this._map.addLayer(this.entityPolygonAll);
+ this.analysisAddEntitys = new GraphicsLayer({ id: 'analysisAddEntitys' });
+ // this.addOneEntitys = new GraphicsLayer({ id: 'addOneEntitys' });
+ // this.addTwoEntitys = new GraphicsLayer({ id: 'addTwoEntitys' });
+ // this.addThreeEntitys = new GraphicsLayer({ id: 'addThreeEntitys' });
+
+ this._map.addLayer(this.analysisAddEntitys);
+ this._map.addLayer(this.addOneEntitys);
},
-
- startup: function () {
-
- objThis._map.addLayer(objThis._siteLayer);
-
-
-
-
- },
-
- getQueryStringByKey: function (key) {
- return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || ['', null])[1];
- },
- entityData: [],
open: function () {
var that = this;
$.ajax({
- url: "https://web.byisf.com/api/blade-jfpts/equipment/equipment/listAll",
+ url: "/api/blade-jfpts/equipment/equipment/listAll",
type: 'get',
dataType: 'JSON',
success: function (res) {
-
var datas = res.data;
-
-
+ // console.log(datas)
var heatmapRenderer = null;
that.entityData = [];
-
-
-
for (var i = 0; i < datas.length; i++) {
datas[i].x = Number(datas[i].jd);
datas[i].y = Number(datas[i].wd);
- // that.entityData[i].lgtd = Number(datas[i].jd);
- // that.entityData[i].lttd = Number(datas[i].wd);
that.entityData.push({
lgtd: Number(datas[i].jd),
lttd: Number(datas[i].wd)
})
}
- // console.log(that.entityData, 444444444444444444444)
- // console.log(datas,444444444444444444444)
that.flareClusterLayer(datas);
-
+ // console.log(datas)
that.heatmapfeatureLayer = that.heatmFeaLayers();
-
- // console.log(that.heatmapfeatureLayer);
-
that._map.addLayer(that.heatmapfeatureLayer);
-
- that.checkBoxSelect();
-
- // console.log(that.heatmapfeatureLayer);
+ // that.checkBoxSelect();//左侧控制热力图重复
}
})
+ var that = this;
+ var intTime = () => {
+ var time = this.getTime();
+ $("#tabcontainer").css("width", "360px");
+ $('#mapcontentClass').addClass('client-max-map'); //追加样式
+ AppEvent.dispatchAppEvent(AppEvent.APPLICATION_RESIZE, {});
+ that.tabIndex = 0;
+ $('.analysis-and-judgment-tab li:eq(0)').addClass('on').siblings().removeClass('on');
+ $($('.analysis-container > div')[0]).stop().show().siblings().stop().hide();
+
+ that.heatmapfeatureLayer = that.heatmFeaLayers();
+
+ that._map.addLayer(that.heatmapfeatureLayer);
+ $('#analysis_select_time_start').val(time.tomorrow);
+ $('#analysis_select_time_end').val(time.current);
+
+ layui.use('laydate', function () {
+ that.layuiLadate = layui.laydate;
+ //执行一个laydate实例 开始
+ that.layuiLadate.render({
+ elem: '#analysis_select_time_start', //指定元素
+ type: "datetime",
+ format: 'yyyy-MM-dd HH:mm',
+ trigger: 'click'
+ });
+ // 结束
+ that.layuiLadate.render({
+ elem: '#analysis_select_time_end', //指定元素
+ type: "datetime",
+ format: 'yyyy-MM-dd HH:mm',
+ trigger: 'click'
+ });
+ });
+ that.getArea($('#policeArea'));
+ // that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), time.tomorrow, time.current, '', '');
+ that.clickHand();
+
+ }
+ intTime();
},
+ startup: function () {
+ var mySelf = this;
+ objThis._map.addLayer(objThis._siteLayer);
+ var that = this;
+ // console.log(mySelf.clusterLayer)
+ that.getEquipmentTable($('.analysis-container-equipment').find('.tbody tbody'), '', 'once');
+ // 顶部tab得切换事件
+ $('.analysis-and-judgment-tab li').click(function () {
+ // if (that.tabIndex == $(this).index()) return;
+ // if ($(this).index() == 1) { return };
+ // if ($(this).index() == 2) { return };
+
+ //解决打开热力图 切换top获取不了数据问题 警情
+ if ($('#policeHeatMap').prop('checked') == true) {
+ // console.log($('#policeHeatMap').prop('checked') == true)
+ $('#policeHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#policeHeatMap'));
+ } else
+ //解决打开热力图 切换top获取不了数据问题 业主
+ if ($('#ownerHeatMap').prop('checked') == true) {
+ // console.log($('#ownerHeatMap').prop('checked') == true)
+ $('#ownerHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#ownerHeatMap'));
+ } else
+ //解决打开热力图 切换top获取不了数据问题 设备
+ if ($('#equipmentHeatMap').prop('checked') == true) {
+ // console.log($('#equipmentHeatMap').prop('checked') == true)
+ $('#equipmentHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#equipmentHeatMap'));
+ }
+
+
+ // console.log($('#policeHeatMap').prop('checked') == true)
+ if (that.entitysData.length > 0) {
+ that.analysisAddEntitys.clear();
+ that.entitysData = [];
+ }
+
+ if (that.heatmapfeatureLayer.graphics.length > 0) {
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ $('.analysis-category input').prop('checked', false);
+ }
+
+
+
+ $(this).addClass('on').siblings().removeClass('on');
+ var ind = $(this).index();
+ $($('.analysis-container > div')[ind]).stop().show().siblings().stop().hide();
+ var overText = $('#policeCategory > div:eq(0)').text().trim() == '全部' ? '' : $('#policeCategory > div:eq(0)').text().trim();
+ var levelText = $('#policeArea > div:eq(0)').text().trim() == '全部' ? '' : $('#policeArea > div:eq(0)').attr('areaid');
+ if (ind == 1) {
+ that.getArea($('#policeArea'));
+ that.getPoliceTableAnalysis($($('.analysis-container > div')[ind]).find('.tbody tbody'),
+ $('#analysis_select_time_start').val() + ':00',
+ $('#analysis_select_time_end').val() + ':00', overText, levelText)
+ } else if (ind == 2) {
+ that.getOwnerType($('#ownerCategory'));
+ that.getOwnerDj($('#ownerLevel'), '');
+ that.getOwnerTable($($('.analysis-container > div')[ind]).find('.tbody tbody'), '', '');
+ } else if (ind == 0) {
+ that.getEquipmentTable($($('.analysis-container > div')[ind]).find('.tbody tbody'), '');
+ }
+
+ that.tabIndex = $(this).index();
+ })
+
+ // 时间查询
+ $('#policeSelectTime').off('click').click(function () {
+
+ var times = $(this).prevAll();
+
+ layui.use('layer', function () {
+
+ var layer = layui.layer;
+ // 开始时间
+ var startTime = $(times[2]).val();
+ // 结束时间
+ var endTime = $(times[0]).val();
+
+ if (startTime == '') {
+
+ layer.msg('请选择开始时间!', {
+ icon: 5,
+ time: 2000 //2秒关闭(如果不配置,默认是3秒)
+ });
+ return;
+
+ } else {
+
+ if (endTime == '') {
+ layer.msg('请选择结束时间!', {
+ icon: 5,
+ time: 2000 //2秒关闭(如果不配置,默认是3秒)
+ });
+ return;
+ } else {
+
+ var text = $('#policeCategory div:eq(0)').text().trim();
+
+ var levelText = $('#policeArea > div:eq(0)').text().trim() == '全部' ? '' : $('#policeArea > div:eq(0)').attr('areaid');
+ that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), startTime, endTime, text == '全部' ? '' : text, levelText);
+
+ }
+
+ }
+
+ })
+
+
+
+
+ })
+
+ // 警情列表中的点击事件
+ $('.analysis-container-police .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function (event) {
+ if ($('#policeHeatMap').prop('checked') == true) {// 点击关闭热力图
+ // console.log('relitu')
+ $('#policeHeatMap').click();
+ }
+ var id = $(this).attr('term-list');
+ var b = mySelf.Pdata;
+ for (var key in b) {
+ if (b[key].id == id) {
+ b = b[key];
+ break;
+ }
+ }
+ // console.log(b, id);
+ event.stopPropagation();
+ var winSize = [+window.innerHeight / 2 - 242 + 'px', +window.innerWidth - 380 + 'px'];
+
+ if (b.jd == '' || b.wd == '') {
+ // console.log('无地图经纬度');
+ b.haveJW = '无地图经纬度';
+ } else {
+ // console.log('有地图经纬度')
+ b.haveJW = '有地图经纬度';
+ // var lgtd = Number($(this).find('input').attr('lgtd'));
+ // var lttd = Number($(this).find('input').attr('lttd'));
+ var lgtd = Number(b.jd);
+ var lttd = Number(b.wd);
+ // console.log($(this).find('input').attr('lttd'));
+ var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+ }
+ //解决重复JSON.stringify将循环结构转换为JSON。有几率出错,err:TypeError: Converting circular structure to JSON
+ //舍弃上面方法,原因是对象里面嵌入对象,造成不能转换成JSON,吧对象去掉就好,
+ var as = b;
+ var setdata = JSON.stringify(as);
+ // console.log(setdata,'setdata')
+ var intOpen = () => {
+ layui.use('layer', function () {
+ that.layuiLayer = layui.layer;
+ that.layuiLayer.config({
+ extend: 'myskin/FlareClusterLayer.css'
+ });
+ that.layuiLayer.close(that.layuiLayer.index);
+ that.layuiLayer.open({
+ title: '',
+ type: 2,
+ shadeClose: true,
+ shade: false,
+ skin: 'demo-class',
+ id: 'onelyTwo',
+ maxmin: false, //开启最大化最小化按钮
+ area: ['360px', '484px'],
+ // area: 'auto',
+ offset: winSize,
+ skin: 'flare',
+ isOutAnim: false,
+ closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ content: ['./popup/html/SupervisoryMapPdata.html'],
+ resize: false,
+ scrollbar: false,
+ // tipsMore: true, //允许多个tipe
+ // content: num,
+ success: function (layero, index) { //成功后添加全局点击关闭
+ $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+
+ },
+ })
+ })
+ }
+ if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
+ intOpen();
+ mySelf.onceTimeMethod = setTimeout(() => {
+ mySelf.onceTimeMethod = null;
+ }, mySelf.onceTime);
+ } else {
+ };
+ })
+ $('.analysis-container-police .analysis-table-content .tbody').off('click', '.location').on('click', '.location', function (event) {
+ event.stopPropagation();
+ })
+ $('.analysis-container-police .analysis-table-content .tbody').off('click', '.location input').on('click', '.location input', function (event) {
+ event.stopPropagation();
+ var lgtd = Number($(this).attr('lgtd'));
+ var lttd = Number($(this).attr('lttd'));
+ var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+ })
+
+ // 业主列表中的点击事件
+ $('.analysis-container-owner .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function (event) {
+ if ($('#ownerHeatMap').prop('checked') == true) {// 点击关闭热力图
+ // console.log('relitu')
+ $('#ownerHeatMap').click();
+ }
+ var id = $(this).attr('term-list');
+ var b = mySelf.Ydata;
+ for (var key in b) {
+ if (b[key].id == id) {
+ b = b[key];
+ break;
+ }
+ }
+
+ event.stopPropagation();
+ if (b.jd == '' || b.wd == '') {
+ // console.log('无地图经纬度');
+ b.haveJW = '无地图经纬度';
+ } else {
+ // console.log('有地图经纬度')
+ b.haveJW = '有地图经纬度';
+ var lgtd = Number(b.jd);
+ var lttd = Number(b.wd);
+ // console.log($(this).find('input').attr('lttd'));
+ var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+ }
+
+
+
+ // console.log(b, id);
+ var winSize = [+window.innerHeight / 2 - 242 + 'px', +window.innerWidth - 380 + 'px'];
+ var as = b;
+ var bs = {};
+ for (let key in as) {
+ if (typeof as[key] != 'object') {
+ bs[key] = as[key]
+ // as = as[key].attributes;
+ // console.log('youduixang ')
+ // break;
+ }
+ }
+ var setdata = JSON.stringify(bs);
+ // console.log(setdata,'setdata')
+ var intOpen = () => {
+ layui.use('layer', function () {
+ that.layuiLayer = layui.layer;
+ that.layuiLayer.config({
+ extend: 'myskin/FlareClusterLayer.css'
+ });
+ that.layuiLayer.close(that.layuiLayer.index);
+ that.layuiLayer.open({
+ title: '',
+ type: 2,
+ shadeClose: true,
+ shade: false,
+ skin: 'demo-class',
+ id: 'onelyTwo',
+ maxmin: false, //开启最大化最小化按钮
+ area: ['360px', '484px'],
+ // area: 'auto',
+ offset: winSize,
+ skin: 'flare',
+ isOutAnim: false,
+ closeBtn: 2, //关闭按钮,可通过配置1和2来展示,0关闭
+ content: ['./popup/html/SupervisoryMapYdata.html'],
+ resize: false,
+ scrollbar: false,
+ // tipsMore: true, //允许多个tipe
+ // content: num,
+ success: function (layero, index) { //成功后添加全局点击关闭
+ $("#layui-layer-iframe" + index).contents().find("#sidIput").val(setdata);
+
+ },
+ })
+ })
+ }
+ if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
+ intOpen();
+ mySelf.onceTimeMethod = setTimeout(() => {
+ mySelf.onceTimeMethod = null;
+ }, mySelf.onceTime);
+ } else {
+ };
+
+ })
+ $('.analysis-container-owner .analysis-table-content .tbody').off('click', '.location').on('click', '.location', function (event) {
+ event.stopPropagation();
+ })
+ $('.analysis-container-owner .analysis-table-content .tbody').off('click', '.location input').on('click', '.location input', function (event) {
+ event.stopPropagation();
+ var lgtd = Number($(this).attr('lgtd'));
+ var lttd = Number($(this).attr('lttd'));
+ var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+ })
+
+ // 设备列表中的点击事件
+ $('.analysis-container-equipment .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function (event) {
+ var id = $(this).attr('term-listid');
+ if ($('#equipmentHeatMap').prop('checked') == true) {// 点击关闭热力图
+ // console.log('relitu')
+ $('#equipmentHeatMap').click();
+ }
+
+ event.stopPropagation();
+ var lgtd = Number($(this).find('input').attr('lgtd'));
+ var lttd = Number($(this).find('input').attr('lttd'));
+ // console.log($(this).find('input').attr('lttd'));
+ var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+
+
+ var y = +window.innerHeight / 2 + 200;
+ var x = (+window.innerWidth - 360) / 2 + 360 + 70;
+ // document.elementFromPoint(x, y).click();
+ // console.log(x, y)
+
+ // var a = document.elementFromPoint(21, 122);
+ // console.log(a);
+
+ // console.log(that.clusterLayer, that._map, 6)
+ // console.log(id, 'id');
+ // console.log(that.clusterLayer);
+ var Tattributes = null
+ , ds = that.clusterLayer.allData;
+ for (var key in ds) {
+ if (ds[key].id == id) {
+ Tattributes = ds[key];
+ }
+ }
+ if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
+ var evtdata = {};
+ evtdata = {
+ graphic: {
+ attributes: Tattributes,
+ },
+ screenX: x,
+ screenY: y,
+ }
+ that.clusterLayer._clickOpenOnclick(evtdata, '控制端', that.clusterLayer.indexs);
+ mySelf.onceTimeMethod = setTimeout(() => {
+ mySelf.onceTimeMethod = null;
+ }, mySelf.onceTime);
+ } else {
+ };
+
+
+ })
+ // $('.analysis-container-equipment .analysis-table-content .tbody').off('click', '.location').on('click', '.location', function (event) {
+ // event.stopPropagation();
+ // })
+ // $('.analysis-container-equipment .analysis-table-content .tbody').off('click', '.location input').on('click', '.location input', function (event) {
+ // event.stopPropagation();
+ // var lgtd = Number($(this).attr('lgtd'));
+ // var lttd = Number($(this).attr('lttd'));
+ // var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 }));//根据输入坐标信息找地图上的点
+ // that._map.centerAndZoom(position, 18);//缩放,10是缩放级别,可以自定义,数值越大缩放越大
+
+ // var y = +window.innerHeight / 2 + 200;
+ // var x = (+window.innerWidth - 360) / 2 + 360 + 70;
+ // // document.elementFromPoint(x, y).click();
+ // // console.log(x, y)
+
+ // // var a = document.elementFromPoint(21, 122);
+ // // console.log(a);
+
+ // // console.log(that.clusterLayer, that._map, 6)
+ // // console.log(id, 'id');
+ // // console.log(that.clusterLayer.indexs);
+ // var Tattributes = null
+ // , ds = that.clusterLayer.allData;
+ // for (var key in ds) {
+ // if (ds[key].id == id) {
+ // Tattributes = ds[key];
+ // }
+ // }
+ // if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
+ // var evtdata = {};
+ // evtdata = {
+ // graphic: {
+ // attributes: Tattributes,
+ // },
+ // screenX: x,
+ // screenY: y,
+ // }
+ // that.clusterLayer._clickOpenOnclick(evtdata, '控制端', that.clusterLayer.indexs);
+ // mySelf.onceTimeMethod = setTimeout(() => {
+ // mySelf.onceTimeMethod = null;
+ // }, mySelf.onceTime);
+ // } else {
+ // };
+ // })
+ // 警情列表中得热力图是否选中事件
+ $('#policeHeatMap').click(function () {
+ that.checkBoxSelect(this);
+ })
+ // 业主信息列表中得热力图是否选中事件
+ $('#ownerHeatMap').click(function () {
+ that.checkBoxSelect(this);
+ })
+ // 设备信息列表的热力图是否选中事件
+ $('#equipmentHeatMap').click(function () {
+ that.checkBoxSelect(this);
+ })
+ // 警情信息中类别移入事件
+ $('#policeCategory').mouseenter(function () {
+ if ($('#policeCategory .select-list').is(':hidden')) {
+ $('#policeCategory .select-list').stop().slideDown(0);
+ }
+ })
+ // 警情信息中得类别移出事件
+ $('#policeCategory').mouseleave(function () {
+ if (!$('#policeCategory .select-list').is(':hidden')) {
+ $('#policeCategory .select-list').stop().slideUp(0);
+ }
+ })
+ // 警情信息中行政区移入事件
+ $('#policeArea').mouseenter(function () {
+ if ($('#policeArea .select-list').is(':hidden')) {
+ $('#policeArea .select-list').stop().slideDown(0);
+ }
+ })
+ // 警情信息中得行政区移出事件
+ $('#policeArea').mouseleave(function () {
+ if (!$('#policeArea .select-list').is(':hidden')) {
+ $('#policeArea .select-list').stop().slideUp(0);
+ }
+ })
+ // 业主信息中类别移入事件
+ $('#ownerCategory').mouseenter(function () {
+ if ($('#ownerCategory .select-list').is(':hidden')) {
+ $('#ownerCategory .select-list').stop().slideDown(0);
+ }
+ })
+ // 业主信息中得类别移出事件
+ $('#ownerCategory').mouseleave(function () {
+ if (!$('#ownerCategory .select-list').is(':hidden')) {
+ $('#ownerCategory .select-list').stop().slideUp(0);
+ }
+ })
+ // 业主信息中的等级移入事件
+ $('#ownerLevel').mouseenter(function () {
+ if ($('#ownerLevel .select-list').is(':hidden')) {
+ $('#ownerLevel .select-list').stop().slideDown(0);
+ }
+ })
+ // 业主信息中的等级移出事件
+ $('#ownerLevel').mouseleave(function () {
+ if (!$('#ownerLevel .select-list').is(':hidden')) {
+ $('#ownerLevel .select-list').stop().slideUp(0);
+ }
+ })
+ // 设备信息中类别移入事件
+ $('#equipmentCategory').mouseenter(function () {
+ if ($('#equipmentCategory .select-list').is(':hidden')) {
+ $('#equipmentCategory .select-list').stop().slideDown(0);
+ }
+ })
+ // 设备信息中得类别移出事件
+ $('#equipmentCategory').mouseleave(function () {
+ if (!$('#equipmentCategory .select-list').is(':hidden')) {
+ $('#equipmentCategory .select-list').stop().slideUp(0);
+ }
+ })
+ // 警情信息类,业主信息类,设备信息类别,具体项的点击事件
+ $('.analysis-container > div .select-list').off('click', 'li').on('click', 'li', function (event) {
+ // console.log(event.currentTarget.innerHTML,'innerhtml')
+ var text = $(this).text().trim();
+ // console.log(this,text,'text()')
+ // console.log(that.tabIndex,'tabIndex')
+
+
+ //解决打开热力图 切换top获取不了数据问题 警情
+ if ($('#policeHeatMap').prop('checked') == true) {
+ // console.log($('#policeHeatMap').prop('checked') == true)
+ $('#policeHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#policeHeatMap'));
+ } else
+ //解决打开热力图 切换top获取不了数据问题 业主
+ if ($('#ownerHeatMap').prop('checked') == true) {
+ // console.log($('#ownerHeatMap').prop('checked') == true)
+ $('#ownerHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#ownerHeatMap'));
+ } else
+ //解决打开热力图 切换top获取不了数据问题 设备
+ if ($('#equipmentHeatMap').prop('checked') == true) {
+ // console.log($('#equipmentHeatMap').prop('checked') == true)
+ $('#equipmentHeatMap').prop('checked', false);
+ that.checkBoxSelect($('#equipmentHeatMap'));
+ var time = setTimeout(() => {
+ // $('#equipmentHeatMap').click(function () {
+ // that.checkBoxSelect('#equipmentHeatMap');
+ // })();
+ $('#equipmentHeatMap').click();
+ }, 500);
+ }
+
+
+ $(this).parent().parent().prev().html(text + '<i></i>');
+ $(this).parent().parent().stop().slideUp(0);
+
+ if ($(this).attr('areaid')) {
+ $(this).parent().parent().prev().attr('areaid', $(this).attr('areaid'));
+ } else if ($(this).attr('ownerid')) {
+ $(this).parent().parent().prev().attr('ownerid', $(this).attr('ownerid'));
+ }
+
+
+ if (that.tabIndex == 1) {
+
+ var levelText = $('#policeArea > div:eq(0)').text().trim() == '全部' ? '' : $('#policeArea > div:eq(0)').attr('areaid');
+ var overText = $('#policeCategory > div:eq(0)').text().trim() == '全部' ? '' : $('#policeCategory > div:eq(0)').text().trim();
+
+ if ($(this).attr('areaid')) {
+ that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), $('#analysis_select_time_start').val(), $('#analysis_select_time_end').val(), overText, levelText);
+ } else {
+ that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), $('#analysis_select_time_start').val(), $('#analysis_select_time_end').val(), overText, levelText);
+ }
+
+
+ } else if (that.tabIndex == 2) {
+ that.getOwnerTable($('.analysis-container-owner').find('.tbody tbody'), text == '全部' ? '' : text);
+ } else if (that.tabIndex == 0) {
+ that.getEquipmentTable($('.analysis-container-equipment').find('.tbody tbody'), text == '全部' ? '' : text);
+ }
+
+ })
+ },
+
+ getQueryStringByKey: function (key) {
+ return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || ['', null])[1];
+ },
+
+ //左侧控制栏
+
+
+ getArea: function (dom) {
+ dom.children('.select-list').children('ul').empty();
+ dom.children('.select-list').children('ul').append($("<li areaid='all'>全部</li>"));
+ var that = this;
+ $.ajax({
+ url: '/api/blade-system/region/select?code=3601',
+ type: 'GET',
+ dataType: 'JSON',
+ success: function (data) {
+ var res = data.data;
+ for (var i = 0; i < res.length; i++) {
+ dom.children('.select-list').children('ul').append($("<li areaid=" + res[i].code + ">" + res[i].name + "</li>"));
+ }
+ }
+ })
+ },
+ getPoliceTableAnalysis: function (dom, beginTime, endTime, waringType, addvcd) {
+ dom.empty();//警情信息
+ var that = this;
+ $.ajax({
+ url: "/api/blade-jfpts/alarm/alarm/page?current=1&size=99999&waringType=&beginTime=" + beginTime + "&endTime=" + endTime + "&province=36&city=3601&district=" + addvcd,
+ type: 'get',
+ dataType: 'JSON',
+ success: function (data) {
+ // var result = data.data.records;
+ var oldData = data.data.records
+ var result = oldData;
+ that.Pdata = oldData;
+ // console.log(that.Pdata);//警情筛选
+ var str = '';
+ that.entitysData = [];
+ that.analysisAddEntitys.clear();
+ for (var a, time, t, e, y, h, i = 0; i < result.length; i++) {
+
+ if (result[i].waringType == "紧急求救") {
+ result[i].waringType = "一键求助"
+ }
+
+
+ that.createEntitysAnalysis(that.analysisAddEntitys, that.entitysData, '警情信息', {
+ lgtd: result[i].jd,
+ lttd: result[i].wd,
+ id: result[i].id
+ }, result[i].jd, result[i].wd,
+ // './images/police-situation.png'
+ );
+
+ t = result[i].alarmTime.substr(0, 10);
+ e = result[i].alarmTime.substr(11);
+ time = t + ' ' + e;
+ y = result[i].alarmTime.substr(5, 5);
+ h = result[i].alarmTime.substr(11, 5);
+ a = Number(i) + 1;
+
+
+ str += '<tr term-list=' + result[i].id + '>';
+ str += '<td>' + a + '</td>';
+ str += '<td title=' + result[i].waringType + '>' + result[i].waringType + '</td>';
+ str += '<td title=' + result[i].alarmPeople + '>' + result[i].alarmPeople + '</td>';
+ str += "<td><a href='javascript:;' title=" + time + ">" + y + ' ' + h + "</a></td>";
+ // str += "<td class='location' style='display: none'> <input type='button' value='定位'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ if (result[i].jtype == 0) {
+ str += "<td class='location'> <input style='color:#fff;background-color:#F35B5B;width: 50px' type='button' value='未处理'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ } else {
+ if (result[i].jtype == 1) {
+ str += "<td class='location'> <input style='color:#fff;background-color:rgb(18, 145, 230);width: 50px' type='button' value='处理中'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+
+ } else {
+ str += "<td class='location'> <input style='color:#fff;background-color:#32C1A2;width: 50px' type='button' value='已处理'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+
+ }
+ }
+
+ str += '</tr>';
+ dom.append(str);
+ str = '';
+
+
+ }
+
+ that.clearLayer();//图标清除
+ that.entityData = [];
+ for (var i = 0; i < result.length; i++) {
+ result[i].x = Number(result[i].jd);
+ result[i].y = Number(result[i].wd);
+ that.entityData.push({
+ lgtd: Number(result[i].jd),
+ lttd: Number(result[i].wd)
+ })
+ }
+ // console.log(result);//警情
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ $('.analysis-category input').prop('checked', false);
+ };
+ that.flareClusterLayer(result);//图标渲染
+ that.Pdatas = result;
+ that.clusterLayer._setUserState('警情');//切换聚合图标点击事件
+
+ for (var i = 0; i < 1000; i++) {
+ var dd = Math.random();
+ var cc = Math.random();
+ }
+ }
+ })
+ },
+ getOwnerType: function (dom) {
+ dom.children('div:eq(0)').html("全部 <i></i>");
+ dom.children('.select-list').children('ul').empty();
+ dom.children('.select-list').children('ul').append($("<li ownerid='all'>全部</li>"));
+ $.ajax({
+ url: '/api/blade-jfpts/lx/lx/seleclx',
+ type: 'GET',
+ dataType: 'JSON',
+ success: function (data) {
+ var res = data.data;
+ for (var i = 0; i < res.length; i++) {
+ dom.children('.select-list').children('ul').append($("<li ownerid=" + res[i].tnumber + ">" + res[i].types + "</li>"));
+ }
+ }
+ })
+ },
+ getOwnerDj: function (dom, tnumbers) {
+ dom.children('div:eq(0)').html("全部 <i></i>");
+ dom.children('.select-list').children('ul').empty();
+ dom.children('.select-list').children('ul').append($("<li>全部</li>"));
+ // $.ajax({
+ // url: '/api/blade-jfpts/dj/dj/selectName?tnumbers=' + tnumbers,
+ // type: 'GET',
+ // dataType: 'JSON',
+ // success: function (data) {
+ // var res = data.data;
+ // for (var i = 0; i < res.length; i++) {
+ // dom.children('.select-list').children('ul').append($("<li>" + res[i].dj + "</li>"));
+ // }
+ // }
+ // })
+ },
+ // 获取业主信息列表
+ getOwnerTable: function (dom, deviceType) {
+ dom.empty();
+ var that = this;
+ $.ajax({
+ // url: '/api/blade-system/tenant/page',
+ // type: 'GET',
+ url: '/api/blade-system/tenant/selectListTe',
+ type: 'POST',
+ dataType: 'JSON',
+ success: function (data) {
+ // var result = data.data;
+ var oldData = data.data;
+ // console.log(deviceType)
+ var result = [];
+ that.Ydata = oldData;
+
+ if (deviceType == '') {
+ result = oldData;
+ } else if (deviceType == '医院') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].type == '0') {
+ result.push(oldData[key]);
+ }
+ }
+ } else if (deviceType == '学校') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].type == '1') {
+ result.push(oldData[key]);
+ }
+ }
+ } else if (deviceType == '小区') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].type == '2') {
+ result.push(oldData[key]);
+ }
+ }
+ }
+
+
+
+ that.clearLayer();//图标清除
+ that.entityData = [];
+ for (var i = 0; i < result.length; i++) {
+ result[i].x = Number(result[i].jd);
+ result[i].y = Number(result[i].wd);
+ that.entityData.push({
+ lgtd: Number(result[i].jd),
+ lttd: Number(result[i].wd)
+ })
+ }
+ // console.log(result);//业主
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ $('.analysis-category input').prop('checked', false);
+ };
+
+ that.flareClusterLayer(result);//图标渲染
+ that.Ydatas = result;
+ that.clusterLayer._setUserState('业主');//切换聚合图标点击事件
+
+
+ var str = '';
+ that.entitysData = [];
+ that.analysisAddEntitys.clear();
+ var createD = (id, a, name, dj, type) => {
+ str += "<tr term-list=" + id + ">";
+ str += '<td>' + a + '</td>';
+ str += '<td>' + name + '</td>';
+ str += '<td>' + dj + '</td>';
+ str += '<td>' + type + '</td>';
+ // str += "<td class='location' style='display: none'> <input type='button' value='定位'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ str += '</tr>';
+ dom.append(str);
+ str = '';
+ }
+ for (var a, i = 0; i < result.length; i++) {
+
+ that.createEntitysAnalysis(that.analysisAddEntitys, that.entitysData, '业主信息', {
+ lgtd: result[i].jd,
+ lttd: result[i].wd,
+ id: result[i].id
+ }, result[i].jd, result[i].wd,
+ // './images/业主.png'
+ );
+
+ a = Number(i) + 1;
+ if (result[i].type === "0") {
+ createD(result[i].id, a, result[i].tenant_name, result[i].dj, '医院')
+ } else if (result[i].type === "1") {
+ createD(result[i].id, a, result[i].tenant_name, result[i].nature, '学校')
+ } else if (result[i].type === "2") {
+ createD(result[i].id, a, result[i].tenant_name, result[i].housetype, '小区')
+ } else {
+ createD(result[i].id, a, result[i].tenant_name, result[i].dj, '其他')
+ }
+
+ }
+
+
+ // console.log(that.Ydata);//业主筛选
+ }
+ })
+ },
+ // 获取设备信息列表
+ getEquipmentTable: function (dom, deviceType, once) {
+ dom.empty();
+ var that = this;
+ // console.log(that.clusterLayer)
+ // console.log(dom, deviceType);
+ // dom.append(deviceType);
+ // var str = "<td class='locationb'> <input type='button' value='定位'" + ' lgtd=' + 114.9285 + ' lttd=' + 25.850693 + "></td>"
+ // that.entitysData = [];
+ // that.analysisAddEntitys.clear();
+ // that.createEntitysAnalysis(that.analysisAddEntitys, that.entitysData, '设备信息', {
+ // lgtd: 114.9285,
+ // lttd: 25.850693,
+ // id: 5
+ // }, 114.9285, 25.850693, './images/ceshi.png');
+ // dom.append(str)
+
+ $.ajax({
+ url: '/api/blade-jfpts/equipment/equipment/listAll?deviceType=' + deviceType,
+ type: 'GET',
+ dataType: 'JSON',
+ success: function (data) {
+ var oldData = data.data;
+ var result = [];
+ that.Sdata = oldData;
+
+ var str = '';
+ that.entitysData = [];
+ that.analysisAddEntitys.clear();
+
+
+ if (deviceType == '') {
+ result = oldData;
+ } else if (deviceType == '在线') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].state == '' && oldData[key].jtype != 1 && oldData[key].onlineStatus == 1) {
+ result.push(oldData[key]);
+ }
+ }
+ } else if (deviceType == '离线') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].state == '' && oldData[key].jtype != 1 && oldData[key].onlineStatus != 1) {
+ result.push(oldData[key]);
+ }
+ }
+ } else if (deviceType == '警报') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].state == '' && oldData[key].jtype == 1) {
+ result.push(oldData[key]);
+ }
+ }
+ } else if (deviceType == '故障') {
+ for (var key in oldData) {
+ // console.log(oldData[key]);
+ if (oldData[key].state != '') {
+ result.push(oldData[key]);
+ }
+ }
+ }
+
+ if (once != 'once') {
+ that.clearLayer();//图标清除
+ that.entityData = [];
+ for (var i = 0; i < result.length; i++) {
+ result[i].x = Number(result[i].jd);
+ result[i].y = Number(result[i].wd);
+ that.entityData.push({
+ lgtd: Number(result[i].jd),
+ lttd: Number(result[i].wd)
+ })
+ }
+ // console.log(result);//设备筛选
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ $('.analysis-category input').prop('checked', false);
+ };
+ that.flareClusterLayer(result);//图标渲染
+ that.clusterLayer._setUserState('设备');//切换聚合图标点击事件
+
+ }
+ that.Sdatas = result;
+
+ for (var a, i = 0; i < result.length; i++) {
+ that.createEntitysAnalysis(that.analysisAddEntitys, that.entitysData, '设备信息', {
+ lgtd: result[i].jd,
+ lttd: result[i].wd,
+ id: result[i].id
+ }, result[i].jd, result[i].wd,
+ // './images/ceshi.png'
+ );
+ var stares = '';
+
+ a = Number(i) + 1;
+ str += "<tr term-listid=" + result[i].id + ">";
+ str += '<td>' + a + '</td>';
+ str += '<td title=' + result[i].deviceName + '>' + result[i].deviceName + '</td>';
+ // str += '<td title=' + result[i].deviceType + '>' + result[i].deviceType + '</td>';
+ str += '<td>' + result[i].deviceNumber + '</td>';
+ // console.log(result[i].state);
+
+
+ if (result[i].state != '') {
+ stares = '故障';
+ str += "<td class='location'> <input style='background-image:linear-gradient(to right, #F49966 , #F49966' type='button' value=" + stares + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ } else {
+ if (result[i].jtype != 1) {
+ if (result[i].onlineStatus == 1) {//el-tabs__active-bar
+ stares = '在线';
+ str += "<td class='location'> <input style='background-image:linear-gradient(to right, #32C1A2 , #32C1A2' type='button' value=" + stares + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ } else {
+ stares = '离线';
+ str += "<td class='location'> <input style='background-image:linear-gradient(to right, #CDCDCD , #CDCDCD' type='button' value=" + stares + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ }
+ } else {
+ stares = '警报';
+ str += "<td class='location'> <input style='background-image:linear-gradient(to right, #F35B5B , #F35B5B' type='button' value=" + stares + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+ }
+ }
+ str += '</tr>';
+ dom.append(str);
+ str = '';
+ }
+ }
+ })
+ },
+ // 创建实体图层
+ createEntitysAnalysis: function (entitys, entityContent, name, item, lgtd, lttd, outlineColors) {
+
+ var symbol = new esri.symbol.PictureMarkerSymbol(outlineColors, 16, 16);
+ symbol.name = name;
+ var pt = new Point(lgtd, lttd, new SpatialReference({ wkid: 4326 }));
+ pt.entityData = item;
+ var graphic = new esri.Graphic(pt, symbol);
+ entitys.add(graphic);
+ var bbb = document.getElementsByTagName("image");
+ // console.log(bbb);
+ entityContent.push(item);
+ },
+ //左侧控制栏↑
+
+
heatmFeaLayers: function () {// liu 热力图渲染器,加载热力图
var layerDefinition = {
@@ -261,13 +1230,16 @@
return featureLayer;
},
- checkBoxSelect: function (self) {
+ checkBoxSelect: function (self) {//选择热力图
var that = this;
var heatmapRenderer = null;
+ // console.log(self);
// // return
// 选中
- // if ($(self).prop('checked') == true) {
- // if (1) {
+ if ($(self).prop('checked') == true) {
+ that.clearLayer();//图标清除
+ // console.log($(self).attr('id'), 1);
+ // if (1) {
heatmapRenderer = new HeatmapRenderer({
colorStops: [
{ ratio: 0.45, color: "rgba(000,000,255,0)" },
@@ -277,7 +1249,7 @@
{ ratio: 1.00, color: "rgb(255,000,000)" },
],
blurRadius: 42,
- maxPixelIntensity: 184,
+ maxPixelIntensity: 100,
minPixelIntensity: 0
});
this.heatmapfeatureLayer.setRenderer(heatmapRenderer);
@@ -287,10 +1259,60 @@
point = new esri.geometry.Point(this.entityData[i].lgtd, this.entityData[i].lttd, new esri.SpatialReference({ wkid: 4326 }));
this.heatmapfeatureLayer.add(new esri.Graphic(point));
}
- // } else {
- // this.heatmapfeatureLayer.clear();
- // this.heatmapfeatureLayer.setRenderer();
- // }
+ } else {
+ // console.log(self, 2);
+ if ($(self).attr('class') == 'p') {
+ that.entityData = [];
+ for (var i = 0; i < this.Pdatas.length; i++) {
+ this.Pdatas[i].x = Number(this.Pdatas[i].jd);
+ this.Pdatas[i].y = Number(this.Pdatas[i].wd);
+ that.entityData.push({
+ lgtd: Number(this.Pdatas[i].jd),
+ lttd: Number(this.Pdatas[i].wd)
+ })
+ }
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ // $('.analysis-category input').prop('checked', false);
+ };
+ that.flareClusterLayer(this.Pdatas);//图标渲染
+ } else if ($(self).attr('class') == 'Y') {
+ that.entityData = [];
+ for (var i = 0; i < this.Ydatas.length; i++) {
+ this.Ydatas[i].x = Number(this.Ydatas[i].jd);
+ this.Ydatas[i].y = Number(this.Ydatas[i].wd);
+ that.entityData.push({
+ lgtd: Number(this.Ydatas[i].jd),
+ lttd: Number(this.Ydatas[i].wd)
+ })
+ }
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ // $('.analysis-category input').prop('checked', false);
+ };
+ that.flareClusterLayer(this.Ydatas);//图标渲染
+ } else if ($(self).attr('class') == 'S') {
+ that.entityData = [];
+ for (var i = 0; i < this.Sdatas.length; i++) {
+ this.Sdatas[i].x = Number(this.Sdatas[i].jd);
+ this.Sdatas[i].y = Number(this.Sdatas[i].wd);
+ that.entityData.push({
+ lgtd: Number(this.Sdatas[i].jd),
+ lttd: Number(this.Sdatas[i].wd)
+ })
+ }
+ if (that.heatmapfeatureLayer.graphics.length > 0) {//热力图数据映射
+ that.heatmapfeatureLayer.clear();
+ that.heatmapfeatureLayer.setRenderer();
+ // $('.analysis-category input').prop('checked', false);
+ };
+ that.flareClusterLayer(this.Sdatas);//图标渲染
+ }
+ this.heatmapfeatureLayer.clear();
+ this.heatmapfeatureLayer.setRenderer();
+ }
},
close: function () {
@@ -366,12 +1388,12 @@
},
clickHand: function (e) {//top点击事件,导航
- console.log(e);
+ // console.log(e);
},
-
-
+
+
//聚合图层事件
- flareClusterLayer: function (datas) { //top聚合事件,导航
+ flareClusterLayer: function (datas, userState) { //top聚合事件,导航
var that = this;
@@ -396,7 +1418,7 @@
clusterRatio: 120,
clusterAreaDisplay: areaDisplayMode,
clusteringBegin: function (e) {
- console.log(e, "clustering begin");
+ // console.log("clustering begin");
},
clusteringComplete: function () {
console.log("clustering complete");
@@ -404,7 +1426,7 @@
});
//set up a class breaks renderer to render different symbols based on the cluster count. Use the required clusterCount property to break on.
- var defaultSym = new PictureMarkerSymbol("./images/jingbaored.png", 33, 48).setOffset(0, 15);
+ var defaultSym = new PictureMarkerSymbol("./images/jingbaored.png", 33, 48).setOffset(0, 1);
var renderer = new ClassBreaksRenderer(defaultSym, "clusterCount");
var xlSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 32, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([200, 52, 59, 0.8]), 1), new dojo.Color([250, 65, 74, 0.8]));
var lgSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 28, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([41, 163, 41, 0.8]), 1), new dojo.Color([51, 204, 51, 0.8]));
--
Gitblit v1.9.3