From c6796cb12ca7aa0717349ca185ece091acdd2bbc Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 20 Apr 2021 15:32:01 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/jfpt-Vue
---
src/views/healthcode/healthcode.vue | 4
src/api/client/client.js | 10
src/views/security/security.vue | 42 +
src/views/supervisoryConsole/card.vue | 37 +
src/views/clientManagement/clientManagement.vue | 81 +++-
src/views/parcel/parcel.vue | 2
src/page/index/logo.vue | 28
src/views/parcel/parcelKind.vue | 4
src/views/realTimePolice/real.vue | 277 +++++++-------
src/views/animalHeat/animalHeat.vue | 4
public/map/widgets/securityMap/SecurityMap.js | 551 +++++++++++++++++++++---------
src/views/zc/zc.vue | 4
src/views/system/cs.vue | 6
13 files changed, 682 insertions(+), 368 deletions(-)
diff --git a/public/map/widgets/securityMap/SecurityMap.js b/public/map/widgets/securityMap/SecurityMap.js
index 17d7985..00dd42c 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,
@@ -126,25 +131,18 @@
addEntitys: null,
entitysData: [],
- // 是否派发保安的 文字
- treatmentIndex: null,
- securityFlag: false,
- editParentInd: null,
-
- // 存储新增点,线,面,数据的地方
- polygonData: [],
- polygonFlag: false,
- editToolbar: null,
- addPolygonEntitys: null,
-
- // 所有的面图层
- entityPolygonAll: null,
// 用来存储区域名称
globalRegionName: null,
// 用来区域得最大最小经纬度
currentDrawing: [],
+
+ // 存储新增点,线,面,数据的地方
+ polygonData: [],
+ polygonFlag: false,
+ editToolbar: null,
+ addPolygonEntitys: null,
// 巡逻区域或者巡逻路线的描述
routeOrRegionDescribe: null,
@@ -158,200 +156,429 @@
y: 0,
offset: null,
moveThis: null,
+
// 电子围栏需要新增的Id
newElectronicFenceId: null,
// 新增路线时,派发人员,人员名称,以及人员id
- peopleRealName: null,
- pepleRealId: null,
+ anumber: null,
+ realname: 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);
-
-
this._map.addLayer(this.addPolygonEntitys);
this._map.addLayer(this.entityPolygonAll);
-
},
-
startup: function() {
objThis._map.addLayer(objThis._siteLayer);
+ },
+
+ //根据key 取value值
+ getQueryStringByKey: function(key) {
+ return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || ['', null])[1];
+ },
+
+ //带有中文的解码
+ getQueryString: function(name) {
+ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+ var r = window.location.search.substr(1).match(reg);
+ if (r != null) return decodeURI(r[2]);
+ return null;
+ },
+
+ //页面打开后,获取参数数据
+ open: function() {
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]);
+ var lgtd = that.getQueryStringByKey('jd');
+ var lttd = that.getQueryStringByKey('wd');
+ if (lgtd == null || lgtd == "") {
+ return;
+ }
+ anumber = that.getQueryStringByKey('code');
+ realname = that.getQueryString('name');
+ //所在位置标记
+ that.addPoint(that.addEntitys, lgtd, lttd, './images/security.png');
+ //获取当前处警员的电子围栏信息
+ $.ajax({
+ //https://web.byisf.com/api/blade-jfpts/enclosure/enclosure/selectEnclosureDetail
+ url: 'http://localhost:89/enclosure/enclosure/selectEnclosureDetail',
+ type: 'GET',
+ dataType: 'JSON',
+ data: {
+ anumber: anumber
+ },
+ success: function(result) {
+ //如果已有电子围栏信息,展示出围栏区域,并且可以编辑
+ if (result.code == 200) {
+ if (JSON.stringify(result.data) != "{}") {
+ var entityArr = [];
+ var coordinate = result.data.coordinate.match(/\(([^)]*)\)/).toString();
+ var a = coordinate.indexOf("(");
+ var b = coordinate.indexOf(")");
+ coordinate = coordinate.substring(a + 1, b) + "";
+ if (coordinate && coordinate != '') {
+ coordinate = coordinate.split(',');
+ for (var i = 0; i < coordinate.length; i++) {
+ entityArr.push([Number(coordinate[i].split(' ')[0]), Number(coordinate[i].split(' ')[1])]);
+ }
+ }
+ that.addPolygon(that.addPolygonEntitys, entityArr);
} else {
+ //如果无电子围栏信息,则提示请编辑电子围栏信息
+ //编辑好电子围栏信息后,将当前处警员的电子围栏信息保存到数据库
+ that.newElectronicFenceId = null;
+
layui.use('layer', function() {
layui.layer.msg('请开始划分电子围栏');
})
that.polygonFlag = true;
- that.newElectronicFenceId = graphic[i].objId;
+ that.newElectronicFenceId = anumber;
}
+
}
}
})
- $('.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.clickHand();
- 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,
- });
- })
- })
- },
-
-
- 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);
+ //鼠标右击事件
+ document.getElementById('mainMapWidget').onmousedown = function(event) {
+ if (event.button == 2) {
+ if (that.polygonData.length < 2) {
+ layui.use('layer', function() {
+ layui.layer.msg('不能形成区域,请继续划分!!!')
+ })
+ return;
}
- debugger;
- that.flareClusterLayer(datas);
+ if (that.polygonFlag == true) {
+ // 勾画最后一个点
+ var normalizedVal = webMercatorUtils.xyToLngLat(event.mapPoint.x, event.mapPoint.y);
+ that.polygonData.push([normalizedVal[0], normalizedVal[1]]);
+ // 声明空字符串,存储数据
+ var dataStr = '';
+ var data = null;
+ if (that.patrolIndex == 1) {
+ that.addPolyline(that.addPolygonEntitys, that.polygonData);
+ // 获取数据
+ data = that.addPolygonEntitys.graphics[0].geometry.paths[0];
+ } else {
+ that.addPolygon(that.addPolygonEntitys, that.polygonData);
+ // 获取数据
+ data = that.addPolygonEntitys.graphics[0].geometry.rings[0];
+ }
+
+ // 组装数据
+ for (var i = 0; i < data.length; i++) {
+ dataStr += (data[i][0] + ' ' + data[i][1] + ',');
+ }
+ dataStr = dataStr.substring(0, dataStr.length - 1);
+
+ //将数据存入数据库
+ $.ajax({
+ //url: 'https://web.byisf.com/api/blade-jfpts/enclosure/enclosure/updatee',
+ url: 'http://localhost:89/enclosure/enclosure/insertes',
+ type: 'POST',
+ dataType: 'JSON',
+ data: {
+ aname: realname,
+ anumber: anumber,
+ routeInfo: dataStr
+ },
+ success: function(result) {
+ if (result.code == 200) {}
+ }
+ })
+ }
+ that.polygonFlag = false;
+
}
- });
-
- },
-
-
- close: function() {
-
+ }
},
// 鼠标点击事件
- clickHand: function() {},
+ clickHand: function() {
- //聚合图层事件
- flareClusterLayer: function(datas) {
- debugger;
+ var self = this;
+ self._map.onClick = mapClick;
- var that = this;
+ function mapClick(evt) {
+ debugger;
+ var normalizedVal = webMercatorUtils.xyToLngLat(evt.mapPoint.x, evt.mapPoint.y);
+ var y = self._map.toMap({
+ spatialReference: '4326',
+ type: "point",
+ x: evt.screenPoint.x,
+ y: evt.screenPoint.y,
+ });
- var preClustered = false;
- var displaySingleFlaresAtCount = 10;
- 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: 75,
- clusterAreaDisplay: areaDisplayMode,
- clusteringBegin: function() {
- console.log("clustering begin");
- },
- clusteringComplete: function() {
- console.log("clustering complete");
+ // 编辑中的
+ if (self.polygonFlag == true) {
+ if (self.polygonData.length == 0) {
+ self.polygonData.push([normalizedVal[0], normalizedVal[1]]);
+ self.addPoint(self.addPolygonEntitys, normalizedVal[0], normalizedVal[1]);
+ } else if (self.polygonData.length == 1) {
+ self.polygonData.push([normalizedVal[0], normalizedVal[1]]);
+ self.addPolyline(self.addPolygonEntitys, self.polygonData);
+ return;
+ } else if (self.polygonData.length > 1) {
+ self.polygonData.push([normalizedVal[0], normalizedVal[1]]);
+ self.addPolygon(self.addPolygonEntitys, self.polygonData);
+ }
+
+ } else { // 不在编辑中
+ if (evt.graphic) { // 点击在图形上
+ // 保存当前点击得图形
+ // self.currentDrawing = evt.graphic;
+
+ self.modifyPolygon();
+
+ self.activateToolbar(evt.graphic);
+ } else { // 点击不在图形上
+
+ self.modifyPolygon()
+ }
+ }
+
+ }
+
+ // 提示信息
+ $(document).off('mousemove').mousemove(function(e) {
+ var y = e.clientY + 10;
+ var x = e.clientX + 20;
+
+ if (e.clientX < 40) {
+ var x = 40;
+ }
+
+ if (e.clientY < 42) {
+ y = 42;
+ }
+
+ if (e.clientY > ($(window).height() - 82)) {
+ y = ($(window).height() - 66);
+ }
+
+ if (e.clientX > ($(window).width() - 184)) {
+ x = ($(window).width() - 184);
+ }
+
+ if (self.tabIndex == 1 || self.tabIndex == 2) {
+
+ if (self.polygonFlag == true) {
+ $('.police-dispatching .tips').stop().show();
+
+ if (self.polygonData.length == 0) {
+ $('.police-dispatching .tips').text('单击左键开始绘制。');
+ } else {
+ if (e.clientY > ($(window).height() - 98)) {
+ y = ($(window).height() - 88);
+ }
+ $('.police-dispatching .tips').text('单击左键新增加点。单击右键完成绘制。');
+ }
+
+ $('.police-dispatching .tips').css({
+ 'top': y,
+ 'left': x,
+ })
+ } else {
+ $('.police-dispatching .tips').stop().hide();
+ }
+
+ } else {
+ $('.police-dispatching .tips').stop().hide();
+ }
+ })
+ },
+
+ //新增线
+ addPolyline: function(entitys, path) {
+ entitys.clear();
+ var polylineSymbol = new SimpleLineSymbol();
+ polylineSymbol.color = [255, 0, 0, 1];
+ polylineSymbol.width = 4;
+ var polyline = new Polyline({
+ "paths": [path],
+ "spatialReference": {
+ "wkid": 4326
}
});
- //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 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]));
- renderer.addBreak(0, 19, smSymbol);
- renderer.addBreak(20, 150, mdSymbol);
- renderer.addBreak(151, 1000, lgSymbol);
- renderer.addBreak(1001, Infinity, xlSymbol);
+ entitys.add(new Graphic(polyline, polylineSymbol));
+ },
- 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 }
- ]
- });
+ //编辑电子围栏(多边形)
+ modifyPolygon: function() {
+ var self = this;
+ if (self.editToolbar != null) {
+ //获取当前的多边形数据
+ var polygon = self.editToolbar.getCurrentState();
- //clusterLayer.infoTemplate = template;
- that._map.infoWindow.titleInBody = false;
+ //释放编辑后
+ self.editToolbar.deactivate();
- that._map.addLayer(that.clusterLayer);
+ self.editToolbar = null;
- //var data = DataManager.getData();
- that.clusterLayer.addData(datas);
+ // 声明空字符串,存储数据
+ var dataStr = '';
+
+ // 获取数据
+ var data = polygon.graphic.geometry.rings[0];
+
+ // 组装数据
+ for (var i = 0; i < data.length; i++) {
+ dataStr += (data[i][0] + ' ' + data[i][1] + ',');
+ }
+ dataStr = dataStr.substring(0, dataStr.length - 1);
+
+ //更新电子围栏数据
+ $.ajax({
+ //url: 'https://web.byisf.com/api/blade-jfpts/enclosure/enclosure/updatee',
+ url: 'http://localhost:89/enclosure/enclosure/updatee',
+ type: 'POST',
+ dataType: 'JSON',
+ data: {
+ anumber: anumber,
+ routeInfo: dataStr
+ },
+ success: function(result) {
+ if (result.code == 200) {}
+ }
+ })
+
+ }
+ },
+
+
+ activateToolbar: function(graphic) {
+ var tool = 0;
+
+ this.editToolbar = new Edit(this._map);
+
+ // if (registry.byId("tool_move").checked) {
+ tool = tool | Edit.MOVE;
+ // }
+ // if (registry.byId("tool_vertices").checked) {
+ tool = tool | Edit.EDIT_VERTICES;
+ // }
+ // if (registry.byId("tool_scale").checked) {
+ tool = tool | Edit.SCALE;
+ // }
+ // if (registry.byId("tool_rotate").checked) {
+ tool = tool | Edit.ROTATE;
+ // }
+ // enable text editing if a graphic uses a text symbol
+ // if ( graphic.symbol.declaredClass === "esri.symbol.TextSymbol" ) {
+ tool = tool | Edit.EDIT_TEXT;
+ // }
+
+ var options = {
+ allowAddVertices: true,
+ allowDeleteVertices: true,
+ uniformScaling: true
+ };
+ this.editToolbar.activate(tool, graphic, options);
},
- clearLayer: function() {
- var that = this;
- that._map.removeLayer(that.clusterLayer);
- that.clusterLayer = null;
- }
+ 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, 22, 22);
+ var pt = new Point(lgtd, lttd, new SpatialReference({
+ wkid: 4326
+ }));
+ var graphic = new esri.Graphic(pt, symbol);
+ entitys.add(graphic);
+ },
+
+ //绘制多边形
+ addPolygon: function(entitys, rings) {
+ entitys.clear();
+ var polygonSymbol = new SimpleFillSymbol();
+ polygonSymbol.color = [24, 255, 243, 0.411];
+ var polygon = new Polygon({
+ "rings": [rings],
+ "spatialReference": {
+ "wkid": 4326
+ }
+ });
+ entitys.add(new Graphic(polygon, polygonSymbol));
+ }
});
return Widget;
diff --git a/src/api/client/client.js b/src/api/client/client.js
index b8c1451..1f77856 100644
--- a/src/api/client/client.js
+++ b/src/api/client/client.js
@@ -87,3 +87,13 @@
})
}
+export const getBaTree = (id) => {
+ return request({
+ url: '/api/blade-user/pages',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
+}
+
diff --git a/src/page/index/logo.vue b/src/page/index/logo.vue
index 987f282..e7b5548 100644
--- a/src/page/index/logo.vue
+++ b/src/page/index/logo.vue
@@ -401,13 +401,13 @@
`https://web.byisf.com:18000/GetPlayUrl?deviceCode=${that.form.serialNumber}&chl=${that.form.channelNumber}`
)
.then((result) => {
- // axios({
- // method: "post",
- // url: `/api/blade-jfpts/rvideo/rVoids`,
- // params: {
- // url: result.data.data.flv,
- // },
- // }).then((resdata) => {});
+ axios({
+ method: "post",
+ url: `/api/blade-jfpts/rvideo/rVoids`,
+ params: {
+ url: result.data.data.flv,
+ },
+ }).then((resdata) => {});
});
});
if (
@@ -572,13 +572,13 @@
.then(function () {
that.dialogTableVisible = false;
- // axios({
- // method: "post",
- // url: `/api/blade-jfpts/rvideo/stop`,
- // params: {
- // jid: row.id,
- // },
- // }).then((resdata) => {});
+ axios({
+ method: "post",
+ url: `/api/blade-jfpts/rvideo/stop`,
+ params: {
+ jid: row.id,
+ },
+ }).then((resdata) => {});
that.$router.push({
path: "/policeTracking/track",
diff --git a/src/views/animalHeat/animalHeat.vue b/src/views/animalHeat/animalHeat.vue
index 7699961..f5642cd 100644
--- a/src/views/animalHeat/animalHeat.vue
+++ b/src/views/animalHeat/animalHeat.vue
@@ -245,7 +245,7 @@
},
//数据导出
handleExport() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出体温数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@@ -255,7 +255,7 @@
},
//数据报表导出
handleExportStatis() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出体温数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
diff --git a/src/views/clientManagement/clientManagement.vue b/src/views/clientManagement/clientManagement.vue
index 8b27e59..3e8b720 100644
--- a/src/views/clientManagement/clientManagement.vue
+++ b/src/views/clientManagement/clientManagement.vue
@@ -193,10 +193,11 @@
</template>
<script>
- import {getList, remove, update, add, getclient, getDeptLazyTree, getAll, updates} from "@/api/client/client";
+ import {getList, remove, update, add, getclient, getDeptLazyTree, getAll, updates,getBaTree} from "@/api/client/client";
import {mapGetters} from "vuex";
import axios from "axios";
import Legend from '../../components/liu-legend/Legend'
+ import AvueMap from "avue-plugin-map";
export default {
components:{
@@ -315,7 +316,6 @@
label: "设备编号",
prop: "deviceNumber",
width: 130,
- editDisabled: true,
rules: [
{
required: false,
@@ -336,7 +336,7 @@
rules: [
{
required: false,
- message: "请选择上级菜单",
+ message: "请选择使用方",
trigger: "click"
}
]
@@ -403,25 +403,7 @@
addDisplay: false,
editDisplay: false
},
- {
- label: "设备类型",
- prop: "deviceType",
- width: 100,
- search: true,
- searchSpan: 3,
- searchLabelWidth: 80,
- searchPlaceholder: "请选择",
- type: "select",
- props: {
- label: "dictValue",
- value: "dictValue"
- },
- dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1357568691367661569",
- hide: true,
- addDisplay: true,
- editDisplay: true,
- viewDisplay: true,
- },
+
{
label: "省份",
prop: "province",
@@ -497,8 +479,32 @@
viewDisplay: true,
},
{
+ label: "地址",
+ prop: "map",
+ hide: true,
+ span: 24,
+ component: "AvueMap",
+ },
+ {
+ label: "经度",
+ hide: true,
+ addDisplay: false,
+ prop: "jd",
+ },
+ {
+ label: "纬度",
+ hide: true,
+ addDisplay: false,
+ prop: "wd",
+ },
+ {
label: "负责人",
- prop: "oneContacts",
+ prop: "oneId",
+ type: "tree",
+ dicUrl: "/api/blade-system/dept/Batrees",
+ props: {
+ label: "title"
+ },
width: 72,
hide: true,
addDisplay: true,
@@ -559,6 +565,31 @@
},
data: []
};
+ },
+ watch: {
+ "form.map": {
+ // form是表单或者表格绑定的数据集,v-model='form'
+ handler(val) {
+ debugger
+ if (val) {
+ this.form.wd = val.latitude;
+ this.form.jd = val.longitude;
+ this.form.street = val.formattedAddress;
+ }
+ },
+ immediate: true,
+ },
+ "form.oneId":{
+ handler(val) {
+ var that = this;
+ getBaTree(val).then(res => {
+ if (res) {
+ that.form.onePhone = res.data.data.records[0].phone;
+ that.form.oneContacts = res.data.data.records[0].name;
+ }
+ });
+ },
+ }
},
computed: {
...mapGetters(["permission"]),
@@ -834,9 +865,9 @@
//console.log(document.body.clientHeight,event.clientY,cha)
// 防止菜单太靠底,根据可视高度调整菜单出现位置
if (cha < 150) {
- menu.style.top = event.clientY -120 - (70) + 'px'
+ menu.style.top = event.clientY -120 - (100) + 'px'
} else {
- menu.style.top = event.clientY -10 - (70) + 'px'
+ menu.style.top = event.clientY -10 - (100) + 'px'
}
menu.style.left = event.clientX + 10 - (60) + 'px'
document.addEventListener('click', this.foo); // 给整个document新增监听鼠标事件,点击任何位置执行foo方法
diff --git a/src/views/healthcode/healthcode.vue b/src/views/healthcode/healthcode.vue
index e003b15..31f69a7 100644
--- a/src/views/healthcode/healthcode.vue
+++ b/src/views/healthcode/healthcode.vue
@@ -297,7 +297,7 @@
},
//数据导出
handleExport() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出健康码数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@@ -307,7 +307,7 @@
},
//数据报表导出
handleExportStatis() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出健康码数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
diff --git a/src/views/parcel/parcel.vue b/src/views/parcel/parcel.vue
index bf3ac6f..14749b5 100644
--- a/src/views/parcel/parcel.vue
+++ b/src/views/parcel/parcel.vue
@@ -306,7 +306,7 @@
},
//数据报表导出
handleExportStatis() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出包裹数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
diff --git a/src/views/parcel/parcelKind.vue b/src/views/parcel/parcelKind.vue
index 0d2559d..b88ef1e 100644
--- a/src/views/parcel/parcelKind.vue
+++ b/src/views/parcel/parcelKind.vue
@@ -270,7 +270,7 @@
},
//数据导出
handleExport() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出违禁品数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@@ -282,7 +282,7 @@
},
//数据报表导出
handleExportStatis() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出违禁品数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
diff --git a/src/views/realTimePolice/real.vue b/src/views/realTimePolice/real.vue
index e3d22fa..122b2e8 100644
--- a/src/views/realTimePolice/real.vue
+++ b/src/views/realTimePolice/real.vue
@@ -1,9 +1,4 @@
-/*
- * @Author: Morpheus
- * @Date: 2021-03-17 15:21:33
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-04-10 17:33:38
- */
+
<template>
<basic-container>
<avue-crud
@@ -40,7 +35,7 @@
>删 除
</el-button>
</template>
-
+
<template slot="menuLeft">
<el-button
v-bind:class="activeClass == 0 ? 'btn-color' : ''"
@@ -66,11 +61,8 @@
@click="getQBdata(3)"
>全部
</el-button>
- <span>
- <Legend :datas="datalistLIU"></Legend>
- </span>
</template>
-
+
<template slot="menuLeft">
<el-button type="warning"
size="mini"
@@ -79,15 +71,14 @@
@click="handleExport">导出
</el-button>
<el-button type="warning"
- style="display:none"
size="small"
plain
- icon="el-icon-download"
+ icon="el-icon-pie-chart"
@click="handleExportStatis">导出报表
</el-button>
</template>
-
-
+
+
<template slot-scope="{ row }" slot="jtype">
<el-tag
>{{
@@ -102,7 +93,7 @@
}}
</el-tag>
</template>
-
+
<template slot-scope="{ type, size, row }" slot="menu">
<el-button
icon="el-icon-s-order"
@@ -143,7 +134,7 @@
</el-button>
</template>
</avue-crud>
-
+
<el-dialog
class="real-dialog"
title="警情核实"
@@ -171,7 +162,7 @@
controls
></video>
</el-dialog>
-
+
<el-dialog
class="ss-video-dialog"
:modal="false"
@@ -193,7 +184,7 @@
controls
></video>
</el-dialog>
-
+
<el-form
:model="form"
label-position="right"
@@ -329,7 +320,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row>
<el-col span="12">
<el-form-item label="报警时间">
@@ -363,7 +354,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row>
<el-col span="12">
<el-form-item label="备注">
@@ -371,7 +362,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row :align="center">
<el-col class="opt-btn">
<el-form-item>
@@ -386,14 +377,14 @@
@click.stop="updateJtyep(form, 1, '办结')"
>办结
</el-button>
-
+
<img
src="/img/police-num.png"
style="margin-top: -20px; height: 80px; vertical-align: middle"
alt=""
@click.stop="updateJtyep(form, 1, '推送110')"
/>
-
+
<el-button
type="primary"
@click.stop="updateJtyep(form, 1, '派送保安')"
@@ -404,7 +395,7 @@
</el-row>
</el-form>
</el-dialog>
-
+
<el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
<iframe
id="mapDiv"
@@ -417,41 +408,20 @@
</el-drawer>
</basic-container>
</template>
-
+
<script>
import { getList, remove, update, add, getclient } from "@/api/real/real";
import { mapGetters } from "vuex";
-
+
import Hls from "hls.js";
-
+
import axios from "axios";
-
+
import Recorder from "js-audio-recorder";
-
-import Legend from '../../components/liu-legend/Legend'
-
+
export default {
- components:{
- Legend,
- },
data() {
return {
- //legend-liu数据
- datalistLIU:[
- {
- color: 'rgb(236, 83, 37)',
- text: '未处理'
- },
- {
- color: 'rgb(17, 198, 253)',
- text: '处理中'
- },
- {
- color: 'rgb(49, 49, 49)',
- text: '已处理'
- }
- ],
-
showMap: false,
hls: "",
videoSource: "",
@@ -860,24 +830,12 @@
refreshChange() {
this.onLoad(this.page, this.query);
},
- getStartTime(){
- if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
- return this.$route.query.startTime
- }
- return '';
- },
- getEndTime(){
- if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
- return this.$route.query.endTime
- }
- return '';
- },
onLoad(page, params = {}) {
const { releaseTimeRange } = this.query;
let values = {
...params,
};
-
+
if (
this.$route.query.waringType &&
this.$route.query != undefined &&
@@ -919,7 +877,7 @@
endTime: this.dateTime.day.endTime,
};
}
-
+
if (
this.$route.query.startTime != undefined &&
this.$route.query.startTime != null &&
@@ -932,7 +890,7 @@
};
}
}
-
+
if (releaseTimeRange) {
values = {
...params,
@@ -947,7 +905,7 @@
...this.query,
};
}
-
+
if (this.$route.query.timeDesc) {
values = {
...params,
@@ -955,7 +913,7 @@
...this.query,
};
}
-
+
this.loading = true;
getList(page.currentPage, page.pageSize, values).then((res) => {
const data = res.data.data;
@@ -963,13 +921,13 @@
item.waringType == "紧急求救" ? (item.waringType = "一键求助") : "";
});
this.page.total = data.total;
-
+
data.records.sort((a, b) => {
return a.jtype - b.jtype;
});
-
+
this.data = data.records;
-
+
this.loading = false;
this.selectionClear();
});
@@ -978,7 +936,7 @@
// 当前时间
var timestamp = Date.parse(new Date());
var serverDate = new Date(timestamp);
-
+
// 本周周一的时间
var mondayTime =
timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
@@ -1024,7 +982,7 @@
currentData.getSeconds() < 10
? "0" + currentData.getSeconds()
: currentData.getSeconds();
-
+
return {
day: {
beginTime: currentY + "-" + currentM + "-" + currentD + " 00:00:00",
@@ -1165,6 +1123,18 @@
};
});
},
+ getStartTime(){
+ if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
+ return this.$route.query.startTime
+ }
+ return '';
+ },
+ getEndTime(){
+ if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
+ return this.$route.query.endTime
+ }
+ return '';
+ },
handleManage(row) {
this.form = row;
this.peopleList = [
@@ -1178,7 +1148,7 @@
},
updateJtyep(row, jtype, t) {
var that = this;
-
+
axios
.post(
"/api/blade-jfpts/alarm/alarm/updateJtype",
@@ -1198,15 +1168,15 @@
)
.then(function () {
that.dialogTableVisible = false;
-
- // axios({
- // method: "post",
- // url: `/api/blade-jfpts/rvideo/stop`,
- // params: {
- // jid: row.id,
- // },
- // }).then((resdata) => {});
-
+
+ axios({
+ method: "post",
+ url: `/api/blade-jfpts/rvideo/stop`,
+ params: {
+ jid: row.id,
+ },
+ }).then((resdata) => {});
+
that.onLoad(that.page, that.query);
that.$router.push({
path: "/policeTracking/track",
@@ -1216,54 +1186,54 @@
},
beginTimeOrEndTime(time) {
var beginTime = new Date(time);
-
+
var endTime = new Date(new Date(time).valueOf() - 1000 * 60 * 60 * 3);
-
+
var beginY = beginTime.getFullYear();
-
+
var beginM =
beginTime.getMonth() + 1 < 10
? "0" + (beginTime.getMonth() + 1)
: beginTime.getMonth() + 1;
-
+
var beginD =
beginTime.getDate() < 10
? "0" + beginTime.getDate()
: beginTime.getDate();
-
+
var beginH =
beginTime.getHours() < 10
? "0" + beginTime.getHours()
: beginTime.getHours();
-
+
var beginm =
beginTime.getMinutes() < 10
? "0" + beginTime.getMinutes()
: beginTime.getMinutes();
-
+
var begins =
beginTime.getSeconds() < 10
? "0" + beginTime.getSeconds()
: beginTime.getSeconds();
-
+
var endY = endTime.getFullYear();
-
+
var endM =
endTime.getMonth() + 1 < 10
? "0" + (endTime.getMonth() + 1)
: endTime.getMonth() + 1;
-
+
var endD =
endTime.getDate() < 10 ? "0" + endTime.getDate() : endTime.getDate();
-
+
var endH =
endTime.getHours() < 10 ? "0" + endTime.getHours() : endTime.getHours();
-
+
var endm =
endTime.getMinutes() < 10
? "0" + endTime.getMinutes()
: endTime.getMinutes();
-
+
var ends =
endTime.getSeconds() < 10
? "0" + endTime.getSeconds()
@@ -1283,7 +1253,7 @@
"Content-type": "application/x-www-form-urlencoded",
},
});
-
+
//this.form.serialNumber
newAxios
.post(
@@ -1302,22 +1272,22 @@
)
.then((result) => {
that.videoSource = result.data.data.m3u8;
-
+
if (Hls.isSupported()) {
var dom = document.getElementById("real_video_conversation");
-
+
that.hls = new Hls();
-
+
var m3u8Url = decodeURIComponent(that.videoSource);
-
+
that.hls.loadSource(m3u8Url);
-
+
that.hls.attachMedia(dom);
-
+
that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
dom.play();
});
-
+
that.hls.on(Hls.Events.ERROR, function (event, data) {
console.log(data, 4566824159, "视频播放有问题!!!");
if (data.fatal) {
@@ -1348,12 +1318,12 @@
},
closeRealVideoBox() {
var dom = document.getElementById("real_video_conversation");
-
+
if (dom.getAttribute("src") != "") {
dom.pause();
-
+
dom.setAttribute("src", "");
-
+
this.hls.destroy();
}
},
@@ -1367,7 +1337,7 @@
var dom = document.getElementById("real_old_video");
dom.pause();
},
-
+
aKeyToCall() {
this.isActive = true;
var that = this;
@@ -1379,7 +1349,7 @@
// compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false
});
}
-
+
// 一键呼叫相关函数
that.recorder.start().then(
() => {
@@ -1391,7 +1361,7 @@
}
);
},
-
+
// 序列号后期待修改
aKeyStopCall() {
this.isActive = false;
@@ -1402,8 +1372,14 @@
"Content-Type": "application/json;",
},
});
+
+ var wavAxios = axios.create({
+ baseURL: "https://web.byisf.com",
+ withCredentials: false,
+ });
+
var that = this;
-
+
newCallAxios
.post(
`/api_control`,
@@ -1417,12 +1393,37 @@
.then((result) => {
var formData = new FormData();
// that.recorder.downloadWAV("新文件");
-
+
var blob = that.recorder.getPCMBlob(); //获取pcm格式音频数据
//此处获取到blob对象后需要设置fileName满足当前项目上传需求,其它项目可直接传把blob作为file塞入formData
var newbolb = new Blob([blob], { type: "audio/pcm" });
var fileOfBlob = new File([newbolb], new Date().getTime() + ".pcm");
formData.append("file", fileOfBlob);
+
+ var wavBlob = that.recorder.getWAVBlob();
+
+ var wavformData = new FormData();
+ var wavform = new File([wavBlob], new Date().getTime() + ".wav");
+ wavformData.append("file", wavform);
+ console.log(
+ wavBlob,
+ wavform,
+ wavformData,
+ wavformData.entries(),
+ 132
+ );
+
+ axios({
+ method: "post",
+ url: "/api/blade-jfpts/xlfeedback/xlfeedback/put-objecty",
+ data: wavformData,
+ params: {
+ jid: that.form.id,
+ },
+ }).then((resdata) => {
+ console.log(resdata);
+ });
+
newCallAxios
.post(`/api_control`, blob, {
params: {
@@ -1440,7 +1441,7 @@
});
});
},
-
+
peopleOrPhone(e) {
this.peopleList.forEach((item) => {
if (item.label == e) {
@@ -1458,7 +1459,7 @@
},
//数据导出
handleExport() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出实时警情数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@@ -1468,7 +1469,7 @@
},
//数据报表导出
handleExportStatis() {
- this.$confirm("是否导出用户数据?", "提示", {
+ this.$confirm("是否导出实时警情数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@@ -1477,88 +1478,88 @@
let endTime = this.$route.query.endTime==undefined? '':this.$route.query.endTime;
let waringType = this.$route.query.waringType==undefined? '':this.$route.query.waringType;
let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
- window.open(`http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
+ window.open(`http://localhost:8108/ureport/preview?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
+ //window.open(`http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
});
}
-
},
};
</script>
-
+
<style>
.el-card__body .waringTypeClass {
width: 12%;
}
-
+
/*页面样式*/
.el-card__body .cityClass1 {
width: 155px;
padding-right: 0px !important;
}
-
+
.el-card__body .cityClass2 {
width: 100px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.el-card__body .cityClass3 {
width: 100px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
/*新增窗体样式*/
.el-dialog .cityClass1 {
width: 220px;
padding-right: 0px !important;
}
-
+
.el-dialog .cityClass2 {
width: 110px;
padding-left: 5px !important;
padding-right: 5px !important;
}
-
+
.el-dialog .cityClass3 {
width: 110px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.cityClassParams .avue-form__group.avue-form__group--flex {
display: flex;
justify-content: space-between;
}
-
+
.cityClassParams .cityClassSelect {
flex: 1;
margin: 0 !important;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.cityClassParams .cityClassSelect:nth-child(2) {
margin: 0 10px !important;
}
-
+
.cityClassParams .cityClassSelect .el-form-item {
margin-bottom: 0px !important;
}
-
+
.cityClassParams .cityClassSelect .el-form-item .el-input__inner {
height: 28px !important;
line-height: 28px !important;
}
-
+
.cityClass2 div label {
display: none;
}
-
+
.cityClass3 div label {
display: none;
}
-
+
.old-video-dialog {
position: absolute !important;
top: 0 !important;
@@ -1569,7 +1570,7 @@
height: 100% !important;
width: 476px !important;
}
-
+
.old-video-dialog .el-dialog {
position: absolute !important;
top: 0 !important;
@@ -1580,23 +1581,23 @@
margin-top: 15vh !important;
height: 538px;
}
-
+
.old-video-dialog .el-dialog .el-dialog__body {
height: calc(100% - 54px);
box-sizing: border-box;
}
-
+
.el-button.active {
background: #ff0000 !important;
}
-
+
.el-button.btn-color {
color: rgb(255, 255, 255);
background-color: rgb(64, 158, 255);
border-color: rgb(64, 158, 255);
}
-
+
.tabFontSize {
font-size: 15px;
}
-</style>
+</style>
\ No newline at end of file
diff --git a/src/views/security/security.vue b/src/views/security/security.vue
index cbda06b..62f4cdb 100644
--- a/src/views/security/security.vue
+++ b/src/views/security/security.vue
@@ -23,9 +23,20 @@
</template>
</avue-crud>
- <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
- <iframe id="mapDiv" ref="mapDiv" src="/map/index.html?openid=scurityMap&ISinit=1" frameborder="0" width="100%"
+ <!-- <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
+ <iframe id="mapDiv" ref="mapDiv" src="/map/index.html?ISinit=1&openid=SecurityMap" frameborder="0" width="100%"
height="100%"></iframe>
+ </el-drawer> -->
+ <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
+ <iframe
+ id="securityMap"
+ ref="securityMap"
+ :src="baseUrl"
+ frameborder="0"
+ width="100%"
+ height="100%"
+ name="securityMap"
+ ></iframe>
</el-drawer>
</basic-container>
</template>
@@ -45,10 +56,11 @@
export default {
data() {
return {
+ baseUrl:"/map/index.html?ISinit=1",
form: {},
query: {},
loading: true,
- showMap: false,
+ showMap: true,
page: {
pageSize: 10,
currentPage: 1,
@@ -189,6 +201,9 @@
return ids.join(",");
}
},
+ mounted() {
+ this.showMap = false;
+ },
methods: {
rowSave(row, done, loading) {
add(row).then(() => {
@@ -233,17 +248,22 @@
});
});
},
+ //打开地图
handleMap(row) {
- this.showMap = true;
- this.$nextTick(() => {
- this.$refs.mapDiv.onload = () => {
+ var that =this;
+ that.baseUrl = `/map/index.html?ISinit=1&openid=SecurityMap&jd=${row.jd}&wd=${row.wd}&code=${row.code}&name=${row.realName}`;
+ this.showMap=true;
+ this.$refs.securityMap.onload = () => {
+ if (window.frames[0].init) {
window.frames[0].init("SecurityMap", {
- x: row.jd,
- y: row.wd,
- code:row.code
+ x: row.jd,
+ y: row.wd,
+ code:row.code
});
- };
- })
+ } else {
+ console.log(`没有找到到window.frames[0].init`)
+ }
+ }
},
handleDelete() {
if (this.selectionList.length === 0) {
diff --git a/src/views/supervisoryConsole/card.vue b/src/views/supervisoryConsole/card.vue
index 36ac9ac..f4c0410 100644
--- a/src/views/supervisoryConsole/card.vue
+++ b/src/views/supervisoryConsole/card.vue
@@ -26,7 +26,13 @@
<el-row
v-infinite-scroll="load"
:infinite-scroll-disabled="disabled"
- style="margin-top: 10px"
+ style="
+ margin-top: 10px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
+ "
>
<el-col
class="card-container"
@@ -37,7 +43,9 @@
<a href="javascript:void(0);" @click.stop="goToDetails(item)">
<el-card
:style="
- item.state == ''
+ item.jtype == 1
+ ? 'background: #F34A4Ae6'
+ : item.state == ''
? item.onlineStatus == 1
? 'background: #1DBB99e6'
: 'background: #C9C9C9e6'
@@ -49,7 +57,9 @@
<div class="cet">
{{
- item.state == ""
+ item.jtype == 1
+ ? "设备预警"
+ : item.state == ""
? item.onlineStatus == 1
? "设备在线"
: "设备掉线"
@@ -136,12 +146,17 @@
getList({ deviceName: this.inputSearchValue }).then((res) => {
var a = [],
b = [],
- c = [];
+ c = [],
+ f = [];
if (this.radio == "全部") {
res.data.data.forEach((item) => {
- if (item.state != "") a.push(item);
- if (item.state == "" && item.onlineStatus == 1) c.push(item);
- if (item.state == "" && item.onlineStatus != 1) b.push(item);
+ if (item.jtype == 1) {
+ f.push(item);
+ } else {
+ if (item.state != "") a.push(item);
+ if (item.state == "" && item.onlineStatus == 1) c.push(item);
+ if (item.state == "" && item.onlineStatus != 1) b.push(item);
+ }
});
} else if (this.radio == "仅显示预警设备") {
res.data.data.forEach((item) => {
@@ -149,7 +164,11 @@
});
} else if (this.radio == "仅显示设备掉线") {
res.data.data.forEach((item) => {
- if (item.onlineStatus != 1) b.push(item);
+ if (item.jtype == 1 && item.onlineStatus != 1) {
+ f.push(item);
+ } else {
+ if (item.onlineStatus != 1) b.push(item);
+ }
});
} else if (this.radio == "仅显示设备故障") {
res.data.data.forEach((item) => {
@@ -157,7 +176,7 @@
});
}
- var d = a.concat(c.concat(b));
+ var d = f.concat(a.concat(c.concat(b)));
d.forEach((item) => {
this.count.push(item);
diff --git a/src/views/system/cs.vue b/src/views/system/cs.vue
index b9e1236..a4d1ba8 100644
--- a/src/views/system/cs.vue
+++ b/src/views/system/cs.vue
@@ -662,6 +662,7 @@
);
} else if (row.type == "1") {
insertss(
+ row.dj,
row.nature,
row.had,
row.motto,
@@ -671,6 +672,7 @@
);
} else if (row.type == "2") {
insertsr(
+ row.dj,
row.category,
row.attributes,
row.developers,
@@ -705,6 +707,7 @@
);
} else if (row.type == "1") {
updateInfos(
+ row.dj,
row.nature,
row.had,
row.motto,
@@ -714,6 +717,7 @@
);
} else if (row.type == "2") {
updateInfor(
+ row.dj,
row.category,
row.attributes,
row.developers,
@@ -770,6 +774,7 @@
selectTs(this.form.tenantName).then((re) => {
const data = res.data.data;
data.nature = re.data.data[0].nature;
+ data.dj = re.data.data[0].dj;
data.motto = re.data.data[0].motto;
data.ctime = re.data.data[0].ctime;
data.had = re.data.data[0].had;
@@ -789,6 +794,7 @@
} else if (this.form.type == "2") {
selectTr(this.form.tenantName).then((re) => {
const data = res.data.data;
+ data.dj = re.data.data[0].dj;
data.category = re.data.data[0].category;
data.attributes = re.data.data[0].attributes;
data.developers = re.data.data[0].developers;
diff --git a/src/views/zc/zc.vue b/src/views/zc/zc.vue
index 51180ee..620642d 100644
--- a/src/views/zc/zc.vue
+++ b/src/views/zc/zc.vue
@@ -167,10 +167,10 @@
...mapGetters(["permission"]),
permissionList() {
return {
- addBtn: this.vaildData(this.permission.zc_add, true),
+ addBtn: this.vaildData(this.permission.zc_add, false),
viewBtn: this.vaildData(this.permission.zc_view, true),
delBtn: this.vaildData(this.permission.zc_delete, false),
- editBtn: this.vaildData(this.permission.zc_edit, true)
+ editBtn: this.vaildData(this.permission.zc_edit, false)
};
},
ids() {
--
Gitblit v1.9.3