From 630b0bf9ba6dba20a08b9042b9a11bc860e323d4 Mon Sep 17 00:00:00 2001 From: longdayi <13477510+longdayilongdayi@user.noreply.gitee.com> Date: Sat, 25 Jan 2025 23:29:11 +0800 Subject: [PATCH] 01252329 --- .../web/src/app/main/letter/progress/page.tsx | 198 +++++++++--------- 1 file changed, 103 insertions(+), 95 deletions(-) diff --git a/apps/web/src/app/main/letter/progress/page.tsx b/apps/web/src/app/main/letter/progress/page.tsx index eef95c6..274b5c9 100644 --- a/apps/web/src/app/main/letter/progress/page.tsx +++ b/apps/web/src/app/main/letter/progress/page.tsx @@ -1,125 +1,133 @@ -import { useState } from "react"; -import { Input, Button, Card, Steps, Tag, Spin, message } from "antd"; +import { useEffect, useState } from "react"; +import { Input, Button, Card, Steps, Tag, Spin, message, Empty } from "antd"; import { SearchOutlined, SafetyCertificateOutlined } from "@ant-design/icons"; import ProgressHeader from "./ProgressHeader"; import { api } from "@nice/client"; import { LetterBadge } from "@web/src/components/models/post/LetterBadge"; import dayjs from "dayjs"; +import { LetterCard } from "@web/src/components/models/post/LetterCard"; +import { postDetailSelect } from "@nice/common"; -const { Step } = Steps; export default function LetterProgressPage() { - const [letterId, setLetterId] = useState(); - const { data } = api.post.findFirst.useQuery({ + const [letterId, setLetterId] = useState(); + const { data, isFetching, error } = api.post.findFirst.useQuery({ where: { id: letterId - } + }, + select: postDetailSelect }, { enabled: Boolean(letterId) }) + useEffect(() => { + if (error) { + message.error('查询失败,请检查信件编码是否正确'); + } + }, [error]); + return (
+ className="min-h-screen shadow-elegant border-2 border-white rounded-xl bg-gradient-to-b from-slate-100 to-slate-50"> - {/* Main Content */} -
-
-
- - } - size="large" - value={letterId} - onChange={(e) => setLetterId(e.target.value)} - placeholder="请输入信件编码查询处理状态" - className="border border-gray-300" - /> -
+
+
+ + } + size="large" + value={letterId} + onChange={(e) => setLetterId(e.target.value)} + placeholder="请输入信件编码查询处理状态" + />
{/* Results Section */} - {data && ( - -
- {/* Header */} -
-

- 处理进度 -

- -
+ + {data ? ( + <> +
+ {/* Header */} +
+

+ 信件处理进度追踪 +

+ +
- {/* Details Grid */} -
-
-

- Ticket ID -

-

- {data.id} -

+ {/* Details Grid */} +
+
+

+ 信件编号 +

+

+ {data.id} +

+
+
+

+ 提交日期 +

+

+ {dayjs(data.createdAt).format('YYYY-MM-DD HH:mm:ss')} +

+
+
+

+ 最后更新 +

+

+ {dayjs(data.updatedAt).format('YYYY-MM-DD HH:mm:ss')} +

+
+
+

+ 标题 +

+

+ {data.title} +

+
-
-

- 提交日期 -

-

- {dayjs(data.createdAt).format('YYYY-MM-DD HH:mm:ss')} -

-
-
-

- 最后更新 -

-

- {dayjs(data.updatedAt).format('YYYY-MM-DD HH:mm:ss')} -

-
-
-

- 标题 -

-

- {data.title} -

-
-
- {/* Progress Timeline */} -
- - } + {/* Progress Timeline */} +
+ , + }, + { + title: '处理中', + description: '正在审核处理', + icon: , + }, + { + title: '已办结', + description: '信件处理完成', + icon: , + }, + ]} /> - } - /> - } - /> - +
+ + ) : !isFetching && letterId && ( +
+ +
- - )} + )} +
);