feat(仪表盘): 调整穿搭统计维度为公开/私密/封禁
将穿搭审核状态统计改为公开、私密、已封禁三个维度,并更新待办事项与内容概况面板展示。
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
export interface DashboardContent {
|
export interface DashboardContent {
|
||||||
|
// 业务侧公开穿搭即自动过审,不再输出审核状态分布;
|
||||||
|
// 公开/私密按 is_public 统计且均已剔除已封禁,三者互不重叠。
|
||||||
outfit: {
|
outfit: {
|
||||||
total: number
|
total: number
|
||||||
pending: number
|
public: number
|
||||||
passed: number
|
private: number
|
||||||
rejected: number
|
|
||||||
banned: number
|
banned: number
|
||||||
}
|
}
|
||||||
clothes: {
|
clothes: {
|
||||||
@@ -77,7 +78,8 @@ export interface DashboardSummary {
|
|||||||
}
|
}
|
||||||
todo: {
|
todo: {
|
||||||
refund_pending: number
|
refund_pending: number
|
||||||
outfit_pending_audit: number
|
outfit_public_total: number
|
||||||
|
outfit_banned: number
|
||||||
goods_on_shelf: number
|
goods_on_shelf: number
|
||||||
}
|
}
|
||||||
content: DashboardContent
|
content: DashboardContent
|
||||||
|
|||||||
@@ -140,11 +140,11 @@ const outfitPieOption = computed<EChartsOption>(() => {
|
|||||||
const o = summary.value?.content.outfit
|
const o = summary.value?.content.outfit
|
||||||
return pieOption(
|
return pieOption(
|
||||||
[
|
[
|
||||||
{ name: '待审核', value: o?.pending ?? 0 },
|
{ name: '公开', value: o?.public ?? 0 },
|
||||||
{ name: '已通过', value: o?.passed ?? 0 },
|
{ name: '私密', value: o?.private ?? 0 },
|
||||||
{ name: '未通过', value: o?.rejected ?? 0 },
|
{ name: '已封禁', value: o?.banned ?? 0 },
|
||||||
],
|
],
|
||||||
['#f59e0b', '#22c55e', '#ef4444'],
|
['#22c55e', '#9aa3c0', '#ef4444'],
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -209,8 +209,13 @@ const goodsTypePieOption = computed<EChartsOption>(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="todo-divider"></div>
|
<div class="todo-divider"></div>
|
||||||
<div class="todo-item">
|
<div class="todo-item">
|
||||||
<span class="todo-num">{{ summary?.todo.outfit_pending_audit ?? 0 }}</span>
|
<span class="todo-num">{{ summary?.todo.outfit_public_total ?? 0 }}</span>
|
||||||
<span class="todo-label">待审核穿搭</span>
|
<span class="todo-label">公开穿搭</span>
|
||||||
|
</div>
|
||||||
|
<div class="todo-divider"></div>
|
||||||
|
<div class="todo-item">
|
||||||
|
<span class="todo-num">{{ summary?.todo.outfit_banned ?? 0 }}</span>
|
||||||
|
<span class="todo-label">已封禁穿搭</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -307,11 +312,11 @@ const goodsTypePieOption = computed<EChartsOption>(() => {
|
|||||||
<!-- 内容审核概况 -->
|
<!-- 内容审核概况 -->
|
||||||
<div class="panel dist-panel">
|
<div class="panel dist-panel">
|
||||||
<div class="panel-head">
|
<div class="panel-head">
|
||||||
<span class="panel-title">内容审核概况</span>
|
<span class="panel-title">内容概况</span>
|
||||||
<el-tag size="small" type="warning" effect="light">待审穿搭 {{ summary?.content.outfit.pending ?? 0 }}</el-tag>
|
<el-tag size="small" type="danger" effect="light">已封禁 {{ summary?.content.outfit.banned ?? 0 }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="audit-block">
|
<div class="audit-block">
|
||||||
<div class="audit-title">穿搭审核</div>
|
<div class="audit-title">穿搭分布</div>
|
||||||
<BaseChart :option="outfitPieOption" height="120px" />
|
<BaseChart :option="outfitPieOption" height="120px" />
|
||||||
</div>
|
</div>
|
||||||
<div class="audit-block">
|
<div class="audit-block">
|
||||||
|
|||||||
Reference in New Issue
Block a user