归档总数
-
{pagination.total}
+
{archiveCount.count}
@@ -182,8 +204,8 @@ export default function WorkOrderArchivePage() {
-
当前页
-
{archivedOrders.length}
+
合格报告数量
+
{archiveCount.hcount}
@@ -194,22 +216,10 @@ export default function WorkOrderArchivePage() {
-
页码
-
{pagination.pageNum}/{Math.ceil(pagination.total / pagination.pageSize)}
+
不合格报告数量
+
{archiveCount.ncount}
-
-
-
-
-
-
-
-
-
-
每页数量
-
{pagination.pageSize}
-
-
+
diff --git a/src/components/pages/WorkOrdersPage.tsx b/src/components/pages/WorkOrdersPage.tsx
index c77eac0..b6c5f77 100644
--- a/src/components/pages/WorkOrdersPage.tsx
+++ b/src/components/pages/WorkOrdersPage.tsx
@@ -21,13 +21,13 @@ import {
Download,
Clock,
CheckCircle,
- AlertCircle,
User,
Calendar,
MapPin,
MoreHorizontal,
ChevronLeft,
ChevronRight,
+ Wrench,
} from "lucide-react"
import { apiGet, apiPost } from "../../lib/services/api"
@@ -106,9 +106,6 @@ interface Worker {
jobNum: string
}
-// 优先级数据类型接口 - API返回键值对格式
-type PriorityData = Record
-
// 工单状态枚举
enum WorkOrderStatus {
PENDING_ACCEPT = 1,
@@ -165,6 +162,23 @@ export default function WorkOrdersPage() {
const [totalWorkOrders, setTotalWorkOrders] = useState(0)
const [currentPage, setCurrentPage] = useState(1)
const [pageSize, setPageSize] = useState(10)
+ const [statusCounts, setStatusCounts] = useState>({})
+
+ // 获取工单状态统计
+ const fetchStatusCounts = async () => {
+ try {
+ const response = await apiGet('/back/orders/statusCount')
+ if (response.code === 200 && response.data) {
+ const counts: Record = {}
+ response.data.forEach((item: { num: string; status: number }) => {
+ counts[item.status] = parseInt(item.num) || 0
+ })
+ setStatusCounts(counts)
+ }
+ } catch (error) {
+ console.error('获取工单状态统计失败:', error)
+ }
+ }
// 获取工单列表
const fetchWorkOrders = async (page = currentPage, size = pageSize) => {
@@ -196,9 +210,10 @@ export default function WorkOrdersPage() {
fetchWorkOrders(1, size)
}
- // 组件加载时获取工单列表
+ // 组件加载时获取工单列表和状态统计
useEffect(() => {
fetchWorkOrders()
+ fetchStatusCounts()
}, [])
const getStatusBadge = (status: string | number) => {
@@ -224,29 +239,6 @@ export default function WorkOrdersPage() {
}
}
- const getPriorityBadge = (priority: string) => {
- switch (priority) {
- case "1":
- return 紧急
- case "2":
- return 高
- case "3":
- return 中
- case "4":
- return 低
- case "urgent":
- return 紧急
- case "high":
- return 高
- case "medium":
- return 中
- case "low":
- return 低
- default:
- return 未知
- }
- }
-
const getTypeBadge = (type: string) => {
switch (type) {
case "设备检测":
@@ -306,6 +298,7 @@ export default function WorkOrdersPage() {
{
setIsCreateDialogOpen(false)
fetchWorkOrders(currentPage, pageSize)
+ fetchStatusCounts()
}} />
@@ -317,8 +310,10 @@ export default function WorkOrdersPage() {
-
待分配
-
2
+
待接单
+
+ {statusCounts[1] || 0}
+
@@ -332,7 +327,9 @@ export default function WorkOrdersPage() {
进行中
-
1
+
+ {statusCounts[3] || 0}
+
@@ -345,11 +342,13 @@ export default function WorkOrdersPage() {
-
已完成
-
1
+
维修中
+
+ {statusCounts[4] || 0}
+
-
@@ -359,11 +358,13 @@ export default function WorkOrdersPage() {
-
逾期工单
-
0
+
已完成
+
+ {statusCounts[7] || 0}
+
-
diff --git a/src/lib/services/api.ts b/src/lib/services/api.ts
index 772d6dc..256699f 100644
--- a/src/lib/services/api.ts
+++ b/src/lib/services/api.ts
@@ -1,7 +1,9 @@
import { getUserToken, removeStorageItem, runOnClient } from '@/lib/utils/storage'
// API 客户端工具,统一处理请求和认证
-const API_BASE_URL = 'http://localhost:8080/api'
+const API_BASE_URL = 'http://116.204.124.80:8080/api'
+//const API_BASE_URL = 'http://localhost:8080/api'
+
// 获取存储的 token
function getToken(): string | null {
diff --git a/src/services/api.ts b/src/services/api.ts
index 1806e16..9a68d24 100644
--- a/src/services/api.ts
+++ b/src/services/api.ts
@@ -1,7 +1,9 @@
import { getUserToken, removeStorageItem, runOnClient } from '@/utils/storage'
// API 客户端工具,统一处理请求和认证
-const API_BASE_URL = 'http://localhost:8080/api'
+const API_BASE_URL = 'http://116.204.124.80:8080/api'
+//const API_BASE_URL = 'http://localhost:8080/api'
+
// 获取存储的 token
function getToken(): string | null {