JX.LI 2 rokov pred
rodič
commit
0e799e7edf
3 zmenil súbory, kde vykonal 134 pridanie a 66 odobranie
  1. 33 0
      src/api/forest.js
  2. 100 65
      src/components/vBottomMenu.vue
  3. 1 1
      src/views/forest.vue

+ 33 - 0
src/api/forest.js

@@ -70,6 +70,30 @@ export function getTodayEvents(param) {
     data: param
   })
 }
+// 任务领取
+export function receiveTask(param) {
+  return request({
+    url: '/center-fire/VisuForestCloudMapController/receiveTask',
+    method: 'post',
+    data:param
+  })
+}
+// 任务拒绝
+export function refusedTask(param) {
+  return request({
+    url: '/center-fire/VisuForestCloudMapController/refusedTask',
+    method: 'post',
+    data:param
+  })
+}
+// 任务接口
+export function selectTaskBO() {
+  return request({
+    url: '/center-fire/VisuForestCloudMapController/selectTaskBO',
+    method: 'post',
+  })
+}
+
 //右侧获取曝光台
 export function getExposureStage(param) {
   return request({
@@ -198,6 +222,15 @@ export function dutysystemAdd(param) {
   })
 }
 
+// 事件处理流程-联动
+export function sendTask(param) {
+  return request({
+    url: '/center-fire/VisuForestCloudMapController/sendTask',
+    // url: '/center-traffic/traffic/sendTask',
+    method: 'post',
+    data:param
+  })
+}
 
 // 事件处理流程-签收部门
 export function selectByeventCode(eventCode) {

+ 100 - 65
src/components/vBottomMenu.vue

@@ -123,51 +123,51 @@
 			</div>
 		</div>
 		<div class="btm-right">
-<!--			<el-popover placement="top" trigger="click">-->
-<!--				<div class="btm-r-pop-info">-->
-<!--					<div class="btm-r-pop-info-box" v-for="(item,index) in taskList">-->
-<!--						<div class="btm-r-pop-info-tit">-->
-<!--							<h3>{{ item.taskSourceValue }}</h3>-->
-<!--						</div>-->
-<!--						<div class="btm-r-pop-info-con">-->
-<!--							<div class="btm-r-pop-info-list">-->
-<!--								<div class="btm-r-pop-info-list-name">标题</div>-->
-<!--								<div class="btm-r-pop-info-list-text">{{ item.taskTitle }}</div>-->
-<!--							</div>-->
-<!--							<div class="btm-r-pop-info-list">-->
-<!--								<div class="btm-r-pop-info-list-name">发起人</div>-->
-<!--								<div class="btm-r-pop-info-list-text">{{ item.sendPersonName }}</div>-->
-<!--							</div>-->
-<!--							<div class="btm-r-pop-info-list">-->
-<!--								<div class="btm-r-pop-info-list-name">发起时间</div>-->
-<!--								<div class="btm-r-pop-info-list-text">{{ item.taskSendTime }}</div>-->
-<!--							</div>-->
-<!--							<div class="btm-r-pop-info-list">-->
-<!--								<div class="btm-r-pop-info-list-name">关联事件</div>-->
-<!--								<div class="btm-r-pop-info-list-text">{{ item.eventName }}</div>-->
-<!--							</div>-->
-<!--							<div class="btm-r-pop-info-list">-->
-<!--								<div class="btm-r-pop-info-list-name">催办状态</div>-->
-<!--								<div class="btm-r-pop-info-list-text" style="color: red" v-if="item.isUrged==1">-->
-<!--									任务催办中,请及时处理!!</div>-->
-<!--								<div class="btm-r-pop-info-list-text" v-else>正常</div>-->
-<!--							</div>-->
-<!--						</div>-->
-<!--						<div class="btm-r-pop-info-btm">-->
-<!--							<el-link type="success" @click="showEventDialog( item.eventCode )">查看详情</el-link>-->
-<!--							<div class="btm-r-pop-info-btm-btn">-->
-<!--								<el-button type="danger" @click="selectTaskDtpts(item.taskId,item.eventCode,'jj')">拒绝-->
-<!--								</el-button>-->
-<!--								<el-button type="primary" @click="selectTaskDtpts(item.taskId,item.eventCode,'lq')">领取-->
-<!--								</el-button>-->
-<!--							</div>-->
-<!--						</div>-->
-<!--					</div>-->
-<!--				</div>-->
-<!--				<el-badge :value="taskCount" slot="reference">-->
-<!--					<el-button size="small" icon="el-icon-bank-card">任务</el-button>-->
-<!--				</el-badge>-->
-<!--			</el-popover>-->
+			<el-popover placement="top" trigger="click">
+				<div class="btm-r-pop-info">
+					<div class="btm-r-pop-info-box" v-for="(item,index) in taskList">
+						<div class="btm-r-pop-info-tit">
+							<h3>{{ item.taskSourceValue }}</h3>
+						</div>
+						<div class="btm-r-pop-info-con">
+							<div class="btm-r-pop-info-list">
+								<div class="btm-r-pop-info-list-name">标题</div>
+								<div class="btm-r-pop-info-list-text">{{ item.taskTitle }}</div>
+							</div>
+							<div class="btm-r-pop-info-list">
+								<div class="btm-r-pop-info-list-name">发起人</div>
+								<div class="btm-r-pop-info-list-text">{{ item.sendPersonName }}</div>
+							</div>
+							<div class="btm-r-pop-info-list">
+								<div class="btm-r-pop-info-list-name">发起时间</div>
+								<div class="btm-r-pop-info-list-text">{{ item.taskSendTime }}</div>
+							</div>
+							<div class="btm-r-pop-info-list">
+								<div class="btm-r-pop-info-list-name">关联事件</div>
+								<div class="btm-r-pop-info-list-text">{{ item.eventName }}</div>
+							</div>
+							<div class="btm-r-pop-info-list">
+								<div class="btm-r-pop-info-list-name">催办状态</div>
+								<div class="btm-r-pop-info-list-text" style="color: red" v-if="item.isUrged==1">
+									任务催办中,请及时处理!!</div>
+								<div class="btm-r-pop-info-list-text" v-else>正常</div>
+							</div>
+						</div>
+						<div class="btm-r-pop-info-btm">
+							<el-link type="success" @click="showEventDialog( item.eventCode )">查看详情</el-link>
+							<div class="btm-r-pop-info-btm-btn">
+								<el-button type="danger" @click="refusedTask(item.taskId,item.eventCode)">拒绝
+								</el-button>
+								<el-button type="primary" @click="receiveTask(item.taskId,item.eventCode)">领取
+								</el-button>
+							</div>
+						</div>
+					</div>
+				</div>
+				<el-badge :value="taskCount" slot="reference">
+					<el-button size="small" icon="el-icon-bank-card">任务</el-button>
+				</el-badge>
+			</el-popover>
       <el-popover placement="top" trigger="click">
         <div class="btm-r-pop-info">
           <div class="btm-r-pop-info-box" v-for="(item,index) in messageList">
@@ -362,6 +362,7 @@
 
 <script>
 	import {
+		selectTaskBO,
 		getEventDetail,
 		selectTaskDtpts,
 		receiveTask,
@@ -370,7 +371,6 @@
     selectMessageList,
     selectMessageById
 	} from '@/api/forest'
-  import {selectConfigKey} from "@/api/system/config";
 	import {
 		selectFarmByDeptId
 	} from '@/api/vBottomMenu'
@@ -380,7 +380,7 @@
 	import supermapTaskDialog from '@/components/supermap' //超图
 	import TcPlayer from '@/components/TcPlayer' //视频预览
   import Cookies from 'js-cookie';
-
+  import {selectConfigKey} from "@/api/system/config";
 	export default {
 		components: {
 			supermapTaskDialog,
@@ -424,7 +424,6 @@
 				taskCount: 0, //任务数量
 				taskList: 0, //任务列表
 
-
         messageCount: 0, //消息数量
         messageList: 0, //消息列表
 
@@ -519,7 +518,7 @@
         websockSid: {
           userId: ''
         },
-				eventWarn: false, //webSocket事件问题警报标记
+        eventWarn: false, //webSocket事件问题警报标记
 			}
 		},
 		created() {
@@ -538,8 +537,8 @@
     mounted() {
       this.websockSid.userId=Cookies.get("userId")
     },
+		methods: {
 
-    methods: {
     // 测量距离
     choseMeasuringDistance(){
       this.$parent.$refs.supermap.choseMeasuringDistance()
@@ -558,8 +557,8 @@
         selectConfigKey(wsurl).then(res => {
           //初始化weosocket
           //const wsuri = 'ws://127.0.0.1:10003/eventPush/' + userId + '/' + eventTypeDl + '/' + eventType
-          const wsuri = res.data  +postName+ userId
-          // const wsuri = 'ws://172.28.20.82:10012/taskPush/'+userId
+          // const wsuri = res.data +postName+ userId
+          const wsuri = 'ws://127.0.0.1:10005/taskPush/'+userId
           this.websock = new WebSocket(wsuri)
           //console.log('建立websocket连接' + wsuri)
           this.websock.onopen = this.websocketonopen
@@ -567,13 +566,11 @@
           this.websock.onerror = this.websocketonerror
         })
       },
-
       websocketonopen() { //连接建立之后执行send方法发送数据
         console.log('websocket连接成功')
         this.weosocket = true
         this.sendPing()
       },
-
       websocketonerror() { //连接建立失败重连
         this.initWebSocket(this.wsurl,this.postName,this.websockSid.userId)
       },
@@ -598,8 +595,8 @@
           console.log(message)
           this.messageList.push(message)
           this.messageCount++
-        }else if (null!=message2)
-        {
+        } else if (null != message2) {
+          message2.taskId = message2.id
           this.taskList.push(message2)
           this.taskCount ++
         }
@@ -648,7 +645,7 @@
           }
         }, time)
       },
