修复前端迁移后的类型错误

This commit is contained in:
yml2213
2026-06-04 11:07:34 +08:00
parent eb6aed7e56
commit 75e849a91a
23 changed files with 1561 additions and 29 deletions
@@ -131,11 +131,10 @@ export function useOrderDetail() {
if (!order.value) return false
disputing.value = true
try {
await createDispute({
order_id: order.value.id,
await createDispute(order.value.id, {
type: disputeType.value,
description: disputeDescription.value.trim(),
evidence: disputeEvidenceText.value.trim(),
evidence_urls: linesToList(disputeEvidenceText.value),
})
await loadOrder()
return true
@@ -180,6 +179,13 @@ export function useOrderDetail() {
return stepMap[status] ?? 0
}
function linesToList(value: string) {
return value
.split('\n')
.map((line) => line.trim())
.filter(Boolean)
}
onMounted(loadOrder)
return {
@@ -41,7 +41,7 @@ export function readSnapshotResources(order: Order | null): SnapshotResource[] {
label: String(item.label || ''),
quantity: readNumber(item.quantity),
unitPrice: readNumber(item.price),
chargeMode: item.charge_mode === '收费' ? '收费' : '赠送',
chargeMode: (item.charge_mode === '收费' ? '收费' : '赠送') as SnapshotResource['chargeMode'],
}))
.filter((item) => item.key && item.label)
}
@@ -108,7 +108,7 @@ export function hydrateResourceUsageFromOrder(
if (consumedResources) {
resources.forEach((res) => {
if (res.key in consumedResources) {
usage[res.key] = consumedResources[res.key]
usage[res.key] = consumedResources[res.key] ?? 0
}
})
}
@@ -1,4 +1,4 @@
import { ref, computed } from 'vue'
import { ref, type Ref } from 'vue'
import { submitCheckout, acceptCheckout, counterCheckout, confirmCheckout } from '../api/orders'
import type { Order } from '../api/orders'
@@ -23,7 +23,7 @@ export interface CounterForm {
* 订单结算 Composable
* 负责处理订单结算流程:提交结算、接受结算、反驳结算、确认结算
*/
export function useSettlement(order: globalThis.Ref<Order | null>) {
export function useSettlement(order: Ref<Order | null>) {
const returning = ref(false)
const acceptingCheckout = ref(false)
const countering = ref(false)
@@ -61,7 +61,7 @@ export function useSettlement(order: globalThis.Ref<Order | null>) {
consumable_amount: checkoutForm.value.consumable_amount,
coin_consumed_m: checkoutForm.value.coin_consumed_m,
other_amount: checkoutForm.value.other_amount,
evidence: checkoutForm.value.evidenceText.trim(),
evidence_urls: linesToList(checkoutForm.value.evidenceText),
})
onSuccess?.()
return true
@@ -98,7 +98,7 @@ export function useSettlement(order: globalThis.Ref<Order | null>) {
other_amount: counterForm.value.other_amount,
deposit_deduct_amount: counterForm.value.deposit_deduct_amount,
reason: counterForm.value.reason.trim(),
evidence: counterForm.value.evidenceText.trim(),
evidence_urls: linesToList(counterForm.value.evidenceText),
})
onSuccess?.()
return true
@@ -120,7 +120,7 @@ export function useSettlement(order: globalThis.Ref<Order | null>) {
other_amount: 0,
deposit_deduct_amount: 0,
reason: reason.trim(),
evidence: '',
evidence_urls: [],
})
onSuccess?.()
return true
@@ -144,6 +144,13 @@ export function useSettlement(order: globalThis.Ref<Order | null>) {
}
}
function linesToList(value: string) {
return value
.split('\n')
.map((line) => line.trim())
.filter(Boolean)
}
return {
// Loading states
returning,