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 + '&nbsp;' + 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 + '&nbsp;' + 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