学员端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

306 lines
6.1 KiB

  1. <template>
  2. <view class="step1">
  3. <view class="card">
  4. <view class="dateBox">
  5. <view class="month-row">
  6. <view class="month">2032.08</view>
  7. <view class="arrow">
  8. <u-icon name="arrow-down" :size="12" :color="'#1989FA'"></u-icon>
  9. </view>
  10. </view>
  11. <view class="date_row">
  12. <view class="icon left">
  13. <u-icon name="arrow-left" :size="12" :color="'#fff'"></u-icon>
  14. </view>
  15. <view class="dateArr">
  16. <view class="date" v-for="(item,index) in dateArr" :key="index" :class="{active: index==1}">
  17. <view class="week">{{ item.week }}</view>
  18. <view class="num">{{ item.num }}</view>
  19. </view>
  20. </view>
  21. <view class="icon right">
  22. <u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="card">
  28. <view class="timeCon">
  29. <view class="h2">上午</view>
  30. <view class="time_box">
  31. <view class="time_item">
  32. <view class="lab">已过期</view>
  33. <view class="time">06:00-07:00</view>
  34. </view>
  35. <view class="time_item">
  36. <view class="lab">已约满</view>
  37. <view class="time">06:00-07:00</view>
  38. </view>
  39. <view class="time_item">
  40. <view class="lab">可预约</view>
  41. <view class="time">06:00-07:00</view>
  42. </view>
  43. </view>
  44. <view class="h2">下午</view>
  45. <view class="time_box">
  46. <view class="time_item">
  47. <view class="lab">已过期</view>
  48. <view class="time">06:00-07:00</view>
  49. </view>
  50. <view class="time_item">
  51. <view class="lab">已约满</view>
  52. <view class="time">06:00-07:00</view>
  53. </view>
  54. <view class="time_item">
  55. <view class="lab">可预约</view>
  56. <view class="time">06:00-07:00</view>
  57. </view>
  58. </view>
  59. </view>
  60. </view>
  61. <view class="poz_btn">
  62. <view class="btn_row" >
  63. <view class="border btn" @click="changeStep(3)">返回上一步</view>
  64. <view class="btn" >确认预约</view>
  65. </view>
  66. </view>
  67. <u-popup :show="show" mode="center" :round="8">
  68. <view class="popupCon">
  69. <view class="h2">再次确认预约信息</view>
  70. <view class="content">
  71. <view class="row">
  72. <view class="lab">预约类型</view>
  73. <view class="val">模拟器训练预约</view>
  74. </view>
  75. <view class="row">
  76. <view class="lab">预约时间</view>
  77. <view class="val">2023/08/08 08:009:00</view>
  78. </view>
  79. <view class="row">
  80. <view class="lab">模拟驾驶馆</view>
  81. <view class="val">某某模拟驾驶馆</view>
  82. </view>
  83. <view class="row">
  84. <view class="lab">预约模拟器</view>
  85. <view class="val">00002</view>
  86. </view>
  87. </view>
  88. <view class="btn_row">
  89. <view class="border btn" @click="show = false">返回修改</view>
  90. <view class="btn">确认</view>
  91. </view>
  92. </view>
  93. </u-popup>
  94. </view>
  95. </template>
  96. <script>
  97. export default {
  98. data() {
  99. return {
  100. dateArr: [
  101. {week: '一', num: '08'},
  102. {week: '二', num: '09'},
  103. {week: '三', num: '10'},
  104. {week: '四', num: '11'},
  105. {week: '五', num: '12'},
  106. ],
  107. show: true
  108. }
  109. },
  110. methods: {
  111. changeStep(val) {
  112. this.$emit('changeStep', val)
  113. }
  114. }
  115. }
  116. </script>
  117. <style lang="scss" scoped>
  118. .card {
  119. width: 100%;
  120. overflow: hidden;
  121. .dateBox {
  122. padding: 36rpx 0 40rpx 0;
  123. .month-row {
  124. display: flex;
  125. justify-content: center;
  126. align-items: center;
  127. margin-bottom: 36rpx;
  128. .month {
  129. font-size: 32rpx;
  130. color: $themC;
  131. }
  132. .arrow {
  133. margin-left: 6rpx;
  134. }
  135. }
  136. .date_row {
  137. width: 100%;
  138. height: 100rpx;
  139. position: relative;
  140. .icon {
  141. width: 40rpx;
  142. height: 40rpx;
  143. background: rgba(51,51,51,0.18);
  144. backdrop-filter: blur(4rpx);
  145. position: absolute;
  146. top: 50%;
  147. transform: translateY(-50%);
  148. display: flex;
  149. align-items: center;
  150. justify-content: center;
  151. border-radius: 50%;
  152. &.left {
  153. left: 16rpx;
  154. }
  155. &.right {
  156. right: 16rpx;
  157. }
  158. }
  159. .dateArr {
  160. display: flex;
  161. padding: 0 70rpx;
  162. justify-content: space-between;
  163. .date {
  164. width: 74rpx;
  165. height: 100rpx;
  166. border-radius: 16rpx;
  167. display: flex;
  168. flex-direction: column;
  169. align-items: center;
  170. justify-content: center;
  171. font-size: 28rpx;
  172. color: #333;
  173. &.active {
  174. background: rgba(25,137,250,0.1);
  175. border: 2rpx solid #1989FA;
  176. color: $themC;
  177. }
  178. .week {
  179. }
  180. .num {
  181. margin-top: 4rpx;
  182. }
  183. }
  184. }
  185. }
  186. }
  187. }
  188. .card {
  189. .timeCon {
  190. padding: 0 24rpx 70rpx 24rpx;
  191. }
  192. .h2 {
  193. line-height: 90rpx;
  194. font-weight: 500;
  195. color: #333;
  196. }
  197. .time_box {
  198. display: flex;
  199. flex-wrap: wrap;
  200. justify-content: space-between;
  201. .time_item {
  202. width: 30%;
  203. height: 120rpx;
  204. background: #F8F8F8;
  205. border-radius: 12rpx;
  206. display: flex;
  207. flex-direction: column;
  208. justify-content: center;
  209. align-items: center;
  210. border-radius: 12rpx;
  211. color: #333;
  212. &.active {
  213. background: rgba(25,137,250,0.1);
  214. border: 2rpx solid #1989FA;
  215. color: $themC;
  216. }
  217. &.disable {
  218. opacity: 0.5;
  219. }
  220. .lab {
  221. font-size: 28rpx;
  222. font-weight: 500;
  223. }
  224. .time {
  225. font-size: 24rpx;
  226. margin-top: 4rpx;
  227. }
  228. }
  229. }
  230. }
  231. .poz_btn {
  232. position: fixed;
  233. bottom: 0;
  234. left: 0;
  235. padding: 12rpx 32rpx;
  236. width: 100%;
  237. background: #F6F6F6;
  238. }
  239. .btn_row {
  240. display: flex;
  241. justify-content: space-between;
  242. padding-bottom: 30rpx;
  243. .btn {
  244. width: 47%;
  245. height: 72rpx;
  246. background: #1989FA;
  247. border-radius: 8rpx;
  248. font-size: 28rpx;
  249. color: #fff;
  250. text-align: center;
  251. line-height: 72rpx;
  252. &.border {
  253. background: rgba(25, 137, 250, 0.1);
  254. border: 2rpx solid $themC;
  255. color: $themC;
  256. }
  257. }
  258. }
  259. .popupCon {
  260. padding: 30rpx 50rpx;
  261. .h2 {
  262. font-weight: 600;
  263. color: #333333;
  264. line-height: 70rpx;
  265. font-size: 36rpx;
  266. text-align: center;
  267. }
  268. .content {
  269. padding-bottom: 20rpx;
  270. .row {
  271. padding: 22rpx 0;
  272. display: flex;
  273. font-size: 28rpx;
  274. align-items: center;
  275. .lab {
  276. width: 180rpx;
  277. color: #686B73;
  278. }
  279. .val {
  280. flex: 1;
  281. font-weight: 500;
  282. }
  283. }
  284. }
  285. }
  286. </style>