-      filterbanNode(value, data) {
+			filterbanNode(value, data) {
 				//树搜索
 				if (!value) return true
 				return data.label.indexOf(value) !== -1
@@ -710,6 +707,44 @@
 					}
 				}
 			},
+			receiveTask(taskId, eventCode) {
+				let param = {
+					taskId: taskId,
+					eventCode: eventCode,
+					centerTaskTaskDepts: this.centerTaskTaskDepts
+				}
+				receiveTask(param).then(res => {
+					//任务领取
+					if (res.code == 200) {
+						this.$message.success(`任务领取成功!`)
+						this.deptOptions = []
+						this.deptName = []
+						this.centerTaskTaskDepts = []
+						//刷新任务列表
+						this.selectTaskList()
+						this.showDeptConfirm = false
+					}
+				})
+			},
+			refusedTask(taskId, eventCode) {
+				let param = {
+					taskId: taskId,
+					eventCode: eventCode,
+					centerTaskTaskDepts: this.centerTaskTaskDepts
+				}
+				refusedTask(param).then(res => {
+					//任务拒绝
+					if (res.code == 200) {
+						this.$message.success(`任务拒绝成功!`)
+						this.deptOptions = []
+						this.deptName = []
+						this.centerTaskTaskDepts = []
+						//刷新任务列表
+						this.selectTaskList()
+						this.showDeptConfirm = false
+					}
+				})
+			},
 			selectTaskDtpts(taskId, eventCode, state) {
 				this.taskId = taskId
 				this.eventCode = eventCode
@@ -793,6 +828,14 @@
 					}, 1000)
 				})
 			},
