固定表格操作列

This commit is contained in:
Eamon
2026-03-28 15:36:08 +08:00
parent f72b6bddd0
commit 8c26d81846
14 changed files with 13 additions and 21 deletions

View File

@@ -78,6 +78,8 @@ export default function AdminPage() {
cell: ({ row }) => <RolesCell roles={row.original.roles ?? []} />, cell: ({ row }) => <RolesCell roles={row.original.roles ?? []} />,
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => ( cell: ({ row }) => (
<div className="flex gap-2"> <div className="flex gap-2">

View File

@@ -81,7 +81,6 @@ export default function BatchPage() {
const table = useDataTable<Batch>((page, size) => const table = useDataTable<Batch>((page, size) =>
getPageBatch({ page, size, ...filters }), getPageBatch({ page, size, ...filters }),
) )
console.log(table, "使用记录")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
const result: APIFilterParams = {} const result: APIFilterParams = {}

View File

@@ -98,7 +98,6 @@ export default function BillingPage() {
useEffect(() => { useEffect(() => {
setLoading(true) setLoading(true)
console.log(skuProductCode, "skuProductCode")
getSkuList({ getSkuList({
product_code: skuProductCode, product_code: skuProductCode,
}) })
@@ -112,7 +111,6 @@ export default function BillingPage() {
resource_name: sku.name, resource_name: sku.name,
})), })),
) )
console.log(resp.data, "skus")
}) })
.catch(e => { .catch(e => {
console.error("获取套餐类型失败:", e) console.error("获取套餐类型失败:", e)
@@ -130,10 +128,7 @@ export default function BillingPage() {
getPageBill({ page, size, ...filters }), getPageBill({ page, size, ...filters }),
) )
console.log(table, "账单详情的table")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
console.log(data, "data")
const result: FilterValues = {} const result: FilterValues = {}
if (data.phone?.trim()) result.user_phone = data.phone.trim() if (data.phone?.trim()) result.user_phone = data.phone.trim()
if (data.inner_no?.trim()) result.trade_inner_no = data.inner_no.trim() if (data.inner_no?.trim()) result.trade_inner_no = data.inner_no.trim()

View File

@@ -89,13 +89,9 @@ export default function ChannelPage() {
const table = useDataTable<Channel>((page, size) => const table = useDataTable<Channel>((page, size) =>
getPageChannel({ page, size, ...filters }), getPageChannel({ page, size, ...filters }),
) )
console.log(table, "IP管理的table")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
console.log(data, "data")
const result: FilterValues = {} const result: FilterValues = {}
if (data.batch_no?.trim()) result.batch_no = data.batch_no.trim() if (data.batch_no?.trim()) result.batch_no = data.batch_no.trim()
if (data.user_phone?.trim()) result.user_phone = data.user_phone.trim() if (data.user_phone?.trim()) result.user_phone = data.user_phone.trim()
if (data.resource_no?.trim()) result.resource_no = data.resource_no.trim() if (data.resource_no?.trim()) result.resource_no = data.resource_no.trim()

View File

@@ -74,6 +74,8 @@ export default function CouponPage() {
format(new Date(row.original.updated_at), "yyyy-MM-dd HH:mm"), format(new Date(row.original.updated_at), "yyyy-MM-dd HH:mm"),
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => ( cell: ({ row }) => (
<div className="flex gap-2"> <div className="flex gap-2">

View File

@@ -108,8 +108,6 @@ export function AddUserDialog({
setIsLoadingDiscount(true) setIsLoadingDiscount(true)
try { try {
const res = await getAllProductDiscount() const res = await getAllProductDiscount()
console.log("折扣res", res)
if (res.success) { if (res.success) {
setDiscountList(res.data || []) setDiscountList(res.data || [])
} else { } else {
@@ -127,8 +125,6 @@ export function AddUserDialog({
setIsLoadingAdmin(true) setIsLoadingAdmin(true)
try { try {
const res = await getAllAdmin() const res = await getAllAdmin()
console.log(res, "管理员res")
if (res.success) { if (res.success) {
setAdminList(res.data || []) setAdminList(res.data || [])
} else { } else {

View File

@@ -90,7 +90,6 @@ export default function UserPage() {
) )
const table = useDataTable<Cust>(fetchUsers) const table = useDataTable<Cust>(fetchUsers)
console.log(table, "table")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
const result: FilterValues = {} const result: FilterValues = {}
@@ -458,6 +457,8 @@ export default function UserPage() {
format(new Date(row.original.created_at), "yyyy-MM-dd HH:mm"), format(new Date(row.original.created_at), "yyyy-MM-dd HH:mm"),
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => { cell: ({ row }) => {
const isEditing = editingRowId === row.original.id const isEditing = editingRowId === row.original.id

View File

@@ -57,6 +57,8 @@ export default function DiscountPage() {
format(new Date(row.original.updated_at), "yyyy-MM-dd HH:mm"), format(new Date(row.original.updated_at), "yyyy-MM-dd HH:mm"),
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => ( cell: ({ row }) => (
<div className="flex gap-2"> <div className="flex gap-2">

View File

@@ -48,8 +48,6 @@ function Products(props: {
const refresh = useCallback(async () => { const refresh = useCallback(async () => {
const resp = await getAllProduct() const resp = await getAllProduct()
console.log(resp, "产品管理的resp")
if (resp.success) { if (resp.success) {
setList(resp.data) setList(resp.data)
} }
@@ -141,6 +139,8 @@ function ProductSkus(props: { selected?: number }) {
accessorFn: row => format(row.updated_at, "yyyy-MM-dd HH:mm"), accessorFn: row => format(row.updated_at, "yyyy-MM-dd HH:mm"),
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => ( cell: ({ row }) => (
<div className="flex gap-1"> <div className="flex gap-1">

View File

@@ -1,6 +1,5 @@
"use client" "use client"
import { zodResolver } from "@hookform/resolvers/zod" import { zodResolver } from "@hookform/resolvers/zod"
import { ColumnDef } from "@tanstack/react-table"
import { format, isBefore, isSameDay } from "date-fns" import { format, isBefore, isSameDay } from "date-fns"
import { Box, Loader2, Timer } from "lucide-react" import { Box, Loader2, Timer } from "lucide-react"
import { Suspense, useCallback, useMemo, useState } from "react" import { Suspense, useCallback, useMemo, useState } from "react"

View File

@@ -57,6 +57,8 @@ export default function RolesPage() {
), ),
}, },
{ {
id: "action",
meta: { pin: "right" },
header: "操作", header: "操作",
cell: ({ row }) => ( cell: ({ row }) => (
<div className="flex gap-2"> <div className="flex gap-2">

View File

@@ -85,7 +85,6 @@ export default function TradePage() {
const table = useDataTable<Trade>((page, size) => const table = useDataTable<Trade>((page, size) =>
getPageTrade({ page, size, ...filters }), getPageTrade({ page, size, ...filters }),
) )
console.log(table, "交易明细的table")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
const result: FilterValues = {} const result: FilterValues = {}

View File

@@ -60,7 +60,6 @@ export default function UserPage() {
done: "用户已认领", done: "用户已认领",
fail: "用户认领失败", fail: "用户认领失败",
}) })
console.log(table, "table")
const onFilter = handleSubmit(data => { const onFilter = handleSubmit(data => {
const result: FilterValues = {} const result: FilterValues = {}

View File

@@ -4,7 +4,7 @@ export type User = {
id: number id: number
admin_id?: number admin_id?: number
admin?: Admin admin?: Admin
account: string phone: string
source: number source: number
has_password: boolean has_password: boolean
username: string username: string