safety-eval-website/src/pages/Container/RegisterMore/index.less

419 lines
9.3 KiB
Plaintext
Raw Normal View History

2026-08-08 14:18:54 +08:00
// ============================================================
// 2026-08-08 依据原型 V1.6 register.html「认证信息填报页」1:1 还原
// 变更原因:原型为原生 HTML/CSS非 antd需按原型样式、布局、颜色、边框、字体、
// 按钮、响应式做 1:1 还原。
// 变更逻辑:将原型 register.html 内联 CSS 迁入本文件,置于 .register-more 命名空间下
// 避免影响全局;保留 .audit-look 审核中动画等既有区块。
// 变更理由:最小侵入、样式与原型一一对应,支持 max-width:760px 响应式单列布局。
// ============================================================
2026-07-09 10:05:52 +08:00
.register-more {
2026-08-08 14:18:54 +08:00
// 背景
min-height: 100vh;
background: #f7f9fc;
color: #1f2937;
font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
box-sizing: border-box;
padding-bottom: 40px;
// ---- hero 头图区(原型 .hero----
.register-more-hero {
height: 230px;
background: linear-gradient(90deg, #eef3fb, #fff, #e7f0ff);
display: flex;
align-items: center;
padding-left: max(calc((100% - 1180px) / 2), 30px);
h1 {
font-size: 26px;
margin: 0;
color: #1f2937;
}
}
// ---- 内容容器(原型 .wrap----
.register-more-wrap {
max-width: 1180px;
margin: auto;
padding: 30px 24px 60px;
}
// ---- 步骤条(原型 .steps / .step----
.register-more-steps {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 28px;
}
.register-more-step {
display: flex;
align-items: center;
color: #9ca3af;
font-size: 14px;
i {
width: 34px;
height: 34px;
border-radius: 50%;
display: grid;
place-items: center;
background: #f0f2f5;
font-style: normal;
margin-right: 9px;
font-size: 14px;
}
&.active {
color: #111827;
i {
background: #1677ed;
color: #fff;
}
}
&:not(:last-child)::after {
content: "";
width: 100px;
height: 1px;
background: #cbd1da;
margin: 0 20px;
}
}
// ---- 卡片(原型 .card----
.register-more-card {
background: #fff;
border: 1px solid #e4e9f0;
padding: 28px 35px;
border-radius: 5px;
h2 {
text-align: center;
margin: 0 0 26px;
font-size: 22px;
color: #1f2937;
}
}
// ---- 两列 grid原型 .grid / .field----
.register-more-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px 60px;
}
.register-more-field {
display: grid;
grid-template-columns: 150px 1fr;
align-items: center;
label {
text-align: right;
padding-right: 14px;
font-size: 14px;
color: #1f2937;
}
&.required label::before {
content: "*";
color: #ef4444;
margin-right: 4px;
}
input,
textarea {
width: 100%;
height: 36px;
border: 1px solid #d3d8e1;
border-radius: 3px;
padding: 8px 11px;
font: 14px inherit;
color: #1f2937;
background: #fff;
outline: none;
transition: border-color 0.15s;
&::placeholder {
color: #9ca3af;
}
&:focus {
border-color: #1677ed;
}
&:disabled {
background: #f5f7fa;
color: #9ca3af;
cursor: not-allowed;
}
}
textarea {
height: 68px;
resize: vertical;
}
&.align-start {
align-items: start;
label {
padding-top: 10px;
}
}
}
.register-more-large-textarea {
height: 150px !important;
line-height: 1.7;
}
// ---- 控件容器与错误提示(原生受控表单)----
.register-more-control {
display: flex;
flex-direction: column;
gap: 4px;
input[type="number"] {
// 隐藏 number input 的步进箭头,保持原型简洁外观
&::-webkit-outer-spin-button,
&::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
-moz-appearance: textfield;
appearance: textfield;
}
}
.register-more-error {
color: #ef4444;
font-size: 12px;
line-height: 1.4;
margin-top: 2px;
}
.is-disabled {
opacity: 0.6;
pointer-events: none;
}
// ---- 营业执照上传区(与单位名称/信用代码同为两列布局,按钮与文本输入框同高同边框)----
.register-more-license {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 6px;
}
// 2026-08-08 营业执照按钮:与 .field input 同 36px 高、同 1px solid #d3d8e1 边框、同 3px 圆角,
// 仅与右侧文本输入对齐且宽度自适应;框内左侧 * 红星表示必填。
.register-more-file-btn {
position: relative;
display: inline-flex;
align-items: center;
height: 36px;
padding: 0 11px;
border: 1px solid #d3d8e1;
border-radius: 3px;
color: #1f2937;
background: #fff;
font-size: 14px;
cursor: pointer;
white-space: nowrap;
flex: 0 0 auto;
transition: border-color 0.15s;
&:hover {
border-color: #1677ed;
}
input[type="file"] {
position: absolute;
inset: 0;
opacity: 0;
cursor: pointer;
}
}
.register-more-file-text {
color: #475569;
}
// ---- 业务范围多选(原型 .scope-options----
.register-more-scope {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px 18px;
padding: 14px;
border: 1px solid #d3d8e1;
border-radius: 3px;
background: #fbfcfe;
label {
display: flex;
align-items: flex-start;
text-align: left;
padding: 0;
font-size: 14px;
line-height: 1.5;
cursor: pointer;
color: #1f2937;
}
input[type="checkbox"] {
width: 16px;
height: 16px;
margin: 3px 8px 0 0;
flex: 0 0 auto;
}
}
// ---- 可选说明 / 底部提示(原型 .optional-note / .tip----
.register-more-optional-note {
display: block;
color: #8b95a5;
font-size: 12px;
margin-top: 6px;
}
.register-more-tip {
margin: 20px 0 0 150px;
color: #8b95a5;
font-size: 12px;
}
// ---- 全宽字段(原型 .wide----
.register-more-wide {
grid-column: 1 / -1;
}
// ---- 操作按钮(原型 .actions / .btn----
.register-more-actions {
display: flex;
justify-content: center;
gap: 14px;
border-top: 1px solid #edf0f4;
margin-top: 28px;
padding-top: 24px;
}
.register-more-btn {
height: 40px;
padding: 0 25px;
border: 0;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
transition: opacity 0.15s;
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
&.primary {
background: #1677ed;
color: #fff;
&:hover:not(:disabled) {
background: #0958d9;
}
}
&.secondary {
background: #f1f4f8;
color: #475569;
&:hover:not(:disabled) {
background: #e5eaf1;
}
}
}
// ---- 营业执照文件列表(自定义,贴近原型原生 file input 的说明样式)----
.register-more-license-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
.license-item {
display: inline-flex;
align-items: center;
gap: 6px;
border: 1px solid #d3d8e1;
border-radius: 3px;
background: #fbfcfe;
padding: 4px 8px;
font-size: 12px;
color: #1f2937;
a {
color: #1677ed;
text-decoration: none;
}
.license-remove {
border: 0;
background: none;
color: #ef4444;
cursor: pointer;
font-size: 14px;
line-height: 1;
}
}
}
// ---- 审核中/通过 区块(既有动画,保留)----
2026-07-09 10:05:52 +08:00
.audit-look {
background-repeat: no-repeat;
height: 175px;
width: 171px;
position: relative;
}
2026-08-08 14:18:54 +08:00
.audit-look-img {
2026-07-09 10:05:52 +08:00
position: absolute;
width: 45px;
height: 45px;
top: 50%;
left: 63%;
margin-top: -22.5px;
margin-left: -22.5px;
animation: orbit-clockwise 2s linear infinite;
}
@keyframes orbit-clockwise {
from {
transform: rotate(0deg) translateX(8px) rotate(0deg);
}
to {
transform: rotate(360deg) translateX(8px) rotate(-360deg);
}
}
2026-08-08 14:18:54 +08:00
.register-more-state {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
color: #1f2937;
font-size: 16px;
img {
max-width: 120px;
2026-07-09 10:05:52 +08:00
}
}
2026-08-08 14:18:54 +08:00
// ---- 响应式(原型 @media max-width:760px----
@media (max-width: 760px) {
.register-more-hero {
height: 140px;
padding-left: 20px;
h1 {
font-size: 20px;
}
}
.register-more-wrap {
padding: 20px 10px;
}
.register-more-card {
padding: 20px 12px;
h2 {
font-size: 18px;
}
}
.register-more-grid {
grid-template-columns: 1fr;
gap: 14px;
}
.register-more-wide {
grid-column: auto;
}
.register-more-field {
grid-template-columns: 125px 1fr;
}
.register-more-scope {
grid-template-columns: 1fr;
}
.register-more-step:not(:last-child)::after {
width: 28px;
margin: 0 7px;
}
.register-more-step {
font-size: 12px;
}
.register-more-tip {
margin-left: 125px;
}
2026-07-09 10:05:52 +08:00
}
}