refine Semi UI vehicle workspace

This commit is contained in:
lingniu
2026-07-18 20:04:46 +08:00
parent e95fbe5c19
commit b5b235e394
4 changed files with 588 additions and 9 deletions

View File

@@ -15688,3 +15688,577 @@
font-size: 8px;
}
}
/*
* Semi UI vehicle workspace v3.
* The directory owns one scroll region, while the single-vehicle header keeps
* identity, actions and live evidence readable without horizontal overflow.
*/
.v2-vehicle-directory-v3.v2-vehicle-search-page {
display: flex;
width: 100%;
height: 100%;
min-height: 0;
flex-direction: column;
align-items: center;
gap: 10px;
overflow: hidden;
padding: 12px var(--v2-page-gutter) 16px;
}
.v2-vehicle-directory-v3 > .v2-vehicle-discovery-shell {
position: relative;
z-index: 2;
flex: 0 0 auto;
}
.v2-vehicle-directory-v3 > .v2-vehicle-recent-card.semi-card {
width: min(1280px, 100%);
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-vehicle-directory-v3 > .v2-vehicle-recent-card > .semi-card-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-vehicle-directory-v3 .v2-vehicle-directory-table.semi-table-wrapper,
.v2-vehicle-directory-v3 .v2-vehicle-recent-grid {
min-height: 0;
flex: 1 1 auto;
}
.v2-vehicle-directory-v3 .v2-vehicle-directory-table.semi-table-wrapper {
overflow: auto;
overscroll-behavior: contain;
}
.v2-vehicle-directory-v3 .v2-vehicle-directory-table .semi-table {
width: 100%;
min-width: 720px;
}
.v2-vehicle-directory-v3 .v2-vehicle-search-options.v2-vehicle-candidate-list {
width: min(760px, calc(100% - 20px));
overflow-x: hidden;
}
.v2-vehicle-directory-v3 .v2-vehicle-search-options.is-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-vehicle-directory-v3 .v2-vehicle-search-options .v2-vehicle-option.semi-button,
.v2-vehicle-directory-v3 .v2-vehicle-search-options .semi-button-content {
min-width: 0;
max-width: 100%;
}
.v2-vehicle-directory-v3 .v2-vehicle-directory-pagination {
flex: 0 0 auto;
}
.v2-vehicle-record-v3.v2-vehicle-record-page {
display: flex;
width: 100%;
max-width: 1540px;
min-width: 0;
flex-direction: column;
gap: 10px;
margin-inline: auto;
overflow-x: hidden;
padding: 12px var(--v2-page-gutter) 24px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card.semi-card {
display: block;
width: 100%;
min-width: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card > .semi-card-body {
width: 100%;
min-width: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
display: grid;
width: 100%;
max-width: none;
height: auto;
min-height: 94px;
grid-template-columns: minmax(270px, .72fr) minmax(0, 1.88fr);
align-items: stretch;
gap: 0;
margin: 0;
border: 0;
border-radius: 0;
padding: 0;
box-shadow: none;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
min-width: 0;
min-height: 94px;
align-content: center;
gap: 5px;
border-right: 1px solid #e4eaf2;
padding: 12px 15px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
display: grid;
min-width: 0;
grid-template-columns: minmax(285px, .82fr) minmax(420px, 1.18fr);
align-items: stretch;
gap: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
display: flex;
width: 100%;
min-width: 0;
align-items: stretch;
border-right: 1px solid #e4eaf2;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
display: grid;
width: 100%;
min-width: 0;
grid-template-columns: minmax(145px, 1.05fr) minmax(130px, .95fr);
align-items: stretch;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
display: flex;
min-width: 0;
flex-direction: column;
justify-content: center;
padding: 10px 13px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
border-left: 1px solid #e7edf4;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
max-width: 100%;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
display: grid;
min-width: 0;
grid-template-columns: repeat(5, minmax(0, 1fr));
align-content: center;
gap: 5px;
overflow: hidden;
padding: 10px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
width: 100%;
min-width: 0;
min-height: 36px;
padding-inline: 5px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
min-width: 0;
justify-content: center;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-record-v3 .v2-vehicle-live-section > .v2-workspace-panel-header {
min-height: 48px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
display: grid;
min-width: 0;
grid-template-columns: .78fr .72fr 1.16fr 1.04fr 1.02fr .78fr;
overflow: hidden;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric {
min-width: 0;
min-height: 88px;
overflow: hidden;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong,
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link {
width: 100%;
min-width: 0;
max-width: 100%;
font-size: clamp(16px, 1.45vw, 21px);
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong.is-text {
font-size: clamp(12px, 1.05vw, 15px);
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link.semi-button {
display: flex;
height: 26px;
justify-content: stretch;
overflow: hidden;
padding: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content {
width: 100%;
min-width: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content > span:not(.semi-icon) {
width: auto;
min-width: 0;
flex: 1 1 auto;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content > .semi-icon {
width: auto;
flex: 0 0 auto;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
width: 100%;
min-width: 0;
grid-template-columns: minmax(280px, .78fr) minmax(360px, 1.22fr);
}
.v2-vehicle-record-v3 .v2-current-location > span,
.v2-vehicle-record-v3 .v2-current-location strong {
min-width: 0;
}
.v2-vehicle-record-v3 .v2-record-grid,
.v2-vehicle-record-v3 .v2-record-grid > *,
.v2-vehicle-record-v3 .v2-record-card,
.v2-vehicle-record-v3 .v2-single-map-card {
min-width: 0;
}
@media (max-width: 1180px) {
.v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
border-right: 0;
border-bottom: 1px solid #e7edf4;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
min-height: 52px;
padding-block: 7px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(3n + 1) {
border-left: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(n + 4) {
border-top: 1px solid #e7edf4;
}
}
@media (max-width: 900px) {
.v2-vehicle-record-v3.v2-vehicle-record-page {
padding: 10px 11px 18px;
}
.v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
min-height: 72px;
border-right: 0;
border-bottom: 1px solid #e4eaf2;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr);
}
}
@media (max-width: 680px) {
.v2-vehicle-directory-v3.v2-vehicle-search-page {
gap: 7px;
overflow: hidden;
padding: 8px 8px 82px;
}
.v2-vehicle-directory-v3.has-candidates.v2-vehicle-search-page,
.v2-vehicle-directory-v3.has-sync-panel.v2-vehicle-search-page {
overflow-y: auto;
}
.v2-vehicle-directory-v3 > .v2-vehicle-discovery-shell {
width: 100%;
}
.v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin {
height: 44px;
min-height: 44px;
}
.v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-copy > .semi-typography:first-child {
font-size: 12px;
}
.v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-actions > .semi-button {
min-height: 32px;
padding-inline: 9px;
font-size: 9px;
}
.v2-vehicle-directory-v3 .v2-mobile-filter-toggle.semi-button {
min-height: 50px;
}
.v2-vehicle-directory-v3 > .v2-vehicle-recent-card.semi-card {
width: 100%;
}
.v2-vehicle-directory-v3 .v2-vehicle-recent-grid {
display: block;
overflow-y: auto;
overscroll-behavior: contain;
padding: 2px 9px 6px;
}
.v2-vehicle-directory-v3 .v2-vehicle-recent-item.semi-button {
min-height: 68px;
padding: 6px 27px 6px 2px;
}
.v2-vehicle-directory-v3 .v2-vehicle-recent-item .semi-button-content {
gap: 4px 7px;
}
.v2-vehicle-directory-v3 .v2-vehicle-recent-identity,
.v2-vehicle-directory-v3 .v2-vehicle-recent-status {
gap: 2px;
}
.v2-vehicle-directory-v3 .v2-vehicle-recent-protocols .semi-tag,
.v2-vehicle-directory-v3 .v2-vehicle-recent-status .semi-tag {
min-height: 20px;
padding-inline: 6px;
font-size: 8px;
}
.v2-vehicle-directory-v3 .v2-vehicle-search-options.v2-vehicle-candidate-list {
width: 100%;
max-width: none;
}
.v2-vehicle-directory-v3 .v2-vehicle-search-options.is-grid {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3.v2-vehicle-record-page {
gap: 7px;
padding: 7px 7px 88px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card.semi-card {
border-radius: 11px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
min-height: 66px;
padding: 8px 10px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-primary {
gap: 7px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-plate {
min-height: 34px;
padding-inline: 9px;
font-size: 14px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-online-label.semi-tag {
min-height: 22px;
padding-inline: 7px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
min-height: 56px;
padding: 7px 9px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
border-top: 0;
border-left: 1px solid #e7edf4;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
margin-top: 3px;
font-size: 10px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources {
flex-wrap: wrap;
gap: 3px;
margin-top: 3px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources .semi-tag {
min-height: 18px;
padding-inline: 4px;
font-size: 7px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 3px;
overflow: hidden;
padding: 5px 6px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
min-height: 48px;
padding: 2px 1px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
min-width: 0;
flex-direction: column;
gap: 2px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-left {
margin-right: 0;
font-size: 14px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
max-width: 100%;
margin-left: 0;
font-size: 8px;
}
.v2-vehicle-record-v3 .v2-vehicle-live-section > .v2-workspace-panel-header {
min-height: 44px;
padding: 6px 9px;
}
.v2-vehicle-record-v3 .v2-vehicle-live-section .v2-workspace-panel-copy > h5.semi-typography {
display: block;
font-size: 12px;
}
.v2-vehicle-record-v3 .v2-vehicle-live-section .v2-workspace-panel-copy > .semi-typography:last-child {
display: none;
}
.v2-vehicle-record-v3 .v2-vehicle-live-section .v2-live-report-meta {
max-width: 58vw;
font-size: 8px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric {
min-height: 82px;
border-top: 0;
border-left: 1px solid #e7edf4;
padding: 10px 11px 9px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(odd) {
border-left: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(n + 3) {
border-top: 1px solid #e7edf4;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong,
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link {
font-size: 17px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong.is-text {
font-size: 12px;
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
grid-template-columns: minmax(0, 1fr);
}
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location > span + span {
border-top: 1px solid #e4eaf2;
border-left: 0;
}
.v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-header {
min-height: 48px;
grid-template-columns: minmax(0, 1fr);
padding: 4px 6px;
}
.v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-copy {
display: none;
}
.v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-actions,
.v2-vehicle-record-v3 .v2-vehicle-section-nav {
width: 100%;
}
.v2-vehicle-record-v3 .v2-vehicle-section-nav {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 2px;
}
.v2-vehicle-record-v3 .v2-vehicle-section-nav > .semi-button {
width: 100%;
min-width: 0;
min-height: 40px;
padding-inline: 2px;
font-size: 8px;
}
}