feat: polish reporting templates and shared controls

This commit is contained in:
hectorzhao
2026-07-15 16:31:49 +08:00
parent 28fb8e9038
commit a7a4e8d9f6
21 changed files with 488 additions and 119 deletions
+17
View File
@@ -647,11 +647,28 @@
}
.ui-select__dropdown button {
align-items: center;
background: transparent;
border: 0;
border-radius: var(--radius-sm);
color: var(--color-text);
display: flex;
font-size: var(--font-size-md);
height: 36px;
justify-content: flex-start;
padding: 0 var(--space-3);
text-align: left;
width: 100%;
}
.ui-select__dropdown--portal {
bottom: auto;
left: auto;
max-height: 320px;
position: fixed;
right: auto;
top: auto;
z-index: calc(var(--z-modal) + 1);
}
.ui-select__dropdown button:hover {
+46 -1
View File
@@ -9261,6 +9261,15 @@ h3 {
grid-template-columns: minmax(360px, 1fr) auto;
}
.admin-user-toolbar {
grid-template-columns: minmax(360px, 1fr) auto auto;
}
.admin-user-toolbar > .ui-button {
justify-self: end;
width: max-content;
}
.phone-segment-overview {
display: grid;
gap: var(--space-4);
@@ -9442,9 +9451,38 @@ h3 {
align-items: end;
display: grid;
gap: var(--space-5);
grid-template-columns: minmax(420px, 1fr) minmax(180px, 220px) minmax(180px, 220px) auto;
grid-template-columns: minmax(320px, 1fr) minmax(160px, 220px) auto;
}
.admin-drainage-page .page-heading > div > p { color: var(--color-text-muted); margin: 6px 0 0; }
.admin-drainage-summary { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-drainage-summary article { align-items: center; background: linear-gradient(135deg, #fff, var(--color-bg-subtle)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); display: flex; gap: 14px; min-height: 96px; padding: 20px; }
.admin-drainage-summary article > span { align-items: center; background: #eef4ff; border-radius: 12px; color: var(--color-primary); display: flex; height: 42px; justify-content: center; width: 42px; }
.admin-drainage-summary strong { color: var(--color-text-strong); font-size: 24px; }
.admin-drainage-summary p { color: var(--color-text-muted); margin: 3px 0 0; }
.admin-drainage-section { padding: 22px; }
.admin-drainage-section__heading { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 18px; }
.admin-drainage-section__heading h2 { margin: 0 0 6px; }
.admin-drainage-section__heading p { color: var(--color-text-muted); margin: 0; }
.admin-drainage-common-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-drainage-common-group { background: var(--color-bg-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-md); min-width: 0; padding: 16px; }
.admin-drainage-common-group__title { align-items: center; display: flex; justify-content: space-between; margin-bottom: 12px; }
.admin-drainage-common-group__title > span, .admin-drainage-common-empty { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.admin-drainage-common-list { display: grid; gap: 8px; }
.admin-drainage-common-list > div { align-items: center; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto auto; padding: 11px 12px; }
.admin-drainage-common-list strong, .admin-drainage-common-list span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-drainage-common-list span { color: var(--color-text-muted); font-size: 12px; margin-top: 3px; }
.admin-drainage-field-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.admin-drainage-field-card { border: 1px solid var(--color-border); border-radius: var(--radius-md); display: flex; flex-direction: column; min-height: 220px; padding: 16px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.admin-drainage-field-card:hover { border-color: #b8c9eb; box-shadow: 0 8px 24px rgba(27, 55, 100, .08); transform: translateY(-1px); }
.admin-drainage-field-card__top { align-items: center; display: flex; justify-content: space-between; }
.admin-drainage-field-card h3 { font-size: 17px; margin: 15px 0 5px; }
.admin-drainage-field-card code { color: var(--color-primary); font-size: 13px; }
.admin-drainage-field-card > p { color: var(--color-text-muted); flex: 1; line-height: 1.6; margin: 12px 0; }
.admin-drainage-field-card__meta { border-top: 1px solid var(--color-border); color: var(--color-text-muted); display: flex; font-size: 13px; gap: 18px; padding-top: 12px; }
.admin-drainage-field-card__meta strong { color: var(--color-text-strong); }
.admin-drainage-empty { color: var(--color-text-muted); padding: 42px; text-align: center; }
.admin-drainage-type {
align-items: center;
background: var(--color-bg-subtle);
@@ -9458,6 +9496,13 @@ h3 {
padding: 0 var(--space-3);
}
@media (max-width: 900px) {
.admin-drainage-summary, .admin-drainage-common-grid { grid-template-columns: 1fr; }
.admin-drainage-toolbar { grid-template-columns: 1fr; }
.admin-drainage-section__heading { align-items: stretch; flex-direction: column; }
.admin-user-toolbar { grid-template-columns: 1fr; }
}
.admin-drainage-actions .ui-button--ghost {
color: var(--color-text);
}