diff --git a/employee-app/health-checkup/booking-date-selected.html b/employee-app/health-checkup/booking-date-selected.html index 5e339ef..fa30b21 100644 --- a/employee-app/health-checkup/booking-date-selected.html +++ b/employee-app/health-checkup/booking-date-selected.html @@ -68,6 +68,95 @@ .stepper__item--done:hover .stepper__label { text-decoration: underline; text-underline-offset: 3px; } .stepper__line { width: 44px; height: 3px; background: #e8e8e8; margin: 0 8px; margin-bottom: 22px; border-radius: 2px; } .stepper__line--done { background: var(--primary); } + /* 原型演示状态下拉框(导航栏右上角) */ + .demo-select { + margin-left: auto; flex-shrink: 0; font-family: inherit; + font-size: 11px; font-weight: 600; color: var(--text-secondary); + border: 1px solid #e8e8e8; border-radius: 12px; padding: 3px 6px; + background: #f5f5f5; cursor: pointer; outline: none; + } + /* 预约结果横幅 */ + .result-banner { + display: flex; align-items: flex-start; gap: 12px; + border-radius: 20px; padding: 16px; margin-bottom: 14px; + } + .result-banner--success { background: linear-gradient(135deg, #f6ffed 0%, #ffffff 100%); border: 1px solid #b7eb8f; } + .result-banner--fail { background: linear-gradient(135deg, #fff1f0 0%, #ffffff 100%); border: 1px solid #ffccc7; } + .result-banner__icon { + width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; + display: flex; align-items: center; justify-content: center; + } + .result-banner--success .result-banner__icon { background: #52c41a; } + .result-banner--fail .result-banner__icon { background: #ff4d4f; } + .result-banner--success .icon-cross { display: none; } + .result-banner--fail .icon-check { display: none; } + .result-banner__title { font-size: 18px; font-weight: 800; margin-bottom: 4px; } + .result-banner--success .result-banner__title { color: #389e0d; } + .result-banner--fail .result-banner__title { color: #cf1322; } + .result-banner__sub { font-size: 12px; color: var(--text-muted); line-height: 1.5; } + .result-banner__reason { + display: none; align-items: center; gap: 6px; margin-top: 6px; + font-size: 13px; color: var(--text-secondary); + } + .result-banner--fail .result-banner__reason { display: flex; } + .reason-help { + width: 16px; height: 16px; border-radius: 50%; border: 1px solid #ff4d4f; color: #ff4d4f; + display: inline-flex; align-items: center; justify-content: center; + font-size: 11px; font-weight: 700; cursor: pointer; flex-shrink: 0; transition: all 0.2s; + } + .reason-help:hover { background: #ff4d4f; color: #fff; } + /* 失败原因详情弹窗 */ + .modal-overlay { + position: absolute; inset: 0; background: rgba(0,0,0,0.42); z-index: 120; + display: flex; align-items: center; justify-content: center; padding: 24px; + } + .modal-overlay.hidden { display: none; } + .reason-modal { + width: 100%; background: #fff; border-radius: 24px; padding: 22px 20px 18px; + box-shadow: 0 20px 50px rgba(0,0,0,0.16); + } + .reason-modal__title { font-size: 17px; font-weight: 700; text-align: center; margin-bottom: 16px; } + .reason-modal__item { margin-bottom: 14px; } + .reason-modal__label { font-size: 12px; color: var(--text-muted); margin-bottom: 4px; } + .reason-modal__text { font-size: 14px; font-weight: 600; color: var(--text-primary); line-height: 1.6; } + .reason-modal__text--danger { color: #cf1322; } + .reason-modal__btn { + width: 100%; height: 44px; border-radius: 22px; border: none; cursor: pointer; + background: linear-gradient(135deg, #13c2c2 0%, #36cfc9 100%); color: #fff; + font-size: 15px; font-weight: 600; margin-top: 4px; + } + /* 取消预约确认弹窗 */ + .cancel-modal { + width: 100%; background: #fff; border-radius: 24px; padding: 22px 20px 18px; + box-shadow: 0 20px 50px rgba(0,0,0,0.16); + } + .cancel-modal__title { font-size: 17px; font-weight: 700; text-align: center; margin-bottom: 6px; } + .cancel-modal__desc { font-size: 12px; color: var(--text-muted); text-align: center; line-height: 1.6; margin-bottom: 14px; } + .cancel-modal__order { + background: #f7f9fb; border-radius: 12px; padding: 10px 14px; margin-bottom: 16px; + font-size: 13px; font-weight: 600; color: var(--text-secondary); text-align: center; + } + .cancel-modal__label { font-size: 13px; font-weight: 600; margin-bottom: 10px; } + .cancel-modal__label em { color: var(--danger); font-style: normal; } + .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; } + .chip { + padding: 7px 14px; border-radius: 16px; border: 1px solid #e8e8e8; background: #fafafa; + font-size: 13px; color: var(--text-secondary); cursor: pointer; transition: all 0.2s; user-select: none; + } + .chip.selected { background: var(--primary-light); border-color: var(--primary); color: var(--primary-dark); font-weight: 600; } + .other-input { + display: none; width: 100%; border: 1px solid #e8e8e8; border-radius: 12px; + padding: 10px 12px; font-size: 13px; font-family: inherit; line-height: 1.6; + resize: none; outline: none; margin-bottom: 6px; color: var(--text-primary); + } + .other-input.show { display: block; } + .other-input:focus { border-color: var(--primary); } + .cancel-modal__err { display: none; font-size: 12px; color: var(--danger); margin-bottom: 6px; } + .cancel-modal__err.show { display: block; } + .cancel-modal__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; } + .cancel-modal__btn { height: 44px; border-radius: 22px; font-size: 15px; font-weight: 600; border: none; cursor: pointer; } + .cancel-modal__btn--ghost { background: #f5f5f5; color: var(--text-secondary); } + .cancel-modal__btn--danger { background: var(--danger); color: #fff; box-shadow: 0 6px 16px rgba(255,77,79,0.28); } .section-title { font-size: 16px; font-weight: 700; margin-bottom: 14px; } /* 信息卡片 */ .info-card { @@ -135,6 +224,11 @@