feat(M08-D): 补门店与房间管理

This commit is contained in:
Codex
2026-08-10 11:40:09 +08:00
parent 04afce4417
commit 1ca783e91b
9 changed files with 1017 additions and 14 deletions
+218
View File
@@ -1157,6 +1157,174 @@ textarea {
white-space: nowrap;
}
.stores-page {
display: grid;
gap: 14px;
}
.store-toolbar h3,
.store-detail-header h3,
.rooms-toolbar h3 {
margin: 0;
}
.store-layout {
display: grid;
grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
min-height: 640px;
}
.store-list {
display: flex;
flex-direction: column;
gap: 8px;
padding: 12px;
border-right: 1px solid #e6ebf2;
background: #f8fafc;
}
.store-card {
display: grid;
gap: 5px;
width: 100%;
padding: 12px;
color: #526177;
text-align: left;
background: #fff;
border: 1px solid #dfe6ee;
border-radius: 9px;
cursor: pointer;
}
.store-card:hover,
.store-card.active {
border-color: #2878ff;
box-shadow: 0 4px 16px rgba(40, 120, 255, 0.1);
}
.store-card.active {
background: #f1f6ff;
}
.store-card-title {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: #18212f;
}
.store-card small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.store-detail {
min-width: 0;
padding: 18px;
}
.store-detail-empty {
min-height: 420px;
}
.store-detail-header,
.rooms-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
}
.store-detail-header p:not(.section-kicker) {
margin: 5px 0 0;
color: #69788c;
}
.store-summary-grid {
margin-top: 16px;
}
.store-summary-grid strong {
overflow: hidden;
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.business-hours-board {
display: grid;
gap: 9px;
margin: 14px 0 22px;
padding: 12px;
border: 1px solid #e1e8f0;
border-radius: 8px;
background: #f8fafc;
}
.hours-chip-list {
display: grid;
grid-template-columns: repeat(7, minmax(76px, 1fr));
gap: 6px;
}
.hours-chip-list span {
display: grid;
gap: 3px;
padding: 7px;
color: #60708a;
font-size: 11px;
text-align: center;
background: #fff;
border: 1px solid #e1e8f0;
border-radius: 6px;
}
.hours-chip-list b {
color: #243247;
font-size: 11px;
}
.rooms-toolbar {
margin-bottom: 12px;
padding-top: 16px;
border-top: 1px solid #e6ebf2;
}
.asset-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0 14px;
}
.asset-form .el-form-item {
min-width: 0;
}
.asset-form .el-input-number,
.asset-form .el-select {
width: 100%;
}
.form-span-2 {
grid-column: span 2;
}
.hours-editor {
display: grid;
gap: 8px;
padding-top: 12px;
border-top: 1px solid #e6ebf2;
}
.hours-editor-row {
display: grid;
grid-template-columns: 44px 126px minmax(120px, 1fr) minmax(120px, 1fr);
gap: 8px;
align-items: center;
}
.el-button {
border-radius: 8px;
}
@@ -1241,6 +1409,21 @@ textarea {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.store-layout {
grid-template-columns: 1fr;
}
.store-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
border-right: 0;
border-bottom: 1px solid #e6ebf2;
}
.hours-chip-list {
grid-template-columns: repeat(4, minmax(76px, 1fr));
}
.trend-row {
grid-template-columns: 92px minmax(80px, 1fr);
}
@@ -1306,6 +1489,41 @@ textarea {
flex-direction: column;
}
.store-list {
grid-template-columns: 1fr;
}
.store-detail {
padding: 12px;
}
.store-detail-header,
.rooms-toolbar {
align-items: stretch;
flex-direction: column;
}
.store-summary-grid,
.asset-form {
grid-template-columns: 1fr;
}
.form-span-2 {
grid-column: span 1;
}
.hours-chip-list {
grid-template-columns: repeat(2, minmax(76px, 1fr));
}
.hours-editor-row {
grid-template-columns: 40px 1fr;
}
.hours-editor-row .el-select {
grid-column: span 2;
}
.toolbar-actions {
justify-content: flex-end;
}