修复购买到支付流程的接口和页面&数据展示

This commit is contained in:
Eamon
2025-12-30 18:35:37 +08:00
parent 419bc8bc3d
commit 69da682b49
17 changed files with 343 additions and 30 deletions

View File

@@ -0,0 +1,62 @@
"use client"
import { Suspense } from "react"
import { listResourceLong, listResourceShort } from "@/actions/resources"
import { DataTable, useDataTable } from "@/components/data-table"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import type { User } from "@/models/user"
export default function UserPage() {
return (
<div>
<Tabs defaultValue="short">
<TabsList className="bg-card p-1.5 rounded-lg">
<TabsTrigger
value="short"
className="w-30 h-9 data-[state=active]:bg-primary-muted text-base rounded-md"
>
</TabsTrigger>
<TabsTrigger
value="long"
className="w-30 h-9 data-[state=active]:bg-primary-muted text-base rounded-md"
>
</TabsTrigger>
</TabsList>
<TabsContent value="short" className="flex flex-col gap-4">
<ResourceList resourceType="short" />
</TabsContent>
<TabsContent value="long" className="flex flex-col gap-4">
<ResourceList resourceType="long" />
</TabsContent>
</Tabs>
</div>
)
}
interface ResourceListProps {
resourceType: "long" | "short"
}
function ResourceList({ resourceType }: ResourceListProps) {
const isLong = resourceType === "long"
const listFn = isLong ? listResourceLong : listResourceShort
const table = useDataTable<User>((page, size) => listFn({ page, size }))
console.log(table, "table")
return (
<Suspense>
<DataTable<User>
{...table}
columns={[
{ header: "ID", accessorKey: "id" },
{ header: "套餐编号", accessorKey: "resource_no" },
{ header: "状态", accessorKey: "active" },
{ header: "类型", accessorKey: "type" },
{ header: "创建时间", accessorKey: "created_at" },
{ header: "更新时间", accessorKey: "updated_at" },
]}
/>
</Suspense>
)
}