feat: unify mobile history filters

This commit is contained in:
lingniu
2026-07-18 23:24:22 +08:00
parent c358faf17d
commit c8814f471b
3 changed files with 272 additions and 10 deletions

View File

@@ -17039,3 +17039,199 @@
font-weight: 700;
}
}
/*
* Semi UI history mobile workflow.
* Preserve the data list as the primary workspace while the complete vehicle,
* time and source query runs in a focused, scroll-safe bottom sheet.
*/
@media (max-width: 680px) {
.v2-history-mobile-discovery {
display: grid;
min-width: 0;
flex: 0 0 auto;
gap: 8px;
}
.v2-history-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
min-height: 58px;
margin: 0;
}
.v2-history-filter-sidesheet .semi-sidesheet-inner {
width: 100vw !important;
max-width: 100%;
overflow: hidden;
border-radius: 18px 18px 0 0;
background: #f4f7fb;
box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
padding-bottom: env(safe-area-inset-bottom);
}
.v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
min-height: 68px;
border-bottom: 1px solid #dfe7f0;
background: rgba(255, 255, 255, .98);
padding: 11px 14px;
}
.v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
min-height: 0;
overflow-y: auto;
background: #f4f7fb;
padding: 12px;
overscroll-behavior: contain;
}
.v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
border-top: 1px solid #dfe7f0;
background: rgba(255, 255, 255, .98);
padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
}
.v2-history-mobile-filter-form {
display: grid;
gap: 10px;
}
.v2-history-mobile-filter-section {
display: grid;
gap: 12px;
border: 1px solid #dfe7f0;
border-radius: 12px;
background: #fff;
padding: 12px;
box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
}
.v2-history-mobile-filter-section > header {
display: flex;
min-width: 0;
flex-direction: column;
gap: 3px;
}
.v2-history-mobile-filter-section > header > strong {
color: #2b4058;
font-size: 13px;
line-height: 1.3;
}
.v2-history-mobile-filter-section > header > span {
color: #7c8b9e;
font-size: 10px;
line-height: 1.45;
}
.v2-history-mobile-filter-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 11px 9px;
}
.v2-history-mobile-filter-grid > .v2-history-vehicles,
.v2-history-mobile-filter-grid > .v2-history-range {
grid-column: 1 / -1;
}
.v2-history-mobile-filter-grid > label,
.v2-history-mobile-filter-grid > fieldset {
display: grid;
min-width: 0;
gap: 6px;
margin: 0;
border: 0;
padding: 0;
color: #5f7188;
font-size: 11px;
font-weight: 650;
}
.v2-history-mobile-filter-grid > fieldset > legend {
margin-bottom: 6px;
padding: 0;
}
.v2-history-mobile-filter-grid > label > .semi-input-wrapper,
.v2-history-mobile-filter-grid > label > .semi-select {
width: 100%;
min-height: 44px;
border-radius: 9px;
background: #fff;
}
.v2-history-mobile-filter-grid .v2-history-range > div {
display: grid;
min-width: 0;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
gap: 6px;
}
.v2-history-mobile-filter-grid .v2-history-range .semi-input-wrapper {
min-width: 0;
min-height: 44px;
border-radius: 9px;
background: #fff;
}
.v2-history-mobile-filter-grid .v2-history-range > div > span {
color: #8a98aa;
font-size: 10px;
}
.v2-history-mobile-filter-grid .semi-input,
.v2-history-mobile-filter-grid .semi-select-selection-text {
font-size: 13px;
}
.v2-history-mobile-export-action {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 10px;
border: 1px solid #dfe7f0;
border-radius: 11px;
background: #fff;
padding: 10px 11px;
}
.v2-history-mobile-export-action > span {
display: grid;
min-width: 0;
gap: 2px;
}
.v2-history-mobile-export-action strong {
color: #40536b;
font-size: 11px;
}
.v2-history-mobile-export-action small {
color: #8794a6;
font-size: 9px;
line-height: 1.4;
}
.v2-history-mobile-export-action > .semi-button {
min-height: 38px;
flex: 0 0 auto;
border-radius: 8px;
font-size: 11px;
}
.v2-history-mobile-filter-footer {
display: grid;
width: 100%;
grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
gap: 9px;
}
.v2-history-mobile-filter-footer > .semi-button {
width: 100%;
min-height: 42px;
border-radius: 9px;
font-weight: 700;
}
}