完善评查详情

This commit is contained in:
2025-04-18 15:41:43 +08:00
parent 119f9197b2
commit 01d93522b8
25 changed files with 1731 additions and 511 deletions
+46 -8
View File
@@ -8,6 +8,8 @@ import { FileTag, links as fileTagLinks } from "~/components/ui/FileTag";
import { Tag } from "~/components/ui/Tag";
import homeStyles from "~/styles/pages/home.css?url";
import { getDocuments, type DocumentUI } from "~/api/files/documents";
import { useState, useEffect } from "react";
import dayjs from 'dayjs';
// 文件处理状态选项
const fileProcessingStatusOptions = [
@@ -87,33 +89,69 @@ export async function loader() {
export default function Index() {
const { stats, recentFiles } = useLoaderData<typeof loader>();
const [currentDateTime, setCurrentDateTime] = useState<{
date: string;
time: string;
}>({
date: dayjs().format('YYYY年MM月DD日'),
time: dayjs().format('HH:mm:ss')
});
// 更新当前时间
useEffect(() => {
// 使用dayjs格式化日期和时间
const updateDateTime = () => {
const now = dayjs();
setCurrentDateTime({
date: now.format('YYYY年MM月DD日'),
time: now.format('HH:mm:ss')
});
};
// 立即更新一次
updateDateTime();
// 设置计时器,每秒更新一次
const timerID = setInterval(updateDateTime, 1000);
// 清理函数,组件卸载时清除计时器
return () => clearInterval(timerID);
}, []);
return (
<div className="dashboard-container">
{/* 页面标识 */}
{/* 页面头部 */}
<div className="flex justify-between items-center mb-4">
<h2 className="text-xl font-medium"></h2>
<div className="text-sm text-gray-500">
<span id="current-date">{currentDateTime.date}</span>
<span className="mx-2">|</span>
<span id="current-time">{currentDateTime.time}</span>
</div>
</div>
{/* 统计卡片区域 */}
<Card title="统计信息" icon="ri-bar-chart-line" className="mt-6 transition-all duration-200 hover:shadow-[0_4px_15px_rgba(0,0,0,0.1)]">
<div className="stat-grid ">
<StatCard
title="文件"
title="今日待审文件"
value={stats.totalFiles}
icon="ri-file-list-3-line"
/>
<StatCard
title="已审核"
title="本月已审核文件"
value={stats.reviewedFiles}
icon="ri-check-double-line"
trend={{ value: 5.2, isUp: true }}
/>
<StatCard
title="审核"
title="审核通过率"
value={stats.pendingFiles}
icon="ri-time-line"
trend={{ value: 2.1, isUp: false }}
/>
<StatCard
title="通过率"
title="问题检出数"
value={`${stats.passRate}%`}
icon="ri-pie-chart-line"
trend={{ value: 1.5, isUp: true }}
@@ -125,10 +163,10 @@ export default function Index() {
<Card title="快捷访问" icon="ri-speed-line" className="mt-6 transition-all duration-200 hover:shadow-[0_4px_15px_rgba(0,0,0,0.1)]">
<div className="shortcut-grid">
<ShortcutItem icon="ri-upload-cloud-line" label="上传文件" to="/files/upload" />
<ShortcutItem icon="ri-file-list-3-line" label="文列表" to="/documents" />
<ShortcutItem icon="ri-list-check-2" label="评查点管理" to="/rules" />
<ShortcutItem icon="ri-file-list-3-line" label="文列表" to="/documents" />
<ShortcutItem icon="ri-list-check-3" label="评查点列表" to="/rules" />
<ShortcutItem icon="ri-folder-open-line" label="评查点分组" to="/rule-groups" />
<ShortcutItem icon="ri-file-chart-line" label="评查详情" to="/reviews" />
{/* <ShortcutItem icon="ri-file-chart-line" label="评查详情" to="/reviews" /> */}
<ShortcutItem icon="ri-file-list-line" label="文档类型" to="/document-types" />
{/* <ShortcutItem icon="ri-settings-3-line" label="系统设置" to="/settings" /> */}
<ShortcutItem icon="ri-chat-1-line" label="提示词管理" to="/prompts" />