Files
ws_health/xui/wxapp/pages/itemdetail/itemdetail.wxss
2026-05-25 12:34:16 +08:00

496 lines
7.6 KiB
Plaintext

page {
background-color: #FAF6F1;
}
.container {
min-height: 100vh;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
/* 服务图片 */
.service-image-wrap {
width: 100%;
height: 420rpx;
overflow: hidden;
}
.service-image {
width: 100%;
height: 100%;
}
/* 信息卡片 */
.info-card {
background: #FFFFFF;
margin: -40rpx 24rpx 24rpx;
border-radius: 20rpx;
padding: 32rpx;
position: relative;
z-index: 10;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
}
.service-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 16rpx;
}
.service-title-wrap {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 12rpx;
}
.service-title {
font-size: 36rpx;
font-weight: 700;
color: #1F2937;
}
.service-tag {
background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
color: #FFFFFF;
font-size: 22rpx;
padding: 4rpx 16rpx;
border-radius: 8rpx;
}
.service-price-wrap {
display: flex;
align-items: baseline;
}
.price-symbol {
font-size: 28rpx;
color: #FF9B33;
font-weight: 600;
}
.service-price {
font-size: 44rpx;
color: #FF9B33;
font-weight: 700;
}
.price-unit {
font-size: 24rpx;
color: #9CA3AF;
margin-left: 4rpx;
}
.service-subtitle {
font-size: 26rpx;
color: #6B7280;
line-height: 1.5;
}
/* 详情卡片 */
.detail-card {
background: #FFFFFF;
margin: 0 24rpx 24rpx;
border-radius: 20rpx;
padding: 32rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04);
}
.card-title {
display: flex;
align-items: center;
font-size: 32rpx;
font-weight: 600;
color: #1F2937;
margin-bottom: 24rpx;
}
.card-icon {
color: #FF9B33;
margin-right: 12rpx;
}
.detail-content {
line-height: 1.8;
}
.detail-text {
font-size: 28rpx;
color: #4B5563;
line-height: 1.8;
}
/* 服务流程 */
.flow-list {
display: flex;
flex-direction: column;
gap: 24rpx;
}
.flow-item {
display: flex;
align-items: flex-start;
gap: 20rpx;
}
.flow-number {
width: 44rpx;
height: 44rpx;
background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
color: #FFFFFF;
font-size: 24rpx;
font-weight: 600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.flow-content {
flex: 1;
}
.flow-title {
display: block;
font-size: 28rpx;
font-weight: 600;
color: #1F2937;
margin-bottom: 8rpx;
}
.flow-desc {
display: block;
font-size: 26rpx;
color: #6B7280;
line-height: 1.5;
}
/* 注意事项 */
.notice-list {
display: flex;
flex-direction: column;
gap: 16rpx;
}
.notice-item {
display: flex;
align-items: flex-start;
gap: 16rpx;
}
.notice-dot {
width: 12rpx;
height: 12rpx;
background: #FF9B33;
border-radius: 50%;
margin-top: 12rpx;
flex-shrink: 0;
}
.notice-text {
font-size: 28rpx;
color: #4B5563;
line-height: 1.6;
flex: 1;
}
/* 底部占位 */
.bottom-placeholder {
height: 140rpx;
}
/* 底部下单栏 */
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #FFFFFF;
padding: 24rpx 32rpx;
padding-bottom: calc(24rpx + constant(safe-area-inset-bottom));
padding-bottom: calc(24rpx + env(safe-area-inset-bottom));
display: flex;
align-items: center;
justify-content: space-between;
box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.06);
z-index: 100;
}
.price-info {
display: flex;
align-items: baseline;
}
.total-label {
font-size: 28rpx;
color: #6B7280;
}
.total-price {
font-size: 40rpx;
color: #FF9B33;
font-weight: 700;
}
.order-btn {
background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
padding: 24rpx 56rpx;
border-radius: 40rpx;
border: none;
line-height: 1.5;
}
.order-btn::after {
border: none;
}
/* 弹窗遮罩 */
.popup-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 200;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0.3s;
}
.popup-mask.show {
opacity: 1;
visibility: visible;
}
/* 弹窗内容 */
.popup-content {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #FFFFFF;
border-radius: 24rpx 24rpx 0 0;
z-index: 201;
transform: translateY(100%);
transition: transform 0.3s ease-out;
display: flex;
flex-direction: column;
max-height: 85vh;
}
.popup-content.show {
transform: translateY(0);
}
.popup-header {
display: flex;
align-items: center;
justify-content: center;
padding: 32rpx;
position: relative;
border-bottom: 1rpx solid #F3F4F6;
flex-shrink: 0;
}
.popup-title {
font-size: 32rpx;
font-weight: 600;
color: #1F2937;
}
.popup-close {
position: absolute;
right: 32rpx;
top: 50%;
transform: translateY(-50%);
color: #9CA3AF;
}
.popup-body {
flex: 1;
overflow-y: auto;
padding: 32rpx;
max-height: 60vh;
width: auto;
}
/* 弹窗内服务信息 */
.order-service-info {
display: flex;
align-items: center;
gap: 20rpx;
padding-bottom: 24rpx;
border-bottom: 1rpx solid #F3F4F6;
margin-bottom: 24rpx;
}
.order-service-image {
width: 120rpx;
height: 120rpx;
border-radius: 12rpx;
flex-shrink: 0;
}
.order-service-text {
flex: 1;
}
.order-service-title {
display: block;
font-size: 30rpx;
font-weight: 600;
color: #1F2937;
margin-bottom: 12rpx;
}
.order-service-price {
display: block;
font-size: 32rpx;
color: #FF9B33;
font-weight: 700;
}
/* 表单行 */
.order-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 0;
border-bottom: 1rpx solid #F3F4F6;
}
.order-row.column {
flex-direction: column;
align-items: flex-start;
gap: 16rpx;
}
.order-label {
font-size: 28rpx;
color: #374151;
font-weight: 500;
flex-shrink: 0;
}
.order-input {
flex: 1;
text-align: right;
font-size: 28rpx;
color: #1F2937;
margin-left: 24rpx;
}
.input-placeholder {
color: #9CA3AF;
}
.picker-value {
font-size: 28rpx;
color: #1F2937;
}
.picker-value.placeholder {
color: #9CA3AF;
}
/* 数量控制 */
.quantity-control {
display: flex;
align-items: center;
gap: 16rpx;
}
.quantity-btn {
width: 52rpx;
height: 52rpx;
background: #F3F4F6;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #1F2937;
font-weight: 600;
}
.quantity-btn.disabled {
color: #CCCCCC;
background: #F9FAFB;
}
.quantity-value {
font-size: 30rpx;
color: #1F2937;
font-weight: 600;
min-width: 40rpx;
text-align: center;
}
/* 文本域 */
.order-textarea {
width: 100%;
height: 160rpx;
background: #F9FAFB;
border-radius: 12rpx;
padding: 20rpx;
font-size: 28rpx;
color: #1F2937;
box-sizing: border-box;
}
.textarea-count {
font-size: 24rpx;
color: #9CA3AF;
align-self: flex-end;
}
/* 弹窗底部 */
.popup-footer {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24rpx 32rpx;
padding-bottom: calc(24rpx + constant(safe-area-inset-bottom));
padding-bottom: calc(24rpx + env(safe-area-inset-bottom));
border-top: 1rpx solid #F3F4F6;
background: #FFFFFF;
flex-shrink: 0;
}
.popup-price {
display: flex;
align-items: baseline;
}
.popup-price-label {
font-size: 28rpx;
color: #6B7280;
}
.popup-price-value {
font-size: 40rpx;
color: #FF9B33;
font-weight: 700;
}
.popup-submit-btn {
background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
padding: 24rpx 56rpx;
border-radius: 40rpx;
border: none;
line-height: 1.5;
}
.popup-submit-btn::after {
border: none;
}