显示回复数量

This commit is contained in:
kuaifan 2022-06-27 09:19:36 +08:00
parent f34133f63e
commit c6402c72f9
4 changed files with 77 additions and 35 deletions

View File

@ -81,41 +81,48 @@
</ul> </ul>
</div> </div>
<!--等待/时间/阅读--> <div class="dialog-foot">
<div v-if="isLoading" class="dialog-foot"><Loading/></div> <!--回复数-->
<div v-else class="dialog-foot"> <div v-if="msgData.reply_num > 0" class="reply">
<!--时间--> <i class="taskfont">&#xe6eb;</i>
<div v-if="timeShow" class="time" @click="timeShow=false">{{msgData.created_at}}</div> {{msgData.reply_num}}条回复
<div v-else class="time" :title="msgData.created_at" @click="timeShow=true">{{$A.formatTime(msgData.created_at)}}</div> </div>
<!--阅读--> <!--等待/时间/阅读-->
<template v-if="!hidePercentage"> <Loading v-if="isLoading"/>
<div v-if="msgData.send > 1 || dialogType === 'group'" class="percent" @click="openReadPercentage"> <template v-else>
<EPopover <!--时间-->
v-model="popperShow" <div v-if="timeShow" class="time" @click="timeShow=false">{{msgData.created_at}}</div>
ref="percent" <div v-else class="time" :title="msgData.created_at" @click="timeShow=true">{{$A.formatTime(msgData.created_at)}}</div>
popper-class="dialog-wrapper-read-poptip" <!--阅读-->
placement="left-end"> <template v-if="!hidePercentage">
<div class="read-poptip-content"> <div v-if="msgData.send > 1 || dialogType === 'group'" class="percent" @click="openReadPercentage">
<ul class="read scrollbar-overlay"> <EPopover
<li class="read-title"><em>{{ readList.length }}</em>{{ $L('已读') }}</li> v-model="popperShow"
<li v-for="item in readList"> ref="percent"
<UserAvatar :userid="item.userid" :size="26" showName/> popper-class="dialog-wrapper-read-poptip"
</li> placement="left-end">
</ul> <div class="read-poptip-content">
<ul class="unread scrollbar-overlay"> <ul class="read scrollbar-overlay">
<li class="read-title"><em>{{ unreadList.length }}</em>{{ $L('未读') }}</li> <li class="read-title"><em>{{ readList.length }}</em>{{ $L('已读') }}</li>
<li v-for="item in unreadList"> <li v-for="item in readList">
<UserAvatar :userid="item.userid" :size="26" showName/> <UserAvatar :userid="item.userid" :size="26" showName/>
</li> </li>
</ul> </ul>
</div> <ul class="unread scrollbar-overlay">
<div slot="reference"></div> <li class="read-title"><em>{{ unreadList.length }}</em>{{ $L('未读') }}</li>
</EPopover> <li v-for="item in unreadList">
<Loading v-if="popperLoad > 0"/> <UserAvatar :userid="item.userid" :size="26" showName/>
<WCircle v-else :percent="msgData.percentage" :size="14"/> </li>
</div> </ul>
<Icon v-else-if="msgData.percentage === 100" class="done" type="md-done-all"/> </div>
<Icon v-else class="done" type="md-checkmark"/> <div slot="reference"></div>
</EPopover>
<Loading v-if="popperLoad > 0"/>
<WCircle v-else :percent="msgData.percentage" :size="14"/>
</div>
<Icon v-else-if="msgData.percentage === 100" class="done" type="md-done-all"/>
<Icon v-else class="done" type="md-checkmark"/>
</template>
</template> </template>
</div> </div>
</div> </div>

View File

@ -833,6 +833,7 @@ export default {
} }
this.$store.dispatch("saveDialogMsg", data); this.$store.dispatch("saveDialogMsg", data);
this.$store.dispatch("increaseTaskMsgNum", this.dialogId); this.$store.dispatch("increaseTaskMsgNum", this.dialogId);
this.$store.dispatch("increaseMsgReplyNum", data.reply_id);
this.$store.dispatch("updateDialogLastMsg", data); this.$store.dispatch("updateDialogLastMsg", data);
this.onCancelReply(); this.onCancelReply();
this.onActive(); this.onActive();

View File

@ -1118,6 +1118,24 @@ export default {
if (task) task.msg_num++; if (task) task.msg_num++;
}, },
/**
* 新增回复数量
* @param state
* @param dispatch
* @param reply_id
*/
increaseMsgReplyNum({state, dispatch}, reply_id) {
$A.execMainDispatch("increaseMsgReplyNum", reply_id)
//
if (reply_id > 0) {
const msg = state.dialogMsgs.find(({id}) => id == reply_id)
if (msg) {
msg.reply_num++
dispatch("saveDialogMsg", msg)
}
}
},
/** /**
* 获取任务 * 获取任务
* @param state * @param state
@ -2449,6 +2467,9 @@ export default {
if (!state.dialogMsgs.find(({id}) => id == data.id)) { if (!state.dialogMsgs.find(({id}) => id == data.id)) {
// 新增任务消息数量 // 新增任务消息数量
dispatch("increaseTaskMsgNum", dialog_id); dispatch("increaseTaskMsgNum", dialog_id);
// 新增回复数量
dispatch("increaseMsgReplyNum", data.reply_id);
//
if (mode === "chat") { if (mode === "chat") {
return; return;
} }

View File

@ -640,6 +640,19 @@
height: 10px; height: 10px;
} }
.reply {
display: flex;
align-items: center;
font-size: 12px;
margin-right: 6px;
color: $primary-color;
cursor: pointer;
> i {
font-size: 13px;
padding-right: 2px;
}
}
.time { .time {
color: #bbbbbb; color: #bbbbbb;
font-size: 12px; font-size: 12px;