feat(admin): 优化后台运维与任务管理
完善平台、基准模型、定价规则和实时负载的紧凑查询与滚动展示,并固定关键操作列。 新增管理员任务记录、批量计费结算和用户组限流、额度及模型权限维护能力,同时补充任务脱敏、查询索引与 OpenAPI 契约。 验证:pnpm openapi、Go 全量测试、pnpm lint、pnpm test、pnpm build、gofmt 与差异格式检查均通过。
This commit is contained in:
@@ -239,6 +239,62 @@ strong {
|
||||
margin-bottom: -52px;
|
||||
}
|
||||
|
||||
.adminTaskRecordViewport {
|
||||
--sh-table-viewport-gap: 10px;
|
||||
--sh-table-viewport-height: calc(100dvh - 120px);
|
||||
}
|
||||
|
||||
.adminTaskFilters {
|
||||
grid-template-columns: minmax(300px, 1.35fr) minmax(330px, 1fr) auto;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.adminTaskSearchLabel,
|
||||
.adminTaskRangeLabel {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.adminTaskToolbarActions {
|
||||
display: flex;
|
||||
align-items: end;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
min-height: 32px;
|
||||
}
|
||||
|
||||
.adminTaskAdvancedDialog {
|
||||
width: min(820px, 100%);
|
||||
}
|
||||
|
||||
.adminTaskAdvancedDialogBody {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.adminTaskResultSummary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 10px;
|
||||
color: var(--text-normal);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
.adminTaskResultSummary small {
|
||||
color: var(--text-soft);
|
||||
font-size: var(--font-size-xs);
|
||||
}
|
||||
|
||||
.adminTaskRecordTable .shTableRow {
|
||||
grid-template-columns: minmax(190px, 0.9fr) minmax(180px, 0.8fr) minmax(210px, 1fr) minmax(90px, 0.4fr) minmax(100px, 0.45fr) minmax(250px, 1.2fr) minmax(150px, 0.65fr) minmax(104px, 0.42fr) minmax(118px, 0.44fr) minmax(126px, 0.55fr) minmax(145px, 0.62fr) minmax(150px, 0.62fr) minmax(82px, 0.36fr) minmax(130px, 0.55fr) minmax(98px, 0.42fr) minmax(150px, 0.66fr) minmax(130px, 0.54fr);
|
||||
min-width: 2513px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.taskRecordAdminIdentityCell {
|
||||
overflow: visible;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.taskRecordSearchBox {
|
||||
display: grid;
|
||||
grid-template-columns: 18px minmax(0, 1fr);
|
||||
@@ -974,6 +1030,14 @@ strong {
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.adminTaskFilters {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.adminTaskToolbarActions {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.contentShell {
|
||||
width: 100%;
|
||||
}
|
||||
@@ -1027,6 +1091,20 @@ strong {
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
.adminTaskToolbarActions {
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adminTaskAdvancedDialogBody {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.adminTaskResultSummary {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.walletMetricGrid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user