From 9cc959afc4842f2aebb362274799f35e1cdfc245 Mon Sep 17 00:00:00 2001 From: yml Date: Tue, 9 Jun 2026 20:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E6=95=9B=E5=89=8D=E7=AB=AF=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E8=A1=A8=E5=8D=95=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/features/auth/api/auth.ts | 2 +- frontend/src/features/auth/api/realname.ts | 2 +- .../src/features/disputes/api/disputes.ts | 2 +- frontend/src/features/orders/api/orders.ts | 12 +-- .../orders/composables/useOrderSnapshot.ts | 18 ++-- .../orders/composables/useSettlement.ts | 36 ++++---- .../orders/views/MobileOrderDetailView.vue | 42 +++++----- .../features/orders/views/OrderDetailView.vue | 42 +++++----- .../seller/composables/usePublishDraft.ts | 4 +- .../seller/composables/usePublishForm.ts | 20 ++--- .../views/MobileSellerListingCreateView.vue | 2 +- .../seller/views/SellerListingCreateView.vue | 6 +- .../composables/usePricingCalculator.ts | 2 +- frontend/src/shared/types/publish.ts | 2 +- frontend/src/shared/utils/money.ts | 7 -- frontend/src/shared/utils/pricing.ts | 6 +- frontend/src/shared/utils/statusLabels.ts | 2 +- frontend/src/types/publish.ts | 44 ---------- frontend/src/types/status.ts | 84 ------------------- 19 files changed, 103 insertions(+), 232 deletions(-) delete mode 100644 frontend/src/types/publish.ts delete mode 100644 frontend/src/types/status.ts diff --git a/frontend/src/features/auth/api/auth.ts b/frontend/src/features/auth/api/auth.ts index 588df0e..8ab0169 100644 --- a/frontend/src/features/auth/api/auth.ts +++ b/frontend/src/features/auth/api/auth.ts @@ -1,6 +1,6 @@ import { apiClient } from '@/shared/api/client' import type { ApiResponse } from '@/shared/types/types' -import type { RealnameStatusValue, RiskStatus, UserStatus } from '@/types/status' +import type { RealnameStatusValue, RiskStatus, UserStatus } from '@/shared/types/status' export interface AuthUser { id: number diff --git a/frontend/src/features/auth/api/realname.ts b/frontend/src/features/auth/api/realname.ts index b31cab5..f1b19f5 100644 --- a/frontend/src/features/auth/api/realname.ts +++ b/frontend/src/features/auth/api/realname.ts @@ -1,6 +1,6 @@ import { apiClient } from '@/shared/api/client' import type { ApiResponse } from '@/shared/types/types' -import type { RealnameStatusValue } from '@/types/status' +import type { RealnameStatusValue } from '@/shared/types/status' export interface RealnameStatus { status: RealnameStatusValue diff --git a/frontend/src/features/disputes/api/disputes.ts b/frontend/src/features/disputes/api/disputes.ts index 50410b3..2eb849d 100644 --- a/frontend/src/features/disputes/api/disputes.ts +++ b/frontend/src/features/disputes/api/disputes.ts @@ -1,7 +1,7 @@ import { apiClient } from '@/shared/api/client' import type { ApiResponse, PaginatedResult } from '@/shared/types/types' -import type { DisputeStatus } from '@/types/status' +import type { DisputeStatus } from '@/shared/types/status' export interface Dispute { id: number diff --git a/frontend/src/features/orders/api/orders.ts b/frontend/src/features/orders/api/orders.ts index e1fdf9d..a4fb4a8 100644 --- a/frontend/src/features/orders/api/orders.ts +++ b/frontend/src/features/orders/api/orders.ts @@ -111,10 +111,10 @@ export interface PostRentalNotice { export interface SubmitCheckoutPayload { content: string - consumable_amount?: number + consumableAmountYuan?: number coin_consumed_m: number - other_amount?: number - deposit_deduct_amount?: number + otherAmountYuan?: number + depositDeductAmountYuan?: number evidence_urls: string[] reason?: string } @@ -145,10 +145,10 @@ export interface RefundStatus { function toCheckoutRequest(payload: SubmitCheckoutPayload): SubmitCheckoutRequest { return { content: payload.content, - consumable_amount_cent: yuanToCent(payload.consumable_amount), + consumable_amount_cent: yuanToCent(payload.consumableAmountYuan), coin_consumed_m: payload.coin_consumed_m, - other_amount_cent: yuanToCent(payload.other_amount), - deposit_deduct_amount_cent: yuanToCent(payload.deposit_deduct_amount), + other_amount_cent: yuanToCent(payload.otherAmountYuan), + deposit_deduct_amount_cent: yuanToCent(payload.depositDeductAmountYuan), evidence_urls: payload.evidence_urls, reason: payload.reason, } diff --git a/frontend/src/features/orders/composables/useOrderSnapshot.ts b/frontend/src/features/orders/composables/useOrderSnapshot.ts index a83822e..96fee4c 100644 --- a/frontend/src/features/orders/composables/useOrderSnapshot.ts +++ b/frontend/src/features/orders/composables/useOrderSnapshot.ts @@ -78,16 +78,16 @@ export function calculateCheckoutTotal( } export function calculateCounterTotal(counterForm: { - consumable_amount: number + consumableAmountYuan: number coin_consumed_m: number - other_amount: number - deposit_deduct_amount: number + otherAmountYuan: number + depositDeductAmountYuan: number }): number { return roundMoney( - counterForm.consumable_amount + + counterForm.consumableAmountYuan + counterForm.coin_consumed_m + - counterForm.other_amount + - counterForm.deposit_deduct_amount + counterForm.otherAmountYuan + + counterForm.depositDeductAmountYuan ) } @@ -127,10 +127,10 @@ export function hydrateCounterFormFromOrder(order: Order | null) { try { const info = JSON.parse(order.counter_info) as Record return { - consumable_amount: readNumber(info.consumable_amount), + consumableAmountYuan: readNumber(info.consumableAmountYuan), coin_consumed_m: readNumber(info.coin_consumed_m), - other_amount: readNumber(info.other_amount), - deposit_deduct_amount: readNumber(info.deposit_deduct_amount), + otherAmountYuan: readNumber(info.otherAmountYuan), + depositDeductAmountYuan: readNumber(info.depositDeductAmountYuan), reason: String(info.reason || ''), evidenceText: String(info.evidence || ''), } diff --git a/frontend/src/features/orders/composables/useSettlement.ts b/frontend/src/features/orders/composables/useSettlement.ts index ff19781..5802e87 100644 --- a/frontend/src/features/orders/composables/useSettlement.ts +++ b/frontend/src/features/orders/composables/useSettlement.ts @@ -4,17 +4,17 @@ import type { Order } from '../api/orders' export interface CheckoutForm { content: string - consumable_amount: number + consumableAmountYuan: number coin_consumed_m: number - other_amount: number + otherAmountYuan: number evidenceText: string } export interface CounterForm { - consumable_amount: number + consumableAmountYuan: number coin_consumed_m: number - other_amount: number - deposit_deduct_amount: number + otherAmountYuan: number + depositDeductAmountYuan: number reason: string evidenceText: string } @@ -32,17 +32,17 @@ export function useSettlement(order: Ref) { const checkoutForm = ref({ content: '', - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, + otherAmountYuan: 0, evidenceText: '', }) const counterForm = ref({ - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, - deposit_deduct_amount: 0, + otherAmountYuan: 0, + depositDeductAmountYuan: 0, reason: '', evidenceText: '', }) @@ -58,9 +58,9 @@ export function useSettlement(order: Ref) { try { await submitCheckout(order.value.id, { content: checkoutForm.value.content.trim(), - consumable_amount: checkoutForm.value.consumable_amount, + consumableAmountYuan: checkoutForm.value.consumableAmountYuan, coin_consumed_m: checkoutForm.value.coin_consumed_m, - other_amount: checkoutForm.value.other_amount, + otherAmountYuan: checkoutForm.value.otherAmountYuan, evidence_urls: linesToList(checkoutForm.value.evidenceText), }) onSuccess?.() @@ -95,10 +95,10 @@ export function useSettlement(order: Ref) { const reasonText = counterForm.value.reason.trim() await counterCheckout(order.value.id, { content: reasonText, - consumable_amount: counterForm.value.consumable_amount, + consumableAmountYuan: counterForm.value.consumableAmountYuan, coin_consumed_m: counterForm.value.coin_consumed_m, - other_amount: counterForm.value.other_amount, - deposit_deduct_amount: counterForm.value.deposit_deduct_amount, + otherAmountYuan: counterForm.value.otherAmountYuan, + depositDeductAmountYuan: counterForm.value.depositDeductAmountYuan, reason: reasonText, evidence_urls: linesToList(counterForm.value.evidenceText), }) @@ -119,10 +119,10 @@ export function useSettlement(order: Ref) { const reasonText = reason.trim() await counterCheckout(order.value.id, { content: reasonText, - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, - deposit_deduct_amount: 0, + otherAmountYuan: 0, + depositDeductAmountYuan: 0, reason: reasonText, evidence_urls: [], }) diff --git a/frontend/src/features/orders/views/MobileOrderDetailView.vue b/frontend/src/features/orders/views/MobileOrderDetailView.vue index a45f91f..dea0793 100644 --- a/frontend/src/features/orders/views/MobileOrderDetailView.vue +++ b/frontend/src/features/orders/views/MobileOrderDetailView.vue @@ -51,17 +51,17 @@ const listingCode = computed(() => const handoffContent = ref('') const checkoutForm = ref({ content: '', - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, + otherAmountYuan: 0, evidenceText: '', }) const resourceUsage = ref>({}) const counterForm = ref({ - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, - deposit_deduct_amount: 0, + otherAmountYuan: 0, + depositDeductAmountYuan: 0, reason: '', evidenceText: '', }) @@ -231,19 +231,19 @@ async function handleSubmitCheckout() { returning.value = true try { const consumableAmount = resourceChargeAmount.value - checkoutForm.value.consumable_amount = consumableAmount + checkoutForm.value.consumableAmountYuan = consumableAmount await submitCheckout(order.value.id, { content: checkoutContentWithSummary(), - consumable_amount: consumableAmount, + consumableAmountYuan: consumableAmount, coin_consumed_m: checkoutForm.value.coin_consumed_m, - other_amount: checkoutForm.value.other_amount, + otherAmountYuan: checkoutForm.value.otherAmountYuan, evidence_urls: linesToList(checkoutForm.value.evidenceText), }) checkoutForm.value = { content: '', - consumable_amount: 0, + consumableAmountYuan: 0, coin_consumed_m: 0, - other_amount: 0, + otherAmountYuan: 0, evidenceText: '', } resourceUsage.value = {} @@ -283,10 +283,10 @@ async function handleCounterCheckout() { const reasonText = counterForm.value.reason.trim() await counterCheckout(order.value.id, { content: reasonText, - consumable_amount: counterForm.value.consumable_amount, + consumableAmountYuan: counterForm.value.consumableAmountYuan, coin_consumed_m: counterForm.value.coin_consumed_m, - other_amount: counterForm.value.other_amount, - deposit_deduct_amount: counterForm.value.deposit_deduct_amount, + otherAmountYuan: counterForm.value.otherAmountYuan, + depositDeductAmountYuan: counterForm.value.depositDeductAmountYuan, reason: reasonText, evidence_urls: linesToList(counterForm.value.evidenceText), }) @@ -592,10 +592,10 @@ function isRecord(value: unknown): value is Record { function hydrateCounterForm() { if (!order.value?.checkout) return const checkout = order.value.checkout - counterForm.value.consumable_amount = amountYuan(checkout.consumable_amount_cent) + counterForm.value.consumableAmountYuan = amountYuan(checkout.consumable_amount_cent) counterForm.value.coin_consumed_m = checkout.coin_consumed_m - counterForm.value.other_amount = amountYuan(checkout.other_amount_cent) - counterForm.value.deposit_deduct_amount = amountYuan(checkout.deposit_deduct_amount_cent) + counterForm.value.otherAmountYuan = amountYuan(checkout.other_amount_cent) + counterForm.value.depositDeductAmountYuan = amountYuan(checkout.deposit_deduct_amount_cent) } function linesToList(value: string) { @@ -882,7 +882,7 @@ async function copyListingCode() {