From 9a52b51c89086cf4176a2bc9d754ec7aa12caea9 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Thu, 20 Aug 2026 16:10:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B4=A2=E5=8A=A1=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E7=9B=98UI=E4=B8=8E=E5=BF=AB=E6=8D=B7=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/features/admin/api/backup.ts | 5 +- .../admin/views/AdminDisputesView.vue | 4 +- .../admin/views/AdminFinanceDashboardView.vue | 1660 +++++++++++++---- .../admin/views/AdminListingReviewView.vue | 2 +- .../admin/views/AdminListingsView.vue | 5 +- .../admin/views/AdminMohongCategoriesView.vue | 8 +- .../admin/views/AdminMohongConfigView.vue | 9 +- .../admin/views/AdminMohongOrdersView.vue | 20 +- .../admin/views/AdminMohongProductsView.vue | 35 +- .../views/AdminOperatingExpensesView.vue | 161 +- .../listings/components/HomeFilters.vue | 13 +- frontend/src/features/mohong/api/mohong.ts | 9 +- .../mohong/components/MohongCartPanel.vue | 12 +- .../mohong/views/MobileMohongListView.vue | 11 +- .../views/MobileMohongOrderDetailView.vue | 9 +- .../features/mohong/views/MohongListView.vue | 2 - .../mohong/views/MohongOrderDetailView.vue | 9 +- .../components/OrderAccountSnapshot.vue | 6 +- .../src/features/orders/views/OrdersView.vue | 16 +- .../views/MobileSellerListingDetailView.vue | 8 +- .../seller/views/MobileSellerListingsView.vue | 8 +- .../seller/views/SellerListingDetailView.vue | 31 +- frontend/src/shared/utils/auditLabels.ts | 4 +- frontend/src/shared/utils/statusLabels.ts | 12 +- frontend/src/styles/home-filters.css | 5 +- 25 files changed, 1626 insertions(+), 438 deletions(-) diff --git a/frontend/src/features/admin/api/backup.ts b/frontend/src/features/admin/api/backup.ts index 96aa19d..073a59f 100644 --- a/frontend/src/features/admin/api/backup.ts +++ b/frontend/src/features/admin/api/backup.ts @@ -27,6 +27,9 @@ export async function fetchBackupSchedule() { } export async function updateBackupSchedule(payload: BackupSchedule) { - const { data } = await apiClient.put>('/admin/backups/schedule', payload) + const { data } = await apiClient.put>( + '/admin/backups/schedule', + payload + ) return data.data } diff --git a/frontend/src/features/admin/views/AdminDisputesView.vue b/frontend/src/features/admin/views/AdminDisputesView.vue index e1375e1..e279011 100644 --- a/frontend/src/features/admin/views/AdminDisputesView.vue +++ b/frontend/src/features/admin/views/AdminDisputesView.vue @@ -337,7 +337,9 @@ async function handleArbitrate() { result: result.value, remark: remark.value.trim(), amount_cent: - isCompletedResult.value && amount.value !== undefined ? yuanToCent(amount.value) : undefined, + isCompletedResult.value && amount.value !== undefined + ? yuanToCent(amount.value) + : undefined, actual_coin_consumed_m: isCompletedResult.value ? actualCoinConsumedM.value : undefined, actual_consumable_amount_cent: isCompletedResult.value ? yuanToCent(actualConsumableAmountYuan.value) diff --git a/frontend/src/features/admin/views/AdminFinanceDashboardView.vue b/frontend/src/features/admin/views/AdminFinanceDashboardView.vue index 0872599..704d51f 100644 --- a/frontend/src/features/admin/views/AdminFinanceDashboardView.vue +++ b/frontend/src/features/admin/views/AdminFinanceDashboardView.vue @@ -1,5 +1,19 @@ diff --git a/frontend/src/features/admin/views/AdminListingReviewView.vue b/frontend/src/features/admin/views/AdminListingReviewView.vue index 970dfde..6eed773 100644 --- a/frontend/src/features/admin/views/AdminListingReviewView.vue +++ b/frontend/src/features/admin/views/AdminListingReviewView.vue @@ -36,7 +36,7 @@ interface RiskItem { level: RiskLevel } -const defaultScreenshotURL = '/api/listings/default-upload-screenshot?v=webp1' +const _defaultScreenshotURL = '/api/listings/default-upload-screenshot?v=webp1' const rejectReasonOptions = [ '默认截图,需补充真实截图', '账号资产信息不完整', diff --git a/frontend/src/features/admin/views/AdminListingsView.vue b/frontend/src/features/admin/views/AdminListingsView.vue index baf028a..964c40f 100644 --- a/frontend/src/features/admin/views/AdminListingsView.vue +++ b/frontend/src/features/admin/views/AdminListingsView.vue @@ -209,10 +209,7 @@ function restoreListState() { if (typeof state.page === 'number' && state.page > 0) { currentPage.value = state.page } - if ( - typeof state.pageSize === 'number' && - [10, 20, 50, 100].includes(state.pageSize) - ) { + if (typeof state.pageSize === 'number' && [10, 20, 50, 100].includes(state.pageSize)) { pageSize.value = state.pageSize } } catch { diff --git a/frontend/src/features/admin/views/AdminMohongCategoriesView.vue b/frontend/src/features/admin/views/AdminMohongCategoriesView.vue index 6374f52..6c623b9 100644 --- a/frontend/src/features/admin/views/AdminMohongCategoriesView.vue +++ b/frontend/src/features/admin/views/AdminMohongCategoriesView.vue @@ -78,11 +78,9 @@ async function handleSave() { async function handleDelete(item: MohongCategory) { try { - await ElMessageBox.confirm( - `确认删除分类「${item.name}」?其下商品将变为未分类。`, - '提示', - { type: 'warning' } - ) + await ElMessageBox.confirm(`确认删除分类「${item.name}」?其下商品将变为未分类。`, '提示', { + type: 'warning', + }) await deleteAdminMohongCategory(item.id) ElMessage.success('已删除') await load() diff --git a/frontend/src/features/admin/views/AdminMohongConfigView.vue b/frontend/src/features/admin/views/AdminMohongConfigView.vue index bb62558..47023e6 100644 --- a/frontend/src/features/admin/views/AdminMohongConfigView.vue +++ b/frontend/src/features/admin/views/AdminMohongConfigView.vue @@ -64,7 +64,9 @@ async function uploadQrcode(file: File) {

撞车配置

-

全局默认固定二维码与订单复制模板。商品可覆盖默认二维码;支付后用户在订单详情扫码并复制信息联系客服。

+

+ 全局默认固定二维码与订单复制模板。商品可覆盖默认二维码;支付后用户在订单详情扫码并复制信息联系客服。 +

保存配置
@@ -91,8 +93,9 @@ async function uploadQrcode(file: File) {
可用变量:{{order_no}} {{created_at}} {{items}}(多商品明细) {{product_title}} - {{quantity}} {{amount}} {{buyer_name}} - {{buyer_phone}} {{unit}} + {{quantity}} {{amount}} + {{buyer_name}} {{buyer_phone}} + {{unit}}
diff --git a/frontend/src/features/admin/views/AdminMohongOrdersView.vue b/frontend/src/features/admin/views/AdminMohongOrdersView.vue index 5f33122..5d39446 100644 --- a/frontend/src/features/admin/views/AdminMohongOrdersView.vue +++ b/frontend/src/features/admin/views/AdminMohongOrdersView.vue @@ -128,9 +128,7 @@ function canComplete(row: MohongOrder) { } function canCancel(row: MohongOrder) { - return ( - row.status === 'pending_payment' || row.status === 'paid' || row.status === 'receiving' - ) + return row.status === 'pending_payment' || row.status === 'paid' || row.status === 'receiving' } function canRefund(row: MohongOrder) { @@ -158,7 +156,13 @@ async function copyText(text: string) {
- + @@ -167,7 +171,7 @@ async function copyText(text: string) { - 查询 + 查询
@@ -262,7 +266,11 @@ async function copyText(text: string) {
二维码快照 - +
diff --git a/frontend/src/features/admin/views/AdminMohongProductsView.vue b/frontend/src/features/admin/views/AdminMohongProductsView.vue index d912471..7b9fb92 100644 --- a/frontend/src/features/admin/views/AdminMohongProductsView.vue +++ b/frontend/src/features/admin/views/AdminMohongProductsView.vue @@ -207,7 +207,13 @@ function removeGallery(url: string) {
- + @@ -216,7 +222,7 @@ function removeGallery(url: string) { - 查询 + 查询
@@ -273,7 +279,12 @@ function removeGallery(url: string) { > - + @@ -288,7 +299,11 @@ function removeGallery(url: string) { style="width: 80px; height: 80px; border-radius: 8px" fit="cover" /> - + 上传封面 @@ -299,7 +314,11 @@ function removeGallery(url: string) { - + 添加图片 @@ -331,7 +350,11 @@ function removeGallery(url: string) { - +
- + - + @@ -249,7 +259,12 @@ function statusType(status: string) { - + @@ -264,13 +279,17 @@ function statusType(status: string) { - + - + @@ -280,7 +299,9 @@ function statusType(status: string) {