From d74b495736f0c04522ec54274b70fed0ded2878d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 11:30:06 +0800
Subject: [PATCH] 任务新增导出

---
 public/map/widgets/analysisAndJudgment/AnalysisAndJudgment.js |  884 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 884 insertions(+), 0 deletions(-)

diff --git a/public/map/widgets/analysisAndJudgment/AnalysisAndJudgment.js b/public/map/widgets/analysisAndJudgment/AnalysisAndJudgment.js
new file mode 100644
index 0000000..054936c
--- /dev/null
+++ b/public/map/widgets/analysisAndJudgment/AnalysisAndJudgment.js
@@ -0,0 +1,884 @@
+/*
+ * @Description:
+ * @Version: 1.0
+ * @Author: yangsx
+ * @Date: 2019-12-09 19:01:40
+ * @LastEditors: yangsx
+ * @LastEditTime: 2019-12-14 14:44:57
+ */
+define([
+    "dojo",
+    "dojo/_base/declare",
+    "dojo/_base/lang",
+    "base/BaseWidget",
+    "dojo/text!widgets/analysisAndJudgment/template.html",
+    "base/AppEvent",
+    "base/ConfigData",
+    "widgets/analysisAndJudgment/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/graphic",
+    "esri/geometry/Point",
+    "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",
+    "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,
+    Graphic,
+    Point,
+    Extent,
+    FeatureSet,
+    HeatmapRenderer,
+    SimpleLineSymbol,
+    SimpleFillSymbol,
+    PictureMarkerSymbol,
+    SimpleMarkerSymbol,
+    SpatialReference,
+    GeometryService,
+    ProjectParameters,
+    GraphicsLayer,
+    LabelLayer,
+    TextSymbol,
+    SimpleRenderer,
+    ClassBreaksRenderer,
+    Geoprocessor,
+    DataFile,
+    webMercatorUtils,
+    Font,
+    ScreenPoint,
+    ImageParameters,
+    geometryEngine
+) {
+    var Widget = declare([BaseWidget], {
+        widgetName: "AnalysisAndJudgment",
+        label: "分析研判",
+        templateString: template,
+        _map: null,
+        objThis: null,
+        _siteLayer: new GraphicsLayer(),
+        layuiLayer: null,
+        layuiLadate: null,
+        heatmapfeatureLayer_1: null,
+        tabIndex: 0,
+
+        // 保留添加实体图层的变量
+        analysisAddEntitys: null,
+        entitysData: [],
+        constructor: function (options, srcRefNode) {
+            this._map = options.map;
+            objThis = this;
+
+
+            this.analysisAddEntitys = new GraphicsLayer({ id: 'analysisAddEntitys' });
+            this.addOneEntitys = new GraphicsLayer({ id: 'addOneEntitys' });
+            this.addTwoEntitys = new GraphicsLayer({ id: 'addTwoEntitys' });
+            this.addThreeEntitys = new GraphicsLayer({ id: 'addThreeEntitys' });
+
+            this._map.addLayer(this.analysisAddEntitys);
+            this._map.addLayer(this.addOneEntitys);
+        },
+        startup: function () {
+            objThis._map.addLayer(objThis._siteLayer);
+            var that = this;
+            // 顶部tab得切换事件
+            $('.analysis-and-judgment-tab li').click(function () {
+                if (that.tabIndex == $(this).index()) return;
+
+
+                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();
+                    $('.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 == 0) {
+                    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) {
+                    that.getOwnerType($('#ownerCategory'));
+                    that.getOwnerDj($('#ownerLevel'), '');
+                    that.getOwnerTable($($('.analysis-container > div')[ind]).find('.tbody tbody'), '', '');
+                } else if (ind == 2) {
+                    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 () {
+                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,
+                    });
+                })
+            })
+            $('.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 () {
+                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,
+                    });
+                })
+            })
+            $('.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 () {
+                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,
+                    });
+                })
+            })
+            $('.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是缩放级别,可以自定义,数值越大缩放越大
+            })
+
+            // 警情列表中得热力图是否选中事件
+            $('#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) {
+
+                var text = $(this).text().trim();
+                $(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 == 0) {
+
+                    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 == 1) {
+                    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);
+                    }
+
+                } else if (that.tabIndex == 2) {
+                    that.getEquipmentTable($('.analysis-container-equipment').find('.tbody tbody'), text == '全部' ? '' : text);
+                }
+
+            })
+        },
+        open: function () {
+            var time = this.getTime();
+            var that = this;
+
+            $("#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_1 = that.heatmFeaLayers();
+
+            that._map.addLayer(that.heatmapfeatureLayer_1);
+            $('#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();
+
+        },
+        close: function () {
+            $("#tabcontainer").css("width", "66%");
+            $('#mapcontentClass').removeClass('client-max-map'); //删除样式
+            this.entitysData = [];
+            this.analysisAddEntitys.clear();
+
+        },
+        // 鼠标点击事件
+        clickHand: function () {
+            var self = this;
+
+            self._map.onClick = mapClick;
+
+
+            function mapClick(evt) {
+                if (evt.graphic) {
+                    var result = evt.graphic.geometry.entityData;
+                    var liText = evt.graphic.symbol.name;
+                    if (liText == '警情信息') {
+                        self.policeDetails(result.id);
+                    } else if (liText == '业主信息') {
+                        self.ownerDetails(result.id);
+                    } else if (liText == '设备信息') {
+                        self.equipmentDetails(result.id);
+                    }
+                }
+            }
+        },
+        // 警情详情弹框
+        /**
+         *
+         * @param {number} id 警情ID
+         */
+        policeDetails: function (id) {
+            var that = this;
+            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,
+                });
+            })
+        },
+        // 业主详情弹框
+        /**
+         *
+         * @param {number} id 警情ID
+         */
+        ownerDetails: function (id) {
+            var that = this;
+            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,
+                });
+            })
+        },
+        // 设备详情弹框
+        /**
+         *
+         * @param {number} id 设备ID
+         */
+        equipmentDetails: function (id) {
+            var that = this;
+            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,
+                });
+            })
+        },
+        //热力图渲染器,加载热力图
+        heatmFeaLayers: function () {
+
+            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;
+        },
+        // 获取当前时间,以及昨天现在的时间
+        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
+            };
+        },
+        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: 'http://61.131.136.25:2082/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>"));
+                    }
+                }
+            })
+        },
+        // 获取警情信息列表
+        /**
+         *
+         * @param {object} dom jq对象
+         * @param {string} beginTime 开始时间
+         * @param {string} endTime 结束时间
+         * @param {*} waringType 警情的类别
+         */
+        getPoliceTableAnalysis: function (dom, beginTime, endTime, waringType, addvcd) {
+            dom.empty();
+            var that = this;
+            $.ajax({
+                url: "http://61.131.136.25:2082/api/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 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'> <input type='button' value='定位'" + ' lgtd=' + result[i].jd + ' lttd=' + result[i].wd + "></td>";
+                        str += '</tr>';
+                        dom.append(str);
+                        str = '';
+
+
+                    }
+
+                    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: 'http://61.131.136.25:2082/api/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: 'http://61.131.136.25:2082/api/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) {
+            dom.empty();
+            var that = this;
+            $.ajax({
+                url: 'http://61.131.136.25:2082/api/suser/suser/selectList?type=' + type + '&dj=' + dj,
+                type: 'GET',
+                dataType: 'JSON',
+                success: function (data) {
+                    var result = data.data;
+                    var str = '';
+                    that.entitysData = [];
+                    that.analysisAddEntitys.clear();
+                    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');
+
+                        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 = '';
+                    }
+
+                }
+            })
+        },
+        // 获取设备信息列表
+        getEquipmentTable: function (dom, deviceType) {
+            dom.empty();
+            var that = this;
+            $.ajax({
+                url: 'http://61.131.136.25:2082/api/equipment/equipment/selectList?deviceType=' + deviceType,
+                type: 'GET',
+                dataType: 'JSON',
+                success: function (data) {
+                    var result = data.data;
+                    var str = '';
+                    that.entitysData = [];
+                    that.analysisAddEntitys.clear();
+                    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');
+
+                        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>';
+                        str += "<td class='location'> <input type='button' value='定位'" + ' 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);
+
+
+            entityContent.push(item);
+        },
+        // 热力图选中执行函数
+        checkBoxSelect: function (self) {
+            var heatmapRenderer = null;
+            // // return
+            // 选中
+            if ($(self).prop('checked') == true) {
+                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: 48,
+                    maxPixelIntensity: 184,
+                    minPixelIntensity: 0
+                });
+                this.heatmapfeatureLayer_1.setRenderer(heatmapRenderer);
+                // 取消选中
+                var point = null;
+                for (var i = 0; i < this.entitysData.length; i++) {
+                    point = new esri.geometry.Point(this.entitysData[i].lgtd, this.entitysData[i].lttd, new esri.SpatialReference({ wkid: 4326 }));
+                    this.heatmapfeatureLayer_1.add(new esri.Graphic(point));
+                }
+            } else {
+                this.heatmapfeatureLayer_1.clear();
+                this.heatmapfeatureLayer_1.setRenderer();
+            }
+        }
+    });
+    return Widget;
+});

--
Gitblit v1.9.3