|
@@ -74,7 +74,7 @@
|
|
|
<el-timeline>
|
|
|
<el-timeline-item color="#2bacf7" :timestamp="item.createTime"
|
|
|
placement="top" v-for="(item,index) in eventLogList">
|
|
|
- <el-card>
|
|
|
+ <el-card style="width: 40vh">
|
|
|
<div class="z-info-list-con">
|
|
|
<div class="user-and-time flex-d">
|
|
|
<span>{{ item.createName }}</span><span><i
|
|
@@ -130,7 +130,57 @@
|
|
|
<el-input type="textarea" v-model="eventLog"
|
|
|
:autosize="{ minRows: 7, maxRows: 7}" placeholder="请输入反馈信息">
|
|
|
</el-input>
|
|
|
- <div class="z-info-btm-input-btn">
|
|
|
+ <div class="z-info-btm-input-btn" v-if="eventStatusValue=='forest_event_status_1'">
|
|
|
+ <div style="text-align:left">
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-s-flag"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('qs',false)">
|
|
|
+ 签收
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-question"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('wb',false)">
|
|
|
+ 误报
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-warning"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('cf',false)">
|
|
|
+ 重复
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" icon="el-icon-chat-dot-square" @click="sendEventLog()">发送
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="z-info-btm-input-btn" v-if="eventStatusValue=='forest_event_status_2'">
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-question"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('wb',false)">
|
|
|
+ 误报
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-warning"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('cf',false)">
|
|
|
+ 重复
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-phone" style="text-align:left"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('ld',false)">
|
|
|
+ 联动
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-success" style="text-align:left"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('bj',false)">
|
|
|
+ 办结
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small" icon="el-icon-chat-dot-square" @click="sendEventLog()">发送
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="z-info-btm-input-btn" v-if="eventStatusValue=='forest_event_status_5'">
|
|
|
+ <el-button size="small"
|
|
|
+ icon="el-icon-success" style="text-align:left"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('gd',false)">
|
|
|
+ 归档
|
|
|
+ </el-button>
|
|
|
<el-button size="small" icon="el-icon-chat-dot-square" @click="sendEventLog()">发送
|
|
|
</el-button>
|
|
|
</div>
|
|
@@ -151,6 +201,55 @@
|
|
|
</div>
|
|
|
<vBottomMenu ref="bottomMenu"></vBottomMenu>
|
|
|
<eventLogUpload ref="eventLogUpload"></eventLogUpload>
|
|
|
+ <el-dialog :title="eventConfirmTitle" :visible.sync="showEventConfirm" v-if="showEventConfirm" width="770px"
|
|
|
+ style="height: 700px;" @close="cancelEventConfirm()">
|
|
|
+ <el-form label-width="80px">
|
|
|
+ <el-form-item label="火灾半径" v-if="eventStatusButton=='qs'">
|
|
|
+ <el-input type="number" v-model="sendHuoZaiBanJing" placeholder="请输入火灾半径"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="签收部门" v-if="eventStatusButton=='qs'||eventStatusButton=='wb'||eventStatusButton=='cf'">
|
|
|
+ <!-- <treeselect v-model="deptId" :options="deptOptions" multiple :show-count="true"-->
|
|
|
+ <!-- placeholder="请选择签收部门"/>-->
|
|
|
+ <el-select v-model="sendDeptName" clearable placeholder="请选择部门" class="m-r-1rem" @change="setValue">
|
|
|
+ <el-option
|
|
|
+ v-for="item in deptOptions"
|
|
|
+ :key="item.deptId"
|
|
|
+ :label="item.deptName"
|
|
|
+ :value="{value:item.deptId,label:item.deptName}"><!--:disabled="item.eventStatus=='未处理' ? false:true"-->
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="事件类型" v-if="eventStatusButton=='qs'">
|
|
|
+ <el-select v-model="sendEventType" placeholder="请选择事件类型!" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in eventTypeList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.eventTypeName"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关联预案" v-if="eventStatusButton=='qs'">
|
|
|
+ <el-select v-model="sendGuanLianYuAn" placeholder="请选择关联预案!" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in guanLianYuAnList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.resTitle"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-button size="mini" type="primary" v-if="eventStatusButton=='qs'"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('qs',true)">签收
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="primary" v-if="eventStatusButton=='wb'"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('wb',true)">误报
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="primary" v-if="eventStatusButton=='cf'"
|
|
|
+ @click="updateCentereventTEventcatalogueStatus('cf',true)">重复
|
|
|
+ </el-button>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -162,7 +261,11 @@ import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部
|
|
|
import eventLogUpload from '@/views/eventLogUpload.vue' //日志上传文件
|
|
|
import {
|
|
|
getEventDetail,
|
|
|
- sendEventLog
|
|
|
+ sendEventLog,
|
|
|
+ listSJfl,
|
|
|
+ listYuAn,
|
|
|
+ selectByeventCode,
|
|
|
+ updateCentereventTEventcatalogueStatus
|
|
|
} from '@/api/forest'
|
|
|
|
|
|
export default {
|
|
@@ -174,15 +277,32 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ /** *****************事件流程***************************/
|
|
|
+ sendDeptId: null,
|
|
|
+ sendDeptName: null,
|
|
|
+ sendEventType: null,
|
|
|
+ sendHuoZaiBanJing: null,
|
|
|
+ sendGuanLianYuAn: null,
|
|
|
+ eventTypeList: [],//事件类型列表
|
|
|
+ guanLianYuAnList: [],//关联预案列表
|
|
|
+ deptOptions: [],//签收部门
|
|
|
+ eventStatusButton:null,//流程按钮标识
|
|
|
+ eventConfirmTitle:null,//弹窗标题 ---签收 误报 重复
|
|
|
+ /** *****************事件流程***************************/
|
|
|
+ showEventConfirm: false,//事件签收弹窗
|
|
|
+ eventStatusValue: null,//事件状态
|
|
|
+ eventId: null,//事件ID
|
|
|
+ eventType: null,//事件类型-大类
|
|
|
eventCode: null,
|
|
|
eventLog: null,
|
|
|
eventLogList: [],
|
|
|
eventDialog: false,
|
|
|
- resourcesList: [{
|
|
|
- resourceName: '取水口',
|
|
|
- count: '1',
|
|
|
- icon: 'sj-icon-waterintake'
|
|
|
- },
|
|
|
+ resourcesList: [
|
|
|
+ {
|
|
|
+ resourceName: '取水口',
|
|
|
+ count: '1',
|
|
|
+ icon: 'sj-icon-waterintake'
|
|
|
+ },
|
|
|
{
|
|
|
resourceName: '水鹤',
|
|
|
count: '1',
|
|
@@ -225,6 +345,102 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ setValue(event) {
|
|
|
+ //签收选择部门
|
|
|
+ this.sendDeptName = event.label
|
|
|
+ this.sendDeptId = event.value
|
|
|
+ },
|
|
|
+ cancelEventConfirm() {
|
|
|
+ //关闭事件签收弹窗
|
|
|
+ this.sendDeptId = null
|
|
|
+ this.sendDeptName = null
|
|
|
+ this.sendEventType = null
|
|
|
+ this.sendHuoZaiBanJing = null
|
|
|
+ this.sendGuanLianYuAn = null
|
|
|
+ this.eventTypeList = []//事件类型列表
|
|
|
+ this.guanLianYuAnList = []//关联预案列表
|
|
|
+ this.deptOptions = []//签收部门
|
|
|
+ this.eventStatusButton = null//流程按钮标识
|
|
|
+ this.eventConfirmTitle = null//流程按钮标识
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * eventStatusValue 事件状态
|
|
|
+ * isSend 是否办理
|
|
|
+ * */
|
|
|
+ async updateCentereventTEventcatalogueStatus(eventStatus, isSend) {
|
|
|
+ this.eventStatusButton=eventStatus
|
|
|
+ if (!isSend) {
|
|
|
+ if (eventStatus == 'qs') {//签收
|
|
|
+ this.eventConfirmTitle='事件签收'
|
|
|
+ let param = { parentId: this.eventType }
|
|
|
+ await listSJfl(param).then(res => {
|
|
|
+ //事件类型
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.eventTypeList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ await listYuAn().then(res => {
|
|
|
+ //关联预案
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.guanLianYuAnList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ await selectByeventCode(this.eventCode).then(res => {
|
|
|
+ //签收部门
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.deptOptions = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.showEventConfirm = true
|
|
|
+ }else if (eventStatus == 'wb') {//误报
|
|
|
+ this.eventConfirmTitle='事件误报'
|
|
|
+ await selectByeventCode(this.eventCode).then(res => {
|
|
|
+ //签收部门
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.deptOptions = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.showEventConfirm = true
|
|
|
+ }else if (eventStatus == 'cf') {//重复
|
|
|
+ this.eventConfirmTitle='事件重复'
|
|
|
+ await selectByeventCode(this.eventCode).then(res => {
|
|
|
+ //签收部门
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.deptOptions = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.showEventConfirm = true
|
|
|
+ }else if (eventStatus == 'ld') {//联动
|
|
|
+ this.eventConfirmTitle='事件联动'
|
|
|
+ await selectByeventCode(this.eventCode).then(res => {
|
|
|
+ //签收部门
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.deptOptions = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.showEventConfirm = true
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //事件处理流程
|
|
|
+ let param = {
|
|
|
+ eventCode: this.eventCode,
|
|
|
+ deptId: this.sendDeptId,
|
|
|
+ deptName: this.sendDeptName,
|
|
|
+ eventStatus: eventStatus,
|
|
|
+ eventType: this.sendEventType,
|
|
|
+ id: this.eventId,
|
|
|
+ czlx: '',
|
|
|
+ fireRadius: this.sendHuoZaiBanJing,
|
|
|
+ reserve: this.sendGuanLianYuAn,
|
|
|
+ }
|
|
|
+ updateCentereventTEventcatalogueStatus(param).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.refreshEvent(this.eventCode)
|
|
|
+ this.showEventConfirm = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
sendEventLog() {
|
|
|
//日志发送
|
|
|
let param = { eventCode: this.eventCode, conext: this.eventLog }
|
|
@@ -251,6 +467,9 @@ export default {
|
|
|
this.eventDialog = true
|
|
|
this.eventLogList = res.data.eventlog
|
|
|
if (res.data.catalogue != null && res.data.catalogue.length > 0) {
|
|
|
+ this.eventStatusValue = res.data.catalogue[0].eventStatusValue
|
|
|
+ this.eventType = res.data.catalogue[0].eventType
|
|
|
+ this.eventId = res.data.catalogue[0].id
|
|
|
let markersMap = {
|
|
|
lng: 124.59,
|
|
|
lat: 43.02,
|
|
@@ -288,8 +507,59 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ refreshEvent(eventCode) {
|
|
|
+ this.eventCode = eventCode
|
|
|
+ let that = this
|
|
|
+ //刷新--事件详情
|
|
|
+ getEventDetail({ eventCode: eventCode }).then(res => {
|
|
|
+ this.eventDialog = true
|
|
|
+ this.eventLogList = res.data.eventlog
|
|
|
+ if (res.data.catalogue != null && res.data.catalogue.length > 0) {
|
|
|
+ this.eventStatusValue = res.data.catalogue[0].eventStatusValue
|
|
|
+ this.eventType = res.data.catalogue[0].eventType
|
|
|
+ this.eventId = res.data.catalogue[0].id
|
|
|
+ let markersMap = {
|
|
|
+ lng: 124.59,
|
|
|
+ lat: 43.02,
|
|
|
+ icon: 'marker',
|
|
|
+ bindPopupHtml: '',
|
|
|
+ click: '',
|
|
|
+ parameter: '',
|
|
|
+ keepBindPopup: false,
|
|
|
+ isAggregation: false,
|
|
|
+ radius: 0
|
|
|
+ }
|
|
|
+ if (res.data.catalogue[0].eventStatusValue == 'forest_event_status_1' || res.data.catalogue[0].eventStatusValue == 'forest_event_status_2' || res.data.catalogue[0].eventStatusValue == 'forest_event_status_3') {
|
|
|
+ markersMap.icon = 'sj-icon-map-clz'
|
|
|
+ markersMap.isAggregation = false
|
|
|
+ } else if (res.data.catalogue[0].eventStatusValue == 'event_event_status_4') {
|
|
|
+ markersMap.icon = 'sj-icon-map-wcl'
|
|
|
+ } else if (res.data.catalogue[0].eventStatusValue == 'event_event_status_5') {
|
|
|
+ markersMap.icon = 'sj-icon-map-wcl'
|
|
|
+ } else if (res.data.catalogue[0].eventStatusValue == 'event_event_status_6') {
|
|
|
+ markersMap.icon = 'sj-icon-map-wcl'
|
|
|
+ } else {
|
|
|
+ markersMap.icon = 'sj-icon-map-ywc'
|
|
|
+ }
|
|
|
+ markersMap.lng = res.data.catalogue[0].longitude
|
|
|
+ markersMap.lat = res.data.catalogue[0].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
|
|
|
+ }
|
|
|
+ setTimeout(() => {
|
|
|
+ that.$refs.supermapDialog.clearM(false)
|
|
|
+ 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) {
|
|
|
+ that.$refs.supermapDialog.setMarkersRadius([markersMap])
|
|
|
+ } else {
|
|
|
+ that.$refs.supermapDialog.setMarkers([markersMap])
|
|
|
+ }
|
|
|
+ that.$refs.supermapDialog.dropLocation(res.data.catalogue[0].latitude, res.data.catalogue[0].longitude)
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
refreshEventDialog(eventCode) {
|
|
|
- //获取事件日志
|
|
|
+ //刷新--事件日志
|
|
|
getEventDetail({ eventCode: eventCode }).then(res => {
|
|
|
this.eventLogList = res.data.eventlog
|
|
|
})
|