From b76dcae851544bc375754c3ba964d66ebd34d22b Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 07 May 2021 11:34:51 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/jfpt-Vue
---
public/map/widgets/supervisoryMap/SupervisoryMap.js | 2879 +++++++++++++++++++++++++++++------------------------------
1 files changed, 1,436 insertions(+), 1,443 deletions(-)
diff --git a/public/map/widgets/supervisoryMap/SupervisoryMap.js b/public/map/widgets/supervisoryMap/SupervisoryMap.js
index 8d81a33..b62b745 100644
--- a/public/map/widgets/supervisoryMap/SupervisoryMap.js
+++ b/public/map/widgets/supervisoryMap/SupervisoryMap.js
@@ -7,1473 +7,1466 @@
* @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;
+});
\ No newline at end of file
--
Gitblit v1.9.3