|
@@ -124,6 +124,32 @@
|
|
|
:total="planTotal">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
+ <!-- 定位 -->
|
|
|
+ <!-- <div style="width: 50px;height: 50px;position: absolute;left: 10%;background-color: #50A09E;">
|
|
|
+ <el-popover placement="top-start" trigger="manual" width="250" popper-class="position_jwd">
|
|
|
+ <div slot="reference" @click="getLocation">
|
|
|
+ <div class="tc">
|
|
|
+ <span class="icon-location icon-base"></span>
|
|
|
+ <div class="text">定位</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="jwd_popover">
|
|
|
+ <div>
|
|
|
+ <div>经度:</div>
|
|
|
+ <el-input placeholder="请输入经纬度" clearable v-model="longitude">
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div>纬度:</div>
|
|
|
+ <el-input placeholder="请输入经纬度" clearable v-model="latitude">
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <el-button class="butt" @click="selectVicinityCamera">
|
|
|
+ 查询附近摄像头
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </div> -->
|
|
|
<!-- 应急事件详情弹窗 -->
|
|
|
<el-dialog
|
|
|
title="应急事件详情"
|
|
@@ -194,12 +220,12 @@
|
|
|
<div class="transferBg pics">
|
|
|
<h3>其他画面</h3>
|
|
|
<div class="otherPics">
|
|
|
- <router-link to="#" v-for="item in emergencyEventDetails.attachPath">
|
|
|
- <el-image :src="item"
|
|
|
- :preview-src-list="assetTypeAnImage(item)"
|
|
|
- style="width:8rem; height:8rem;margin: 5px;">
|
|
|
- </el-image>
|
|
|
- </router-link>
|
|
|
+ <router-link to="#" v-for="item in emergencyEventDetails.attachPath">
|
|
|
+ <el-image :src="item"
|
|
|
+ :preview-src-list="assetTypeAnImage(item)"
|
|
|
+ style="width:8rem; height:8rem;margin: 5px;">
|
|
|
+ </el-image>
|
|
|
+ </router-link>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -317,6 +343,7 @@
|
|
|
accept="video/*"
|
|
|
:on-error="handleUploadError"
|
|
|
:on-exceed="handleExceed"
|
|
|
+ :on-remove="handleVideoRemove"
|
|
|
:on-success="handleVideoUploadSuccess"
|
|
|
:show-file-list="false"
|
|
|
:headers="headers"
|
|
@@ -334,7 +361,7 @@
|
|
|
<span class="el-icon-document"> {{ file.webName }} </span>
|
|
|
</el-link>
|
|
|
<div class="ele-upload-list__item-content-action">
|
|
|
- <el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
|
|
|
+ <el-link :underline="false" @click="handleVideoDelete(index)" type="danger">删除</el-link>
|
|
|
</div>
|
|
|
</li>
|
|
|
</transition-group>
|
|
@@ -380,13 +407,13 @@
|
|
|
import {
|
|
|
selectConfigKey
|
|
|
} from "@/api/system/config";
|
|
|
- import {Button} from "@/dahua/lib/iview";
|
|
|
+ import {Button} from "@/dahua/lib/iview";
|
|
|
// import * as echarts from 'echarts'
|
|
|
let echarts = require("echarts");
|
|
|
export default {
|
|
|
name:'MyChart',
|
|
|
components: {
|
|
|
- Button,
|
|
|
+ Button,
|
|
|
supermap,
|
|
|
ImageUpload
|
|
|
},
|
|
@@ -404,7 +431,7 @@
|
|
|
},
|
|
|
created() {
|
|
|
// this.getListDeviceAll()
|
|
|
- this.getDeptTreeselect();
|
|
|
+ this.getDeptTreeselect();
|
|
|
},
|
|
|
mounted() {
|
|
|
// 初始化地图数据
|
|
@@ -437,6 +464,8 @@
|
|
|
headers: {
|
|
|
Authorization: 'Bearer ' + getToken()
|
|
|
},
|
|
|
+ longitude:'',
|
|
|
+ latitude:'',
|
|
|
defaultProps: {
|
|
|
children: "children",
|
|
|
label: "label",
|
|
@@ -514,7 +543,10 @@
|
|
|
planListSearch:[],
|
|
|
emergencyEventDetails:{}, // 应急事件详情信息
|
|
|
attachExamine:[],
|
|
|
- deptList:[]
|
|
|
+ deptList:[],
|
|
|
+ visible:false,
|
|
|
+ dimensionHighlighted:true,
|
|
|
+ showLatLng:null
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -612,8 +644,15 @@
|
|
|
videoPath : this.emergencyEventDetails.videoPath || ''
|
|
|
}
|
|
|
}
|
|
|
- this.fileList = this.emergencyEventDetails.attachPath || []
|
|
|
-
|
|
|
+ this.fileList = []
|
|
|
+ if(this.emergencyEventDetails.attachPath.length >0){
|
|
|
+ this.emergencyEventDetails.attachPath.forEach(e => {
|
|
|
+ this.fileList.push({
|
|
|
+ url:e,
|
|
|
+ name:e
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
this.videoList = []
|
|
|
this.videoUploadList = []
|
|
|
try {
|
|
@@ -655,25 +694,34 @@
|
|
|
this.dropLocation(latitude ,longitude)
|
|
|
},
|
|
|
submitForm(formName) {
|
|
|
- this.$refs[formName].validate((valid) => {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- const deptList = [];
|
|
|
- let array = this.$refs.LiandongDept.getCheckedNodes();
|
|
|
- if(array!=null && array.length!=0){
|
|
|
- for(let item of array){
|
|
|
- deptList.push({mapDeptId:item.id,mapDeptName:item.label});
|
|
|
- }
|
|
|
- this.ruleForm.deptList = deptList;
|
|
|
- }
|
|
|
+ const deptList = [];
|
|
|
+ let array = this.$refs.LiandongDept.getCheckedNodes();
|
|
|
+ if(array!=null && array.length!=0){
|
|
|
+ for(let item of array){
|
|
|
+ deptList.push({mapDeptId:item.id,mapDeptName:item.label});
|
|
|
+ }
|
|
|
+ this.ruleForm.deptList = deptList;
|
|
|
+ }
|
|
|
this.reportParams = this.ruleForm
|
|
|
// 整理附件
|
|
|
let attachList = []
|
|
|
if(this.fileList.length > 0){
|
|
|
- this.fileList.forEach(e => {
|
|
|
- attachList.push({
|
|
|
- attachPath:e.url,
|
|
|
- fileName:e.webName
|
|
|
- })
|
|
|
+ this.fileList.forEach((e,idx) => {
|
|
|
+ if(e.url.includes('http')){
|
|
|
+ attachList.push({
|
|
|
+ name:idx,
|
|
|
+ attachPath:e.url.split("/").slice(3).join("/"),
|
|
|
+ fileName:e.webName || e.name || ''
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ attachList.push({
|
|
|
+ name:idx,
|
|
|
+ attachPath:e.url,
|
|
|
+ fileName:e.webName || e.name || ''
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
} else {
|
|
|
attachList = []
|
|
@@ -682,7 +730,7 @@
|
|
|
if(this.videoList.length > 0){
|
|
|
this.reportParams.contingencyDetail.videoPath = this.videoList[0].url
|
|
|
}
|
|
|
- this.reportParams.attachList = this.attachExamine
|
|
|
+ this.reportParams.attachList = attachList
|
|
|
console.log('this.videoList',this.videoList)
|
|
|
console.log('this.videoUploadList',this.videoUploadList)
|
|
|
if(this.currentFormStatus == 0){
|
|
@@ -794,6 +842,22 @@
|
|
|
this.attachExamine.push(attachPath)
|
|
|
});
|
|
|
},
|
|
|
+ handleVideoRemove(file, fileList){
|
|
|
+ const findex = this.videoList.map(f => f.name).indexOf(file.name);
|
|
|
+ if(findex > -1) {
|
|
|
+ this.videoList.splice(findex, 1);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleInputDelete(urlList) {
|
|
|
+ this.fileList = urlList
|
|
|
+ this.attachExamine = []
|
|
|
+ urlList.forEach(item => {
|
|
|
+ var attachPath = {
|
|
|
+ attachPath: item.name
|
|
|
+ }
|
|
|
+ this.attachExamine.push(attachPath)
|
|
|
+ });
|
|
|
+ },
|
|
|
closeDetail(){
|
|
|
this.isDetailVisible = false
|
|
|
this.isVisible = false
|
|
@@ -1177,6 +1241,11 @@
|
|
|
this.fileList.splice(index, 1)
|
|
|
this.$emit('input', this.listToString(this.fileList))
|
|
|
},
|
|
|
+ // 删除视频
|
|
|
+ handleVideoDelete(index) {
|
|
|
+ this.videoList.splice(index, 1)
|
|
|
+ this.videoUploadList.splice(index, 1)
|
|
|
+ },
|
|
|
// 对象转成指定字符串分隔
|
|
|
listToString(list, separator) {
|
|
|
let strs = "";
|
|
@@ -1188,14 +1257,17 @@
|
|
|
}
|
|
|
},
|
|
|
watch:{
|
|
|
- filterText(val) {
|
|
|
- this.$refs.LiandongDept.filter(val)
|
|
|
- },
|
|
|
+ filterText(val) {
|
|
|
+ this.$refs.LiandongDept.filter(val)
|
|
|
+ },
|
|
|
['eventParams.eventTitle'](){
|
|
|
this.getEventList()
|
|
|
},
|
|
|
['planParams.contingencyPlanName'](){
|
|
|
this.getPlanList()
|
|
|
+ },
|
|
|
+ ['fileList'](){
|
|
|
+ console.log('this.fileList',this.fileList)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1563,6 +1635,64 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ .position_jwd {
|
|
|
+ width: 250px;
|
|
|
+ height: 20vh;
|
|
|
+ border: 1px solid #3db3c8 !important;
|
|
|
+ background: #000d3b !important;
|
|
|
+ padding: 1.5vh;
|
|
|
+ border-radius: 10px;
|
|
|
+ -webkit-box-shadow: inset 0 0 10px 10px rgb(21, 45, 101) !important;
|
|
|
+ position: absolute;
|
|
|
+ top: -153px;
|
|
|
+ right: 2.5vh;
|
|
|
+ z-index: 3;
|
|
|
+ box-shadow: inset 0 0 10px 10px rgb(21, 45, 101) !important;
|
|
|
+
|
|
|
+ .jwd_popover {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ >div {
|
|
|
+ widows: 10%;
|
|
|
+ display: flex;
|
|
|
+ margin: 3% 0;
|
|
|
+
|
|
|
+ >div:nth-child(1) {
|
|
|
+ width: 10vh;
|
|
|
+ color: #fff;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .el-input__inner{
|
|
|
+ color: #fff;
|
|
|
+ border: 1px solid #1D3365;
|
|
|
+ background: rgb(15, 43, 90, 0.7) !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-button--medium {
|
|
|
+ width: 13vh !important;
|
|
|
+ height: 4vh !important;
|
|
|
+ border: 1px solid #1D3365;
|
|
|
+ background: rgb(15, 43, 90, 0.7) !important;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .popper__arrow {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .leaflet-left .leaflet-control {
|
|
|
+ margin-left: 480px!important;
|
|
|
+ margin-top: 210px!important;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
</style>
|
|
|
<style rel="stylesheet/scss" lang="scss" scoped>
|