2025-06-28 15:28:54 +08:00
|
|
|
/*
|
|
|
|
|
* @Author: RenXiaoDong
|
|
|
|
|
* @Date: 2025-06-28 12:55:44
|
|
|
|
|
*/
|
2025-07-05 11:57:06 +08:00
|
|
|
import { CUSTOM_FIELDS, getPropPrefix } from '@/views/property-marketing/media-account/common_constants';
|
|
|
|
|
|
|
|
|
|
// 不足4个。就补两个null进去
|
2025-07-05 12:00:31 +08:00
|
|
|
export function groupArrayBySize<T extends { dataIndex: string; prop: string; title: string; tooltip: string }>(
|
2025-07-05 11:57:06 +08:00
|
|
|
fields: T[],
|
|
|
|
|
groupSize = 4,
|
|
|
|
|
dateType: string,
|
|
|
|
|
): T[][] {
|
|
|
|
|
const result: T[][] = [];
|
|
|
|
|
|
|
|
|
|
for (let i = 0; i < fields.length; i += groupSize) {
|
|
|
|
|
result.push(fields.slice(i, i + groupSize));
|
|
|
|
|
}
|
2025-07-05 12:00:31 +08:00
|
|
|
const labelPrefix = dateType === 'week' ? '近7天' : '近30天';
|
2025-07-05 11:57:06 +08:00
|
|
|
|
|
|
|
|
return result.map((item) => {
|
|
|
|
|
return item.map((item) => {
|
|
|
|
|
return {
|
|
|
|
|
...item,
|
|
|
|
|
dataIndex: `${getPropPrefix(dateType)}${item.dataIndex}`,
|
|
|
|
|
prop: `${getPropPrefix(dateType)}${item.prop}`,
|
2025-07-05 12:00:31 +08:00
|
|
|
title: `${labelPrefix}${item.title}`,
|
|
|
|
|
tooltip: `${labelPrefix}${item.tooltip}`,
|
2025-07-05 11:57:06 +08:00
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const getAccountInfoFields = (dateType: string, showMore: boolean) => {
|
|
|
|
|
const baseFields = [
|
|
|
|
|
[
|
|
|
|
|
{ title: '账号名称', dataIndex: 'name' },
|
|
|
|
|
{ title: '项目分组', dataIndex: 'group.name' },
|
|
|
|
|
{ title: '状态', dataIndex: 'status', type: 'status' },
|
|
|
|
|
{ title: '运营人员', dataIndex: 'operator_name' },
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
{ title: 'AI评价', dataIndex: 'ai_evaluation' },
|
2025-07-08 18:16:45 +08:00
|
|
|
{ title: '粉丝量', dataIndex: 'fans_number', tooltip: '账号的当前粉丝总数。' },
|
|
|
|
|
{
|
|
|
|
|
title: '总赞藏数',
|
|
|
|
|
dataIndex: 'like_collect_number',
|
|
|
|
|
tooltip: '账号所有内容获得的点赞数与收藏数总和,用于衡量历史内容的整体吸引力与认可度。',
|
|
|
|
|
},
|
2025-07-05 11:57:06 +08:00
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
const customFields = groupArrayBySize(CUSTOM_FIELDS, 4, dateType);
|
|
|
|
|
return showMore ? [...baseFields, ...customFields] : [...baseFields];
|
|
|
|
|
};
|