From 25fcadb5826beff9a0e25761579a2d1014d9fa04 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 19 Apr 2021 11:09:10 +0800
Subject: [PATCH] 警情导出提示语名称修改,处警队伍管理地图引入并定位
---
public/map/widgets/securityMap/SecurityMap.js | 250 +++++++++++++++++++++++++-------------------------
1 files changed, 125 insertions(+), 125 deletions(-)
diff --git a/public/map/widgets/securityMap/SecurityMap.js b/public/map/widgets/securityMap/SecurityMap.js
index 17d7985..2404d1d 100644
--- a/public/map/widgets/securityMap/SecurityMap.js
+++ b/public/map/widgets/securityMap/SecurityMap.js
@@ -3,18 +3,18 @@
* @Version: 1.0
* @Author: yangsx
* @Date: 2019-12-09 19:01:40
- * @LastEditors: song
- * @LastEditTime: 2021-02-25 13:59:29
+ * @LastEditors: yangsx
+ * @LastEditTime: 2019-12-14 14:44:57
*/
define([
"dojo",
"dojo/_base/declare",
"dojo/_base/lang",
"base/BaseWidget",
- "dojo/text!widgets/SecurityMap/template.html",
+ "dojo/text!widgets/securityMap/template.html",
"base/AppEvent",
"base/ConfigData",
- "widgets/realTimePolice/config",
+ "widgets/securityMap/config",
"dojo/dom",
"dojo/dom-construct",
"dojo/dom-attr",
@@ -31,8 +31,12 @@
"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",
@@ -55,9 +59,8 @@
"esri/layers/ImageParameters",
"esri/geometry/geometryEngine",
"esri/dijit/PopupTemplate",
- "widgets/SecurityMap/FlareClusterLayer_v3",
- "dojo/domReady!",
- "widgets/realTimePolice/LayUIDataTable"
+ "widgets/securityMap/FlareClusterLayer_v3",
+ "dojo/domReady!"
], function(
dojo,
declare,
@@ -83,8 +86,12 @@
Query,
QueryTask,
Color,
+ Edit,
Graphic,
Point,
+ Polyline,
+ Polygon,
+ Extent,
FeatureSet,
HeatmapRenderer,
SimpleLineSymbol,
@@ -112,11 +119,9 @@
var Widget = declare([BaseWidget], {
widgetName: "SecurityMap",
label: "处警队伍管理",
-
templateString: template,
_map: null,
objThis: null,
- // 现场图层
_siteLayer: new GraphicsLayer(),
layuiLayer: null,
layuiLadate: null,
@@ -125,26 +130,6 @@
// 保留添加实体图层的变量
addEntitys: null,
entitysData: [],
-
- // 是否派发保安的 文字
- treatmentIndex: null,
- securityFlag: false,
- editParentInd: null,
-
- // 存储新增点,线,面,数据的地方
- polygonData: [],
- polygonFlag: false,
- editToolbar: null,
- addPolygonEntitys: null,
-
- // 所有的面图层
- entityPolygonAll: null,
-
- // 用来存储区域名称
- globalRegionName: null,
-
- // 用来区域得最大最小经纬度
- currentDrawing: [],
// 巡逻区域或者巡逻路线的描述
routeOrRegionDescribe: null,
@@ -165,19 +150,24 @@
peopleRealName: null,
pepleRealId: null,
+ //存放聚合实体
+ clusterLayer: null,
constructor: function(options, srcRefNode) {
- debugger;
- console.log("option=" + options);
this._map = options.map;
objThis = this;
-
- this.addEntitys = new GraphicsLayer({ id: 'addEntitys' });
+ this.addEntitys = new GraphicsLayer({
+ id: 'addEntitys'
+ });
// 添加点面线的图层
- this.addPolygonEntitys = new GraphicsLayer({ id: 'addPolygonEntitys' });
+ this.addPolygonEntitys = new GraphicsLayer({
+ id: 'addPolygonEntitys'
+ });
// 添加所有图层的地方
- this.entityPolygonAll = new GraphicsLayer({ id: 'entityPolygonAll' });
+ this.entityPolygonAll = new GraphicsLayer({
+ id: 'entityPolygonAll'
+ });
this._map.addLayer(this.addEntitys);
@@ -186,104 +176,103 @@
this._map.addLayer(this.addPolygonEntitys);
this._map.addLayer(this.entityPolygonAll);
-
},
-
startup: function() {
+
objThis._map.addLayer(objThis._siteLayer);
- var that = this;
- // 保安出警管理表格中点击事件
- $('.police-dispatching .police-container .police-container-policeforce .table .tbody tbody').off('click', 'input').on('click', 'input', function(event) {
- event.stopPropagation();
- var lgtd = Number($(this).parent().parent().attr('lgtd'));
- var lttd = Number($(this).parent().parent().attr('lttd'));
- var position = new esri.geometry.Point(lgtd, lttd, new esri.SpatialReference({ wkid: 4326 })); //根据输入坐标信息找地图上的点
- that.newElectronicFenceId = null;
- that._map.centerAndZoom(position, 18); //缩放,10是缩放级别,可以自定义,数值越大缩放越大
- var graphic = that.entityPolygonAll.graphics;
- for (var i = 0; i < graphic.length; i++) {
- if (graphic[i].objId.id == $(this).attr('resultid')) {
- if (graphic[i].geometry.rings[0].length > 0) {
- that.polygonFlag = false;
- that.electronicFence();
- that.activateToolbar(graphic[i]);
- } else {
- layui.use('layer', function() {
- layui.layer.msg('请开始划分电子围栏');
- })
- that.polygonFlag = true;
- that.newElectronicFenceId = graphic[i].objId;
- }
- }
- }
- })
- $('.police-dispatching .police-container .police-container-policeforce .table .tbody tbody').off('click', 'tr').on('click', 'tr', 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 snumber = $(this).attr('term-snumber');
-
- var url = './popup/html/personnel-information-management.html?id=' + code;
- layui.use('layer', function() {
- that.layuiLayer = layui.layer;
- that.layuiLayer.config({
- extend: 'myskin/personnel-information-management.css'
- });
- that.layuiLayer.close(that.layuiLayer.index);
- that.layuiLayer.open({
- title: '保安人员信息',
- type: 2,
- shadeClose: true,
- shade: false,
- maxmin: false, //开启最大化最小化按钮
- area: ['400px', '220px'],
- offset: 'auto',
- skin: 'personnel-information-management',
- content: url,
- closeBtn: 1,
- });
- })
- })
},
+ //根据key 取value值
+ getQueryStringByKey: function(key) {
+ return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || ['', null])[1];
+ },
+ //页面打开后,获取参数数据
open: function() {
var that = this;
- debugger;
- $.ajax({
- url: '/api/blade-jfpts/alarm/alarm/listAll?',
- type: 'get',
- dataType: 'JSON',
- success: function(data) {
- var datas = data.data;
- for (var i = 0; i < datas.length; i++) {
- datas[i].x = Number(datas[i].jd);
- datas[i].y = Number(datas[i].wd);
- }
- debugger;
- that.flareClusterLayer(datas);
- }
- });
-
+ var lgtd = that.getQueryStringByKey('jd');
+ var lttd = that.getQueryStringByKey('wd');
+ that.addPoint(that.addEntitys, lgtd, lttd, './images/security.png');
},
-
close: function() {
},
+ // 获取当前时间,以及昨天现在的时间
+ getTime: function getTime() {
+ var timestamp = Date.parse(new Date());
- // 鼠标点击事件
- clickHand: function() {},
+ // 当前时间
+ 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);
+ },
//聚合图层事件
flareClusterLayer: function(datas) {
- debugger;
+
+ console.log(1);
var that = this;
@@ -296,7 +285,9 @@
//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 }),
+ spatialReference: new esri.SpatialReference({
+ "wkid": 4326
+ }),
subTypeFlareProperty: "facilityType",
singleFlareTooltipProperty: "name",
displaySubTypeFlares: true,
@@ -305,8 +296,8 @@
preClustered: preClustered,
clusterRatio: 75,
clusterAreaDisplay: areaDisplayMode,
- clusteringBegin: function() {
- console.log("clustering begin");
+ clusteringBegin: function(e) {
+ console.log(e, "clustering begin");
},
clusteringComplete: function() {
console.log("clustering complete");
@@ -314,12 +305,12 @@
});
//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/ceshi.png", 32, 32).setOffset(0, 15);
+ var defaultSym = new PictureMarkerSymbol("./images/jingbaored.png", 33, 48).setOffset(0, 15);
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, 22, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color([230, 184, 92, 0.8]), 1), new dojo.Color([255, 204, 102, 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);
@@ -330,10 +321,21 @@
//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 }
+ fieldInfos: [{
+ fieldName: "facilityType",
+ label: "Facility Type",
+ visible: true
+ },
+ {
+ fieldName: "postcode",
+ label: "Post Code",
+ visible: true
+ },
+ {
+ fieldName: "isOpen",
+ label: "Opening Hours",
+ visible: true
+ }
]
});
@@ -351,8 +353,6 @@
that._map.removeLayer(that.clusterLayer);
that.clusterLayer = null;
}
-
-
});
return Widget;
});
\ No newline at end of file
--
Gitblit v1.9.3