MIF7F-1/MIF7F-2/MIF7F-3 修复移动返回标签并勘误
这个提交包含在:
@@ -130,7 +130,13 @@ export function MobileReimbursementsPage() {
|
||||
const createIntentHandledRef = useRef(false);
|
||||
const canCreateExpense = hasPermission(permissions, "expense.create");
|
||||
const canDeleteExpense = hasPermission(permissions, "expense.delete_own");
|
||||
const currentMobileSource = `${location.pathname}${location.search}`;
|
||||
const currentMobileSource = useMemo(() => {
|
||||
const params = new URLSearchParams(location.search);
|
||||
params.delete("intent");
|
||||
params.set("status", status);
|
||||
const query = params.toString();
|
||||
return `${location.pathname}${query ? `?${query}` : ""}`;
|
||||
}, [location.pathname, location.search, status]);
|
||||
|
||||
const listQuery = useQuery({
|
||||
queryKey: ["mobile", "reimbursements", status],
|
||||
@@ -156,6 +162,17 @@ export function MobileReimbursementsPage() {
|
||||
}
|
||||
}, [searchParams]);
|
||||
|
||||
function handleStatusChange(value: string) {
|
||||
if (!isReimbursementStatus(value)) {
|
||||
return;
|
||||
}
|
||||
setStatus(value);
|
||||
const nextParams = new URLSearchParams(searchParams);
|
||||
nextParams.delete("intent");
|
||||
nextParams.set("status", value);
|
||||
setSearchParams(nextParams, { replace: true });
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (searchParams.get("intent") !== "create" || !canCreateExpense || createIntentHandledRef.current) {
|
||||
return;
|
||||
@@ -222,7 +239,7 @@ export function MobileReimbursementsPage() {
|
||||
</section>
|
||||
|
||||
<section className="mobile-card" data-testid="mobile-reimbursements-list">
|
||||
<Tabs value={status} onValueChange={(value) => setStatus(value as ReimbursementStatus)}>
|
||||
<Tabs value={status} onValueChange={handleStatusChange}>
|
||||
<TabsList className="grid h-auto w-full grid-cols-4">
|
||||
{STATUS_TABS.map((item) => (
|
||||
<TabsTrigger key={item.value} value={item.value} data-testid={`mobile-reimbursements-tab-${item.value}`}>
|
||||
|
||||
在新工单中引用
屏蔽一个用户