diff --git a/SuperAdmin/app/dashboard/projects/[id]/page.tsx b/SuperAdmin/app/dashboard/projects/[id]/page.tsx
index 0fe60923..f5b9e064 100644
--- a/SuperAdmin/app/dashboard/projects/[id]/page.tsx
+++ b/SuperAdmin/app/dashboard/projects/[id]/page.tsx
@@ -11,6 +11,7 @@ import { ArrowLeft, Edit } from "lucide-react"
import { toast } from "sonner"
import { use } from "react"
import Image from "next/image"
+import { Badge } from "@/components/ui/badge"
interface ProjectProfile {
id: number
@@ -112,15 +113,7 @@ export default function ProjectDetailPage({ params }: { params: { id: string } }
if (activeTab === "accounts") {
setIsSubUsersLoading(true)
try {
- const response = await fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/company/subusers`, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify({
- companyId: parseInt(id)
- })
- })
+ const response = await fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/company/subusers?companyId=${id}`)
const data = await response.json()
if (data.code === 200) {
@@ -243,32 +236,53 @@ export default function ProjectDetailPage({ params }: { params: { id: string } }
) : devices.length === 0 ? (
暂无数据
) : (
-
-
-
- 设备名称
- 设备型号
- 品牌
- IMEI
- 设备状态
- 微信状态
- 微信好友数量
-
-
-
- {devices.map((device) => (
-
- {device.memo}
- {device.model}
- {device.brand}
- {device.imei}
- {device.alive === 1 ? "在线" : "离线"}
- {device.wAlive === 1 ? "在线" : device.wAlive === 0 ? "离线" : "未登录微信"}
- {device.friendCount || 0}
+ <>
+
+
+
+ 设备名称
+ 设备型号
+ 品牌
+ IMEI
+ 设备状态
+ 微信状态
+ 微信好友数量
- ))}
-
-
+
+
+ {devices.map((device) => (
+
+ {device.memo}
+ {device.model}
+ {device.brand}
+ {device.imei}
+
+
+ {device.alive === 1 ? "在线" : "离线"}
+
+
+
+
+ {device.wAlive === 1 ? "已登录" : device.wAlive === 0 ? "已登出" : "未登录微信"}
+
+
+ {device.friendCount || 0}
+
+ ))}
+
+
+
+ 共 {devices.length} 条数据
+
+ >
)}
@@ -286,42 +300,51 @@ export default function ProjectDetailPage({ params }: { params: { id: string } }
) : subUsers.length === 0 ? (
暂无数据
) : (
-
-
-
- 头像
- 账号ID
- 登录账号
- 昵称
- 手机号
- 状态
- 账号类型
- 创建时间
-
-
-
- {subUsers.map((user) => (
-
-
-
-
- {user.id}
- {user.account}
- {user.username}
- {user.phone}
- {user.status === 1 ? "登录" : "禁用"}
- {user.typeId === 1 ? "操盘手" : "门店顾问"}
- {user.createTime}
+ <>
+
+
+
+ 头像
+ 账号ID
+ 登录账号
+ 昵称
+ 手机号
+ 状态
+ 账号类型
+ 创建时间
- ))}
-
-
+
+
+ {subUsers.map((user) => (
+
+
+
+
+ {user.id}
+ {user.account}
+ {user.username}
+ {user.phone}
+
+
+ {user.status === 1 ? "启用" : "禁用"}
+
+
+ {user.typeId === 1 ? "操盘手" : "门店顾问"}
+ {user.createTime}
+
+ ))}
+
+
+
+ 共 {subUsers.length} 条数据
+
+ >
)}
diff --git a/SuperAdmin/app/dashboard/projects/page.tsx b/SuperAdmin/app/dashboard/projects/page.tsx
index 609c3680..6caca435 100644
--- a/SuperAdmin/app/dashboard/projects/page.tsx
+++ b/SuperAdmin/app/dashboard/projects/page.tsx
@@ -2,6 +2,7 @@
import { useState, useEffect } from "react"
import Link from "next/link"
+import { useSearchParams, useRouter, usePathname } from "next/navigation"
import { Button } from "@/components/ui/button"
import { Input } from "@/components/ui/input"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
@@ -32,17 +33,39 @@ interface Project {
}
export default function ProjectsPage() {
+ const searchParams = useSearchParams()
+ const router = useRouter()
+ const pathname = usePathname()
const [searchTerm, setSearchTerm] = useState("")
const [projects, setProjects] = useState([])
const [isLoading, setIsLoading] = useState(true)
- const [currentPage, setCurrentPage] = useState(1)
+ const [currentPage, setCurrentPage] = useState(parseInt(searchParams.get("page") || "1"))
const [totalPages, setTotalPages] = useState(1)
- const [pageSize, setPageSize] = useState(10)
+ const [pageSize, setPageSize] = useState(parseInt(searchParams.get("pageSize") || "10"))
const [totalItems, setTotalItems] = useState(0)
const [deleteDialogOpen, setDeleteDialogOpen] = useState(false)
const [deletingProjectId, setDeletingProjectId] = useState(null)
const [isDeleting, setIsDeleting] = useState(false)
+ // 从URL更新状态
+ useEffect(() => {
+ const page = parseInt(searchParams.get("page") || "1")
+ const size = parseInt(searchParams.get("pageSize") || "10")
+ setCurrentPage(page)
+ setPageSize(size)
+ }, [searchParams])
+
+ // 更新URL查询参数
+ const updateUrlParams = (page: number, size: number) => {
+ const params = new URLSearchParams()
+ params.set("page", page.toString())
+ params.set("pageSize", size.toString())
+ if (searchTerm) {
+ params.set("search", searchTerm)
+ }
+ router.replace(`${pathname}?${params.toString()}`)
+ }
+
// 获取项目列表
useEffect(() => {
const fetchProjects = async () => {
@@ -72,12 +95,21 @@ export default function ProjectsPage() {
}
fetchProjects()
- }, [currentPage, pageSize])
+ // 更新URL参数
+ updateUrlParams(currentPage, pageSize)
+ }, [currentPage, pageSize, pathname])
// 处理页面大小变化
const handlePageSizeChange = (newSize: number) => {
setPageSize(newSize)
setCurrentPage(1)
+ updateUrlParams(1, newSize)
+ }
+
+ // 处理页面变化
+ const handlePageChange = (newPage: number) => {
+ setCurrentPage(newPage)
+ updateUrlParams(newPage, pageSize)
}
const handleDeleteClick = (projectId: number) => {
@@ -237,7 +269,7 @@ export default function ProjectsPage() {
totalPages={totalPages}
pageSize={pageSize}
totalItems={totalItems}
- onPageChange={setCurrentPage}
+ onPageChange={handlePageChange}
onPageSizeChange={handlePageSizeChange}
/>