From 4e0bbbf3e36ad79e0865a365f94c1c06e8f59577 Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Fri, 30 Jan 2026 10:45:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=A0=B7=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../archive-detail/customer-profile-tab.vue | 150 +++++++++++------ pages/case/case.vue | 151 +++++++++++------- 2 files changed, 190 insertions(+), 111 deletions(-) diff --git a/components/archive-detail/customer-profile-tab.vue b/components/archive-detail/customer-profile-tab.vue index 58c1687..8178965 100644 --- a/components/archive-detail/customer-profile-tab.vue +++ b/components/archive-detail/customer-profile-tab.vue @@ -91,10 +91,9 @@ 转入团队:{{ r.executeTeamName }} 转入方式:{{ r.eventTypeName }} - + 操作人: - 系统自动建档 - {{ r.creatorUserId }} + {{ r.creatorUserName }} @@ -271,6 +270,7 @@ function scrollToAnchor(key) { const transferPopupRef = ref(null); const transferRecords = ref([]); const latestTransferRecord = computed(() => transferRecords.value[0]); +const userNameMap = ref({}); const CURRENT_TEAM_STORAGE_KEY = 'ykt_case_current_team'; @@ -281,18 +281,55 @@ function getCorpId() { return String(d.corpId || a.corpId || team.corpId || '') || ''; } +async function loadTeamMembers() { + const corpId = getCorpId(); + const team = uni.getStorageSync(CURRENT_TEAM_STORAGE_KEY) || {}; + const teamId = team?.teamId ? String(team.teamId) : ''; + if (!corpId || !teamId) return; + if (Object.keys(userNameMap.value || {}).length > 0) return; + + try { + const res = await api('getTeamData', { corpId, teamId }); + if (!res?.success) return; + const t = res?.data && typeof res.data === 'object' ? res.data : {}; + const members = Array.isArray(t.memberList) ? t.memberList : []; + userNameMap.value = members.reduce((acc, m) => { + const uid = String(m?.userid || ''); + if (!uid) return acc; + acc[uid] = String(m?.anotherName || m?.name || m?.userid || '') || uid; + return acc; + }, {}); + } catch (e) { + console.error('获取团队成员失败', e); + } +} + +function resolveUserName(userId) { + const id = String(userId || ''); + if (!id) return ''; + const map = userNameMap.value || {}; + return String(map[id] || id) || id; +} + const ServiceType = { remindFiling: '自主开拓', adminTransferTeams: '团队流转', adminRemoveTeams: '移出团队', systemAutoDistribute: '系统分配', bindWechatCustomer: '绑定企业微信', + share: '共享', + transfer: '转移', + importCustomer: '导入客户', + addCustomer: '新增客户', }; async function fetchTransferRecords() { const customerId = props.data?._id; if (!customerId) return; + // 先加载团队成员信息 + await loadTeamMembers(); + try { const res = await api('customerTransferRecord', { customerId }); if (res?.success && res.list) { @@ -302,6 +339,7 @@ async function fetchTransferRecords() { record.createTime = dayjs(item.createTime).format('YYYY-MM-DD HH:mm:ss'); record.executeTeamName = allTeams.find((team) => team.teamId === item.executeTeamId)?.name || item.executeTeamName; record.eventTypeName = ServiceType[item.eventType] || item.eventType; + record.creatorUserName = item.creatorUserId === 'system' ? '系统自动建档' : resolveUserName(item.creatorUserId); if (item.transferToTeamIds && Array.isArray(item.transferToTeamIds)) { record.teamName = item.transferToTeamIds.map((teamId) => allTeams.find((team) => team.teamId === teamId)?.name).join('、'); } @@ -337,48 +375,48 @@ watch(() => props.data?._id, () => { diff --git a/pages/case/case.vue b/pages/case/case.vue index a72c6ac..49472f3 100644 --- a/pages/case/case.vue +++ b/pages/case/case.vue @@ -85,7 +85,7 @@