fix: 修复关闭侧边回复窗口导致会话不正常的情况

This commit is contained in:
kuaifan 2024-04-20 19:38:18 +08:00
parent a46ffa1089
commit d4bfbb81d8

View File

@ -198,7 +198,7 @@
@on-error="onError" @on-error="onError"
@on-emoji="onEmoji" @on-emoji="onEmoji"
@on-show-emoji-user="onShowEmojiUser"> @on-show-emoji-user="onShowEmojiUser">
<template #header v-if="headShowBox"> <template #header v-if="!isChildComponent">
<div class="dialog-item head-box"> <div class="dialog-item head-box">
<div v-if="loadIng > 0 || prevId > 0" class="loading" :class="{filled: allMsgs.length === 0}"> <div v-if="loadIng > 0 || prevId > 0" class="loading" :class="{filled: allMsgs.length === 0}">
<span v-if="scrollOffset < 100"></span> <span v-if="scrollOffset < 100"></span>
@ -207,11 +207,6 @@
</div> </div>
</template> </template>
</VirtualList> </VirtualList>
<!-- 浮动加载中 -->
<div v-if="!headShowBox && loadIng > 0 && allMsgs.length === 0" class="dialog-float-loading">
<Loading/>
</div>
</div> </div>
<!--底部输入--> <!--底部输入-->
@ -571,7 +566,7 @@
v-if="replyListShow" v-if="replyListShow"
:dialogId="dialogId" :dialogId="dialogId"
:msgId="replyListId" :msgId="replyListId"
:headShowBox="false" isChildComponent
class="inde-list"> class="inde-list">
<div slot="head" class="drawer-title">{{$L('回复消息')}}</div> <div slot="head" class="drawer-title">{{$L('回复消息')}}</div>
</DialogWrapper> </DialogWrapper>
@ -596,15 +591,19 @@
<div class="drawer-title">{{$L('待办消息')}}</div> <div class="drawer-title">{{$L('待办消息')}}</div>
</div> </div>
<Scrollbar class-name="dialog-scroller"> <Scrollbar class-name="dialog-scroller">
<DialogItem <template v-if="todoViewMsg">
v-if="todoViewMsg" <DialogItem
:source="todoViewMsg" :source="todoViewMsg"
@on-view-text="onViewText" @on-view-text="onViewText"
@on-view-file="onViewFile" @on-view-file="onViewFile"
@on-down-file="onDownFile" @on-down-file="onDownFile"
@on-emoji="onEmoji" @on-emoji="onEmoji"
simpleView/> simpleView/>
<Button class="original-button" icon="md-exit" type="text" :loading="todoViewPosLoad" @click="onPosTodo">{{ $L("回到原文") }}</Button> <Button class="original-button" icon="md-exit" type="text" :loading="todoViewPosLoad" @click="onPosTodo">{{ $L("回到原文") }}</Button>
</template>
<div v-else class="dialog-float-loading">
<Loading/>
</div>
</Scrollbar> </Scrollbar>
<div class="todo-button"> <div class="todo-button">
<Button type="primary" size="large" icon="md-checkbox-outline" @click="onDoneTodo" :loading="todoViewLoad" long>{{ $L("完成") }}</Button> <Button type="primary" size="large" icon="md-checkbox-outline" @click="onDoneTodo" :loading="todoViewLoad" long>{{ $L("完成") }}</Button>
@ -683,9 +682,10 @@ export default {
type: String, type: String,
default: "" default: ""
}, },
headShowBox: { //
isChildComponent: {
type: Boolean, type: Boolean,
default: true default: false
}, },
beforeBack: Function beforeBack: Function
}, },
@ -814,8 +814,10 @@ export default {
beforeDestroy() { beforeDestroy() {
this.subMsgListener(true) this.subMsgListener(true)
// //
this.$store.dispatch('forgetInDialog', this._uid) if (!this.isChildComponent) {
this.$store.dispatch('closeDialog', this.dialogId) this.$store.dispatch('forgetInDialog', this._uid)
this.$store.dispatch('closeDialog', this.dialogId)
}
// //
if (this.msgSubscribe) { if (this.msgSubscribe) {
this.msgSubscribe.unsubscribe(); this.msgSubscribe.unsubscribe();