MIF7 移动信息架构整改收口

这个提交包含在:
2026-05-13 00:02:21 +08:00
父节点 39a930399f
当前提交 c83dbb7376
共修改 10 个文件,包含 691 行新增和 206 行删除
+16 -7
查看文件
@@ -1,5 +1,5 @@
import { useMemo, useRef, useState } from "react";
import { Link, useParams } from "react-router-dom";
import { useParams } from "react-router-dom";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
import {
@@ -17,6 +17,7 @@ import {
import { useAuth } from "../auth/AuthContext";
import { hasPermission } from "../auth/permissions";
import { PageHeader } from "../components/common/PageHeader";
import { MobileDetailHeader } from "../components/mobile/MobileDetailHeader";
import { Button } from "../components/ui/button";
import { Tabs, TabsList, TabsTrigger } from "../components/ui/tabs";
import { PageScaffold } from "../components/patterns/PageScaffold";
@@ -45,6 +46,13 @@ const STATUS_LABEL: Record<LeaveRequestStatus, string> = {
cancelled: "已取消",
};
function leaveProgressFallback(status: LeaveRequestStatus | undefined) {
if (status === "draft") return "/mobile/approvals?progress=draft";
if (status === "approved") return "/mobile/approvals?progress=approved";
if (status === "rejected" || status === "cancelled") return "/mobile/approvals?progress=returned";
return "/mobile/approvals?progress=reviewing";
}
function todayDate() {
return new Date().toISOString().slice(0, 10);
}
@@ -277,15 +285,16 @@ export function MobileLeavePage() {
};
if (leaveRequestId) {
const detail = detailQuery.data;
return (
<PageScaffold className="space-y-3 pb-4">
<PageHeader
<MobileDetailHeader
title="请假详情"
actions={
<Button asChild size="sm" type="button" variant="secondary">
<Link to="/mobile/leave">返回</Link>
</Button>
}
subtitle={detail?.leaveType?.name ?? "请假"}
fallbackTo={leaveProgressFallback(detail?.status)}
status={detail ? <span className="badge-neutral">{STATUS_LABEL[detail.status]}</span> : null}
testId="mobile-leave-detail-header"
/>
{detailQuery.isLoading ? <div className="mobile-card text-sm text-zinc-500">加载中...</div> : null}