154b0b62ad
build / build (push) Successful in 1m20s
新增北京时间自然周校验与缓存隔离,默认展开到业务二级部门。 选中部门在统计页就地绑定;区域名称列表原位增删改,双版本锁、自动预览、独立读回及删除确认。 筛选和两张区域看板使用同一已保存目录,删除失效筛选回全部。 验证:完整 make verify、全 mirror 隔离 PostgreSQL race、自然周边界与缓存键负例通过;真实恢复库327部门逐行对拍及六项浏览器验收通过。 schema57无迁移,不改真实公司区域绑定或原始问答,不连接DobotAI生产源库;PNG导出本轮不冒充已验证。
154 lines
2.7 KiB
CSS
154 lines
2.7 KiB
CSS
.qa-regions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
gap: 14px;
|
|
}
|
|
.qa-region-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
.qa-region-heading h3 {
|
|
margin: 0;
|
|
font-size: 15px;
|
|
}
|
|
.qa-region-directory-status {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
.qa-region-directory-status small {
|
|
color: #64748b;
|
|
line-height: 1.6;
|
|
}
|
|
.qa-region-catalog-list {
|
|
padding: 0;
|
|
margin: 0;
|
|
list-style: none;
|
|
border-top: 1px solid #e5ebf2;
|
|
}
|
|
.qa-region-catalog-list > li {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
align-items: center;
|
|
gap: 7px 12px;
|
|
padding: 14px 0;
|
|
border-bottom: 1px solid #e5ebf2;
|
|
}
|
|
.qa-region-catalog-list label {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 5px;
|
|
grid-column: 1;
|
|
min-width: 0;
|
|
font-size: 12px;
|
|
color: #64748b;
|
|
}
|
|
.qa-region-catalog-list small {
|
|
grid-column: 1;
|
|
color: #8190a4;
|
|
font-size: 11px;
|
|
}
|
|
.qa-region-catalog-list input,
|
|
.qa-region-add input {
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
min-width: 0;
|
|
min-height: 36px;
|
|
padding: 7px 10px;
|
|
border: 1px solid #d8e1eb;
|
|
border-radius: 5px;
|
|
background: #fff;
|
|
color: #334155;
|
|
}
|
|
.qa-region-row-actions {
|
|
min-width: 152px;
|
|
justify-content: flex-start;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: 8px;
|
|
grid-column: 2;
|
|
grid-row: 1 / span 2;
|
|
}
|
|
.qa-region-row-actions button {
|
|
min-width: 48px;
|
|
white-space: nowrap;
|
|
}
|
|
.qa-region-removal-warning {
|
|
grid-column: 1 / -1;
|
|
color: #97572d;
|
|
line-height: 1.6;
|
|
overflow-wrap: anywhere;
|
|
font-size: 12px;
|
|
}
|
|
.qa-region-add {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
.qa-region-add input {
|
|
flex: 1;
|
|
}
|
|
.qa-region-add button {
|
|
flex: none;
|
|
}
|
|
.qa-region-save-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
position: sticky;
|
|
bottom: -20px;
|
|
padding: 12px 0;
|
|
border-top: 1px solid #e5ebf2;
|
|
background: #fff;
|
|
}
|
|
.qa-region-preview {
|
|
display: flex;
|
|
gap: 8px 16px;
|
|
flex-wrap: wrap;
|
|
padding: 12px;
|
|
border: 1px solid #d8e1eb;
|
|
background: #f3f7fc;
|
|
border-radius: 5px;
|
|
font-size: 12px;
|
|
}
|
|
.qa-region-tabs {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
.qa-region-tabs button[aria-pressed='true'] {
|
|
background: #e5efff;
|
|
border-color: #8db8f0;
|
|
color: #154a88;
|
|
}
|
|
.qa-regions button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.5;
|
|
}
|
|
.qa-regions p {
|
|
margin: 0;
|
|
}
|
|
.qa-ops-warning > span {
|
|
display: inline-block;
|
|
margin: 4px 8px;
|
|
}
|
|
.qa-regions :focus-visible {
|
|
outline: 2px solid #1765c1;
|
|
outline-offset: 2px;
|
|
}
|
|
@media (max-width: 480px) {
|
|
.qa-region-heading {
|
|
flex-wrap: wrap;
|
|
}
|
|
.qa-region-catalog-list > li {
|
|
gap: 7px 8px;
|
|
}
|
|
.qa-region-row-actions {
|
|
gap: 5px;
|
|
}
|
|
}
|