kuaifan 6a71964592 feat(dialog): 重构合并转发功能
- 合并转发消息体改为存储 msg_ids + preview,不再存储完整消息列表
- 新增 mergedetail API 按需加载合并转发详情
- 详情展示从 Modal 改为 DrawerOverlay,支持完整消息渲染
- 统一不可转发消息类型过滤(tag/top/todo/notice/word-chain/vote/template)
- 合并转发标题改为前端国际化拼接
- DialogWrapper 支持 staticMsgs 静态模式用于详情渲染
- 优化多选操作栏和转发确认界面样式
2026-04-05 09:31:41 +00:00

39 lines
1.1 KiB
Vue

<template>
<div class="content-merge-forward" @click="openDetail">
<div class="merge-title">{{ mergeTitle }}</div>
<div class="merge-list">
<div v-for="(item, index) in displayList" :key="index" class="merge-item">
<UserAvatar :userid="item.userid" :show-icon="false" :show-name="true" :size="14"/>
<span class="item-colon">:</span>
<span class="item-desc" v-html="$A.getMsgSimpleDesc(item)"></span>
</div>
</div>
<div class="merge-footer">{{ $L('共(*)条消息', msg.count || 0) }}</div>
</div>
</template>
<script>
export default {
name: "MergeForwardMsg",
props: {
msg: {
type: Object,
default: () => ({})
}
},
computed: {
displayList() {
return this.msg?.preview || [];
},
mergeTitle() {
return $A.getMergeForwardTitle(this.msg);
}
},
methods: {
openDetail() {
this.$emit("on-view-detail", this.msg);
}
}
}
</script>