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