offlineTreatment.scss 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. .page-container {
  2. background-color: #f3f3f3;
  3. padding-top: 10px;
  4. // height: calc(100vh - 44px);
  5. height: calc(100vh - 180rpx); // 减去 navbar 和 tabs 的高度(约 180rpx)
  6. flex: 1;
  7. overflow-y: hidden;
  8. box-sizing: border-box;
  9. // box-sizing: border-box;
  10. // -webkit-overflow-scrolling: touch;
  11. /* 兼容底部安全区,增加额外内边距防遮挡 */
  12. // padding-bottom: calc(env(safe-area-inset-bottom) + 24rpx);
  13. }
  14. .treatment-card {
  15. background: #fff;
  16. border-radius: 16rpx;
  17. margin: 0 24rpx 24rpx 24rpx;
  18. padding: 24rpx 24rpx 18rpx 24rpx;
  19. box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.03);
  20. }
  21. .treatment-title {
  22. font-size: 28rpx;
  23. font-weight: 500;
  24. color: #222;
  25. margin-bottom: 12rpx;
  26. }
  27. .treatment-row {
  28. font-size: 26rpx;
  29. color: #666;
  30. margin-bottom: 8rpx;
  31. display: flex;
  32. flex-wrap: wrap;
  33. }
  34. .label {
  35. color: black;
  36. margin-right: 8rpx;
  37. }
  38. .treatment-detail-card {
  39. display: flex;
  40. justify-content: space-between;
  41. align-items: center;
  42. background: #fff;
  43. border-radius: 16rpx;
  44. margin: 0 15rpx 20rpx 15rpx;
  45. padding: 24rpx 54rpx 18rpx 24rpx;
  46. box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.03);
  47. font-size: 28rpx;
  48. transition: background-color 0.3s ease;
  49. }
  50. .treatment-detail-card--highlighted {
  51. background: #f9e8f6;
  52. border: 1rpx solid #f9e8f6;
  53. }
  54. .row {
  55. display: flex;
  56. align-items: center;
  57. color: #222;
  58. font-size: 28rpx;
  59. margin-bottom: 20rpx;
  60. }
  61. .between {
  62. justify-content: space-between;
  63. }
  64. .bold {
  65. font-weight: 600;
  66. }
  67. .status {
  68. font-size: 28rpx;
  69. font-weight: 500;
  70. margin-bottom: 20rpx;
  71. text-align: center;
  72. }
  73. .status.done {
  74. color: #43A047;
  75. margin-left: 16rpx;
  76. }
  77. .center{
  78. text-align: center;
  79. }
  80. .count {
  81. margin-left: 16rpx;
  82. color: #222;
  83. }
  84. .divider {
  85. height: 1rpx;
  86. background: #eee;
  87. margin: 18rpx 0;
  88. }
  89. .sub-label {
  90. color: #bbb;
  91. }
  92. /* 底部安全区占位,确保列表最后一项不被遮挡 */
  93. .safe-bottom-spacer {
  94. height: calc(env(safe-area-inset-bottom) + 48rpx);
  95. min-height: 48rpx;
  96. flex: none;
  97. }
  98. /* 预约相关样式 */
  99. .appointment-action {
  100. margin-top: 100rpx;
  101. display: flex;
  102. justify-content: flex-end;
  103. }
  104. .appointment-btn {
  105. padding: 12rpx 32rpx;
  106. background: linear-gradient(135deg, #1d6ff6 0%, #4a90ff 100%);
  107. color: #fff;
  108. font-size: 26rpx;
  109. font-weight: 500;
  110. border-radius: 20rpx;
  111. box-shadow: 0 2rpx 8rpx rgba(29, 111, 246, 0.3);
  112. transition: all 0.3s ease;
  113. &:active {
  114. opacity: 0.9;
  115. transform: scale(0.98);
  116. }
  117. }
  118. .appointment-tag {
  119. padding: 12rpx 32rpx;
  120. background: #fff;
  121. color: #f44336;
  122. font-size: 24rpx;
  123. font-weight: 500;
  124. border: 1rpx solid #f44336;
  125. border-radius: 20rpx;
  126. }