feat: 增加数据更新时间字段
This commit is contained in:
@ -3,6 +3,7 @@
|
|||||||
* @Date: 2025-06-27 17:36:31
|
* @Date: 2025-06-27 17:36:31
|
||||||
*/
|
*/
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
|
||||||
export function toFixed(num: number | string, n: number): number {
|
export function toFixed(num: number | string, n: number): number {
|
||||||
return parseFloat(parseFloat(num.toString()).toFixed(n));
|
return parseFloat(parseFloat(num.toString()).toFixed(n));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -72,6 +72,12 @@
|
|||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else-if="field.dataIndex === 'platform'">
|
||||||
|
<img :src="detailData.platform === 0 ? icon5 : icon6" width="16" height="16" />
|
||||||
|
</template>
|
||||||
|
<template v-else-if="field.dataIndex === 'last_synced_at'">
|
||||||
|
{{ exactFormatTime(detailData.last_synced_at, 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD HH:mm:ss') }}
|
||||||
|
</template>
|
||||||
<!-- 环比字段特殊渲染 -->
|
<!-- 环比字段特殊渲染 -->
|
||||||
<template v-else-if="field.isRateField">
|
<template v-else-if="field.isRateField">
|
||||||
<div
|
<div
|
||||||
@ -83,6 +89,9 @@
|
|||||||
{{ `${detailData[field.dataIndex]}%` }}
|
{{ `${detailData[field.dataIndex]}%` }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else-if="field.dataIndex === 'id'">
|
||||||
|
{{ detailData.id }}
|
||||||
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{ formatTableField(field, detailData, true) }}
|
{{ formatTableField(field, detailData, true) }}
|
||||||
</template>
|
</template>
|
||||||
@ -108,7 +117,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
import { formatTableField, formatNumberShow } from '@/utils/tools';
|
import { formatTableField, formatNumberShow, exactFormatTime } from '@/utils/tools';
|
||||||
import { getAccountInfoFields } from '../../constants';
|
import { getAccountInfoFields } from '../../constants';
|
||||||
import { STATUS_LIST } from '@/views/property-marketing/media-account/components/status-select/constants';
|
import { STATUS_LIST } from '@/views/property-marketing/media-account/components/status-select/constants';
|
||||||
import { getPropPrefix } from '@/views/property-marketing/media-account/account-dashboard/constants';
|
import { getPropPrefix } from '@/views/property-marketing/media-account/account-dashboard/constants';
|
||||||
@ -119,6 +128,8 @@ import icon1 from '@/assets/img/media-account/icon5.png';
|
|||||||
import icon2 from '@/assets/img/media-account/icon-warn.png';
|
import icon2 from '@/assets/img/media-account/icon-warn.png';
|
||||||
import icon3 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon3 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
import icon4 from '@/assets/img/media-account/icon-success.png';
|
import icon4 from '@/assets/img/media-account/icon-success.png';
|
||||||
|
import icon5 from '@/assets/img/media-account/icon-dy.png';
|
||||||
|
import icon6 from '@/assets/img/media-account/icon-xhs.png';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const id = route.params.id;
|
const id = route.params.id;
|
||||||
|
|||||||
@ -34,18 +34,24 @@ export const getAccountInfoFields = (dateType: string, showMore: boolean) => {
|
|||||||
const baseFields = [
|
const baseFields = [
|
||||||
[
|
[
|
||||||
{ title: '账号名称', dataIndex: 'name' },
|
{ title: '账号名称', dataIndex: 'name' },
|
||||||
{ title: '项目分组', dataIndex: 'group.name' },
|
{ title: '数据更新时间', dataIndex: 'last_synced_at' },
|
||||||
|
{ title: '平台', dataIndex: 'platform' },
|
||||||
{ title: '状态', dataIndex: 'status', type: 'status' },
|
{ title: '状态', dataIndex: 'status', type: 'status' },
|
||||||
{ title: '运营人员', dataIndex: 'operator.name' },
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ title: 'AI评价', dataIndex: 'ai_evaluation' },
|
{ title: '账户ID', dataIndex: 'id' },
|
||||||
|
{ title: '手机号码', dataIndex: 'mobile' },
|
||||||
|
{ title: '运营人员', dataIndex: 'operator.name' },
|
||||||
|
{ title: '项目分组', dataIndex: 'group.name' },
|
||||||
|
],
|
||||||
|
[
|
||||||
{ title: '粉丝量', dataIndex: 'fans_number', tooltip: '账号的当前粉丝总数。' },
|
{ title: '粉丝量', dataIndex: 'fans_number', tooltip: '账号的当前粉丝总数。' },
|
||||||
{
|
{
|
||||||
title: '总赞藏数',
|
title: '总赞藏数',
|
||||||
dataIndex: 'like_collect_number',
|
dataIndex: 'like_collect_number',
|
||||||
tooltip: '账号所有内容获得的点赞数与收藏数总和,用于衡量历史内容的整体吸引力与认可度。',
|
tooltip: '账号所有内容获得的点赞数与收藏数总和,用于衡量历史内容的整体吸引力与认可度。',
|
||||||
},
|
},
|
||||||
|
{ title: 'AI评价', dataIndex: 'ai_evaluation' },
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
const customFields = groupArrayBySize(CUSTOM_FIELDS, 4, dateType);
|
const customFields = groupArrayBySize(CUSTOM_FIELDS, 4, dateType);
|
||||||
|
|||||||
@ -24,6 +24,12 @@
|
|||||||
<span class="label">状态</span>
|
<span class="label">状态</span>
|
||||||
<StatusBox :status="item.status" />
|
<StatusBox :status="item.status" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="field-row">
|
||||||
|
<span class="label">数据更新时间</span>
|
||||||
|
<span class="cts num">{{
|
||||||
|
exactFormatTime(item.last_synced_at, 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD HH:mm:ss')
|
||||||
|
}}</span>
|
||||||
|
</div>
|
||||||
<div class="field-row">
|
<div class="field-row">
|
||||||
<span class="label">平台</span>
|
<span class="label">平台</span>
|
||||||
<img :src="item.platform === 0 ? icon1 : icon2" width="16" height="16" />
|
<img :src="item.platform === 0 ? icon1 : icon2" width="16" height="16" />
|
||||||
@ -111,6 +117,7 @@ import { defineProps, ref, computed, inject } from 'vue';
|
|||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { STATUS_LIST, EnumStatus } from '@/views/property-marketing/media-account/components/status-select/constants';
|
import { STATUS_LIST, EnumStatus } from '@/views/property-marketing/media-account/components/status-select/constants';
|
||||||
import { deleteSyncStatus } from '@/api/all/propertyMarketing';
|
import { deleteSyncStatus } from '@/api/all/propertyMarketing';
|
||||||
|
import { exactFormatTime } from '@/utils/tools';
|
||||||
|
|
||||||
import PauseAccountPatchModal from './pause-account-patch';
|
import PauseAccountPatchModal from './pause-account-patch';
|
||||||
import StatusBox from '../status-box';
|
import StatusBox from '../status-box';
|
||||||
|
|||||||
@ -19,6 +19,12 @@
|
|||||||
<span class="label">状态</span>
|
<span class="label">状态</span>
|
||||||
<StatusBox :status="item.status" />
|
<StatusBox :status="item.status" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="field-row">
|
||||||
|
<span class="label">数据更新时间</span>
|
||||||
|
<span class="cts num">{{
|
||||||
|
exactFormatTime(item.last_synced_at, 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD HH:mm:ss')
|
||||||
|
}}</span>
|
||||||
|
</div>
|
||||||
<div class="field-row">
|
<div class="field-row">
|
||||||
<span class="label">平台</span>
|
<span class="label">平台</span>
|
||||||
<img :src="PLATFORM_LIST.find((v) => v.value === item.platform)?.icon" width="14" height="14" />
|
<img :src="PLATFORM_LIST.find((v) => v.value === item.platform)?.icon" width="14" height="14" />
|
||||||
@ -73,7 +79,7 @@ import { defineProps, ref, computed } from 'vue';
|
|||||||
import { PLATFORM_LIST } from '@/views/property-marketing/put-account/common_constants';
|
import { PLATFORM_LIST } from '@/views/property-marketing/put-account/common_constants';
|
||||||
import { EnumStatus } from '@/views/property-marketing/put-account/components/status-select/constants';
|
import { EnumStatus } from '@/views/property-marketing/put-account/components/status-select/constants';
|
||||||
|
|
||||||
import { formatNumberShow } from '@/utils/tools';
|
import { formatNumberShow, exactFormatTime } from '@/utils/tools';
|
||||||
|
|
||||||
import PauseAccountPatchModal from './pause-account-patch';
|
import PauseAccountPatchModal from './pause-account-patch';
|
||||||
import StatusBox from '../status-box';
|
import StatusBox from '../status-box';
|
||||||
|
|||||||
Reference in New Issue
Block a user