+			selectTaskList: async function() {
+				//获取任务列表
+				selectTaskBO().then(res => {
+					this.taskList = res.data
+					this.taskCount = res.data.length
+				})
+        this.initWebSocket('TASK_SOCKET','/taskPush/',this.websockSid.userId)
+			},
       selectMessageById(id) {
         selectMessageById(id).then(response => {
           /** 获取消息列表 */
@@ -805,14 +848,6 @@
           this.messageCount = response.data
         });
       },
-      // selectTaskList: async function() {
-      //   //获取任务列表
-      //   selectTaskBO().then(res => {
-      //     this.taskList = res.data
-      //     this.taskCount = res.data.length
-      //   })
-      //   this.initWebSocket('TASK_SOCKET','/taskPush/',this.websockSid.userId)
-      // },
       /** 获取消息列表 */
       selectMessageList(){
         selectMessageList(Cookies.get("userId")).then(response => {

+ 1 - 1
src/views/forest.vue

@@ -1480,7 +1480,7 @@
 
       /** ----------------------------------底部按钮公用组件开始------------------------------------- */
       bottomMenuList() {
-        // this.$refs.bottomMenu.selectTaskList()//获取任务列表
+        this.$refs.bottomMenu.selectTaskList()//获取任务列表
         this.$refs.bottomMenu.selectMessageList() //获取消息列表
       },
       showDialog(click) {