|
@@ -37,6 +37,7 @@
|
|
|
</div> -->
|
|
|
<!-- 底部工具栏end -->
|
|
|
<div class="fire-m">
|
|
|
+ <el-button size="small" icon="el-icon-s-grid" @click="showTVWallDiaLog()">火点联动</el-button>
|
|
|
<el-button size="small" icon="el-icon-upload" @click="showheatPlotting()">火灾蔓延
|
|
|
</el-button>
|
|
|
</div>
|
|
@@ -139,7 +140,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>
|
|
@@ -429,6 +430,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()">
|
|
@@ -943,11 +1022,13 @@
|
|
|
<el-dialog title="人员选择" :visible.sync="showFindUserByDept" width="40%">
|
|
|
<findUserByDept v-if="showFindUserByDept" ref="findUserByDept" :deptId="iconCurrentIndex" @addSelection="addSelection"></findUserByDept>
|
|
|
</el-dialog>
|
|
|
+ <TVWall ref="TVWall"></TVWall>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import html2canvas from 'html2canvas'//截图组件
|
|
|
+import TVWall from '@/components/TVWall.vue' //电视墙弹窗
|
|
|
import supermapDialog from '@/components/supermap' //超图
|
|
|
import vheader from '@/components/v-header.vue' //一体化共用头部
|
|
|
import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
|
|
@@ -970,8 +1051,10 @@ import {
|
|
|
dutysystemList,
|
|
|
dutysystemAdd,
|
|
|
dutysystemRemove,
|
|
|
+ sendMessage,
|
|
|
userFeginlist,
|
|
|
- eventHandling
|
|
|
+ eventHandling,
|
|
|
+ initByCameras
|
|
|
} from '@/api/forest'
|
|
|
import {
|
|
|
treeselectAll as deptTreeselect
|
|
@@ -998,6 +1081,7 @@ export default {
|
|
|
},
|
|
|
components: {
|
|
|
vheader,
|
|
|
+ TVWall,
|
|
|
vBottomMenu,
|
|
|
supermapDialog,
|
|
|
eventLogUpload,
|
|
@@ -1156,6 +1240,7 @@ export default {
|
|
|
visuForestCloudYuAnBo: null,
|
|
|
eventDialog: false,
|
|
|
showResponsibilityDialog: false,//责任制弹窗
|
|
|
+ showMeetingMsgDialog: false,//发送会议短信弹窗
|
|
|
depteventList: [],//责任制部门列表
|
|
|
iconCurrentIndex: '',
|
|
|
dutysystemDeptName: '',
|
|
@@ -1228,6 +1313,10 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
/************************************责任制-开始****************************************/
|
|
|
+ //初始化责任制数据列表
|
|
|
+ initDutysystemTableData(){
|
|
|
+ this.dutysystemTableData = [];
|
|
|
+ },
|
|
|
addLine: function() {//添加负责人行数
|
|
|
var newValue = {
|
|
|
id: '',//主键
|
|
@@ -1254,6 +1343,27 @@ export default {
|
|
|
this.dutysystemTableData = this.dutysystemTableData.concat(userList);
|
|
|
this.showFindUserByDept=false;
|
|
|
},
|
|
|
+ showTVWallDiaLog() {
|
|
|
+ this.initByCameras()
|
|
|
+ // this.$refs.TVWall.showTVWall();
|
|
|
+
|
|
|
+ },
|
|
|
+ initByCameras()
|
|
|
+ {
|
|
|
+ const params=Object.assign({})
|
|
|
+ params.longitude=this.longitude;
|
|
|
+ params.latitude=this.latitude;
|
|
|
+ params.type='2'
|
|
|
+ initByCameras(params).then(res=>
|
|
|
+ {
|
|
|
+ this.$refs.TVWall.showTVWall1(this.longitude,this.latitude,res.data);
|
|
|
+ this.$refs.supermap.isEditableLayers = false
|
|
|
+ this.$refs.bottomMenu.showChild = false
|
|
|
+ this.$refs.bottomMenu.showBanChild = false
|
|
|
+ this.$refs.bottomMenu.showChangChild = false
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
handleDelete: function(index, row) {//删除负责人行数
|
|
|
if (row.id != null && row.id != '') {
|
|
|
let param = { ids: row.id }
|
|
@@ -1308,6 +1418,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位手机号码正则
|
|
@@ -1353,6 +1470,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
updateYjYuAn() {
|
|
|
if(this.eventStatusValue=='forest_event_status_1'){
|
|
|
this.$message.error(`未签收事件无法修改预案信息,请先签收!`)
|
|
@@ -2307,13 +2425,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();
|
|
|
+ })
|
|
|
+ },
|
|
|
/** ----------------------------------视频会议结束------------------------------------- */
|
|
|
}
|
|
|
}
|