fix:解决样本库复制联系方式无法获取的问题

This commit is contained in:
du.meimei
2025-03-27 14:01:48 +08:00
parent 7865e17d73
commit 00ad0ce167
2 changed files with 26 additions and 10 deletions

View File

@@ -1,7 +1,11 @@
<template>
<div class="link-container">
<div>
<channel-list :activeChannel="activeChannel" @selectChannel="selectChannel"></channel-list>
<channel-list
ref="channelListRef"
:activeChannel="activeChannel"
@selectChannel="selectChannel">
</channel-list>
</div>
<div>
<channel-setting :channel="channel"></channel-setting>
@@ -19,21 +23,26 @@ import { getPublishDetail } from '@/api/accurate'
const route = useRoute()
const channel = ref({})
let activeChannel = ref('')
// 处理复制投放的数据
const handleRecordData = (record) => {
channel.value = JSON.parse(record)
activeChannel.value = channel.value.appCategory
}
const channelListRef = ref(null) // 添加对 ChannelList 组件的引用
// 获取详情数据
const getDetail = async (surveyPublishId) => {
try {
const res = await getPublishDetail({ surveyPublishId })
console.log(res.data);
if (res.data) {
channel.value = res.data
activeChannel.value = res.data.launchChannelId
// 先获取基础数据
const baseData = res.data
activeChannel.value = baseData.launchChannelId
// 从 ChannelList 组件获取补充数据
const supplementData = channelListRef.value?.getChannelSupplementData(baseData.launchChannelId)
console.log(supplementData);
// 合并数据,优先使用基础数据,缺失字段使用补充数据
channel.value = {
...baseData,
contactPerson: baseData.contactPerson || supplementData?.contactPerson,
contactPersonPhone: baseData.contactPersonPhone || supplementData?.contactPersonPhone
}
}
} catch (error) {
console.error('获取详情失败:', error)

View File

@@ -72,6 +72,13 @@ const selectChannel = (channel) => {
onMounted(() => {
getChannelList();
});
// 暴露方法给父组件使用
defineExpose({
getChannelSupplementData: (launchChannelId) => {
return channelList.value.find(item => item.appId === launchChannelId) || {}
}
})
</script>
<style scoped lang="scss">