diff --git a/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue b/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
index 851ce48..5b3d2a6 100644
--- a/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
+++ b/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
@@ -80,7 +80,7 @@
>
- {{ `${(detailData[field.dataIndex] * 100).toFixed(2)}%` }}
+ {{ `${detailData[field.dataIndex]}%` }}
diff --git a/src/views/property-marketing/media-account/account-detail/constants.ts b/src/views/property-marketing/media-account/account-detail/constants.ts
index 206dead..076a8b1 100644
--- a/src/views/property-marketing/media-account/account-detail/constants.ts
+++ b/src/views/property-marketing/media-account/account-detail/constants.ts
@@ -40,8 +40,12 @@ export const getAccountInfoFields = (dateType: string, showMore: boolean) => {
],
[
{ title: 'AI评价', dataIndex: 'ai_evaluation' },
- { title: '粉丝量', dataIndex: 'fans_number', tooltip: '粉丝量' },
- { title: '总赞藏数', dataIndex: 'like_collect_number', tooltip: '总赞藏数' },
+ { title: '粉丝量', dataIndex: 'fans_number', tooltip: '账号的当前粉丝总数。' },
+ {
+ title: '总赞藏数',
+ dataIndex: 'like_collect_number',
+ tooltip: '账号所有内容获得的点赞数与收藏数总和,用于衡量历史内容的整体吸引力与认可度。',
+ },
],
];
const customFields = groupArrayBySize(CUSTOM_FIELDS, 4, dateType);
diff --git a/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue b/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
index 6494858..9e0f558 100644
--- a/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
@@ -107,8 +107,8 @@
-
-
+
+
@@ -166,11 +166,13 @@ const openDelete = (item) => {
};
const handleReauthorize = (item) => {
- const isUnauthorized = isUnauthorizedStatus(item.status);
+ console.log({ item });
+ const { id, platform, status } = item;
+ const isUnauthorized = isUnauthorizedStatus(status);
if (isUnauthorized) {
- authorizedAccountModalRef.value?.open(item.id);
+ authorizedAccountModalRef.value?.open(id, platform);
} else {
- reauthorizeAccountModalRef.value?.open(item.id);
+ reauthorizeAccountModalRef.value?.open(id, platform);
}
};
diff --git a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
index 1e96ffb..567df68 100644
--- a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
@@ -124,7 +124,7 @@
-
+
@@ -322,15 +322,15 @@ async function onSubmit() {
if (isEdit.value) {
onClose();
} else {
- startAuthorized(data?.id);
+ startAuthorized(data?.id, data?.platform);
}
}
}
});
}
-const startAuthorized = (id) => {
- authorizedAccountModalRef.value.open(id);
+const startAuthorized = (id, platform) => {
+ authorizedAccountModalRef.value.open(id, platform);
};
const handleDownloadTemplate = async () => {
diff --git a/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
index 33de039..b0ece06 100644
--- a/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
@@ -34,7 +34,7 @@
-
+
@@ -55,7 +55,7 @@
请点击刷新
- 请使用抖音扫码,将公司账号绑定至灵机平台。
+ 请使用{{ platform }}扫码,将公司账号绑定至灵机平台。
@@ -88,7 +88,7 @@ const isSuccess = ref(false);
const failReason = ref('');
const progress = ref(0);
const id = ref('');
-
+const platform = ref('');
const isFailLoadQrCode = ref(false);
const qrCodeUrl = ref('');
const qrCodeLoading = ref(false);
@@ -103,8 +103,9 @@ const confirmBtnText = computed(() => {
return isSuccess.value ? '继续添加' : '重新扫码';
});
-const open = (accountId) => {
+const open = (accountId, platformCode) => {
id.value = accountId;
+ platform.value = platformCode === 0 ? '抖音' : '小红书';
getAuthorizedQrCode();
visible.value = true;
};
@@ -114,6 +115,7 @@ const resetTaskFields = () => {
isCompleted.value = false;
isSuccess.value = false;
failReason.value = '';
+ platform.value = '';
progress.value = 0;
qrCodeUrl.value = '';
qrCodeLoading.value = false;
@@ -168,6 +170,7 @@ const startStatusPolling = () => {
clearFakeProgressTimer();
clearStatusPollingTimer();
isLoading.value = false;
+ emits('update');
}
}
}, 2000);
diff --git a/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
index b3372d2..2013748 100644
--- a/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
@@ -34,7 +34,7 @@
-
+
@@ -55,7 +55,7 @@
请点击刷新
- 请使用抖音扫码,将公司账号绑定至灵机平台。
+ 请使用{{ platform }}扫码,将公司账号绑定至灵机平台。
@@ -106,24 +106,25 @@
import { defineExpose, ref, onUnmounted } from 'vue';
import { getMediaAccountsAuthorizedStatus, getAuthorizedImage } from '@/api/all/propertyMarketing';
-import icon1 from '@/assets/img/media-account/icon-warn.png';
+import icon1 from '@/assets/img/media-account/icon-default-qrcode.png';
import icon2 from '@/assets/img/media-account/icon-feedback-success.png';
import icon3 from '@/assets/img/media-account/icon-feedback-fail.png';
import icon4 from '@/assets/img/media-account/icon-warn-1.png';
+const emits = defineEmits(['update']);
const OVERDUE_TIME = 30000; // 失效时间
const TASK_STEP = {
default: 1,
loading: 2,
end: 3,
};
-
const visible = ref(false);
const isOverdue = ref(false); // 二维码失效
const isSuccess = ref(false);
const failReason = ref('');
const progress = ref(0);
const id = ref('');
+const platform = ref('');
const isFailLoadQrCode = ref(false);
const qrCodeUrl = ref('');
@@ -153,8 +154,9 @@ const confirmBtnText = computed(() => {
return '';
});
-const open = (accountId) => {
+const open = (accountId, platformCode) => {
id.value = accountId;
+ platform.value = platformCode === 0 ? '抖音' : '小红书';
getAuthorizedQrCode();
visible.value = true;
};
@@ -162,6 +164,7 @@ const resetTaskFields = () => {
isOverdue.value = false;
isSuccess.value = false;
failReason.value = '';
+ platform.value = '';
progress.value = 0;
qrCodeUrl.value = '';
qrCodeLoading.value = false;
@@ -200,6 +203,7 @@ const startStatusPolling = () => {
progress.value = 1;
clearFakeProgressTimer();
clearStatusPollingTimer();
+ emits('update');
}
}
}, 2000);
diff --git a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
index 87135fb..b99e439 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
@@ -11,20 +11,11 @@
-
- {{ item.text }}
-
+
+
+ {{ line.text }}
+
-
-
-
-
-
-
-
-
-
-
@@ -34,20 +25,48 @@
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
import { defineProps } from 'vue';
-const colorMap = {
- purple: 'purple',
- orange: 'orange',
-};
const props = defineProps({
overview: {
- type: Array,
- default: () => [],
+ type: Object,
+ default: () => ({
+ text: '',
+ parts: [],
+ }),
},
});
-
-const getColor = (highlight?: string) => {
- return highlight ? colorMap[highlight] : undefined;
+const classMap = {
+ purple: 'month-text-blue',
+ black: 'month-text-black',
+ orange: 'orange',
+ red: 'month-text-red',
};
+
+const formattedText = computed(() => {
+ console.log(props.overview, 'props.overview');
+ const { text, parts } = props.overview;
+ if (!text || !parts) return [];
+
+ // 替换占位符
+ let resultText = text;
+ parts.forEach((part) => {
+ const key = Object.keys(part)[0];
+ resultText = resultText.replace(`{${key}}`, part[key]);
+ });
+
+ // 按分号拆分并保留颜色信息
+ return resultText.split(';').map((line) => {
+ const matchedPart = parts.find((part) => line.includes(part[Object.keys(part)[0]]));
+ return {
+ text: line.trim(),
+ highlight: matchedPart?.highlight || 'black',
+ };
+ });
+});
+
+const getCss = (highlight?: string) => {
+ return highlight ? classMap[highlight] : undefined;
+};
+
console.log(props.overview, 'overvie333');