增加昵称和部门的匹配

This commit is contained in:
砂糖
2025-07-14 17:02:56 +08:00
parent 66169c3620
commit 4c0df26d3d
7 changed files with 168 additions and 8 deletions

View File

@@ -10,7 +10,11 @@
size="46"
/>
<view class="details">
<text class="conversation_name">{{ source.showName }}</text>
<text class="conversation_name">{{ source.showName }}
<template v-if="!isGroup && source.deptName">
<text class="dept_name" :style="{backgroundColor: source.color, color: '#fff', padding: '2px 8px', borderRadius: '8px', fontSize: '20rpx', marginLeft: '8rpx'}">{{ source.deptName }}</text>
</template>
</text>
<view class="lastest_msg_wrap">
<text class="lastest_msg_content">{{ latestMessage }}</text>
</view>
@@ -106,6 +110,14 @@ export default {
@include nomalEllipsis();
max-width: 40vw;
font-size: 28rpx;
display: inline-flex;
align-items: center;
}
.dept_name {
display: inline-block;
line-height: 1.2;
vertical-align: middle;
margin-left: 8rpx;
}
.lastest_msg_wrap {

View File

@@ -14,7 +14,7 @@
@scrolltolower="scrolltolower"
>
<conversation-item
v-for="item in storeConversationList"
v-for="item in conversationListWithDeptName"
:key="item.conversationID"
:source="item"
ref="conversationItem"
@@ -33,6 +33,8 @@
import { mapGetters } from "vuex";
import ChatHeader from "./components/ChatHeader.vue";
import ConversationItem from "./components/ConversationItem.vue";
import { getDeptNameByNickName } from "@/api/oa/binding";
import { withDeptName } from '@/util/withDeptName';
export default {
components: {
@@ -48,11 +50,19 @@ export default {
doubleClick: 0,
triggered: false,
refreshing: false,
conversationListWithDeptName: [], // 新增
};
},
computed: {
...mapGetters(["storeConversationList", "storeIsSyncing", "storeProgress"]),
},
watch: {
storeConversationList: {
handler: 'updateConversationListWithDeptName',
immediate: true,
deep: true
}
},
onReady() {
this.$nextTick(() => plus.navigator.closeSplashscreen());
},
@@ -87,6 +97,10 @@ export default {
closeAllSwipe() {
this.$refs.swipeWrapperRef.closeAll();
},
// 新增:异步获取部门名和颜色
async updateConversationListWithDeptName() {
this.conversationListWithDeptName = await withDeptName(this.storeConversationList);
},
},
};
</script>