学员端小程序
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.

131 lines
3.1 KiB

  1. <template>
  2. <view class="pageBgImg">
  3. <topNavbar title="考场模拟训练预约"></topNavbar>
  4. <view class="pad">
  5. <view class="top_row">
  6. <view class="step_row">
  7. <view class="dian" @click="changeStep(1)">
  8. <view class="num" :class="{active: currentStep==1}">1</view>
  9. </view>
  10. <view class="line"></view>
  11. <view class="dian" @click="changeStep(2)">
  12. <view class="num" :class="{active: currentStep==2}">2</view>
  13. </view>
  14. <view class="line"></view>
  15. <view class="dian" @click="changeStep(3)">
  16. <view class="num" :class="{active: currentStep==3}">3</view>
  17. </view>
  18. <view class="line"></view>
  19. <view class="dian" @click="changeStep(4)">
  20. <view class="num" :class="{active: currentStep==4}">4</view>
  21. </view>
  22. <view class="line"></view>
  23. <view class="dian" @click="changeStep(5)">
  24. <view class="num" :class="{active: currentStep==5}">5</view>
  25. </view>
  26. </view>
  27. <view class="step_text">
  28. <view class="txt">选择时间</view>
  29. <view class="txt">选择科目</view>
  30. <view class="txt">选择考场</view>
  31. <view class="txt">选择车型</view>
  32. <view class="txt">选择车辆</view>
  33. </view>
  34. </view>
  35. <step1 v-if="currentStep==1" @changeStep="changeStep"></step1>
  36. <step2 v-if="currentStep==2" @changeStep="changeStep"></step2>
  37. <step3 v-if="currentStep==3" @changeStep="changeStep"></step3>
  38. <step4 v-if="currentStep==4" @changeStep="changeStep"></step4>
  39. <step5 v-if="currentStep==5" @changeStep="changeStep"></step5>
  40. </view>
  41. </view>
  42. </template>
  43. <script>
  44. import step1 from './comp/step1'
  45. import step2 from './comp/step2'
  46. import step3 from './comp/step3'
  47. import step4 from './comp/step4'
  48. import step5 from './comp/step5'
  49. export default {
  50. components: { step1, step2, step3, step4, step5 },
  51. data() {
  52. return {
  53. currentStep: 1
  54. }
  55. },
  56. methods: {
  57. changeStep(num) {
  58. this.currentStep = num
  59. }
  60. }
  61. }
  62. </script>
  63. <style lang="scss" scoped>
  64. .top_row {
  65. width: 100%;
  66. padding-bottom: 36rpx;
  67. .step_row {
  68. display: flex;
  69. align-items: center;
  70. justify-content: space-between;
  71. width: 100%;
  72. padding: 0 32rpx;
  73. .dian {
  74. width: 180rpx;
  75. height: 100rpx;
  76. display: flex;
  77. align-items: center;
  78. justify-content: center;
  79. position: relative;
  80. // background: red;
  81. }
  82. .num {
  83. width: 46rpx;
  84. height: 46rpx;
  85. background: #D1E7FE;
  86. line-height: 46rpx;
  87. border-radius: 50%;
  88. text-align: center;
  89. color: $themC;
  90. font-size: 24rpx;
  91. position: absolute;
  92. z-index: 9;
  93. &.active {
  94. border:2rpx solid $themC;
  95. &::before {
  96. content: '';
  97. width: 66rpx;
  98. height: 66rpx;
  99. border-radius: 50%;
  100. position: absolute;
  101. z-index: -1;
  102. left: 50%;
  103. top: 50%;
  104. transform: translate(-50%,-50%);
  105. background: rgba(255,255,255,0.6);
  106. filter: blur(6rpx);
  107. }
  108. }
  109. }
  110. .line {
  111. width: 60rpx;
  112. height: 4rpx;
  113. background: rgba(255,255,255,0.4);
  114. }
  115. }
  116. .step_text {
  117. display: flex;
  118. .txt {
  119. flex: 1;
  120. text-align: center;
  121. font-size: 28rpx;
  122. color: #fff;
  123. text-align: center;
  124. }
  125. }
  126. }
  127. </style>