| | |
| | | * @LastEditTime: 2019-12-14 14:44:57 |
| | | */ |
| | | define([ |
| | | "dojo", |
| | | "dojo/_base/declare", |
| | | "dojo/_base/lang", |
| | | "base/BaseWidget", |
| | | "dojo/text!widgets/supervisoryMap/template.html", |
| | | "base/AppEvent", |
| | | "base/ConfigData", |
| | | "widgets/supervisoryMap/config", |
| | | "dojo/dom", |
| | | "dojo/dom-construct", |
| | | "dojo/dom-attr", |
| | | "dojo/dom-style", |
| | | "dojo/on", |
| | | "esri/layers/ArcGISDynamicMapServiceLayer", |
| | | "esri/layers/ArcGISTiledMapServiceLayer", |
| | | "esri/layers/FeatureLayer", |
| | | "controls/tab/TabControl", |
| | | "esri/dijit/SymbolStyler", |
| | | "esri/styles/basic", |
| | | "dojo/_base/array", |
| | | "esri/InfoTemplate", |
| | | "esri/tasks/query", |
| | | "esri/tasks/QueryTask", |
| | | "esri/Color", |
| | | "esri/toolbars/edit", |
| | | "esri/graphic", |
| | | "esri/geometry/Point", |
| | | "esri/geometry/Polyline", |
| | | "esri/geometry/Polygon", |
| | | "esri/geometry/Extent", |
| | | "esri/tasks/FeatureSet", |
| | | "esri/renderers/HeatmapRenderer", |
| | | "esri/symbols/SimpleLineSymbol", |
| | | "esri/symbols/SimpleFillSymbol", |
| | | "esri/symbols/PictureMarkerSymbol", |
| | | "esri/symbols/SimpleMarkerSymbol", |
| | | "esri/SpatialReference", |
| | | "esri/tasks/GeometryService", |
| | | "esri/tasks/ProjectParameters", |
| | | "esri/layers/GraphicsLayer", |
| | | "esri/layers/LabelLayer", |
| | | "esri/symbols/TextSymbol", |
| | | "esri/renderers/SimpleRenderer", |
| | | "esri/renderers/ClassBreaksRenderer", |
| | | "esri/tasks/Geoprocessor", |
| | | "esri/tasks/DataFile", |
| | | "esri/geometry/webMercatorUtils", |
| | | "esri/symbols/Font", |
| | | "esri/geometry/ScreenPoint", |
| | | "esri/layers/ImageParameters", |
| | | "esri/geometry/geometryEngine", |
| | | "esri/dijit/PopupTemplate", |
| | | "widgets/supervisoryMap/FlareClusterLayer_v3", |
| | | "dojo/domReady!" |
| | | ], function ( |
| | | dojo, |
| | | declare, |
| | | lang, |
| | | BaseWidget, |
| | | template, |
| | | AppEvent, |
| | | ConfigData, |
| | | config, |
| | | dom, |
| | | domConstruct, |
| | | domAttr, |
| | | domStyle, |
| | | on, |
| | | ArcGISDynamicMapServiceLayer, |
| | | ArcGISTiledMapServiceLayer, |
| | | FeatureLayer, |
| | | TabControl, |
| | | SymbolStyler, |
| | | basic, |
| | | arrayUtils, |
| | | InfoTemplate, |
| | | Query, |
| | | QueryTask, |
| | | Color, |
| | | Edit, |
| | | Graphic, |
| | | Point, |
| | | Polyline, |
| | | Polygon, |
| | | Extent, |
| | | FeatureSet, |
| | | HeatmapRenderer, |
| | | SimpleLineSymbol, |
| | | SimpleFillSymbol, |
| | | PictureMarkerSymbol, |
| | | SimpleMarkerSymbol, |
| | | SpatialReference, |
| | | GeometryService, |
| | | ProjectParameters, |
| | | GraphicsLayer, |
| | | LabelLayer, |
| | | TextSymbol, |
| | | SimpleRenderer, |
| | | ClassBreaksRenderer, |
| | | Geoprocessor, |
| | | DataFile, |
| | | webMercatorUtils, |
| | | Font, |
| | | ScreenPoint, |
| | | ImageParameters, |
| | | geometryEngine, |
| | | PopupTemplate, |
| | | FlareClusterLayer |
| | | "dojo", |
| | | "dojo/_base/declare", |
| | | "dojo/_base/lang", |
| | | "base/BaseWidget", |
| | | "dojo/text!widgets/supervisoryMap/template.html", |
| | | "base/AppEvent", |
| | | "base/ConfigData", |
| | | "widgets/supervisoryMap/config", |
| | | "dojo/dom", |
| | | "dojo/dom-construct", |
| | | "dojo/dom-attr", |
| | | "dojo/dom-style", |
| | | "dojo/on", |
| | | "esri/layers/ArcGISDynamicMapServiceLayer", |
| | | "esri/layers/ArcGISTiledMapServiceLayer", |
| | | "esri/layers/FeatureLayer", |
| | | "controls/tab/TabControl", |
| | | "esri/dijit/SymbolStyler", |
| | | "esri/styles/basic", |
| | | "dojo/_base/array", |
| | | "esri/InfoTemplate", |
| | | "esri/tasks/query", |
| | | "esri/tasks/QueryTask", |
| | | "esri/Color", |
| | | "esri/toolbars/edit", |
| | | "esri/graphic", |
| | | "esri/geometry/Point", |
| | | "esri/geometry/Polyline", |
| | | "esri/geometry/Polygon", |
| | | "esri/geometry/Extent", |
| | | "esri/tasks/FeatureSet", |
| | | "esri/renderers/HeatmapRenderer", |
| | | "esri/symbols/SimpleLineSymbol", |
| | | "esri/symbols/SimpleFillSymbol", |
| | | "esri/symbols/PictureMarkerSymbol", |
| | | "esri/symbols/SimpleMarkerSymbol", |
| | | "esri/SpatialReference", |
| | | "esri/tasks/GeometryService", |
| | | "esri/tasks/ProjectParameters", |
| | | "esri/layers/GraphicsLayer", |
| | | "esri/layers/LabelLayer", |
| | | "esri/symbols/TextSymbol", |
| | | "esri/renderers/SimpleRenderer", |
| | | "esri/renderers/ClassBreaksRenderer", |
| | | "esri/tasks/Geoprocessor", |
| | | "esri/tasks/DataFile", |
| | | "esri/geometry/webMercatorUtils", |
| | | "esri/symbols/Font", |
| | | "esri/geometry/ScreenPoint", |
| | | "esri/layers/ImageParameters", |
| | | "esri/geometry/geometryEngine", |
| | | "esri/dijit/PopupTemplate", |
| | | "widgets/supervisoryMap/FlareClusterLayer_v3", |
| | | "dojo/domReady!" |
| | | ], function( |
| | | dojo, |
| | | declare, |
| | | lang, |
| | | BaseWidget, |
| | | template, |
| | | AppEvent, |
| | | ConfigData, |
| | | config, |
| | | dom, |
| | | domConstruct, |
| | | domAttr, |
| | | domStyle, |
| | | on, |
| | | ArcGISDynamicMapServiceLayer, |
| | | ArcGISTiledMapServiceLayer, |
| | | FeatureLayer, |
| | | TabControl, |
| | | SymbolStyler, |
| | | basic, |
| | | arrayUtils, |
| | | InfoTemplate, |
| | | Query, |
| | | QueryTask, |
| | | Color, |
| | | Edit, |
| | | Graphic, |
| | | Point, |
| | | Polyline, |
| | | Polygon, |
| | | Extent, |
| | | FeatureSet, |
| | | HeatmapRenderer, |
| | | SimpleLineSymbol, |
| | | SimpleFillSymbol, |
| | | PictureMarkerSymbol, |
| | | SimpleMarkerSymbol, |
| | | SpatialReference, |
| | | GeometryService, |
| | | ProjectParameters, |
| | | GraphicsLayer, |
| | | LabelLayer, |
| | | TextSymbol, |
| | | SimpleRenderer, |
| | | ClassBreaksRenderer, |
| | | Geoprocessor, |
| | | DataFile, |
| | | webMercatorUtils, |
| | | Font, |
| | | ScreenPoint, |
| | | ImageParameters, |
| | | geometryEngine, |
| | | PopupTemplate, |
| | | FlareClusterLayer |
| | | ) { |
| | | var Widget = declare([BaseWidget], { |
| | | widgetName: "AlertSecurity", |
| | | label: "地图模式", |
| | | templateString: template, |
| | | _map: null, |
| | | objThis: null, |
| | | _siteLayer: new GraphicsLayer(), |
| | | layuiLayer: null, |
| | | layuiLadate: null, |
| | | tabIndex: 0, |
| | | heatmapfeatureLayer: null,//liu热力图 |
| | | // 保留添加实体图层的变量 |
| | | addEntitys: null, |
| | | entitysData: [], |
| | | var Widget = declare([BaseWidget], { |
| | | widgetName: "AlertSecurity", |
| | | label: "地图模式", |
| | | templateString: template, |
| | | _map: null, |
| | | objThis: null, |
| | | _siteLayer: new GraphicsLayer(), |
| | | layuiLayer: null, |
| | | layuiLadate: null, |
| | | tabIndex: 0, |
| | | heatmapfeatureLayer: null, //liu热力图 |
| | | // 保留添加实体图层的变量 |
| | | addEntitys: null, |
| | | entitysData: [], |
| | | |
| | | // 巡逻区域或者巡逻路线的描述 |
| | | routeOrRegionDescribe: null, |
| | | // 巡逻区域或者巡逻路线的描述 |
| | | routeOrRegionDescribe: null, |
| | | |
| | | // 用来记录巡逻区域或者巡逻路线的下标的 |
| | | patrolIndex: 0, |
| | | // 用来记录巡逻区域或者巡逻路线的下标的 |
| | | patrolIndex: 0, |
| | | |
| | | // 拖拽 |
| | | isDown: false, |
| | | x: 0, |
| | | y: 0, |
| | | offset: null, |
| | | moveThis: null, |
| | | // 电子围栏需要新增的Id |
| | | newElectronicFenceId: null, |
| | | // 拖拽 |
| | | isDown: false, |
| | | x: 0, |
| | | y: 0, |
| | | offset: null, |
| | | moveThis: null, |
| | | // 电子围栏需要新增的Id |
| | | newElectronicFenceId: null, |
| | | |
| | | // 新增路线时,派发人员,人员名称,以及人员id |
| | | peopleRealName: null, |
| | | pepleRealId: null, |
| | | // 新增路线时,派发人员,人员名称,以及人员id |
| | | peopleRealName: null, |
| | | pepleRealId: null, |
| | | |
| | | //存放聚合实体 |
| | | clusterLayer: null, |
| | | //左侧控制栏 |
| | | entityData: [], |
| | | analysisAddEntitys: null, |
| | | //防抖 |
| | | onceTimeMethodS: null, |
| | | onceTime: 300, |
| | | // 警情缓存 |
| | | Pdata: null, |
| | | // 警情图标缓存 |
| | | Pdatas: null, |
| | | //业主缓存 |
| | | Ydata: null, |
| | | // 业主图标缓存 |
| | | Ydatas: null, |
| | | //设备缓存 |
| | | Sdata: null, |
| | | // 设备图标缓存 |
| | | Sdatas: null, |
| | | //存放聚合实体 |
| | | 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; |
| | | constructor: function(options, srcRefNode) { |
| | | this._map = options.map; |
| | | objThis = this; |
| | | |
| | | this.addEntitys = new GraphicsLayer({ |
| | | id: 'addEntitys' |
| | | }); |
| | | |
| | | // 添加点面线的图层 |
| | | this.addPolygonEntitys = new GraphicsLayer({ |
| | | id: 'addPolygonEntitys' |
| | | }); |
| | | // 添加所有图层的地方 |
| | | this.entityPolygonAll = new GraphicsLayer({ |
| | | id: 'entityPolygonAll' |
| | | }); |
| | | |
| | | |
| | | this._map.addLayer(this.addEntitys); |
| | | |
| | | |
| | | 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); |
| | | |
| | | }, |
| | | open: function () { |
| | | var that = this; |
| | | $.ajax({ |
| | | 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.push({ |
| | | lgtd: Number(datas[i].jd), |
| | | lttd: Number(datas[i].wd) |
| | | }) |
| | | } |
| | | that.flareClusterLayer(datas); |
| | | // console.log(datas) |
| | | that.heatmapfeatureLayer = that.heatmFeaLayers(); |
| | | that._map.addLayer(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秒) |
| | | this.addEntitys = new GraphicsLayer({ |
| | | id: 'addEntitys' |
| | | }); |
| | | 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' |
| | | // 添加点面线的图层 |
| | | this.addPolygonEntitys = new GraphicsLayer({ |
| | | id: 'addPolygonEntitys' |
| | | }); |
| | | 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' |
| | | // 添加所有图层的地方 |
| | | this.entityPolygonAll = new GraphicsLayer({ |
| | | id: 'entityPolygonAll' |
| | | }); |
| | | 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 { |
| | | }; |
| | | this._map.addLayer(this.addEntitys); |
| | | |
| | | |
| | | }) |
| | | // $('.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是缩放级别,可以自定义,数值越大缩放越大 |
| | | 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' }); |
| | | |
| | | // var y = +window.innerHeight / 2 + 200; |
| | | // var x = (+window.innerWidth - 360) / 2 + 360 + 70; |
| | | // // document.elementFromPoint(x, y).click(); |
| | | // // console.log(x, y) |
| | | this._map.addLayer(this.analysisAddEntitys); |
| | | this._map.addLayer(this.addOneEntitys); |
| | | |
| | | // // 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>"; |
| | | }, |
| | | open: function() { |
| | | var that = this; |
| | | $.ajax({ |
| | | 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.push({ |
| | | lgtd: Number(datas[i].jd), |
| | | lttd: Number(datas[i].wd) |
| | | }) |
| | | } |
| | | that.flareClusterLayer(datas); |
| | | // console.log(datas) |
| | | that.heatmapfeatureLayer = that.heatmFeaLayers(); |
| | | that._map.addLayer(that.heatmapfeatureLayer); |
| | | // that.checkBoxSelect();//左侧控制热力图重复 |
| | | } |
| | | } 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>"; |
| | | } |
| | | }) |
| | | 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(); |
| | | |
| | | } |
| | | 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 = { |
| | | "geometryType": "esriGeometryPoint", |
| | | "fields": [{ |
| | | "num": "num", |
| | | editable: true, |
| | | nullable: true, |
| | | "type": "esriFieldTypeInteger", |
| | | "alias": "数量" |
| | | }] |
| | | }; |
| | | var featureCollection = { |
| | | layerDefinition: layerDefinition, |
| | | featureSet: null |
| | | }; |
| | | //创建 FeatureLayer 图层 |
| | | var featureLayer = new esri.layers.FeatureLayer(featureCollection, { |
| | | mode: esri.layers.FeatureLayer.MODE_SNAPSHOT, |
| | | outFields: ["*"], |
| | | opacity: .8 |
| | | }); |
| | | //设置渲染方式 |
| | | |
| | | return featureLayer; |
| | | }, |
| | | |
| | | checkBoxSelect: function (self) {//选择热力图 |
| | | var that = this; |
| | | var heatmapRenderer = null; |
| | | // console.log(self); |
| | | // // return |
| | | // 选中 |
| | | 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)" }, |
| | | { ratio: 0.55, color: "rgb(000,255,255)" }, |
| | | { ratio: 0.65, color: "rgb(000,255,000)" }, |
| | | { ratio: 0.75, color: "rgb(234,126,15)" }, |
| | | { ratio: 1.00, color: "rgb(255,000,000)" }, |
| | | ], |
| | | blurRadius: 42, |
| | | maxPixelIntensity: 100, |
| | | minPixelIntensity: 0 |
| | | }); |
| | | this.heatmapfeatureLayer.setRenderer(heatmapRenderer); |
| | | // 取消选中 |
| | | var point = null; |
| | | for (var i = 0; i < that.entityData.length; i++) { |
| | | 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 { |
| | | // 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 () { |
| | | |
| | | }, |
| | | // 获取当前时间,以及昨天现在的时间 |
| | | getTime: function getTime() { |
| | | var timestamp = Date.parse(new Date()); |
| | | |
| | | // 当前时间 |
| | | var currentTime = new Date(timestamp); |
| | | // 年 |
| | | var currentY = currentTime.getFullYear(); |
| | | // 月 |
| | | var currentM = currentTime.getMonth() + 1 < 10 ? '0' + (currentTime.getMonth() + 1) : currentTime.getMonth() + 1; |
| | | // 日 |
| | | var currentD = currentTime.getDate() < 10 ? '0' + currentTime.getDate() : currentTime.getDate(); |
| | | // 时 |
| | | var currentH = currentTime.getHours() < 10 ? '0' + currentTime.getHours() : currentTime.getHours(); |
| | | // 分 |
| | | var currentDd = currentTime.getMinutes() < 10 ? '0' + currentTime.getMinutes() : currentTime.getMinutes(); |
| | | // 明天 |
| | | var tomorrowTime = new Date(timestamp - 60 * 60 * 24 * 1000); |
| | | // 年 |
| | | var tomorrowY = tomorrowTime.getFullYear(); |
| | | // 月 |
| | | var tomorrowM = tomorrowTime.getMonth() + 1 < 10 ? '0' + (tomorrowTime.getMonth() + 1) : tomorrowTime.getMonth() + 1; |
| | | // 日 |
| | | var tomorrowD = tomorrowTime.getDate() < 10 ? '0' + tomorrowTime.getDate() : tomorrowTime.getDate(); |
| | | // 时 |
| | | var tomorrowH = tomorrowTime.getHours() < 10 ? '0' + tomorrowTime.getHours() : tomorrowTime.getHours(); |
| | | // 分 |
| | | var tomorrowDd = tomorrowTime.getMinutes() < 10 ? '0' + tomorrowTime.getMinutes() : tomorrowTime.getMinutes(); |
| | | return { |
| | | current: currentY + '-' + currentM + '-' + currentD + ' ' + currentH + ':' + currentDd, |
| | | tomorrow: tomorrowY + '-' + tomorrowM + '-' + tomorrowD + ' ' + tomorrowH + ':' + tomorrowDd, |
| | | month: currentM + currentD |
| | | }; |
| | | }, |
| | | |
| | | // 创建实体图层 |
| | | createEntitys: function (entitys, entityContent, name, item, lgtd, lttd, outlineColors) { |
| | | |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(outlineColors, 33, 48); |
| | | symbol.name = name; |
| | | var pt = new Point(lgtd, lttd, new esri.SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | pt.entityData = item; |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | |
| | | |
| | | entityContent.push(item); |
| | | }, |
| | | |
| | | addPoint: function (entitys, lgtd, lttd, img) { |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(img, 33, 48); |
| | | var pt = new Point(lgtd, lttd, new SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | }, |
| | | |
| | | addPoints: function (entitys, lgtd, lttd, img) { |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(img, 33, 48); |
| | | var pt = new Point(lgtd, lttd, new SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | }, |
| | | |
| | | clickHand: function (e) {//top点击事件,导航 |
| | | // console.log(e); |
| | | }, |
| | | |
| | | |
| | | //聚合图层事件 |
| | | flareClusterLayer: function (datas, userState) { //top聚合事件,导航 |
| | | |
| | | var that = this; |
| | | |
| | | var preClustered = false; |
| | | var displaySingleFlaresAtCount = 20; |
| | | var areaDisplayMode = ""; |
| | | // var allData = JSON.parse(DATA); |
| | | // DataManager.setData(allData); |
| | | |
| | | //init the layer, more options are available and explained in the cluster layer constructor |
| | | that.clusterLayer = new FlareClusterLayer({ |
| | | id: "flare-cluster-layer", |
| | | spatialReference: new esri.SpatialReference({ |
| | | "wkid": 4326 |
| | | }), |
| | | subTypeFlareProperty: "facilityType", |
| | | singleFlareTooltipProperty: "name", |
| | | displaySubTypeFlares: true, |
| | | displaySingleFlaresAtCount: displaySingleFlaresAtCount, |
| | | flareShowMode: "mouse", |
| | | preClustered: preClustered, |
| | | clusterRatio: 120, |
| | | clusterAreaDisplay: areaDisplayMode, |
| | | clusteringBegin: function (e) { |
| | | // console.log("clustering begin"); |
| | | intTime(); |
| | | }, |
| | | clusteringComplete: function () { |
| | | console.log("clustering complete"); |
| | | } |
| | | }); |
| | | 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 }; |
| | | |
| | | //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, 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])); |
| | | var mdSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 24, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([82, 163, 204, 0.8]), 1), new dojo.Color([102, 204, 255, 0.8])); |
| | | var smSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 52, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([230, 184, 92, 0.8]), 1), new dojo.Color([255, 204, 102, 0.8])); |
| | | renderer.addBreak(0, 19, smSymbol); |
| | | renderer.addBreak(20, 150, mdSymbol); |
| | | renderer.addBreak(151, 1000, lgSymbol); |
| | | renderer.addBreak(1001, Infinity, xlSymbol); |
| | | //解决打开热力图 切换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')); |
| | | } |
| | | |
| | | that.clusterLayer.setRenderer(renderer); //use standard setRenderer. |
| | | |
| | | //set up a popup template |
| | | var template = new PopupTemplate({ |
| | | title: "{name}", |
| | | fieldInfos: [{ |
| | | fieldName: "facilityType", |
| | | label: "Facility Type", |
| | | visible: true |
| | | // 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); |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | { |
| | | fieldName: "postcode", |
| | | label: "Post Code", |
| | | visible: true |
| | | |
| | | getQueryStringByKey: function(key) { |
| | | return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || ['', null])[1]; |
| | | }, |
| | | { |
| | | fieldName: "isOpen", |
| | | label: "Opening Hours", |
| | | visible: true |
| | | |
| | | //左侧控制栏 |
| | | |
| | | |
| | | 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].dtype == '1') { |
| | | result.push(oldData[key]); |
| | | } |
| | | } |
| | | } else if (deviceType == '掉线') { |
| | | for (var key in oldData) { |
| | | // console.log(oldData[key]); |
| | | if (oldData[key].dtype == '0') { |
| | | result.push(oldData[key]); |
| | | } |
| | | } |
| | | } else if (deviceType == '预警') { |
| | | for (var key in oldData) { |
| | | console.log(oldData[key], 111); |
| | | if (oldData[key].dtype == 2) { |
| | | result.push(oldData[key]); |
| | | } |
| | | } |
| | | } else if (deviceType == '故障') { |
| | | for (var key in oldData) { |
| | | // console.log(oldData[key]); |
| | | if (oldData[key].dtype == 3) { |
| | | 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].dtype == '3') { |
| | | 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].dtype == '1') { |
| | | 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 if (result[i].dtype == '0') { |
| | | 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 if (result[i].dtype == '2') { |
| | | 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 = { |
| | | "geometryType": "esriGeometryPoint", |
| | | "fields": [{ |
| | | "num": "num", |
| | | editable: true, |
| | | nullable: true, |
| | | "type": "esriFieldTypeInteger", |
| | | "alias": "数量" |
| | | }] |
| | | }; |
| | | var featureCollection = { |
| | | layerDefinition: layerDefinition, |
| | | featureSet: null |
| | | }; |
| | | //创建 FeatureLayer 图层 |
| | | var featureLayer = new esri.layers.FeatureLayer(featureCollection, { |
| | | mode: esri.layers.FeatureLayer.MODE_SNAPSHOT, |
| | | outFields: ["*"], |
| | | opacity: .8 |
| | | }); |
| | | //设置渲染方式 |
| | | |
| | | return featureLayer; |
| | | }, |
| | | |
| | | checkBoxSelect: function(self) { //选择热力图 |
| | | var that = this; |
| | | var heatmapRenderer = null; |
| | | // console.log(self); |
| | | // // return |
| | | // 选中 |
| | | 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)" }, |
| | | { ratio: 0.55, color: "rgb(000,255,255)" }, |
| | | { ratio: 0.65, color: "rgb(000,255,000)" }, |
| | | { ratio: 0.75, color: "rgb(234,126,15)" }, |
| | | { ratio: 1.00, color: "rgb(255,000,000)" }, |
| | | ], |
| | | blurRadius: 42, |
| | | maxPixelIntensity: 100, |
| | | minPixelIntensity: 0 |
| | | }); |
| | | this.heatmapfeatureLayer.setRenderer(heatmapRenderer); |
| | | // 取消选中 |
| | | var point = null; |
| | | for (var i = 0; i < that.entityData.length; i++) { |
| | | 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 { |
| | | // 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() { |
| | | |
| | | }, |
| | | // 获取当前时间,以及昨天现在的时间 |
| | | getTime: function getTime() { |
| | | var timestamp = Date.parse(new Date()); |
| | | |
| | | // 当前时间 |
| | | var currentTime = new Date(timestamp); |
| | | // 年 |
| | | var currentY = currentTime.getFullYear(); |
| | | // 月 |
| | | var currentM = currentTime.getMonth() + 1 < 10 ? '0' + (currentTime.getMonth() + 1) : currentTime.getMonth() + 1; |
| | | // 日 |
| | | var currentD = currentTime.getDate() < 10 ? '0' + currentTime.getDate() : currentTime.getDate(); |
| | | // 时 |
| | | var currentH = currentTime.getHours() < 10 ? '0' + currentTime.getHours() : currentTime.getHours(); |
| | | // 分 |
| | | var currentDd = currentTime.getMinutes() < 10 ? '0' + currentTime.getMinutes() : currentTime.getMinutes(); |
| | | // 明天 |
| | | var tomorrowTime = new Date(timestamp - 60 * 60 * 24 * 1000); |
| | | // 年 |
| | | var tomorrowY = tomorrowTime.getFullYear(); |
| | | // 月 |
| | | var tomorrowM = tomorrowTime.getMonth() + 1 < 10 ? '0' + (tomorrowTime.getMonth() + 1) : tomorrowTime.getMonth() + 1; |
| | | // 日 |
| | | var tomorrowD = tomorrowTime.getDate() < 10 ? '0' + tomorrowTime.getDate() : tomorrowTime.getDate(); |
| | | // 时 |
| | | var tomorrowH = tomorrowTime.getHours() < 10 ? '0' + tomorrowTime.getHours() : tomorrowTime.getHours(); |
| | | // 分 |
| | | var tomorrowDd = tomorrowTime.getMinutes() < 10 ? '0' + tomorrowTime.getMinutes() : tomorrowTime.getMinutes(); |
| | | return { |
| | | current: currentY + '-' + currentM + '-' + currentD + ' ' + currentH + ':' + currentDd, |
| | | tomorrow: tomorrowY + '-' + tomorrowM + '-' + tomorrowD + ' ' + tomorrowH + ':' + tomorrowDd, |
| | | month: currentM + currentD |
| | | }; |
| | | }, |
| | | |
| | | // 创建实体图层 |
| | | createEntitys: function(entitys, entityContent, name, item, lgtd, lttd, outlineColors) { |
| | | |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(outlineColors, 33, 48); |
| | | symbol.name = name; |
| | | var pt = new Point(lgtd, lttd, new esri.SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | pt.entityData = item; |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | |
| | | |
| | | entityContent.push(item); |
| | | }, |
| | | |
| | | addPoint: function(entitys, lgtd, lttd, img) { |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(img, 33, 48); |
| | | var pt = new Point(lgtd, lttd, new SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | }, |
| | | |
| | | addPoints: function(entitys, lgtd, lttd, img) { |
| | | var symbol = new esri.symbol.PictureMarkerSymbol(img, 33, 48); |
| | | var pt = new Point(lgtd, lttd, new SpatialReference({ |
| | | wkid: 4326 |
| | | })); |
| | | var graphic = new esri.Graphic(pt, symbol); |
| | | entitys.add(graphic); |
| | | }, |
| | | |
| | | clickHand: function(e) { //top点击事件,导航 |
| | | // console.log(e); |
| | | }, |
| | | |
| | | |
| | | //聚合图层事件 |
| | | flareClusterLayer: function(datas, userState) { //top聚合事件,导航 |
| | | |
| | | var that = this; |
| | | |
| | | var preClustered = false; |
| | | var displaySingleFlaresAtCount = 20; |
| | | var areaDisplayMode = ""; |
| | | // var allData = JSON.parse(DATA); |
| | | // DataManager.setData(allData); |
| | | |
| | | //init the layer, more options are available and explained in the cluster layer constructor |
| | | that.clusterLayer = new FlareClusterLayer({ |
| | | id: "flare-cluster-layer", |
| | | spatialReference: new esri.SpatialReference({ |
| | | "wkid": 4326 |
| | | }), |
| | | subTypeFlareProperty: "facilityType", |
| | | singleFlareTooltipProperty: "name", |
| | | displaySubTypeFlares: true, |
| | | displaySingleFlaresAtCount: displaySingleFlaresAtCount, |
| | | flareShowMode: "mouse", |
| | | preClustered: preClustered, |
| | | clusterRatio: 120, |
| | | clusterAreaDisplay: areaDisplayMode, |
| | | clusteringBegin: function(e) { |
| | | // console.log("clustering begin"); |
| | | }, |
| | | clusteringComplete: function() { |
| | | console.log("clustering complete"); |
| | | } |
| | | }); |
| | | |
| | | //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, 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])); |
| | | var mdSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 24, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([82, 163, 204, 0.8]), 1), new dojo.Color([102, 204, 255, 0.8])); |
| | | var smSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 52, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([230, 184, 92, 0.8]), 1), new dojo.Color([255, 204, 102, 0.8])); |
| | | renderer.addBreak(0, 19, smSymbol); |
| | | renderer.addBreak(20, 150, mdSymbol); |
| | | renderer.addBreak(151, 1000, lgSymbol); |
| | | renderer.addBreak(1001, Infinity, xlSymbol); |
| | | |
| | | that.clusterLayer.setRenderer(renderer); //use standard setRenderer. |
| | | |
| | | //set up a popup template |
| | | var template = new PopupTemplate({ |
| | | title: "{name}", |
| | | fieldInfos: [{ |
| | | fieldName: "facilityType", |
| | | label: "Facility Type", |
| | | visible: true |
| | | }, |
| | | { |
| | | fieldName: "postcode", |
| | | label: "Post Code", |
| | | visible: true |
| | | }, |
| | | { |
| | | fieldName: "isOpen", |
| | | label: "Opening Hours", |
| | | visible: true |
| | | } |
| | | ] |
| | | }); |
| | | |
| | | //clusterLayer.infoTemplate = template; |
| | | that._map.infoWindow.titleInBody = false; |
| | | |
| | | that._map.addLayer(that.clusterLayer); |
| | | |
| | | //var data = DataManager.getData(); |
| | | that.clusterLayer.addData(datas); |
| | | |
| | | }, |
| | | clearLayer: function() { |
| | | var that = this; |
| | | that._map.removeLayer(that.clusterLayer); |
| | | that.clusterLayer = null; |
| | | } |
| | | ] |
| | | }); |
| | | |
| | | //clusterLayer.infoTemplate = template; |
| | | that._map.infoWindow.titleInBody = false; |
| | | |
| | | that._map.addLayer(that.clusterLayer); |
| | | |
| | | //var data = DataManager.getData(); |
| | | that.clusterLayer.addData(datas); |
| | | |
| | | }, |
| | | clearLayer: function () { |
| | | var that = this; |
| | | that._map.removeLayer(that.clusterLayer); |
| | | that.clusterLayer = null; |
| | | } |
| | | }); |
| | | return Widget; |
| | | }); |
| | | }); |
| | | return Widget; |
| | | }); |