/* pages/user/order/sceneOrderInfo/index.wxss */ .top-bg { position: absolute; left: 0; right: 0; height: 280rpx; background: linear-gradient(180deg, #0B898E, #0B898E, rgba(237, 237, 237, 0)); z-index: -1; } page { background: #f6f6f6; } .state-text { margin: 20rpx 30rpx; line-height: 100rpx; color: #fff; font-size: 48rpx; display: flex; align-items: center; justify-content: space-between; } .progress-box { width: 148rpx; height: 41rpx; border-radius: 20rpx; border: 1rpx solid #FFFFFF; line-height: 41rpx; text-align: center; box-sizing: border-box; font-weight: 500; font-size: 24rpx; color: #FFFFFF; margin-left: 20rpx; } .state-texts { display: flex; align-items: center; } .state-texts image { width: 40rpx; height: 40rpx; margin: 0 14rpx; } .kefu-img{width: 85rpx;height: 85rpx;} .kefu-img image{width: 85rpx;height: 85rpx;} .box { padding: 20rpx; background: white; border-radius: 20rpx; margin: 20rpx 30rpx; } .product-info { color: #333; font-size: 24rpx; padding-bottom: 20rpx; border-bottom: 1rpx solid #d8d8d8; margin-bottom: 20rpx; } .product-info-top { display: flex; justify-content: space-between; } .product-price,.product-state { text-align: right; color: #666; } .product-state { color: #0B898E; } .product-info image { width: 140rpx; height: 140rpx; border-radius: 10rpx; flex-shrink: 0; } .title-box { flex: 1; margin: 0 20rpx; } .title-box .title { font-size: 30rpx; width: 100%; margin-bottom: 10rpx; } .title-box .subtitle { color: #888888; font-size: 26rpx; } .price-box-tip { text-align: right; } .detail-item { display: flex; justify-content: space-between; align-items: center; height: 50rpx; color: #666; font-size: 26rpx; } .all-total-item { font-weight: bold; height: 70rpx; border-bottom: 1rpx solid #d8d8d8; } .all-total-item .price { color: #D62828; font-size: 36rpx; } .all-total-item .price::before { content: "¥"; font-size: 26rpx; } .btns { display: flex; justify-content: flex-end; align-items: center; height: 103rpx; font-size: 26rpx; } .btn { width: 160rpx; line-height: 60rpx; background: #fff; text-align: center; box-sizing: border-box; border: 1rpx solid #d8d8d8; border-radius: 30rpx; text-align: center; margin-left: 20rpx; } .btn.active { color: #fff; background: #FC9132; border-color: #FC9132; } .box-title { font-size: 30rpx; font-weight: bold; margin-bottom: 10rpx; display: flex; text-align: center; justify-content: space-between; } .title-content{ overflow-x: hidden; overflow-y: inherit; text-overflow: ellipsis; white-space: nowrap; } .scene-btns { display: flex; justify-content: flex-end; align-items: center; font-size: 26rpx; color: #333; text-align: center; margin-top: 20rpx; } .scene-btn { width: 160rpx; line-height: 60rpx; box-sizing: border-box; border: 1rpx solid #d8d8d8; border-radius: 30rpx; margin-left: 20rpx; flex-shrink: 0; } .scene-rest-time { flex: 1; text-align: left; font-size: 26rpx; font-weight: bold; } .scene-btn.active { color: #fff; background: #FC9132; border-color: #FC9132; } .scene-btn.active1 { background: #0B898E; border-color: #0B898E; color: #fff; } .bottom-btn { display: flex; width: 360rpx; height: 80rpx; background: #FFFFFF; border-radius: 40rpx; justify-content: center; align-items: center; font-size: 30rpx; color: #333; font-weight: 500; margin: 20rpx auto; } .bottom-btn image { width: 40rpx; margin-right: 10rpx; } .line { margin: 10rpx 0; height: 1rpx; background: #d8d8d8; } .mask-title { text-align: center; padding-top: 30rpx; margin-bottom: 60rpx; font-weight: 500; } .mask-item { margin: 0 40rpx; margin-bottom: 60rpx; display: flex; justify-content: space-between; font-size: 30rpx; color: #333; } .icon-close { position: absolute; right: 20rpx; top: 30rpx; } .code-box { text-align: center; min-height: 440rpx; position: relative; } .code-box .iconfont { position: absolute; color: #0B898E; font-size: 30rpx; line-height: 50rpx; width: 50rpx; left: 40rpx; text-align: center; margin-top: 125rpx; z-index: 1; } .code-box .iconfont.icon-you { left: auto; right: 40rpx; top: 20rpx; } .code-img { width: 300rpx; height: 300rpx; display: block; margin: 0 auto; position: absolute; left: -1000rpx; top: -400rpx; } .code-state { font-size: 26rpx; color: #333; margin-bottom: 30rpx; } .code-text { color: #0B898E; font-size: 30rpx; font-weight: 500; margin: 25rpx; display: flex; justify-content: center; } .code-btn { width: 220rpx; line-height: 60rpx; background: #FFFFFF; border: 1rpx solid #D8D8D8; border-radius: 30rpx; box-sizing: border-box; font-size: 26rpx; color: #333; margin: 0 auto; } .hotel-tel-box { line-height: 80rpx; border-top: 1rpx solid #D8D8D8; color: #0B898E; font-size: 26rpx; margin-top: 20rpx; } .hotel-tel-box .iconfont { margin-right: 20rpx; font-size: 34rpx; } .hotel-tips { display: flex; align-items: center; font-size: 24rpx; color: #999; } .hotel-tips .hotel-days-num { width: 70rpx; font-size: 20rpx; line-height: 30rpx; border: 1rpx solid #0B898E; border-radius: 15rpx; text-align: center; color: #0B898E; margin: 0 20rpx; text-align: center; box-sizing: border-box; } .hotel-tips .hotel-date { font-size: 26rpx; color: #333; margin-right: 6rpx; } .hotel-tip { font-size: 24rpx; color: #999; margin-top: 30rpx; } .showmsg{ display: none; } .btn{ float: right; } .text-shadow { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; text-align: center; background: rgba(0, 0, 0, .3); width: 300rpx; height: 300rpx; /*border-radius: .3rem;*/ display: flex; align-items: center; justify-content: center; z-index: 1; } .text-shadow-state { width: 200rpx; height: 200rpx; line-height: 200rpx; background: #FFFFFF; border-radius: 50%; color: #0B898E; } .copy-box { width: 73rpx; line-height: 35rpx; border-radius: 7rpx; border: 1rpx solid #09898C; margin-left: 15rpx; text-align: center; font-weight: 500; font-size: 23rpx; color: #0E8790; height: 40rpx; } .goods-line{ border-top: 1px solid #ccc; margin: 12rpx 0; } .child-status{ font-weight: bold; font-size: 31rpx; color: #0B898E; } .post-line-info{ height: auto; min-height: 48rpx; } .post-child-item{ background: #F5F5F5; border-radius: 20rpx; padding:10rpx 20rpx; width: 100%; box-sizing: border-box; margin-bottom: 20rpx; } .post-child-item .detail-item{ color: #333; } .post-child-btn{ font-weight: 500; font-size: 27rpx; color: #0B898E; background: #FFFFFF; border-radius: 50rpx; border: 1px solid #0B898E; padding:4rpx 40rpx; width: fit-content; margin: 0 auto; box-sizing: border-box; margin-top: 20rpx; } .expand-tip{ position: absolute; color: #0B898E; right: 0; bottom: 0; } /* --- 弹窗容器 --- */ .custom-popup { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; } .popup-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); } .popup-container { position: absolute; bottom: 0; left: 0; width: 100%; /* 调整:最大高度从 80% 降到 60%,更协调 */ max-height: 60vh; min-height: 40vh; background: #fff; border-radius: 24rpx 24rpx 0 0; display: flex; flex-direction: column; overflow: hidden; /* animation: slideUp 0.3s ease-out; */ padding-bottom: env(safe-area-inset-bottom); /* 适配iPhone底部黑条 */ } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } /* --- 头部 --- */ .popup-header { position: relative; /* 调整:减小头部上下内边距 */ padding: 30rpx 0; text-align: center; flex-shrink: 0; border-bottom: 1rpx solid #f5f5f5; } .popup-header .title { /* 调整:标题字号 48 -> 36 */ font-size: 36rpx; font-weight: bold; color: #333; } .popup-header .close-btn { position: absolute; right: 20rpx; top: 20rpx; /* 随 padding 调整 */ font-size: 50rpx; /* 60 -> 50 */ color: #999; padding: 10rpx 20rpx; line-height: 1; } /* --- 内容区 --- */ .progress-content { flex: 1; height: 100%; overflow-y: hidden; } .content-padding { padding: 30rpx 40rpx 50rpx; } .timeline-item { display: flex; min-height: 120rpx; position: relative; } /* 左侧轴 */ .timeline-left { width: 60rpx; display: flex; flex-direction: column; align-items: center; flex-shrink: 0; position: relative; } /* 线条 */ .timeline-left .line { position: absolute; width: 2rpx; background-color: #E5E5E5; top: 36rpx; height: 100%; left: 50%; transform: translateX(-50%); z-index: 1; } .timeline-left .line.active-line { background-color: #0B898E; } /* 图标容器通用 */ .icon-box { margin-top: 10rpx; z-index: 2; background-color: #fff; box-sizing: border-box; } /* 1. 灰色圆点 */ .icon-box.pending { width: 32rpx; height: 32rpx; background-color: #E0E0E0; /* 颜色稍微深一点点 */ border-radius: 50%; box-shadow: 0 0 0 6rpx #fff; } /* 2. 完成态 */ .icon-box.finished { width: 32rpx; height: 32rpx; background-color: #0B898E; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6rpx #fff; } /* 纯CSS画对勾 */ .css-checkmark { width: 8rpx; height: 14rpx; border-bottom: 3rpx solid #fff; /* 4 -> 3 */ border-right: 3rpx solid #fff; transform: rotate(45deg); margin-bottom: 2rpx; } /* 3. 进行中 */ .icon-box.processing { width: 36rpx; height: 36rpx; background: #0B898E; border-radius: 50%; box-shadow: 0 0 0 6rpx #fff; margin-top: 8rpx; display: flex; align-items: center; justify-content: center; } .loading-img { width: 60%; height: 60%; } /* 右侧文字 */ .timeline-right { flex: 1; padding-left: 24rpx; padding-top: 4rpx; padding-bottom: 40rpx; } .item-title { font-size: 30rpx; color: #333; font-weight: 500; margin-bottom: 10rpx; } .item-time { font-size: 24rpx; color: #999; } .order-text { font-weight: 500; font-size: 25rpx; color: #FFFFFF; padding: 0 32rpx; }