Administrator
2021-05-07 14e02654e0545ee69456d64aef2f35c7c219d708
public/map/widgets/supervisoryMap/SupervisoryMap.js
@@ -158,6 +158,18 @@
    //防抖
    onceTimeMethodS: null,
    onceTime: 300,
    // 警情缓存
    Pdata: null,
    // 警情图标缓存
    Pdatas: null,
    //业主缓存
    Ydata: null,
    // 业主图标缓存
    Ydatas: null,
    //设备缓存
    Sdata: null,
    // 设备图标缓存
    Sdatas: null,
    constructor: function (options, srcRefNode) {
      this._map = options.map;
@@ -199,6 +211,7 @@
        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++) {
@@ -210,6 +223,7 @@
            })
          }
          that.flareClusterLayer(datas);
          // console.log(datas)
          that.heatmapfeatureLayer = that.heatmFeaLayers();
          that._map.addLayer(that.heatmapfeatureLayer);
          // that.checkBoxSelect();//左侧控制热力图重复
@@ -226,9 +240,9 @@
        $('.analysis-and-judgment-tab li:eq(0)').addClass('on').siblings().removeClass('on');
        $($('.analysis-container > div')[0]).stop().show().siblings().stop().hide();
        that.heatmapfeatureLayer_1 = that.heatmFeaLayers();
        that.heatmapfeatureLayer = that.heatmFeaLayers();
        that._map.addLayer(that.heatmapfeatureLayer_1);
        that._map.addLayer(that.heatmapfeatureLayer);
        $('#analysis_select_time_start').val(time.tomorrow);
        $('#analysis_select_time_end').val(time.current);
@@ -250,7 +264,7 @@
          });
        });
        that.getArea($('#policeArea'));
        that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), time.tomorrow, time.current, '', '');
        // that.getPoliceTableAnalysis($('.analysis-container-police').find('.tbody tbody'), time.tomorrow, time.current, '', '');
        that.clickHand();
      }
@@ -261,23 +275,45 @@
      objThis._map.addLayer(objThis._siteLayer);
      var that = this;
      // console.log(mySelf.clusterLayer)
      that.getEquipmentTable($('.analysis-container-equipment').find('.tbody tbody'), '');
      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_1.graphics.length > 0) {
          that.heatmapfeatureLayer_1.clear();
          that.heatmapfeatureLayer_1.setRenderer();
        if (that.heatmapfeatureLayer.graphics.length > 0) {
          that.heatmapfeatureLayer.clear();
          that.heatmapfeatureLayer.setRenderer();
          $('.analysis-category input').prop('checked', false);
        }
        $(this).addClass('on').siblings().removeClass('on');
@@ -285,16 +321,16 @@
        $($('.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 == 0) {
        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 == 1) {
        } else if (ind == 2) {
          that.getOwnerType($('#ownerCategory'));
          that.getOwnerDj($('#ownerLevel'), '');
          that.getOwnerTable($($('.analysis-container > div')[ind]).find('.tbody tbody'), '', '');
        } else if (ind == 2) {
        } else if (ind == 0) {
          that.getEquipmentTable($($('.analysis-container > div')[ind]).find('.tbody tbody'), '');
        }
@@ -349,28 +385,82 @@
      })
      // 警情列表中的点击事件
      $('.analysis-container-police .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function () {
      $('.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 url = './popup/html/police-details.html?obj=' + id;
        layui.use('layer', function () {
          that.layuiLayer = layui.layer;
          that.layuiLayer.config({
            extend: 'myskin/police-details.css'
          });
          that.layuiLayer.close(that.layuiLayer.index);
          that.layuiLayer.open({
            title: '警情详情',
            type: 2,
            shadeClose: true,
            shade: false,
            maxmin: false, //开启最大化最小化按钮
            area: ['500px', '400px'],
            offset: 'auto',
            skin: 'police-details',
            content: url,
            closeBtn: 1,
          });
        })
        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();
@@ -384,28 +474,91 @@
      })
      // 业主列表中的点击事件
      $('.analysis-container-owner .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function () {
      $('.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 url = './popup/html/owner-details.html?id=' + id;
        layui.use('layer', function () {
          that.layuiLayer = layui.layer;
          that.layuiLayer.config({
            extend: 'myskin/owner-details.css'
          });
          that.layuiLayer.close(that.layuiLayer.index);
          that.layuiLayer.open({
            title: '业主详情',
            type: 2,
            shadeClose: true,
            shade: false,
            maxmin: false, //开启最大化最小化按钮
            area: ['500px', '340px'],
            offset: 'auto',
            skin: 'owner-details',
            content: url,
            closeBtn: 1,
          });
        })
        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();
@@ -421,29 +574,10 @@
      // 设备列表中的点击事件
      $('.analysis-container-equipment .analysis-table-content .tbody').off('click', 'tr').on('click', 'tr', function (event) {
        var id = $(this).attr('term-listid');
        //   // var url = './popup/html/equipment-details.html?obj=' + id;//设备每一项钟打开警情窗口
        //   // layui.use('layer', function () {
        //   //   that.layuiLayer = layui.layer;
        //   //   that.layuiLayer.config({
        //   //     extend: 'myskin/equipment-details.css'
        //   //   });
        //   //   that.layuiLayer.close(that.layuiLayer.index);
        //   //   that.layuiLayer.open({
        //   //     title: '警情详情',
        //   //     type: 2,
        //   //     shadeClose: true,
        //   //     shade: false,
        //   //     maxmin: false, //开启最大化最小化按钮
        //   //     area: ['520px', '320px'],
        //   //     offset: 'auto',
        //   //     skin: 'equipment-details',
        //   //     content: url,
        //   //     closeBtn: 1,
        //   //   });
        //   // })
        if ($('#equipmentHeatMap').prop('checked') == true) {// 点击关闭热力图
          // console.log('relitu')
          $('#equipmentHeatMap').click();
        }
        event.stopPropagation();
        var lgtd = Number($(this).find('input').attr('lgtd'));
@@ -609,8 +743,35 @@
      $('.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(text,'text()')
        // 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);
@@ -635,17 +796,7 @@
        } else if (that.tabIndex == 2) {
          var categoryText = $('#ownerCategory > div:eq(0)').text().trim() == '全部' ? '' : $('#ownerCategory > div:eq(0)').attr('ownerid');
          var levelText = $('#ownerLevel > div:eq(0)').text().trim() == '全部' ? '' : $('#ownerLevel > div:eq(0)').text().trim();
          var parentId = $(this).parent().parent().parent().attr('id');
          if (parentId == 'ownerCategory') {
            that.getOwnerDj($('#ownerLevel'), categoryText);
            that.getOwnerTable($('.analysis-container-owner').find('.tbody tbody'), categoryText, '');
          } else {
            that.getOwnerTable($('.analysis-container-owner').find('.tbody tbody'), categoryText, levelText);
          }
          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);
        }
@@ -677,14 +828,18 @@
      })
    },
    getPoliceTableAnalysis: function (dom, beginTime, endTime, waringType, addvcd) {
      dom.empty();
      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 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();
@@ -694,11 +849,14 @@
              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');
            }, result[i].jd, result[i].wd,
              //  './images/police-situation.png'
            );
            t = result[i].alarmTime.substr(0, 10);
            e = result[i].alarmTime.substr(11);
