Commit 6f457b84 authored by 夏敏伟's avatar 夏敏伟

增加演习暂停开启等功能

parent 2376738d
......@@ -29,7 +29,7 @@ export const leaveChatRoom = (userId) => {
//查询某个用户所有聊天室(群组)
export const getChatRoomList = (data) => {
return post(`${PREFIX_CHATROOM}/list`,data);
return post(`${PREFIX_CHATROOM}/list`, data);
}
//阅读(群组)信息
......@@ -52,6 +52,20 @@ export const upLoadFiles = (bucket, data) => {
return fileUpload(`api/rest/file/upload?bucket=${bucket}`, data)
}
//启动聊天室(群组)
export const startExercise = (chatRoomId) => {
return post(`${PREFIX_CHATROOM}/start?chatRoomId=${chatRoomId}`);
}
//删除聊天室(群组)
export const removeExercise = (chatRoomId) => {
return get(`${PREFIX_CHATROOM}/remove?chatRoomId=${chatRoomId}`);
}
//停止聊天室(群组)
export const stopExercise = (data) => {
return post(`${PREFIX_CHATROOM}/end`, data);
}
......
......@@ -20,8 +20,8 @@
<el-form-item>
<div class="searchButton"
:style="{ background: stompClient.connected ? 'Green' : 'gray', color: 'white' }">
<span :class="[!stompClient.connected?'el-icon-loading':'']"></span>
{{stompClient.connected ? '已连接' : '重连中'}}
<span :class="[!stompClient.connected ? 'el-icon-loading' : '']"></span>
{{ stompClient.connected ? '已连接' : '重连中' }}
</div>
</el-form-item>
</el-form>
......@@ -29,7 +29,10 @@
<div class="ddkz-content">
<div v-for="item in analogData" class="content-card bk-ddkz-animation animate__animated animate__ZoomIn"
@click="showInfo(item)">
<div class="card-title" v-text="item.nickname" :title="item.nickname"></div>
<div class="card-title" :title="item.nickname">{{ item.nickname
}}<span
:style="{ fontSize: '14px', color: item.status.name == '待开始' ? '#85ce61' : (item.status.name == '进行中' ? '#409eff' : (item.status.name == '已结束' ? '#f78989' : '')) }">{{
'' + item.status.name + '' }}</span></div>
<div class="card-date" v-text="item.createTime"></div>
<div class="card-text" v-text="item.conRemark" :title="item.conRemark"></div>
<div class="card-tags">
......@@ -71,7 +74,12 @@ export default {
},
methods: {
showInfo(item) {
if (item.status.name !== '待开始') {
this.$router.push({ name: '聊天室详情' + this.$route.meta.type_name, params: { data: item, client: this.stompClient } });
} else {
this.$message.warning('此演习暂未开启,不能进入!');
}
},
queryChatRoomListFn(params) {
getChatRoomList(params).then(res => {
......
......@@ -2,29 +2,35 @@
<div class="ddkzConfig">
<el-tabs type="border-card" @tab-click="handleTabClick" v-model="activeTabs">
<el-tab-pane>
<span slot="label"><i class="el-icon-date"></i> 新增会议</span>
<span slot="label"><i class="el-icon-document-add"></i> 新增演习</span>
<DdkzConfigAdd></DdkzConfigAdd>
</el-tab-pane>
<el-tab-pane>
<span slot="label"><i class="el-icon-date"></i> 会议列表</span>
<span slot="label"><i class="el-icon-document-copy"></i> 演习列表</span>
<DdkzConfigList></DdkzConfigList>
</el-tab-pane>
<el-tab-pane>
<span slot="label"><i class="el-icon-document-checked"></i> 演习审批</span>
<DdkzConfigApprove></DdkzConfigApprove>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import ddkzConfigAdd from '../sjgl/ddkzConfig/ddkzConfigAdd.vue';
import ddkzConfigList from '../sjgl/ddkzConfig/ddkzConfigList.vue';
import ddkzConfigAdd from '@/view/sjgl/ddkzConfig/ddkzConfigAdd.vue';
import ddkzConfigList from '@/view/sjgl/ddkzConfig/ddkzConfigList.vue';
import ddkzConfigApprove from '@/view/sjgl/ddkzConfig/ddkzConfigApprove.vue';
export default {
data() {
return {
activeTabs: ''
}
},
components:{
DdkzConfigAdd:ddkzConfigAdd,
DdkzConfigList:ddkzConfigList
components: {
DdkzConfigAdd: ddkzConfigAdd,
DdkzConfigList: ddkzConfigList,
DdkzConfigApprove: ddkzConfigApprove
},
methods: {
handleTabClick() {
......@@ -45,7 +51,7 @@ export default {
>.el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
......@@ -58,7 +64,7 @@ export default {
>.el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
......@@ -66,9 +72,9 @@ export default {
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
......
<template>
<div class="addDdkzConfig">
<el-form class="myForm" label-position="right" label-width="200px" :model="formData">
<el-form-item label="题">
<el-form-item label="演习标题">
<el-input v-model="formData.nickname"></el-input>
</el-form-item>
<el-form-item label="聊天室主持人">
<el-form-item label="演习主持人">
<!-- <el-input v-model="formData.chatroomOwner"></el-input> -->
<el-select v-model="formData.chatroomOwner" placeholder="请选择">
<el-option v-for="item in allData" :key="item.account" :label="item.account" :value="item.account">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-form-item label="演习内容">
<el-input v-model="formData.conRemark"></el-input>
</el-form-item>
<el-form-item label="与会方">
......@@ -96,7 +96,7 @@
</el-form>
</el-form-item>
<el-form-item>
<el-button type="success" @click="createMeeting">创建会议</el-button>
<el-button type="success" @click="createMeeting">创建演习</el-button>
</el-form-item>
</el-form>
</div>
......
<template>
<div class="yxsp">
</div>
</template>
\ No newline at end of file
<template>
<div class="ddkzConfigList">
<div class="ddkzCondition">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="dateRange" type="daterange" range-separator="至"
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="form.dateRange" type="daterange" range-separator="至"
start-placeholder="开始时间" end-placeholder="结束时间" :default-time="['00:00:00', '23:59:59']">
</el-date-picker>
<el-select style="margin-left: 10px;" v-model="form.status" placeholder="请选择演习状态" clearable>
<el-option v-for="item in exerciseList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-input class="myInput" v-model="form.keyword"></el-input>
<div class="searchButton" @click="searchChatList">搜索</div>
</div>
<div class="ddkzContent">
......@@ -11,41 +16,92 @@
@selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55">
</el-table-column> -->
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column prop="nickname" label="主题" align="center"></el-table-column>
<el-table-column prop="chatroomOwner" label="支持人" align="center"></el-table-column>
<el-table-column prop="createTime" label="日期" align="center"></el-table-column>
<!-- <el-table-column label="操作" align="center" width="500">
<el-table-column prop="conRemark" label="演习内容" align="center"></el-table-column>
<el-table-column prop="createTime" label="演习结果" align="center"></el-table-column>
<el-table-column prop="status.name" label="演习状态" align="center"></el-table-column>
<el-table-column prop="createTime" label="开始时间" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="500">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="deleteMeeting(scope.row)">删除</el-button>
<el-button v-if="scope.row.status.name !== '进行中'" size="mini" type="danger"
@click="deleteExercise(scope.row)">删除</el-button>
<el-button v-if="scope.row.status.name == '待开始'" size="mini" type="success"
@click="startExercise(scope.row)">启动</el-button>
<el-button v-if="scope.row.status.name == '进行中'" size="mini" type="warning"
@click="stopExercise(scope.row)">结束</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import { getChatRoomList } from "@/api/chat/chatRoom";
import { getChatRoomList, startExercise, stopExercise, removeExercise } from "@/api/chat/chatRoom";
export default {
data() {
return {
form: {
dateRange: [],
meetingList: []
status: null,
keyword: null
},
meetingList: [],
exerciseList: [{ label: '待开始', value: 'CREATED' }, { label: '进行中', value: 'ONGOING' }, { label: '已结束', value: 'CLOSED' }]
}
},
methods: {
handleSelectionChange() { },
deleteMeeting(item) { },
//删除演习
deleteExercise(item) {
removeExercise(item.id).then(res => {
if (res == 1) {
this.$message.success('删除演习成功!');
this.searchChatList();
}
}).catch(error => {
this.$message.error(error.message);
});
},
//启动演习
startExercise(item) {
startExercise(item.id).then(res => {
if (res == 1) {
this.$message.success('启动成功!');
this.searchChatList();
}
}).catch(error => {
this.$message.error(error.message);
});
},
//结束演习
stopExercise(item) {
let params = {
chatRoomId: item.id,
result: '暂无'
};
stopExercise(params).then(res => {
if (res == 1) {
this.$message.success('此演习结束!');
this.searchChatList();
}
}).catch(error => {
this.$message.error(error.message);
});
},
queryChatRoomListFn(param) {
getChatRoomList(param).then(res => {
this.meetingList = res;
console.log(res);
});
},
searchChatList(){
if(this.dateRange.length==2){
this.queryChatRoomListFn({startTime:this.dateRange[0],endTime:this.dateRange[1],userId:this.userInfo.account})
}else{
this.queryChatRoomListFn({userId:this.userInfo.account})
searchChatList() {
if (this.form.dateRange.length == 2) {
this.queryChatRoomListFn({ startTime: this.form.dateRange[0], endTime: this.form.dateRange[1], userId: this.userInfo.account, status: this.form.status == '' ? null : this.form.status, keyword: this.form.keyword == '' ? null : this.form.keyword })
} else {
this.queryChatRoomListFn({ userId: this.userInfo.account, status: this.form.status == '' ? null : this.form.status, keyword: this.form.keyword == '' ? null : this.form.keyword })
}
}
},
......@@ -59,7 +115,7 @@ export default {
}
},
mounted() {
this.queryChatRoomListFn({userId:this.userInfo.account});
this.queryChatRoomListFn({ userId: this.userInfo.account });
}
}
</script>
......@@ -87,6 +143,18 @@ export default {
}
}
.el-input {
float: left;
width: 200px;
margin-left: 10px;
.el-input__inner {
background: none;
color: #ffff;
border: 1px solid #3a5f94c9 !important;
}
}
.el-input__inner {
border: 1px solid #3a5f94c9 !important;
}
......
......@@ -344,7 +344,7 @@ export default {
>.el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
......@@ -355,15 +355,15 @@ export default {
}
>.el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
}
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
color: #ffe000;
......@@ -495,7 +495,7 @@ export default {
float: left;
margin-left: 20px;
overflow-y: auto;
border: 1px solid #125473;
border: 1px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
}
......
......@@ -65,7 +65,7 @@ export default {
> .el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
......@@ -76,15 +76,15 @@ export default {
}
> .el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
}
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
color: #ffe000;
......
......@@ -62,7 +62,7 @@ export default {
>.el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
......@@ -73,15 +73,15 @@ export default {
}
> .el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
}
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
color: #ffe000;
......@@ -216,7 +216,7 @@ export default {
float: left;
margin-left: 20px;
overflow-y: auto;
border: 1px solid #125473;
border: 1px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
}
......
......@@ -2831,14 +2831,14 @@ export default {
.el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
.el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
......@@ -2846,9 +2846,9 @@ export default {
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
......
......@@ -1501,14 +1501,14 @@ export default {
.el-tabs--border-card {
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 2px solid #125473;
border: 2px solid #3a5f94c9;
border-radius: 5px;
box-sizing: border-box;
background: #ffffff00;
.el-tabs__header {
background-color: unset;
border-bottom: 2px solid #125473;
border-bottom: 2px solid #3a5f94c9;
.el-tabs__item {
color: #dedede;
......@@ -1516,9 +1516,9 @@ export default {
.el-tabs__item.is-active {
color: #ffe000;
background-color: #116791;
border-right-color: #116791;
border-left-color: #116791;
background-color: #3a5f94c9;
border-right-color: #3a5f94c9;
border-left-color: #3a5f94c9;
}
.el-tabs__item:not(.is-disabled):hover {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment