diff --git a/src/views/newMap/jointTrainingNew/chatView/chatBox.vue b/src/views/newMap/jointTrainingNew/chatView/chatBox.vue
index f13aa450d..9ac79faef 100644
--- a/src/views/newMap/jointTrainingNew/chatView/chatBox.vue
+++ b/src/views/newMap/jointTrainingNew/chatView/chatBox.vue
@@ -37,7 +37,7 @@
@@ -61,6 +61,7 @@
:message-list="messageList"
:simulation-users="simulationUsers"
:user-role="userRole"
+ :common-conversation="commonConversation"
@changeMessageList="changeMessageList"
/>
@@ -75,9 +76,9 @@
@@ -126,7 +127,7 @@ export default {
recordSending:false,
currentCoversition:{},
conversitionId: '',
- commonConversation: true,
+ commonConversation: false,
seconds:0,
inter:null,
recorders: null,
@@ -152,8 +153,12 @@ export default {
memberIdList: [],
quitLoading: false,
conversitionMemberList: [],
+ commonMemberList: [],
+ privateMemberList: [],
isConversitionCreator: false,
- messageList: []
+ messageList: [],
+ commonMessageList: [],
+ privateMessageList: []
};
},
computed:{
@@ -178,7 +183,8 @@ export default {
},
userRole(val) {
if (val === 'AUDIENCE') {
- this.isAudienceInitData();
+ // this.isAudienceInitData();
+ this.goCommonConversation();
}
},
'$store.state.map.mapViewLoadedCount':function(val) {
@@ -208,8 +214,8 @@ export default {
memberList.push({memberId:id, connect:false});
}
});
- console.log(memberList, val.memberIds);
this.conversitionMemberList = memberList;
+ this.privateMemberList = memberList;
}
},
'$store.state.map.activeTrainListChange': function (val) { // 按计划行车的列车列表更新标识
@@ -236,10 +242,12 @@ export default {
deep: true
},
'$store.state.socket.overConversition': function (val) {
- if (val.id === this.conversitionId) {
+ if (val.id === this.conversitionId) {
this.conversitionId = '';
this.conversitionMemberList = [];
+ this.privateMemberList = [];
this.messageList = [];
+ this.privateMessageList = [];
}
},
'$store.state.training.memberList': function (val) {
@@ -324,18 +332,6 @@ export default {
setSetting(data) {
this.form = data;
},
- setCurrentCoversition(coversition) {
- if (coversition && coversition.id) {
- this.currentCoversition = coversition;
- this.headerTitle = coversition.name;
- } else {
- this.headerTitle = '';
- }
- if (this.recordSending) {
- this.cancleRecording();
- }
- this.$refs.chatContent.scrollTop();
- },
setHeadTitle(headerTitle) {
this.headerTitle = headerTitle;
},
@@ -346,8 +342,8 @@ export default {
this.createLoading = true;
startConversition(this.group, this.memberIdList).then(resp => {
this.conversitionId = resp.data.id;
- // this.conversitionMemberList = resp.data.memberList;
this.messageList = [];
+ this.privateMessageList = [];
this.userString = '';
this.isConversitionCreator = true;
this.$message.success('创建会话成功!');
@@ -502,7 +498,9 @@ export default {
overSimulationConversition(this.group, this.conversitionId).then(resp => {
this.conversitionId = '';
this.conversitionMemberList = [];
+ this.privateMemberList = [];
this.messageList = [];
+ this.privateMessageList = [];
this.quitLoading = false;
}).catch(() => {
this.$message.error('退出会话失败!');
@@ -513,8 +511,10 @@ export default {
this.userString = '';
this.conversitionId = data.id;
this.conversitionMemberList = data.memberList;
+ this.commonMemberList = data.memberList;
this.isConversitionCreator = false;
this.messageList = [];
+ this.privateMessageList = [];
if (data.messageList && data.messageList) {
data.messageList.forEach(message => {
const member = this.memberData[message.memberId];
@@ -523,6 +523,7 @@ export default {
message.self = this.$store.state.userId == member.userId;
}
this.messageList.push(message);
+ this.privateMessageList.push(message);
});
}
},
@@ -541,18 +542,43 @@ export default {
isAudienceInitData() {
getAllConversition(this.group).then(resp => {
if (resp.data && resp.data.length) {
- const messageList = [];
+ const messages = [];
resp.data.forEach(conversation => {
+ (conversation.messageList || []).forEach(message => {
+ const member = this.memberData[message.memberId];
+ message.src = `/audio/${message.audioPath}`;
+ message.members = conversation.memberList;
+ if (member) {
+ message.self = this.$store.state.userId == member.userId;
+ }
+ messages.push(message);
+ });
+ this.commonMessageList = messages.sort(this.sortByMessageTime);
+ console.log(this.userRole);
if (this.userRole == 'AUDIENCE') {
- (conversation.messageList || []).forEach(message => {
- const member = this.memberData[message.memberId];
- message.src = `/audio/${message.audioPath}`;
- message.members = conversation.memberList;
- if (member) {
- message.self = this.$store.state.userId == member.userId;
+ this.messageList = this.commonMessageList;
+ this.conversitionMemberList = [];
+ const temDispatcherList = [];
+ const temStationSupervisorList = [];
+ const temMaintainerList = [];
+ const temDriverList = [];
+ this.$store.state.training.memberList.forEach(item =>{
+ switch (item.type) {
+ case 'DISPATCHER':
+ temDispatcherList.push({memberId: item.id, connect:true });
+ break;
+ case 'STATION_SUPERVISOR':
+ temStationSupervisorList.push({memberId: item.id, connect:true });
+ break;
+ case 'MAINTAINER':
+ temMaintainerList.push({memberId: item.id, connect:true });
+ break;
+ case 'DRIVER':
+ temDriverList.push({memberId: item.id, connect:true });
+ break;
}
- messageList.push(message);
});
+ this.conversitionMemberList = [...temDispatcherList, ...temStationSupervisorList, ...temMaintainerList, ...temDriverList];
} else {
const user = this.simulationUsers[this.$store.state.user.id];
this.isConversitionCreator = conversation.creatorId == user.memberId;
@@ -567,47 +593,35 @@ export default {
if (member) {
message.self = this.$store.state.userId == member.userId;
}
+ this.privateMessageList.push(message);
this.messageList.push(message);
});
}
});
}
});
- this.messageList = messageList.sort(this.sortByMessageTime);
}
});
- this.conversitionMemberList = [];
- const temDispatcherList = [];
- const temStationSupervisorList = [];
- const temMaintainerList = [];
- const temDriverList = [];
- this.$store.state.training.memberList.forEach(item =>{
- switch (item.type) {
- case 'DISPATCHER':
- temDispatcherList.push({memberId: item.id, connect:true });
- break;
- case 'STATION_SUPERVISOR':
- temStationSupervisorList.push({memberId: item.id, connect:true });
- break;
- case 'MAINTAINER':
- temMaintainerList.push({memberId: item.id, connect:true });
- break;
- case 'DRIVER':
- temDriverList.push({memberId: item.id, connect:true });
- break;
- }
- });
- this.conversitionMemberList = [...temDispatcherList, ...temStationSupervisorList, ...temMaintainerList, ...temDriverList];
},
changeMessageList(data) {
this.messageList.push(data);
+ this.commonMessageList.push(data);
+ if (this.userRole !== 'AUDIENCE') {
+ this.privateMessageList.push(data);
+ }
+ },
+ goCommonConversation() {
+ !this.commonConversation && this.$refs.chatContent && this.$refs.chatContent.conversationChange();
+ this.commonConversation = true;
+ this.conversitionMemberList = this.commonMemberList;
+ this.messageList = this.commonMemberList;
+ },
+ cancelCommonConversation() {
+ this.commonConversation && this.$refs.chatContent && this.$refs.chatContent.conversationChange();
+ this.commonConversation = false;
+ this.conversitionMemberList = this.privateMemberList;
+ this.messageList = this.privateMessageList;
}
- // goCommonConversation() {
- // this.commonConversation = true;
- // },
- // cancelCommonConversation() {
- // this.commonConversation = false;
- // }
}
};
diff --git a/src/views/newMap/jointTrainingNew/chatView/chatContent.vue b/src/views/newMap/jointTrainingNew/chatView/chatContent.vue
index e19195685..05fbe494f 100644
--- a/src/views/newMap/jointTrainingNew/chatView/chatContent.vue
+++ b/src/views/newMap/jointTrainingNew/chatView/chatContent.vue
@@ -93,37 +93,13 @@ export default {
// this.inintData();
},
methods:{
- inintData() {
- // if (this.coversition.id) {
- // getSimulationContextListNew(this.$route.query.group, this.coversition.id).then(res=>{
- // const userId = this.$store.state.user.id;
- // const coversitionList = res.data.map(coversition=>{
- // coversition.self = false;
- // if (coversition.member.userId == userId) {
- // coversition.self = true;
- // }
- // coversition.src = coversition.isAudio ? `/audio/${coversition.audioPath}` : '';
- // coversition.targetUser = coversition.targetMember ? coversition.targetMember : 'All';
- // return coversition;
- // });
- // this.chatContentList = coversitionList;
- // this.scrollTop();
- // });
- // }
- // const coversitionListAll = Object.assign({}, this.$store.state.socket.coversitionList);
- // const coversitionList = coversitionListAll[this.coversition.id] || [];
- // // console.log('inintData---coversitionList' + JSON.stringify(this.$store.state.socket.coversitionList[this.coversition.id]));
- // this.chatContentList = coversitionList;
- },
scrollTop() {
this.$nextTick(function() {
const scrollTop = document.querySelector('.chatcontentInner').offsetHeight - document.querySelector('.chatcontentIn').offsetHeight + 30;
document.querySelector('.chatcontentIn').scrollTop = scrollTop;
});
},
- // formatTime(time) {
- // return /\d{2}:\d{2}:\d{2}/.exec(time)[0] || time;
- // },
+
playAllAudio() {
this.playEachAudio(this.currentAudioList[this.currentAudioIndex]);
},
@@ -171,6 +147,9 @@ export default {
playAudio(audioUrl) {
document.querySelector('#audioPlay').src = audioUrl;
document.querySelector('#audioPlay').play();
+ },
+ conversationChange() {
+
}
}
};