Browse Source

Merge remote-tracking branch 'origin/visu_environment' into visu_environment

王通 2 năm trước cách đây
mục cha
commit
7d53a850d6
2 tập tin đã thay đổi với 147 bổ sung88 xóa
  1. 20 86
      src/api/forest.js
  2. 127 2
      src/views/eventdetailsdialog.vue

+ 20 - 86
src/api/forest.js

@@ -1,20 +1,5 @@
 import request from '@/utils/request'
 
-// 获取绑定的事件类型
-export function getMenuEventType() {
-  return request({
-    url: '/center-environment/VisuForestCloudMapController/getMenuEventType',
-    method: 'get',
-  })
-}
-// 获取事件详情
-export function getEventPush(param) {
-  return request({
-    url: '/center-environment/VisuForestCloudMapController/getEventPush',
-    method: 'post',
-    data: param
-  })
-}
 // 左侧获取部门信息
 export function getBaseInfo() {
   return request({
@@ -23,25 +8,19 @@ export function getBaseInfo() {
   })
 }
 // 左侧获取事件信息统计
-export function getTodayEvents(param,loading) {
+export function getTodayEvents(param) {
   return request({
     url: '/center-environment/VisuForestCloudMapController/getTodayEvents',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 // 左侧获取事件部门数量
-export function getDeptEventCount(param,loading) {
+export function getDeptEventCount(param) {
   return request({
     url: '/center-environment/VisuForestCloudMapController/getDeptEventCount',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 // 右侧获取天气
@@ -53,26 +32,21 @@ export function getWeather(param) {
   })
 }
 
+
 // 右侧获取事件列表
-export function getEventList(param,loading) {
+export function getEventList(param) {
   return request({
     url: '/center-environment/VisuForestCloudMapController/getEventList',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 // 右侧获取曝光台列表
-export function getExposureStage(param,loading) {
+export function getExposureStage(param) {
   return request({
     url: 'center-environment/VisuForestCloudMapController/getExposureStage',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 
@@ -93,25 +67,19 @@ export function getEventByCalendar(param) {
   })
 }
 // 获取事件分类
-export function getEventByEventType(param,loading) {
+export function getEventByEventType(param) {
   return request({
     url: '/center-environment/VisuForestCloudMapController/getEventByEventType',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 // 获取上报排名
-export function getEventByReportorOrder(param,loading) {
+export function getEventByReportorOrder(param) {
   return request({
     url: '/center-environment/VisuForestCloudMapController/getEventByReportorOrder',
     method: 'post',
-    data: param,
-    headers: {
-      loading: loading
-    },
+    data: param
   })
 }
 // 日志文件上传
@@ -223,7 +191,6 @@ export function uploadBase64(param) {
     data:param
   })
 }
-
 // 通过事件code查询事件责任部门
 export function centereventtdepteventList(param) {
   return request({
@@ -258,52 +225,19 @@ export function dutysystemRemove(param) {
   })
 }
 
-// 通过部门id获取责任
+// 事件短信联系
 export function userFeginlist(param) {
   return request({
-    url: '/system/user/selectUserWithPostByDeptId',
-    method: 'get',
-    params:param
-  })
-}
-
-// 获取消息个数
-export function selectMessageCount(userId) {
-  return request({
-    url: '/center-message/centerMessageFeign/selectMessageCount/'+userId,
-    method: 'get'
-  })
-}
-// 获取消息列表
-export function selectMessageList(userId) {
-  return request({
-    url: '/center-message/centerMessageFeign/selectMessageList/'+userId,
-    method: 'get'
-  })
-}
-// 获取消息详情
-export function selectMessageById(messageId) {
-  return request({
-    url: '/center-message/centerMessageFeign/selectMessageById/'+messageId,
-    method: 'get'
+    url: '/center-environment/VisuForestCloudMapController/userFeginlist',
+    method: 'post'
   })
 }
 
-// 事件处置
-export function eventHandling(id,eventCode) {
+// 会议添加联系人并发送短信
+export function sendMessage(param) {
   return request({
-    url: '/center-environment/VisuForestEventCenterController/eventHandling',
+    url: '/center-fire/VisuForestCloudMapController/sendMeetingMsg',
     method: 'post',
-    data: { id: id, eventCode: eventCode, dataStatus: "1" }
+    data:param
   })
 }
-  //范围摄像头
-  export function initByCameras(param) {
-    return request({
-      url: '/center-monitor/TVWallController/initByCameras',
-      method: 'get',
-      params:param
-    })
-
-
-}

+ 127 - 2
src/views/eventdetailsdialog.vue

@@ -162,7 +162,7 @@
                                 </el-button>
                               </div>
                               <div class="z-info-btm-grp-right">
-                                <el-button size="small" icon="el-icon-mic" @click="joinMeeting()">会议
+                                <el-button size="small" icon="el-icon-mic" @click="Meeting()">会议
                                 </el-button>
                               </div>
                             </div>
@@ -472,6 +472,84 @@
         <div style="clear: both;"></div>
       </el-form>
     </el-dialog>
+    <!--    会议弹窗  start -->
+    <el-dialog title="视频会议" :visible.sync="showMeetingMsgDialog" v-if="showMeetingMsgDialog" width="65%"
+               @close="closeMeetingMsgDialog()">
+      <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-button
+              size="mini"
+              type="danger"
+              v-if="depteventId!=null&&depteventId!=''"
+              @click="finUserByDept">选择
+            </el-button>
+            <el-table
+              :data="dutysystemTableData"
+              style="width: 100%"
+              :rules="rules">
+              <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="姓名" οninput="value=value.replace(/^[\u4e00-\u9fa5]{2,4}$/,'')"></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="手机号码" οninput="value=value.replace(/^((13[0-9])|(14[5-9])|(15([0-3]|[5-9]))|(16[6-7])|(17[1-8])|(18[0-9])|(19[1|3])|(19[5|6])|(19[8|9]))\d{8}$/,'')"></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="sendMsg">发送短信
+        </el-button>
+        <div style="clear: both;"></div>
+      </el-form>
+    </el-dialog>
+    <!--    会议弹窗  end   -->
     <el-dialog title="火险报告" :visible.sync="showEventConfirm_gd" v-if="showEventConfirm_gd" width="100%"
                class="top-dialog"
                @close="cancelEventConfirm_gd()">
@@ -1015,6 +1093,7 @@ import {
   dutysystemAdd,
   dutysystemRemove,
   userFeginlist,
+  sendMessage,
   eventHandling,
   initByCameras
 } from '@/api/forest'
@@ -1203,6 +1282,7 @@ export default {
       visuForestCloudYuAnBo: null,
       eventDialog: false,
       showResponsibilityDialog: false,//责任制弹窗
+      showMeetingMsgDialog: false,//发送会议短信弹窗
       depteventList: [],//责任制部门列表
       iconCurrentIndex: '',
       dutysystemDeptName: '',
@@ -1275,6 +1355,10 @@ export default {
   },
   methods: {
     /************************************责任制-开始****************************************/
+    //初始化责任制数据列表
+    initDutysystemTableData(){
+      this.dutysystemTableData = [];
+    },
     addLine: function() {//添加负责人行数
       var newValue = {
         id: '',//主键
@@ -1355,6 +1439,13 @@ export default {
       this.iconCurrentIndex = ''
       this.showResponsibilityDialog = false
     },
+    closeMeetingMsgDialog() {//会议弹窗关闭
+      this.dutysystemTableData = []
+      this.dutysystemDeptName = ''
+      this.depteventId = ''
+      this.iconCurrentIndex = ''
+      this.showMeetingMsgDialog = false
+    },
     addResponsibilityDialog() {//责任制保存
       let reg_user = /^[\u4e00-\u9fa5]{2,4}$/;    //2-4个中文字符正则
       let reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;    //11位手机号码正则
@@ -2374,13 +2465,47 @@ export default {
     },
     /** ----------------------------------海康摄像头预览结束------------------------------------- */
     /** ----------------------------------视频会议开始------------------------------------- */
+    sendMsg() {// 视频会议发送短信
+      let reg_user = /^[\u4e00-\u9fa5]{2,4}$/;    //2-4个中文字符正则
+      let reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;    //11位手机号码正则
+      for(let i in this.dutysystemTableData){
+        if(!reg_user.test(this.dutysystemTableData[i].name)){
+          this.$message.error(`请输入正确姓名!`)
+          return;
+        }
+        if(!reg_tel.test(this.dutysystemTableData[i].telphone)){
+          this.$message.error(`请输入正确手机号码!`)
+          return;
+        }
+
+        if(this.dutysystemTableData[i].id==null || this.dutysystemTableData[i].id==''){
+          this.dutysystemTableData[i].dept = this.dutysystemDeptName;
+          this.dutysystemTableData[i].depteventId = this.depteventId;
+        }
+      }
+      const param = {centereventTDutySystemList:this.dutysystemTableData,eventCode:this.eventCode,eventName:this.eventName,eventId:this.eventId}
+      sendMessage(param).then(res => {
+        this.$message.success(res.msg);
+        this.dutysystemSelect(this.iconCurrentIndex, this.dutysystemDeptName, this.depteventId);
+        this.showMeetingMsgDialog = false;
+        this.joinMeeting();
+      })
+    },
     joinMeeting(){
       let hwMeetingUrl;
       selectConfigKey('hwMeetingUrl').then(res => {
         hwMeetingUrl = res.data
         window.open(hwMeetingUrl+"/joinConferences/"+this.eventId+"/"+this.eventName+"的会议"+"/"+Cookies.get("nickName"));
       })
-    }
+    },
+    Meeting() {//弹出发送会议短信弹窗
+      let param = { eventCode: this.eventCode }
+      centereventtdepteventList(param).then(res => {
+        this.depteventList = res.data
+        this.showMeetingMsgDialog = true
+        this.initDutysystemTableData();
+      })
+    },
     /** ----------------------------------视频会议结束------------------------------------- */
   }
 }