|
@@ -100,30 +100,24 @@
|
|
|
{{ item.logContent }}
|
|
|
</div>
|
|
|
<div>
|
|
|
- <router-link to="#" @click.native="clickFile(itemfile.fileUrl,itemfile.fileName)"
|
|
|
+ <router-link to="#" @click.native="clickFile(itemfile.fileUrl,itemfile.fileName,itemfile.fileType)"
|
|
|
v-for="(itemfile,indexfile) in item.fileVOs">
|
|
|
- <!-- 使用el-image的:src需要加require -->
|
|
|
- <!-- <img v-if="isAssetTypeAnImage(itemfile.fileUrl)"-->
|
|
|
- <!-- style="width:3rem; height:3rem;margin: 2px;"-->
|
|
|
- <!-- :src="itemfile.fileUrl"-->
|
|
|
- <!-- :title="itemfile.fileName">-->
|
|
|
- <!-- </img>-->
|
|
|
- <el-image :src="itemfile.fileUrl" v-if="isAssetTypeAnImage(itemfile.fileUrl)"
|
|
|
- :preview-src-list="assetTypeAnImage(item.attachs)"
|
|
|
+ <el-image :src="itemfile.fileUrl" v-if="itemfile.fileType=='image'"
|
|
|
+ :preview-src-list="assetTypeAnImage(item.fileVOs)"
|
|
|
style="width:3rem; height:3rem;margin: 2px;"
|
|
|
:title="itemfile.fileName">
|
|
|
</el-image>
|
|
|
- <img v-else-if="isAssetTypeAnMp4(itemfile.fileUrl)"
|
|
|
+ <img v-else-if="itemfile.fileType=='video'"
|
|
|
style="width:3rem; height:3rem;margin: 2px;"
|
|
|
:src="require('@/assets/fileTypeImage/mp4.png')"
|
|
|
:title="itemfile.fileName">
|
|
|
</img>
|
|
|
- <img v-else-if="isAssetTypeAnWord(itemfile.fileUrl)"
|
|
|
+ <img v-else-if="itemfile.fileType=='word'"
|
|
|
style="width:3rem; height:3rem;margin: 2px;"
|
|
|
:src="require('@/assets/fileTypeImage/word.png')"
|
|
|
:title="itemfile.fileName">
|
|
|
</img>
|
|
|
- <img v-else-if="isAssetTypeAnExcel(itemfile.fileUrl)"
|
|
|
+ <img v-else-if="itemfile.fileType=='excel'"
|
|
|
style="width:3rem; height:3rem;margin: 2px;"
|
|
|
:src="require('@/assets/fileTypeImage/excel.png')"
|
|
|
:title="itemfile.fileName">
|
|
@@ -159,6 +153,8 @@
|
|
|
</el-button>
|
|
|
<el-button size="small" icon="el-icon-download" @click="toImage()">截图上传
|
|
|
</el-button>
|
|
|
+ <el-button size="small" icon="el-icon-download" @click="showResponsibility()">责任制
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<div class="z-info-btm-grp-right">
|
|
|
<el-button size="small" icon="el-icon-mic">会议
|
|
@@ -356,6 +352,72 @@
|
|
|
<div style="clear: both;"></div>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="责任制" :visible.sync="showResponsibilityDialog" v-if="showResponsibilityDialog" width="65%" @close="closeResponsibilityDialog()">
|
|
|
+ <el-form label-width="1500px">
|
|
|
+ <div class="bottom">
|
|
|
+ <!-- 左侧菜单栏 -->
|
|
|
+ <div class="bottomLeft">
|
|
|
+ <div class="leftItem d-l-con padding-box nowrap" v-for="(item,index) in depteventList">
|
|
|
+ <div class="bgt-info">
|
|
|
+ <div class="bgt-info-name" :class="{on:iconCurrentIndex==item.deptId}" @click="dutysystemSelect(item.deptId,item.deptName,item.id)">{{item.deptName}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 左侧菜单栏对应的右侧的内容 -->
|
|
|
+ <div class="bottomRight" ref="wrapper">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ v-if="depteventId!=null&&depteventId!=''"
|
|
|
+ @click="addLine">添加
|
|
|
+ </el-button>
|
|
|
+ <el-table
|
|
|
+ :data="dutysystemTableData"
|
|
|
+ style="width: 100%">
|
|
|
+ <el-table-column prop="id" label="主键" v-if="false">
|
|
|
+ <template slot-scope="scope" hidden>
|
|
|
+ <el-input v-model="scope.row.id" readonly placeholder="主键" ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="姓名" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.name" placeholder="姓名" ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="post" label="岗位">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.post" placeholder="岗位"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="telphone" label="手机号码">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.telphone" placeholder="手机号码"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="bookbuytime" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.$index, scope.row)">删除
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ icon="el-icon-save"
|
|
|
+ @click="handleSave(scope.$index, scope.row)">保存
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-button size="mini" type="primary" class="fr_button" @click="closeResponsibilityDialog">确定
|
|
|
+ </el-button>
|
|
|
+ <div style="clear: both;"></div>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
<el-dialog title="火险报告" :visible.sync="showEventConfirm_gd" v-if="showEventConfirm_gd" width="100%"
|
|
|
class="top-dialog"
|
|
|
@close="cancelEventConfirm_gd()">
|
|
@@ -888,7 +950,11 @@ import {
|
|
|
sendTask,
|
|
|
listResourceByWz,
|
|
|
updateYjYuAn,
|
|
|
- uploadBase64
|
|
|
+ uploadBase64,
|
|
|
+ centereventtdepteventList,
|
|
|
+ dutysystemList,
|
|
|
+ dutysystemAdd,
|
|
|
+ dutysystemRemove
|
|
|
} from '@/api/forest'
|
|
|
import {
|
|
|
treeselectAll as deptTreeselect
|
|
@@ -1053,6 +1119,12 @@ export default {
|
|
|
eventLogList: [],
|
|
|
visuForestCloudYuAnBo: null,
|
|
|
eventDialog: false,
|
|
|
+ showResponsibilityDialog: false,//责任制弹窗
|
|
|
+ depteventList: [],//责任制部门列表
|
|
|
+ iconCurrentIndex:'',
|
|
|
+ dutysystemDeptName:'',
|
|
|
+ depteventId:'',
|
|
|
+ dutysystemTableData:[],
|
|
|
radius: 50,//资源搜索半径
|
|
|
// resourcesList: [
|
|
|
// {
|
|
@@ -1113,6 +1185,74 @@ export default {
|
|
|
calendarDay: null//首页日历选择
|
|
|
},
|
|
|
methods: {
|
|
|
+ /************************************责任制-开始****************************************/
|
|
|
+ addLine:function(){//添加负责人行数
|
|
|
+ var newValue = {
|
|
|
+ id:"",//主键
|
|
|
+ dept:"",//部门名称
|
|
|
+ depteventId:"",//事件部门关联责任人
|
|
|
+ name:"",//姓名
|
|
|
+ post:"",//岗位
|
|
|
+ telphone:"",//手机号
|
|
|
+ };
|
|
|
+ //添加新的行数
|
|
|
+ this.dutysystemTableData.push(newValue);
|
|
|
+ },
|
|
|
+ handleDelete:function(index,row){//删除负责人行数
|
|
|
+ if(row.id!=null&&row.id!=''){
|
|
|
+ let param = { ids: row.id }
|
|
|
+ dutysystemRemove(param).then(res => {
|
|
|
+ this.$message.success(`删除成功!`)
|
|
|
+ this.dutysystemSelect(this.iconCurrentIndex,this.dutysystemDeptName,this.depteventId)
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.dutysystemTableData.splice(index, 1)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSave:function(index,rowData){//保存负责人行数
|
|
|
+ rowData.dept=this.dutysystemDeptName
|
|
|
+ rowData.depteventId=this.depteventId
|
|
|
+ dutysystemAdd(rowData).then(res => {
|
|
|
+ this.$message.success(`保存成功!`)
|
|
|
+ this.dutysystemSelect(this.iconCurrentIndex,this.dutysystemDeptName,this.depteventId)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ dutysystemSelect:function(deptId,dutysystemDeptName,depteventId){//通过部门查询负责人信息
|
|
|
+ this.dutysystemDeptName=dutysystemDeptName
|
|
|
+ this.depteventId=depteventId
|
|
|
+ this.iconCurrentIndex=deptId
|
|
|
+ let param = { depteventId: depteventId }
|
|
|
+ dutysystemList(param).then(res => {
|
|
|
+ if(res.data!=null&&res.data.length>0){
|
|
|
+ this.dutysystemTableData=res.data
|
|
|
+ }else{
|
|
|
+ this.dutysystemTableData=[{
|
|
|
+ id:"",//主键
|
|
|
+ dept:this.dutysystemDeptName,//部门名称
|
|
|
+ depteventId:this.depteventId,//事件部门关联责任人
|
|
|
+ name:"",//姓名
|
|
|
+ post:"",//岗位
|
|
|
+ telphone:"",//手机号
|
|
|
+ }]
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ showResponsibility () {//弹出责任制弹窗
|
|
|
+ let param={eventCode:this.eventCode}
|
|
|
+ centereventtdepteventList(param).then(res => {
|
|
|
+ this.depteventList=res.data
|
|
|
+ this.showResponsibilityDialog = true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ closeResponsibilityDialog () {//责任制关闭
|
|
|
+ this.dutysystemTableData = []
|
|
|
+ this.dutysystemDeptName = ''
|
|
|
+ this.depteventId = ''
|
|
|
+ this.iconCurrentIndex = ''
|
|
|
+ this.showResponsibilityDialog = false
|
|
|
+ },
|
|
|
+ /************************************责任制-结束****************************************/
|
|
|
showheatPlotting(){
|
|
|
if(!this.$refs.supermapDialog.isheatPlotting){
|
|
|
this.$refs.supermapDialog.showheatPlotting(this.latitude,this.longitude)
|
|
@@ -1210,66 +1350,17 @@ export default {
|
|
|
let imageList = []
|
|
|
if (filePath != null && filePath.length > 0) {
|
|
|
for (let i = 0; i < filePath.length; i++) {
|
|
|
- //获取最后一个.的位置
|
|
|
- var index = filePath[i].lastIndexOf('.')
|
|
|
- //获取后缀
|
|
|
- var ext = filePath[i].substr(index + 1)
|
|
|
- let aa = ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1
|
|
|
- if (aa) {
|
|
|
- imageList.push(filePath[i])
|
|
|
+ if (filePath[i].fileType=='image') {
|
|
|
+ imageList.push(filePath[i].fileUrl)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return imageList
|
|
|
},
|
|
|
- // 判断是否为图片
|
|
|
- isAssetTypeAnImage(filePath) {
|
|
|
- //获取最后一个.的位置
|
|
|
- var index = filePath.lastIndexOf('.')
|
|
|
- //获取后缀
|
|
|
- var ext = filePath.substr(index + 1)
|
|
|
- let aa = ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1
|
|
|
- return aa
|
|
|
- },
|
|
|
- // 判断是否为视频
|
|
|
- isAssetTypeAnMp4(filePath) {
|
|
|
- //获取最后一个.的位置
|
|
|
- var index = filePath.lastIndexOf('.')
|
|
|
- //获取后缀
|
|
|
- var ext = filePath.substr(index + 1)
|
|
|
- let aa = ['mp4'].indexOf(ext.toLowerCase()) !== -1
|
|
|
- return aa
|
|
|
- },
|
|
|
- // 判断是否为Word
|
|
|
- isAssetTypeAnWord(filePath) {
|
|
|
- //获取最后一个.的位置
|
|
|
- var index = filePath.lastIndexOf('.')
|
|
|
- //获取后缀
|
|
|
- var ext = filePath.substr(index + 1)
|
|
|
- let aa = ['doc', 'docx'].indexOf(ext.toLowerCase()) !== -1
|
|
|
- return aa
|
|
|
- },
|
|
|
- // 判断是否为Excel
|
|
|
- isAssetTypeAnExcel(filePath) {
|
|
|
- //获取最后一个.的位置
|
|
|
- var index = filePath.lastIndexOf('.')
|
|
|
- //获取后缀
|
|
|
- var ext = filePath.substr(index + 1)
|
|
|
- let aa = ['xlsx', 'xls', 'csv'].indexOf(ext.toLowerCase()) !== -1
|
|
|
- return aa
|
|
|
- },
|
|
|
- // 获取文件名称
|
|
|
- getFileName(name) {
|
|
|
- if (name.lastIndexOf('/') > -1) {
|
|
|
- return name.slice(name.lastIndexOf('/') + 1)
|
|
|
- } else {
|
|
|
- return ''
|
|
|
- }
|
|
|
- },
|
|
|
- clickFile(fileUrl, fileName) {
|
|
|
- if (this.isAssetTypeAnImage(fileUrl)) {
|
|
|
+ clickFile(fileUrl, fileName,fileType) {
|
|
|
+ if (fileType=='image') {
|
|
|
return
|
|
|
- } else if (this.isAssetTypeAnMp4(fileUrl)) {
|
|
|
+ } else if (fileType=='video') {
|
|
|
this.showTcPlayer = true
|
|
|
setTimeout(() => {
|
|
|
this.playVideo = fileUrl
|
|
@@ -1625,13 +1716,12 @@ export default {
|
|
|
this.eventDialog = true
|
|
|
this.eventLogList = res.data.eventlog//日志列表
|
|
|
this.visuForestCloudYuAnBo = res.data.visuForestCloudYuAnBo//应急预案
|
|
|
- if (res.data.catalogue != null && res.data.catalogue.length > 0) {
|
|
|
- this.address = res.data.catalogue[0].address
|
|
|
- this.eventStatusValue = res.data.catalogue[0].eventStatusValue
|
|
|
- this.eventType = res.data.catalogue[0].eventType
|
|
|
- this.eventId = res.data.catalogue[0].id
|
|
|
- this.longitude = res.data.catalogue[0].longitude
|
|
|
- this.latitude = res.data.catalogue[0].latitude
|
|
|
+ this.address = res.data.catalogue.address
|
|
|
+ this.eventStatusValue = res.data.catalogue.eventStatusValue
|
|
|
+ this.eventType = res.data.catalogue.eventType
|
|
|
+ this.eventId = res.data.catalogue.id
|
|
|
+ this.longitude = res.data.catalogue.longitude
|
|
|
+ this.latitude = res.data.catalogue.latitude
|
|
|
let markersMap = {
|
|
|
lng: 124.59,
|
|
|
lat: 43.02,
|
|
@@ -1643,20 +1733,20 @@ export default {
|
|
|
isAggregation: false,
|
|
|
radius: 0
|
|
|
}
|
|
|
- if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_1' && res.data.catalogue[0].urgeCount == 0) {
|
|
|
+ if (res.data.catalogue.eventStatusValue == 'forest_event_status_1' && res.data.catalogue.urgeCount == 0) {
|
|
|
markersMap.icon = 'sj-icon-map-xinshangbao'
|
|
|
}
|
|
|
- if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_1' && res.data.catalogue[0].urgeCount > 0) {
|
|
|
+ if (res.data.catalogue.eventStatusValue == 'forest_event_status_1' && res.data.catalogue.urgeCount > 0) {
|
|
|
markersMap.icon = 'sj-icon-map-cuiban'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_2') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_2') {
|
|
|
markersMap.icon = 'sj-icon-map-qianshou'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_5') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_5') {
|
|
|
markersMap.icon = 'sj-icon-map-banjie'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_6') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_6') {
|
|
|
markersMap.icon = 'sj-icon-map-guidang'
|
|
|
}
|
|
|
- markersMap.lng = res.data.catalogue[0].longitude
|
|
|
- markersMap.lat = res.data.catalogue[0].latitude
|
|
|
+ markersMap.lng = res.data.catalogue.longitude
|
|
|
+ markersMap.lat = res.data.catalogue.latitude
|
|
|
if (res.data.eventdetail != null && res.data.eventdetail.length > 0 && res.data.eventdetail[0].fireRadius != null && res.data.eventdetail[0].fireRadius != '' && res.data.eventdetail[0].fireRadius > 0) {
|
|
|
markersMap.radius = res.data.eventdetail[0].fireRadius
|
|
|
}
|
|
@@ -1664,9 +1754,8 @@ export default {
|
|
|
that.$refs.supermapDialog.dynamicPlotting()//弹出动态绘制窗口,防止截图位置改变
|
|
|
that.$refs.supermapDialog.clearM(false)
|
|
|
that.$refs.supermapDialog.setMarkersRadius([markersMap])
|
|
|
- that.$refs.supermapDialog.dropLocation(res.data.catalogue[0].latitude, res.data.catalogue[0].longitude)
|
|
|
+ that.$refs.supermapDialog.dropLocation(res.data.catalogue.latitude, res.data.catalogue.longitude)
|
|
|
}, 2000)
|
|
|
- }
|
|
|
if (res.data.centermonitorTCamera != null) {
|
|
|
let markersMap = {
|
|
|
lng: 124.59,
|
|
@@ -1705,13 +1794,12 @@ export default {
|
|
|
this.eventDialog = true
|
|
|
this.eventLogList = res.data.eventlog
|
|
|
this.visuForestCloudYuAnBo = res.data.visuForestCloudYuAnBo//应急预案
|
|
|
- if (res.data.catalogue != null && res.data.catalogue.length > 0) {
|
|
|
- this.address = res.data.catalogue[0].address
|
|
|
- this.eventStatusValue = res.data.catalogue[0].eventStatusValue
|
|
|
- this.eventType = res.data.catalogue[0].eventType
|
|
|
- this.eventId = res.data.catalogue[0].id
|
|
|
- this.latitude = res.data.catalogue[0].latitude
|
|
|
- this.longitude = res.data.catalogue[0].longitude
|
|
|
+ this.address = res.data.catalogue.address
|
|
|
+ this.eventStatusValue = res.data.catalogue.eventStatusValue
|
|
|
+ this.eventType = res.data.catalogue.eventType
|
|
|
+ this.eventId = res.data.catalogue.id
|
|
|
+ this.latitude = res.data.catalogue.latitude
|
|
|
+ this.longitude = res.data.catalogue.longitude
|
|
|
let markersMap = {
|
|
|
lng: 124.59,
|
|
|
lat: 43.02,
|
|
@@ -1723,20 +1811,20 @@ export default {
|
|
|
isAggregation: false,
|
|
|
radius: 0
|
|
|
}
|
|
|
- if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_1' && res.data.catalogue[0].urgeCount == 0) {
|
|
|
+ if (res.data.catalogue.eventStatusValue == 'forest_event_status_1' && res.data.catalogue.urgeCount == 0) {
|
|
|
markersMap.icon = 'sj-icon-map-xinshangbao'
|
|
|
}
|
|
|
- if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_1' && res.data.catalogue[0].urgeCount > 0) {
|
|
|
+ if (res.data.catalogue.eventStatusValue == 'forest_event_status_1' && res.data.catalogue.urgeCount > 0) {
|
|
|
markersMap.icon = 'sj-icon-map-cuiban'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_2') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_2') {
|
|
|
markersMap.icon = 'sj-icon-map-qianshou'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_5') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_5') {
|
|
|
markersMap.icon = 'sj-icon-map-banjie'
|
|
|
- } else if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_6') {
|
|
|
+ } else if (res.data.catalogue.eventStatusValue == 'forest_event_status_6') {
|
|
|
markersMap.icon = 'sj-icon-map-guidang'
|
|
|
}
|
|
|
- markersMap.lng = res.data.catalogue[0].longitude
|
|
|
- markersMap.lat = res.data.catalogue[0].latitude
|
|
|
+ markersMap.lng = res.data.catalogue.longitude
|
|
|
+ markersMap.lat = res.data.catalogue.latitude
|
|
|
if (res.data.eventdetail != null && res.data.eventdetail.length > 0 && res.data.eventdetail[0].fireRadius != null && res.data.eventdetail[0].fireRadius != '' && res.data.eventdetail[0].fireRadius > 0) {
|
|
|
markersMap.radius = res.data.eventdetail[0].fireRadius
|
|
|
}
|
|
@@ -1747,9 +1835,8 @@ export default {
|
|
|
} else {
|
|
|
that.$refs.supermapDialog.setMarkers([markersMap])
|
|
|
}
|
|
|
- that.$refs.supermapDialog.dropLocation(res.data.catalogue[0].latitude, res.data.catalogue[0].longitude)
|
|
|
+ that.$refs.supermapDialog.dropLocation(res.data.catalogue.latitude, res.data.catalogue.longitude)
|
|
|
}, 2000)
|
|
|
- }
|
|
|
})
|
|
|
},
|
|
|
refreshEventDialog(eventCode) {
|