From fdf34e9352d896659f17788ac3b2399faab43e06 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Mon, 23 Mar 2026 17:11:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A5=97=E9=A4=90=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E7=BB=9F=E4=B8=80=E3=80=81=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E8=A1=A8=E5=8D=95=E6=A0=A1=E9=AA=8C=E3=80=81?= =?UTF-8?q?=E4=BA=BA=E5=B7=A5=E5=AE=A1=E6=A0=B8=E9=A1=B9=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 套餐/租户: 统一优惠类型映射(PERCENTAGE->折扣,FIXED->立减),租户套餐下拉显示优惠类型 - 课程审核: 添加 formRules 校验,人工审核项需完成全部4项,驳回时审核意见必填 - 人工审核项: 添加红色必填星号标识 Made-with: Cursor --- .../src/api/collections.ts | 11 +++ .../collections/CollectionDetailView.vue | 9 +- .../admin/collections/CollectionListView.vue | 10 +- .../views/admin/courses/CourseReviewView.vue | 99 ++++++++++++------- .../admin/packages/PackageDetailView.vue | 11 +-- .../views/admin/packages/PackageListView.vue | 10 +- .../views/admin/tenants/TenantListView.vue | 5 +- 7 files changed, 81 insertions(+), 74 deletions(-) diff --git a/reading-platform-frontend/src/api/collections.ts b/reading-platform-frontend/src/api/collections.ts index 95a9be8..17d62f3 100644 --- a/reading-platform-frontend/src/api/collections.ts +++ b/reading-platform-frontend/src/api/collections.ts @@ -230,6 +230,17 @@ export function formatPrice(price: number | null | undefined): string { return `¥${(price / 100).toFixed(2)}`; } +// 优惠类型映射(与套餐列表、租户选择保持一致) +export const DISCOUNT_TYPE_MAP: Record = { + PERCENTAGE: '折扣', + FIXED: '立减', +}; + +export function getDiscountTypeText(type?: string): string { + if (!type) return '-'; + return DISCOUNT_TYPE_MAP[type] || type; +} + // 格式化日期 export function formatDate(date: string): string { return new Date(date).toLocaleString('zh-CN'); diff --git a/reading-platform-frontend/src/views/admin/collections/CollectionDetailView.vue b/reading-platform-frontend/src/views/admin/collections/CollectionDetailView.vue index 1515906..82bc92d 100644 --- a/reading-platform-frontend/src/views/admin/collections/CollectionDetailView.vue +++ b/reading-platform-frontend/src/views/admin/collections/CollectionDetailView.vue @@ -208,14 +208,7 @@ const getStatusText = (status: string) => { return collectionsApi.getCollectionStatusInfo(status).label; }; -const getDiscountTypeText = (type?: string) => { - if (!type) return '-'; - const typeMap: Record = { - PERCENTAGE: '折扣', - FIXED: '立减', - }; - return typeMap[type] || type; -}; +const getDiscountTypeText = collectionsApi.getDiscountTypeText; // 删除套餐 const handleDelete = async () => { diff --git a/reading-platform-frontend/src/views/admin/collections/CollectionListView.vue b/reading-platform-frontend/src/views/admin/collections/CollectionListView.vue index 88625ac..7767926 100644 --- a/reading-platform-frontend/src/views/admin/collections/CollectionListView.vue +++ b/reading-platform-frontend/src/views/admin/collections/CollectionListView.vue @@ -148,15 +148,7 @@ const columns = [ const getStatusColor = (status: string) => collectionsApi.getCollectionStatusInfo(status).color; const getStatusText = (status: string) => collectionsApi.getCollectionStatusInfo(status).label; const formatPrice = (price: number | null | undefined) => collectionsApi.formatPrice(price); - -const getDiscountTypeText = (type?: string) => { - if (!type) return '-'; - const typeMap: Record = { - PERCENTAGE: '折扣', - FIXED: '立减', - }; - return typeMap[type] || type; -}; +const getDiscountTypeText = collectionsApi.getDiscountTypeText; const parseGradeLevels = (gradeLevels: string | string[]) => { return collectionsApi.parseGradeLevels(gradeLevels); diff --git a/reading-platform-frontend/src/views/admin/courses/CourseReviewView.vue b/reading-platform-frontend/src/views/admin/courses/CourseReviewView.vue index 2009735..b9b9406 100644 --- a/reading-platform-frontend/src/views/admin/courses/CourseReviewView.vue +++ b/reading-platform-frontend/src/views/admin/courses/CourseReviewView.vue @@ -84,7 +84,7 @@ -
+ @@ -119,33 +119,37 @@ - - - - - 教学科学性符合要求 - - - 素材质量达标 - - - 标签分类准确 - - - 版权合规 - - - - + + + + + + + 教学科学性符合要求 + + + 素材质量达标 + + + 标签分类准确 + + + 版权合规 + + + + + - - - - - -
+ + + + +
@@ -159,6 +163,7 @@