feat: unify mobile filter sheets

This commit is contained in:
lingniu
2026-07-19 04:44:21 +08:00
parent d3eb77e2c7
commit 9a87d14d6d
11 changed files with 417 additions and 64 deletions

View File

@@ -9,6 +9,7 @@ import { accessIssueSummary, accessRowsToCSV, formatAccessTime, formatSeconds, u
import { InlineError, PanelEmpty, PanelLoading } from '../shared/AsyncState';
import { MetricActionButton } from '../shared/MetricActionButton';
import { MobileFilterToggle } from '../shared/MobileFilterToggle';
import { MobileFilterSheet, MobileFilterSheetSection } from '../shared/MobileFilterSheet';
import { TablePagination } from '../shared/TablePagination';
import { WorkspaceCommandBar } from '../shared/WorkspaceCommandBar';
import { WorkspaceFilterPanel } from '../shared/WorkspaceFilterPanel';
@@ -415,21 +416,23 @@ export default function AccessPage() {
collapsedLabel="修改"
onToggle={() => setFiltersCollapsed((value) => !value)}
/>
<SideSheet
<MobileFilterSheet
className="v2-access-mobile-filter-sidesheet"
visible={mobileFiltersOpen}
placement="bottom"
height="min(76dvh, 640px)"
aria-label="接入车辆筛选"
title={<div className="v2-access-sheet-title"><strong></strong><span></span></div>}
ariaLabel="接入车辆筛选"
title="筛选接入车辆"
description="车辆、接入状态、真实协议与品牌"
onCancel={() => setFiltersCollapsed(true)}
footer={<div className="v2-access-mobile-filter-footer"><Button theme="light" onClick={resetFilters}></Button><Button theme="solid" onClick={applyDraft}></Button></div>}
secondaryAction={{ label: '重置条件', onClick: resetFilters }}
primaryAction={{ label: '应用并查询', onClick: applyDraft }}
>
<form className="v2-access-mobile-filter-form" onSubmit={submit}>
<header><strong></strong><span>线</span></header>
<div>{filterFields}</div>
<MobileFilterSheetSection ariaLabel="接入范围" title="接入范围" description="优先定位异常、离线、尚无来源和资料差异车辆">
<div>{filterFields}</div>
</MobileFilterSheetSection>
</form>
</SideSheet>
</MobileFilterSheet>
</div> : <WorkspaceFilterPanel
className="v2-access-filter-card-v3"
title="接入筛选"