From 92d5a2511ed8c40cfffc960d7c3556db2e09a485 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 22 Apr 2021 20:34:20 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/jfpt-Vue
---
package-lock.json | 10
src/views/healthcode/healthcode.vue | 5
src/views/policeTracking/policeTracking.vue | 156 +++++----
public/map/images/del.png | 0
src/views/supervisoryConsole/card.vue | 12
public/map/images/insert.png | 0
src/views/report/reportlist.vue | 4
src/views/realTimePolice/real.vue | 32 -
public/map/images/by-jingbao.png | 0
public/map/images/add-0.png | 0
src/views/report/reportlist copy.vue | 203 ++++++++++++
src/styles/media.scss | 2
src/views/report/announcementReport.vue | 2
public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js | 81 ++--
public/map/widgets/securityMap/SecurityMap.js | 234 ++++++++------
public/map/widgets/map/MapWidget.js | 2
public/map/images/yj-jingbao.png | 0
public/map/widgets/securityMap/SecurityMap.css | 34 ++
public/map/widgets/securityMap/template.html | 17 +
src/views/security/security.vue | 22 +
src/views/report/reportConfiguration.vue | 2
src/views/parcel/parcel.vue | 5
src/page/index/logo.vue | 80 +++-
src/views/parcel/parcelKind.vue | 6
public/map/images/delete.png | 0
src/views/animalHeat/animalHeat.vue | 8
src/main.js | 2
package.json | 1
28 files changed, 624 insertions(+), 296 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5884a59..2fea7e5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11817,6 +11817,16 @@
"vue-style-loader": "^4.1.0"
}
},
+ "vue-mobile-audio": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npm.taobao.org/vue-mobile-audio/download/vue-mobile-audio-0.1.3.tgz",
+ "integrity": "sha1-LTrV14UgV5RC/JZzpzD68AoxGJY=",
+ "requires": {
+ "vue": "^2.5.17",
+ "vue-router": "^3.0.1",
+ "vuex": "^3.0.1"
+ }
+ },
"vue-router": {
"version": "3.4.9",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.9.tgz?cache=0&sync_timestamp=1610356181553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.9.tgz",
diff --git a/package.json b/package.json
index a52bed6..9bc4865 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"vue": "^2.6.10",
"vue-axios": "^2.1.2",
"vue-i18n": "^8.7.0",
+ "vue-mobile-audio": "^0.1.3",
"vue-router": "^3.0.1",
"vuex": "^3.1.1"
},
diff --git a/public/map/images/add-0.png b/public/map/images/add-0.png
new file mode 100644
index 0000000..aa7ef24
--- /dev/null
+++ b/public/map/images/add-0.png
Binary files differ
diff --git a/public/map/images/by-jingbao.png b/public/map/images/by-jingbao.png
new file mode 100644
index 0000000..bdedf67
--- /dev/null
+++ b/public/map/images/by-jingbao.png
Binary files differ
diff --git a/public/map/images/del.png b/public/map/images/del.png
new file mode 100644
index 0000000..570e7e1
--- /dev/null
+++ b/public/map/images/del.png
Binary files differ
diff --git a/public/map/images/delete.png b/public/map/images/delete.png
new file mode 100644
index 0000000..cf627ad
--- /dev/null
+++ b/public/map/images/delete.png
Binary files differ
diff --git a/public/map/images/insert.png b/public/map/images/insert.png
new file mode 100644
index 0000000..fc9ad6b
--- /dev/null
+++ b/public/map/images/insert.png
Binary files differ
diff --git a/public/map/images/yj-jingbao.png b/public/map/images/yj-jingbao.png
new file mode 100644
index 0000000..a4f0271
--- /dev/null
+++ b/public/map/images/yj-jingbao.png
Binary files differ
diff --git a/public/map/widgets/map/MapWidget.js b/public/map/widgets/map/MapWidget.js
index 482aff1..9039070 100644
--- a/public/map/widgets/map/MapWidget.js
+++ b/public/map/widgets/map/MapWidget.js
@@ -116,7 +116,7 @@
this._addLayer();
this._eventHandlers.push(this.map.on("extent-change", lang.hitch(this, this._onExtentChange)));
- this._eventHandlers.push(this.map.on("mouse-move", lang.hitch(this, this._onMouseMove)));
+ // this._eventHandlers.push(this.map.on("mouse-move", lang.hitch(this, this._onMouseMove)));
AppEvent.addAppEventListener(AppEvent.SWITCH_BASEMAP, lang.hitch(this, this.onSwitchBaseMap));
AppEvent.addAppEventListener(AppEvent.ADD_TOP_MOST_LAYER, lang.hitch(this, this.onAddTopMostLayer));
},
diff --git a/public/map/widgets/securityMap/SecurityMap.css b/public/map/widgets/securityMap/SecurityMap.css
index e69de29..666c505 100644
--- a/public/map/widgets/securityMap/SecurityMap.css
+++ b/public/map/widgets/securityMap/SecurityMap.css
@@ -0,0 +1,34 @@
+.mapBtn {
+ background-color: #ffffff;
+ width: 14vh;
+ height: 4vh;
+ position: relative;
+ top: 3vh;
+ right: -45vh;
+ border-radius: 5px;
+}
+
+.insBtn {
+ float: left;
+}
+
+.mapBtn a {
+ line-height: 4vh;
+ font-size: 13px;
+ text-align: center;
+ color: #757575;
+ position: relative;
+ left: 1.2vh;
+ letter-spacing: 1.5px;
+}
+
+.mapBtn img {
+ position: relative;
+ left: 1.2vh;
+ top: -1px;
+}
+
+a:hover {
+ color: #3385FF;
+ cursor: pointer;
+}
\ No newline at end of file
diff --git a/public/map/widgets/securityMap/SecurityMap.js b/public/map/widgets/securityMap/SecurityMap.js
index 00dd42c..1ca59f9 100644
--- a/public/map/widgets/securityMap/SecurityMap.js
+++ b/public/map/widgets/securityMap/SecurityMap.js
@@ -144,8 +144,14 @@
editToolbar: null,
addPolygonEntitys: null,
- // 巡逻区域或者巡逻路线的描述
- routeOrRegionDescribe: null,
+ //是否选中电子围栏区域
+ isChecked: false,
+
+ //当前处警员是否已有电子围栏
+ isEngineer: false,
+
+ //当前处警员是否有位置信息
+ isPosition: true,
// 用来记录巡逻区域或者巡逻路线的下标的
patrolIndex: 0,
@@ -156,6 +162,10 @@
y: 0,
offset: null,
moveThis: null,
+
+ //基础路径
+ //pathUrl: "http://localhost:89",
+ pathUrl: "https://web.byisf.com/api/blade-jfpts",
// 电子围栏需要新增的Id
newElectronicFenceId: null,
@@ -193,6 +203,55 @@
startup: function() {
objThis._map.addLayer(objThis._siteLayer);
+ var that = this;
+
+ //删除电子围栏点击事件
+ $(".mapBtn .delete").click(function() {
+ //需选中电子围栏,然后进行删除
+ if (that.isChecked) {
+ that.addPolygonEntitys.clear();
+ //删除数据库数据
+ //更新电子围栏数据
+ $.ajax({
+ url: that.pathUrl + '/enclosure/enclosure/deleteByAnumber',
+ type: 'POST',
+ dataType: 'JSON',
+ data: {
+ anumber: anumber
+ },
+ success: function(result) {
+ if (result.code == 200) {}
+ }
+ })
+ //修改围栏状态
+ that.isEngineer = false;
+ } else {
+ layui.use('layer', function() {
+ layui.layer.msg('请先选中需要删除的电子围栏');
+ })
+ }
+ })
+
+ //新增电子围栏
+ $('.mapBtn .insert').click(function() {
+ if (that.isPosition) {
+ if (that.isEngineer) {
+ layui.use('layer', function() {
+ layui.layer.msg('已存在电子围栏');
+ })
+ } else {
+ layui.use('layer', function() {
+ layui.layer.msg('请开始划分电子围栏');
+ })
+ that.polygonFlag = true;
+ }
+ } else {
+ layui.use('layer', function() {
+ layui.layer.msg('当前处警员无位置信息,不能划分电子围栏');
+ })
+ }
+ })
+
},
//根据key 取value值
@@ -211,55 +270,55 @@
//页面打开后,获取参数数据
open: function() {
var that = this;
+ //获取父页面传过来的参数
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])]);
+ console.log(lgtd, 1111);
+ //如果处警员的位置信息存在
+ if (lgtd != null && lgtd != "") {
+ //所在位置标记
+ that.addPoint(that.addEntitys, lgtd, lttd, './images/security.png');
+ //获取当前处警员的电子围栏信息
+ $.ajax({
+ url: this.pathUrl + '/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.isEngineer = true;
+ that.addPolygon(that.addPolygonEntitys, entityArr);
+ } else {
+ //如果无电子围栏信息,则提示请编辑电子围栏信息
+ //编辑好电子围栏信息后,将当前处警员的电子围栏信息保存到数据库
+ that.newElectronicFenceId = null;
+ //that.polygonFlag = true;
+ that.newElectronicFenceId = anumber;
}
- that.addPolygon(that.addPolygonEntitys, entityArr);
- } else {
- //如果无电子围栏信息,则提示请编辑电子围栏信息
- //编辑好电子围栏信息后,将当前处警员的电子围栏信息保存到数据库
- that.newElectronicFenceId = null;
-
- layui.use('layer', function() {
- layui.layer.msg('请开始划分电子围栏');
- })
- that.polygonFlag = true;
- that.newElectronicFenceId = anumber;
}
-
}
- }
- })
+ })
+ } else {
+ //当前处警员没有位置信息,则默认定位到市中心位置
+ that.isPosition = false;
+ }
//调用点击事件
that.clickHand();
@@ -298,8 +357,8 @@
//将数据存入数据库
$.ajax({
- //url: 'https://web.byisf.com/api/blade-jfpts/enclosure/enclosure/updatee',
- url: 'http://localhost:89/enclosure/enclosure/insertes',
+ url: that
+ .pathUrl + '/enclosure/enclosure/insertes',
type: 'POST',
dataType: 'JSON',
data: {
@@ -312,20 +371,25 @@
}
})
}
+ //修改电子围栏数据状态
+ that.isEngineer = true;
+ //修改电子围栏选中状态
+ that.isChecked = false;
+ //修改电子围栏编辑状态
that.polygonFlag = false;
-
}
}
},
// 鼠标点击事件
clickHand: function() {
+ var that = this;
var self = this;
self._map.onClick = mapClick;
+ //点击事件
function mapClick(evt) {
- debugger;
var normalizedVal = webMercatorUtils.xyToLngLat(evt.mapPoint.x, evt.mapPoint.y);
var y = self._map.toMap({
spatialReference: '4326',
@@ -354,11 +418,14 @@
// 保存当前点击得图形
// self.currentDrawing = evt.graphic;
+ that.isChecked = true;
+
self.modifyPolygon();
self.activateToolbar(evt.graphic);
} else { // 点击不在图形上
-
+ //修改电子围栏选中状态
+ that.isChecked = false;
self.modifyPolygon()
}
}
@@ -386,30 +453,24 @@
x = ($(window).width() - 184);
}
- if (self.tabIndex == 1 || self.tabIndex == 2) {
+ if (self.polygonFlag == true) {
+ $('.securityMapTips').stop().show();
- 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,
- })
+ if (self.polygonData.length == 0) {
+ $('.securityMapTips').text('单击左键开始绘制。');
} else {
- $('.police-dispatching .tips').stop().hide();
+ if (e.clientY > ($(window).height() - 98)) {
+ y = ($(window).height() - 88);
+ }
+ $('.securityMapTips').text('单击左键新增加点。单击右键完成绘制。');
}
+ $('.securityMapTips').css({
+ 'top': y,
+ 'left': x,
+ })
} else {
- $('.police-dispatching .tips').stop().hide();
+ $('.securityMapTips').stop().hide();
}
})
},
@@ -457,8 +518,7 @@
//更新电子围栏数据
$.ajax({
- //url: 'https://web.byisf.com/api/blade-jfpts/enclosure/enclosure/updatee',
- url: 'http://localhost:89/enclosure/enclosure/updatee',
+ url: this.pathUrl + '/enclosure/enclosure/updatee',
type: 'POST',
dataType: 'JSON',
data: {
@@ -507,44 +567,8 @@
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({
diff --git a/public/map/widgets/securityMap/template.html b/public/map/widgets/securityMap/template.html
index 281c686..507553e 100644
--- a/public/map/widgets/securityMap/template.html
+++ b/public/map/widgets/securityMap/template.html
@@ -1 +1,16 @@
-<div></div>
\ No newline at end of file
+<div>
+ <div class="mapBtn">
+ <div class="insBtn">
+ <img src="./images/add-0.png" style="width:14px;height:14px;">
+ <a class=" insert " id="insertEngineeringMap ">新增 | </a>
+ </div>
+ <div class="delBtn">
+ <img src="./images/del.png" style="width:14px;height:14px;">
+ <a class="delete " id="securityMapClearMap ">删除</a>
+ </div>
+ </div>
+
+ <!-- 提示语 -->
+ <div class="securityMapTips">
+ </div>
+</div>
\ No newline at end of file
diff --git a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
index 208b075..f95b136 100644
--- a/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
+++ b/public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
@@ -167,7 +167,7 @@
}
}
},
- _mapClick: function (e) {//地图全局点击事件 标记不能点击
+ _mapClick: function (e) { //地图全局点击事件 标记不能点击
// console.log('地图全局点击事件');
if (!e.target) {
@@ -278,7 +278,7 @@
// area: 'auto',
offset: posi,
skin: 'flare',
- closeBtn: 0,//关闭按钮,可通过配置1和2来展示,0关闭
+ closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
content: [url, 'no'],
resize: false,
scrollbar: false,
@@ -295,7 +295,7 @@
, endy = null;
layero[0].style.position = 'absolute';
- downs = document.onmousedown = () => {//鼠标按下事件
+ downs = document.onmousedown = () => { //鼠标按下事件
// console.log('down');//start
// downs = document.onmousedown = null;
var mx = window.event.clientX//鼠标初始位置
@@ -359,11 +359,11 @@
}
},
- end: function () {//关闭事件
+ end: function () { //关闭事件
}
});
- that.layuiLayer.open({//第二个iframe
+ that.layuiLayer.open({ //第二个iframe
title: '',
type: 2,
shadeClose: true,
@@ -376,13 +376,13 @@
offset: 'r',
skin: 'flare',
isOutAnim: false,
- closeBtn: 0,//关闭按钮,可通过配置1和2来展示,0关闭
+ closeBtn: 0, //关闭按钮,可通过配置1和2来展示,0关闭
content: ['./popup/html/FlareClusterLayer_v3 copy.html'],
resize: false,
scrollbar: false,
// tipsMore: true, //允许多个tipe
// content: num,
- success: function (layero, index) {//成功后添加全局点击关闭
+ success: function (layero, index) { //成功后添加全局点击关闭
// var z = document.onclick = ()=>{
// parent[0].layer.close(index);
// // // parent[0].layer.close(+index + 1);
@@ -396,15 +396,14 @@
})
})
}
- if (mySelf.onceTimeMethod == null) {//防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
+ if (mySelf.onceTimeMethod == null) { //防抖.限制时间内点击次数,否则会造成不能正确销毁前一个弹窗
var offsetMy = [+evt.screenY - 300 + 'px', +evt.screenX - 172.5 + 'px'];
// console.log(evt.screenY);
fCard(offsetMy, setdata);
mySelf.onceTimeMethod = setTimeout(() => {
mySelf.onceTimeMethod = null;
}, mySelf.onceTime);
- } else {
- };
+ } else {};
@@ -900,12 +899,16 @@
this.singles.push(single);
delete single.graphic;
var symbol;
- console.log(single.onlineStatus, '移动事件');
- if (single.onlineStatus == 1) {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/zx-jingbao.png", 40, 40);
+ if (single.jtype == 1) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/yj-jingbao.png", 40, 40);
} else {
- symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
+ if (single.onlineStatus == 1) {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/zx-jingbao.png", 40, 40);
+ } else {
+ symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
+ }
}
+
var point = new Point(single[this.xPropertyName], single[this.yPropertyName], this.spatialRef);
var attributes = lang.clone(single);
var graphic = new Graphic(point, symbol, attributes, null);
@@ -998,11 +1001,11 @@
//add a text element for the label to display the count and add to the group
var shapeCenter = this._getShapeCenter(cluster.graphicShape);
var textShape = groupShape.createText({
- x: shapeCenter.x,
- y: shapeCenter.y + (this.textSymbol.font.size / 2 - 2),
- text: cluster.clusterCount,
- align: 'middle'
- })
+ x: shapeCenter.x,
+ y: shapeCenter.y + (this.textSymbol.font.size / 2 - 2),
+ text: cluster.clusterCount,
+ align: 'middle'
+ })
.setFont({
size: this.textSymbol.font.size,
family: this.textSymbol.font.family,
@@ -1126,10 +1129,10 @@
//create a transparent circle that contains the boundary of the flares, this is to make sure the mouse events don't fire moving in between flares
var conCircleRadius = (center.x - (bbox.x - radius - buffer)) + radius; //get the radius of the circle to contain everything
var containerCircle = groupShape.createCircle({
- cx: center.x,
- cy: center.y,
- r: conCircleRadius
- })
+ cx: center.x,
+ cy: center.y,
+ r: conCircleRadius
+ })
//.setStroke({ width: 1, color: "000" })
.setFill(new Color([0, 0, 0, 0]));
containerCircle.rawNode.setAttribute("class", "flare-object cluster-object");
@@ -1430,11 +1433,11 @@
var textShapes = [];
for (var i = 0, len = lines.length; i < len; i++) {
var textShape = tooltipGroup.createText({
- x: xPos,
- y: yPos + (i * 10),
- text: lines[i],
- align: 'middle'
- })
+ x: xPos,
+ y: yPos + (i * 10),
+ text: lines[i],
+ align: 'middle'
+ })
.setFill("#000")
.setFont({
size: 8,
@@ -1448,12 +1451,12 @@
var rectPadding = 2;
var textBox = tooltipGroup.getBoundingBox();
var rectShape = tooltipGroup.createRect({
- x: textBox.x - rectPadding,
- y: textBox.y - rectPadding,
- width: textBox.width + (rectPadding * 2),
- height: textBox.height + (rectPadding * 2),
- r: 0
- })
+ x: textBox.x - rectPadding,
+ y: textBox.y - rectPadding,
+ width: textBox.width + (rectPadding * 2),
+ height: textBox.height + (rectPadding * 2),
+ r: 0
+ })
.setFill(new Color([255, 255, 255, 0.9]))
.setStroke({
color: "#000",
@@ -1589,11 +1592,11 @@
//Have to add the flare text after the flare group animation otherwise Edge just reloads the page and dies for some reason?
if (this.shape.flareText) {
var flareText = this.shape.createText({
- x: this.shape.flareText.location.x,
- y: this.shape.flareText.location.y,
- text: this.shape.flareText.text,
- align: 'middle'
- })
+ x: this.shape.flareText.location.x,
+ y: this.shape.flareText.location.y,
+ text: this.shape.flareText.text,
+ align: 'middle'
+ })
.setFill(layer.textSymbol.color)
.setFont({
size: this.shape.flareText.textSize,
diff --git a/src/main.js b/src/main.js
index eced8de..1485fae 100644
--- a/src/main.js
+++ b/src/main.js
@@ -25,6 +25,8 @@
import website from '@/config/website';
import crudCommon from '@/mixins/crud';
import * as echarts from 'echarts';
+import audio from 'vue-mobile-audio';
+Vue.use(audio);
Vue.prototype.$echarts = echarts;
// 注册全局crud驱动
window.$crudCommon = crudCommon;
diff --git a/src/page/index/logo.vue b/src/page/index/logo.vue
index e7b5548..7f292ff 100644
--- a/src/page/index/logo.vue
+++ b/src/page/index/logo.vue
@@ -385,31 +385,7 @@
if (response.data.data.length > 0) {
that.deviceId = response.data.data[0].id;
that.form = response.data.data[0];
- newAxios
- .post(
- "/api_control",
- {},
- {
- params: {
- param: JSON.stringify({ PktType: "GetAccessToken" }),
- },
- }
- )
- .then((res) => {
- newAxios
- .get(
- `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) => {});
- });
- });
+
if (
response.data.data[0].waringType == "紧急求救" &&
response.data.data[0].alarmId == userId
@@ -711,7 +687,6 @@
aKeyToCall() {
this.isActive = true;
-
var that = this;
if (this.recorder == null) {
this.recorder = new Recorder({
@@ -737,7 +712,6 @@
// 序列号后期待修改
aKeyStopCall() {
this.isActive = false;
-
var newCallAxios = axios.create({
baseURL: "https://web.byisf.com:18000",
withCredentials: false,
@@ -745,6 +719,7 @@
"Content-Type": "application/json;",
},
});
+
var that = this;
newCallAxios
@@ -759,12 +734,31 @@
)
.then((result) => {
var formData = new FormData();
- var blob = that.recorder.getPCMBlob(); //获取pcm格式音频数据
+ // 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);
+
+ 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: {
@@ -866,8 +860,38 @@
},
onDialogTableVisible() {
+ var that = this;
Recorder.getPermission().then(() => {});
this.videoConversationReal = true;
+ var userId = JSON.parse(
+ window.localStorage.getItem("物联网安保云服务平台-userInfo")
+ ).content.user_id;
+ newAxios
+ .post(
+ "/api_control",
+ {},
+ {
+ params: {
+ param: JSON.stringify({ PktType: "GetAccessToken" }),
+ },
+ }
+ )
+ .then((res) => {
+ newAxios
+ .get(
+ `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,
+ uid: userId,
+ },
+ }).then((resdata) => {});
+ });
+ });
},
},
};
diff --git a/src/styles/media.scss b/src/styles/media.scss
index 4d0f7bf..17c0f79 100644
--- a/src/styles/media.scss
+++ b/src/styles/media.scss
@@ -54,7 +54,7 @@
left: 240px;
padding: 0;
width: calc(100% - 240px);
- height: calc(100% - 104px);
+ height: calc(100% - 94px);
box-sizing: border-box;
overflow: hidden;
transition: all 0.5s;
diff --git a/src/views/animalHeat/animalHeat.vue b/src/views/animalHeat/animalHeat.vue
index d52b922..ca6a918 100644
--- a/src/views/animalHeat/animalHeat.vue
+++ b/src/views/animalHeat/animalHeat.vue
@@ -205,11 +205,17 @@
methods: {
beforeOpen(done, type) {
},
+ //清空按钮
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
+ //搜索按钮
searchChange(params, done) {
+ console.log(params,222);
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
@@ -265,7 +271,7 @@
let status = this.$route.query.status==undefined? '':this.$route.query.status;
let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
//window.open(`/api/blade-jfpts/animalHeat/animalHeat/getAnimalHeatStatis?begTime=${begTime}&endTime=${endTime}&status=${status}&timeDesc=${timeDesc}`);
- window.open(`http://localhost:8108/ureport/preview?_u=blade-animalHeat.statis.ureport.xml&begTime=${begTime}&endTime=${endTime}&status=${status}&timeDesc=${timeDesc}`);
+ window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-animalHeat.statis.ureport.xml&begTime=${begTime}&endTime=${endTime}&status=${status}&timeDesc=${timeDesc}`);
});
},
//修改行颜色
diff --git a/src/views/healthcode/healthcode.vue b/src/views/healthcode/healthcode.vue
index e317a34..6cb2be0 100644
--- a/src/views/healthcode/healthcode.vue
+++ b/src/views/healthcode/healthcode.vue
@@ -232,7 +232,10 @@
beforeOpen(done, type) {
},
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
searchChange(params, done) {
@@ -316,7 +319,7 @@
let type = this.$route.query.type==undefined? '':this.$route.query.type;
let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
//window.open(`http://localhost:8108/ureport/excel?_u=blade-healthcode.statis.xml.ureport.xml&begTime=${begTime}&endTime=${endTime}&type=${type}&timeDesc=${timeDesc}`);
- window.open(`http://localhost:8108/ureport/preview?_u=blade-healthcode.statis.xml.ureport.xml&begTime=${begTime}&endTime=${endTime}&type=${type}&timeDesc=${timeDesc}`);
+ window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-healthcode.statis.xml.ureport.xml&begTime=${begTime}&endTime=${endTime}&type=${type}&timeDesc=${timeDesc}`);
});
},
onLoad(page, params = {}) {
diff --git a/src/views/parcel/parcel.vue b/src/views/parcel/parcel.vue
index ffdcb1c..e5c0b82 100644
--- a/src/views/parcel/parcel.vue
+++ b/src/views/parcel/parcel.vue
@@ -235,7 +235,10 @@
done();
},
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
searchChange(params, done) {
@@ -315,7 +318,7 @@
let decisioDiagramResult = this.$route.query.decisioDiagramResult==undefined? '':this.$route.query.decisioDiagramResult;
let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
//window.open(`http://localhost:8108/ureport/excel?_u=blade-parcel.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
- window.open(`http://localhost:8108/ureport/preview?_u=blade-parcel.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
+ window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-parcel.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
});
},
onLoad(page, params = {}) {
diff --git a/src/views/parcel/parcelKind.vue b/src/views/parcel/parcelKind.vue
index 7e16474..b396769 100644
--- a/src/views/parcel/parcelKind.vue
+++ b/src/views/parcel/parcelKind.vue
@@ -217,7 +217,10 @@
done();
},
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
searchChange(params, done) {
@@ -291,7 +294,8 @@
let decisioDiagramResult = this.$route.query.decisioDiagramResult==undefined? '':this.$route.query.decisioDiagramResult;
let timeDesc = this.$route.query.timeDesc;
//window.open(`http://localhost:8108/ureport/excel?_u=blade-parcelKind.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
- window.open(`http://localhost:8108/ureport/preview?_u=blade-parcelKind.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
+ //window.open(`http://localhost:8108/ureport/preview?_u=blade-parcelKind.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
+ window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-parcelKind.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
});
},
onLoad(page, params = {}) {
diff --git a/src/views/policeTracking/policeTracking.vue b/src/views/policeTracking/policeTracking.vue
index df39cc2..ee81226 100644
--- a/src/views/policeTracking/policeTracking.vue
+++ b/src/views/policeTracking/policeTracking.vue
@@ -2,7 +2,7 @@
<el-row>
<el-col :span="12">
<div style="background: #fff; height: 100%">
- <el-card class="trackClass">
+ <el-card class="trackClass" style="overflow-y: auto">
<div
style="margin-top: 20px"
role="tab"
@@ -295,16 +295,19 @@
class="el-collapse-item__header focusing is-active"
>
<div class="avue-group__header avue-group">
- <i class="el-icon-document avue-group__icon"></i>
+ <i class="el-icon-phone avue-group__icon"></i>
<h1 class="avue-group__title">对讲信息</h1>
</div>
</div>
</div>
- <el-card class="receiving-alarm-box">
- <div v-for="(item, index) in audios" :key="index" style="margin: 10px 0; width: 100%; height: 40px;">
- <audio :src="item.address" style="width: 40%; height: 100%;" controls></audio>
- </div>
+ <el-card class="audios-box">
+ <m-audio
+ :block="false"
+ v-for="(item, index) in audios"
+ :key="index"
+ :src="item.address"
+ ></m-audio>
</el-card>
<div
@@ -362,39 +365,10 @@
</el-row>
<el-row>
<el-col span="12">
- <el-form-item label="性别">
- <el-input
- disabled="true"
- v-model="security.sex"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col span="12">
- <el-form-item label="年龄">
- <el-input
- disabled="true"
- v-model="security.age"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col span="12">
<el-form-item label="联系电话">
<el-input
disabled="true"
v-model="security.phone"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col span="12">
- <el-form-item label="家庭住址">
- <el-input
- disabled="true"
- v-model="security.address"
autocomplete="off"
></el-input>
</el-form-item>
@@ -432,7 +406,7 @@
<el-input
disabled="true"
type="textarea"
- v-model="security.snumber"
+ v-model="security.describe"
autocomplete="off"
></el-input>
@@ -455,23 +429,16 @@
</div>
</div>
</div>
- <div>
+ <el-card class="scene-image-box">
<el-image
- :src="src"
+ v-for="(item, index) in imgSrc"
+ :key="index"
+ :src="item"
:preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
+ v-show="imgSrc.length > 0"
></el-image>
- <el-image
- :src="src"
- :preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
- ></el-image>
- <el-image
- :src="src"
- :preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
- ></el-image>
- </div>
+ <span v-show="imgSrc.length == 0">暂无现场图片</span>
+ </el-card>
</div>
<div class="block">
<div
@@ -493,11 +460,13 @@
</div>
</div>
<div>
- <el-image :src="src" style="width: 150px; margin-left: 5px">
- <div slot="placeholder" class="image-slot">
- 加载中<span class="dot">...</span>
- </div>
- </el-image>
+ <video
+ :src="feedbackVideo"
+ style="width: 100%; height: 100%; object-fit: fill"
+ controls
+ v-show="feedbackVideo != ''"
+ ></video>
+ <span v-show="feedbackVideo == ''">暂无现场视频</span>
</div>
</div>
</div>
@@ -533,6 +502,7 @@
:visible.sync="oldVideoSatart"
:close-on-press-escape="false"
:close-on-click-modal="false"
+ @opened="oldOpenVideo"
@close="vaddress = ''"
append-to-body
>
@@ -544,7 +514,9 @@
id="old_video"
style="width: 100%; height: 100%; object-fit: fill"
controls
+ v-show="vaddress != ''"
></video>
+ <span v-show="vaddress == ''">暂无历史视频</span>
</el-dialog>
</el-col>
</el-row>
@@ -552,7 +524,7 @@
<script>
import axios from "axios";
-
+import { getclient } from "@/api/real/real";
export default {
inject: ["reload"],
data() {
@@ -560,21 +532,9 @@
flag: true,
selectOptions: [],
receivingList: [],
- security: {
- snumber: 20018,
- sname: "金同涛",
- sex: "男",
- age: 23,
- phone: 1387975426,
- address: "江西省南昌市西湖区",
- },
- src:
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- srcList: [
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
- ],
+ security: {},
+ imgSrc: [],
+ srcList: [],
form: {},
itemOption: {
menuBtn: false,
@@ -634,6 +594,7 @@
oldVideoSatart: false,
vaddress: null,
audios: [],
+ feedbackVideo: "",
};
},
created() {
@@ -645,6 +606,7 @@
mounted() {
this.getList();
this.getAudios();
+ this.getImgAndVideo();
this.$refs.mapDiv.onload = () => {
window.frames[0].init("AlertSecurity", {
x: this.form.jd,
@@ -889,13 +851,38 @@
this.audios = resdata.data.data.records;
});
},
+
+ getImgAndVideo() {
+ axios({
+ method: "post",
+ url: "/api/blade-jfpts/feedback/feedback/selectFeedEdit",
+ params: {
+ jid: this.form.id,
+ },
+ }).then((resdata) => {
+ console.log(resdata.data.data[0], 56569);
+ this.security = resdata.data.data[0].List[0];
+ this.imgSrc = resdata.data.data[0].tp;
+ this.srcList = resdata.data.data[0].tp;
+ this.feedbackVideo = resdata.data.data[0].sp[0];
+ });
+ },
+
+ oldOpenVideo() {
+ getclient(this.form.id).then((res) => {
+ if (res.data.data.vaddress != "") {
+ this.vaddress = res.data.data.vaddress;
+ }
+ });
+ }
+
},
};
</script>
-<style lang="scss">
+<style scoped lang="scss">
.el-col {
- height: 95%;
+ height: calc(100% - 5px);
}
.trackClass {
@@ -912,4 +899,27 @@
padding: 0 10px !important;
}
}
+
+.audios-box,
+.scene-image-box {
+ line-height: 32px !important;
+ height: auto;
+ max-height: 200px;
+ overflow-y: auto;
+ .el-card__body {
+ display: flex;
+ padding: 0 10px !important;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ .x-audio-wrap.inline {
+ margin: 10px;
+ }
+ .el-image {
+ margin: 10px;
+ width: 160px;
+ height: 80px;
+ }
+ }
+}
</style>
diff --git a/src/views/realTimePolice/real.vue b/src/views/realTimePolice/real.vue
index d493f78..543cc00 100644
--- a/src/views/realTimePolice/real.vue
+++ b/src/views/realTimePolice/real.vue
@@ -777,7 +777,10 @@
},
searchReset() {
this.activeClass = 3;
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
searchChange(params, done) {
@@ -1383,11 +1386,6 @@
},
});
- var wavAxios = axios.create({
- baseURL: "https://web.byisf.com",
- withCredentials: false,
- });
-
var that = this;
newCallAxios
@@ -1503,31 +1501,11 @@
? ""
: this.$route.query.timeDesc;
window.open(
- `http://localhost:8108/ureport/preview?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`
+ `https://web.byisf.com/api/blade-report/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}`);
});
- },
- 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 "";
- },
+ }
},
};
</script>
diff --git a/src/views/report/announcementReport.vue b/src/views/report/announcementReport.vue
index e59b1e6..bb3161a 100644
--- a/src/views/report/announcementReport.vue
+++ b/src/views/report/announcementReport.vue
@@ -1,5 +1,5 @@
<template>
-<iframe src="http://localhost:8108/ureport/preview?_u=blade-notice.ureport.xml" style="width: 100%;height: 100%" frameborder="0"></iframe>
+<iframe src="https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-notice.ureport.xml" style="width: 100%;height: 100%" frameborder="0"></iframe>
</template>
<script>
diff --git a/src/views/report/reportConfiguration.vue b/src/views/report/reportConfiguration.vue
index 87977de..df16761 100644
--- a/src/views/report/reportConfiguration.vue
+++ b/src/views/report/reportConfiguration.vue
@@ -1,5 +1,5 @@
<template>
-<iframe src="http://localhost:8108/ureport/designer" style="width: 100%;height: 100%" frameborder="0"></iframe>
+<iframe src="https://web.byisf.com/api/blade-report/ureport/designer" style="width: 100%;height: 100%" frameborder="0"></iframe>
</template>
<script>
diff --git a/src/views/report/reportlist copy.vue b/src/views/report/reportlist copy.vue
new file mode 100644
index 0000000..b33c12b
--- /dev/null
+++ b/src/views/report/reportlist copy.vue
@@ -0,0 +1,203 @@
+<template>
+ <basic-container>
+ <avue-crud :option="option"
+ :table-loading="loading"
+ :data="data"
+ ref="crud"
+ v-model="form"
+ :page.sync="page"
+ :permission="permissionList"
+ @row-del="rowDel"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger"
+ size="small"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ <template slot-scope="scope" slot="menu">
+ <el-button
+ type="text"
+ icon="el-icon-edit-outline"
+ size="small"
+ @click.stop="handleDesign(scope.row.name)"
+ v-if="userInfo.role_name.includes('admin')"
+ >设计
+ </el-button>
+ <el-button
+ type="text"
+ icon="el-icon-view"
+ size="small"
+ @click.stop="handlePreview(scope.row.name)"
+ v-if="userInfo.role_name.includes('admin')"
+ >预览
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="name">
+ <el-tag style="cursor:pointer" @click="handlePreview(row.name)">{{ row.name }}</el-tag>
+ </template>
+ </avue-crud>
+ </basic-container>
+</template>
+
+<script>
+import {getList, remove} from "@/api/report/report";
+import {mapGetters} from "vuex";
+
+export default {
+ data() {
+ return {
+ form: {},
+ selectionList: [],
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ option: {
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "文件名",
+ prop: "name",
+ search: true,
+ slot: true,
+ },
+ {
+ label: "创建时间",
+ prop: "createTime",
+ },
+ {
+ label: "更新时间",
+ prop: "updateTime",
+ }
+ ]
+ },
+ data: []
+ };
+ },
+ computed: {
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList() {
+ return {
+ addBtn: false,
+ viewBtn: false,
+ delBtn: true,
+ editBtn: false
+ };
+ },
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ }
+ },
+ methods: {
+ handlePreview(name) {
+ this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`});
+ },
+ handleDesign(name) {
+ this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`});
+ },
+ rowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ });
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ this.selectionClear();
+ });
+ }
+ }
+};
+</script>
+
+<style>
+</style>
diff --git a/src/views/report/reportlist.vue b/src/views/report/reportlist.vue
index b33c12b..e6d6756 100644
--- a/src/views/report/reportlist.vue
+++ b/src/views/report/reportlist.vue
@@ -115,10 +115,10 @@
},
methods: {
handlePreview(name) {
- this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`});
+ this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/blade-report/preview?_u=blade-${name}`});
},
handleDesign(name) {
- this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`});
+ this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/blade-report/designer?_u=blade-${name}`});
},
rowDel(row) {
this.$confirm("确定将选择数据删除?", {
diff --git a/src/views/security/security.vue b/src/views/security/security.vue
index 62f4cdb..b641cb7 100644
--- a/src/views/security/security.vue
+++ b/src/views/security/security.vue
@@ -251,15 +251,27 @@
//打开地图
handleMap(row) {
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
- });
+ if(row.jd==""){
+ //如果处警员无位置信息,则赋值一个默认数据,否则地图无法加载
+ window.frames[0].init("SecurityMap", {
+ x: "115.862321",
+ y: "28.591108",
+ code:row.code
+ });
+ }else{
+ window.frames[0].init("SecurityMap", {
+
+ x: row.jd,
+ y: row.wd,
+ code:row.code
+ });
+ }
+
} else {
console.log(`没有找到到window.frames[0].init`)
}
diff --git a/src/views/supervisoryConsole/card.vue b/src/views/supervisoryConsole/card.vue
index f4c0410..39388a6 100644
--- a/src/views/supervisoryConsole/card.vue
+++ b/src/views/supervisoryConsole/card.vue
@@ -29,8 +29,7 @@
style="
margin-top: 10px;
display: flex;
- justify-content: center;
- align-items: center;
+ justify-content: left;
flex-wrap: wrap;
"
>
@@ -53,7 +52,7 @@
"
>
<div>{{ item.deviceName }}</div>
- <div>{{ item.street }}</div>
+ <div style="width: 80%;">{{ item.street }}</div>
<div class="cet">
{{
@@ -130,9 +129,7 @@
this.loading = false;
}, 2000);
},
- siteStatus(value, e) {
- console.log(this.radio, value);
- },
+
inputSearchBtn() {
this.getEquipmentLists();
},
@@ -286,8 +283,7 @@
height: 172px !important;
box-sizing: border-box;
margin-bottom: 20px !important;
- min-width: 368px;
- max-width: 370px;
+ width: 20% !important;
a {
width: 100%;
height: 100%;
--
Gitblit v1.9.3