diff --git a/apps/web/src/components/admin/payment-form-modal.vue b/apps/web/src/components/admin/payment-form-modal.vue new file mode 100644 index 0000000..44b4855 --- /dev/null +++ b/apps/web/src/components/admin/payment-form-modal.vue @@ -0,0 +1,242 @@ + + + + + + + + 订阅 + 充值 + + + + + 金额数值——币种由你们约定,系统不预设 + + + + + + + + + + + + + + + + + + 原始 quota + 按美元换算 + + + + + {{ quotaPreview }} · 落库为原始 quota + + + + + + + + + + + diff --git a/apps/web/src/queries/admin.ts b/apps/web/src/queries/admin.ts index 4bc84a3..4ce3641 100644 --- a/apps/web/src/queries/admin.ts +++ b/apps/web/src/queries/admin.ts @@ -6,7 +6,7 @@ import { type KeyListFilters, } from "@/api/admin/keys.ts"; import { fetchOverview } from "@/api/admin/overview.ts"; -import { fetchEngine } from "@/api/admin/engine.ts"; +import { fetchEngine, fetchQpuLatest } from "@/api/admin/engine.ts"; import { createPayment, deletePayment, @@ -40,6 +40,13 @@ export function useEngine() { }); } +export function useQpuLatest() { + return useQuery({ + queryKey: qk.admin.qpuLatest(), + queryFn: fetchQpuLatest, + }); +} + export function useKeys(filters: () => KeyListFilters) { return useQuery({ queryKey: () => qk.admin.keys(filters()), diff --git a/apps/web/src/views/admin/payments-view.vue b/apps/web/src/views/admin/payments-view.vue index 4122d81..e6e371a 100644 --- a/apps/web/src/views/admin/payments-view.vue +++ b/apps/web/src/views/admin/payments-view.vue @@ -1,13 +1,193 @@ - + + 登记支付 + + + + - + + + 登记支付 + + + + + + + {{ record.kind === "subscription" ? "订阅" : "充值" }} + + + + {{ formatPaidAmount(record.paid_amount) }} + + + {{ timeText(record) }} + + + {{ record.subscription_id ?? "—" }} + + + + + + {{ record.remark || "—" }} + + + + onEdit(record)">编辑 + onDelete(record)" + > + 删除 + + + + + + +