修复(08-28-reimbursement-detail-material-preview-fixes): 收紧撤回展示并校正材料图片尺寸

这个提交包含在:
2026-08-28 21:53:26 +08:00
父节点 f178aa0de3
当前提交 46bfa7e00f
共修改 14 个文件,包含 342 行新增和 13 行删除
@@ -1514,6 +1514,7 @@ export function ReimbursementDetailPage() {
<ReimbursementActions
status={detail.status}
showSubmitAction={false}
showWithdrawAction={isReimbursementParticipant}
actionError={["reviewing", "approved"].includes(detail.status) ? actionError : ""}
submitDisabled={blockStandardChecks.length > 0}
submitHint=""
@@ -10,7 +10,7 @@ export interface ReimbursementActionsProps {
submitHint?: string;
submitNotice?: string;
showSubmitAction?: boolean;
showWithdrawAction?: boolean;
showWithdrawAction: boolean;
isPending: boolean;
onSubmit: () => void;
onWithdraw: (comment: string) => void;
@@ -23,7 +23,7 @@ export function ReimbursementActions({
submitHint = "",
submitNotice = "",
showSubmitAction = true,
showWithdrawAction = true,
showWithdrawAction,
isPending,
onSubmit,
onWithdraw,
@@ -1,5 +1,7 @@
import { expect, test, type Page, type Route } from "@playwright/test";
test.use({ serviceWorkers: "block" });
function envelope(data: unknown) {
return { requestId: "mock-r102-reimbursement", data };
}
@@ -450,7 +452,7 @@ test.describe("R102 reimbursement main flow", () => {
await expect(page.getByTestId("mobile-reimbursement-items")).toContainText("报销合计 ¥168.30");
});
test("移动管理员默认查看本人并可切换全部报销", async ({ page }) => {
test("管理员查看他人报销时隐藏撤回并可在移动端切换全部报销", async ({ page }) => {
const adminMe = {
...me,
id: "admin-r102",
@@ -508,6 +510,12 @@ test.describe("R102 reimbursement main flow", () => {
await page.reload();
await expect(page).toHaveURL(/\/portal/);
await page.setViewportSize({ width: 1440, height: 960 });
await page.goto(`/reimbursements/${otherReimbursementId}`);
await expect(page.getByTestId("reimbursement-overview")).toBeVisible();
await expect(page.getByTestId("reimbursement-withdraw")).toHaveCount(0);
await expect(page.getByTestId("reimbursement-withdraw-comment")).toHaveCount(0);
await page.setViewportSize({ width: 375, height: 812 });
await page.goto("/mobile/reimbursements?status=reviewing");