@@ -706,18 +864,52 @@
            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'> <input type='button' value='定位'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></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();
@@ -746,56 +938,128 @@
      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>"));
          }
        }
      })
      // $.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, type, dj) {
    getOwnerTable: function (dom, deviceType) {
      dom.empty();
      var that = this;
      $.ajax({
        url: '/api/blade-jfpts/suser/suser/selectList?type=' + type + '&dj=' + dj,
        type: 'GET',
        // 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 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/owner.png');
            }, result[i].jd, result[i].wd,
              // './images/业主.png'
            );
            a = Number(i) + 1;
            str += "<tr term-list=" + result[i].id + ">";
            str += '<td>' + a + '</td>';
            str += '<td>' + result[i].type + '</td>';
            str += '<td>' + result[i].dj + '</td>';
            str += '<td>' + result[i].yname + '</td>';
            str += "<td class='location'> <input type='button' value='定位'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
            str += '</tr>';
            dom.append(str);
            str = '';
            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) {
    getEquipmentTable: function (dom, deviceType, once) {
      dom.empty();
      var that = this;
      // console.log(that.clusterLayer)
@@ -816,17 +1080,78 @@
        type: 'GET',
        dataType: 'JSON',
        success: function (data) {
          var result = data.data;
          console.log(result)
          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');
            }, result[i].jd, result[i].wd,
              // './images/ceshi.png'
            );
            var stares = '';
            a = Number(i) + 1;
@@ -837,7 +1162,7 @@
            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>";
@@ -908,9 +1233,12 @@
    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: [
@@ -932,6 +1260,56 @@
          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();
      }
@@ -1015,7 +1393,7 @@
    //聚合图层事件
    flareClusterLayer: function (datas) {  //top聚合事件,导航
    flareClusterLayer: function (datas, userState) {  //top聚合事件,导航
      var that = this;
@@ -1048,7 +1426,7 @@
      });
      //set up a class breaks renderer to render different symbols based on the cluster count. Use the required clusterCount property to break on.
      var defaultSym = new PictureMarkerSymbol("./images/jingbaored.png", 33, 48).setOffset(0, 15);
      var defaultSym = new PictureMarkerSymbol("./images/jingbaored.png", 33, 48).setOffset(0, 1);
      var renderer = new ClassBreaksRenderer(defaultSym, "clusterCount");
      var xlSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 32, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([200, 52, 59, 0.8]), 1), new dojo.Color([250, 65, 74, 0.8]));
      var lgSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 28, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([41, 163, 41, 0.8]), 1), new dojo.Color([51, 204, 51, 0.8]));