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

419 lines
9.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// ============================================================
// 2026-08-08 依据原型 V1.6 register.html「认证信息填报页」1:1 还原
// 变更原因:原型为原生 HTML/CSS非 antd需按原型样式、布局、颜色、边框、字体、
// 按钮、响应式做 1:1 还原。
// 变更逻辑:将原型 register.html 内联 CSS 迁入本文件,置于 .register-more 命名空间下
// 避免影响全局;保留 .audit-look 审核中动画等既有区块。
// 变更理由:最小侵入、样式与原型一一对应,支持 max-width:760px 响应式单列布局。
// ============================================================
.register-more {
// 背景
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;
}
}
}
// ---- 审核中/通过 区块(既有动画,保留)----
.audit-look {
background-repeat: no-repeat;
height: 175px;
width: 171px;
position: relative;
}
.audit-look-img {
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);
}
}
.register-more-state {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
color: #1f2937;
font-size: 16px;
img {
max-width: 120px;
}
}
// ---- 响应式(原型 @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;
}
}
}