洛阳学员端
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.

148 lines
4.2 KiB

  1. <template>
  2. <!-- 模拟器 -->
  3. <view class="consultItem">
  4. <view class="top_row">
  5. <view class="flex">
  6. <view class="tag">{{info.subject==2?'科目二实操':info.subject==3?'科目三实操':'不限科目'}}</view>
  7. <view class="schoolName oneRowText">{{info.siteName}}</view>
  8. </view>
  9. <view class="status">
  10. <view class="text" v-if="info.loginStatus==9">已取消</view>
  11. <view class="text" v-else>{{statusTxt[info.loginStatus]}}</view>
  12. <view class="icon">
  13. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  14. </view>
  15. </view>
  16. </view>
  17. <view class="target">
  18. <view class="row">
  19. <view class="leftLab">
  20. <view class="icon">
  21. <image src="@/static/images/car/ic_chexing.png" mode=""></image>
  22. </view>
  23. <view class="lab">预约教练</view>
  24. </view>
  25. <view class="name">{{info.coachName}}</view>
  26. </view>
  27. <view class="row">
  28. <view class="leftLab">
  29. <view class="icon">
  30. <image src="@/static/images/car/ic_chexing.png" mode=""></image>
  31. </view>
  32. <view class="lab">预约车辆</view>
  33. </view>
  34. <view class="name">{{info.carNumber}}</view>
  35. </view>
  36. <view class="row">
  37. <view class="leftLab">
  38. <view class="icon">
  39. <image src="@/static/images/car/ic_shijian.png" mode=""></image>
  40. </view>
  41. <view class="lab">预约日期</view>
  42. </view>
  43. <view class="name">{{info.classDate}}</view>
  44. </view>
  45. <view class="row rowBotton" v-for="(item,index) in info.bookingDetailRespVOS" :key="index" :class="{blue: (item.loginStatus==1||item.loginStatus==1),hui: (item.loginStatus==3||item.loginStatus==9)}">
  46. <view class="leftLab" v-if="index==0">
  47. <view class="icon">
  48. <image src="@/static/images/car/ic_shijian.png" mode=""></image>
  49. </view>
  50. <view class="lab">预约时段</view>
  51. </view>
  52. <view class="leftLab" v-else></view>
  53. <view class="classTime" @click="chooseClassTime(item)">
  54. <view class="radioIcon">
  55. <view class="radioW" v-if="item.loginStatus==0" >
  56. <image src="@/static/images/car/check_cli.png" mode="" v-if="ids.indexOf(item.id)!=-1"></image>
  57. <image src="@/static/images/car/check_nor.png" mode="" v-else></image>
  58. </view>
  59. </view>
  60. <view class="time" :class="{blue: (item.loginStatus==1||item.loginStatus==1),hui: (item.loginStatus==3||item.loginStatus==9)}">{{item.classTime}}</view>
  61. </view>
  62. <view class="status">
  63. <view class="text hui" v-if="item.loginStatus==9">已取消</view>
  64. <view class="text" v-else >{{statusTxt[item.loginStatus]}}</view>
  65. </view>
  66. </view>
  67. </view>
  68. <view class="border_bottom">
  69. <view class="dateBox">
  70. <view class="date">提交预约时间{{$u.timeFormat(info.createTime, 'yyyy-mm-dd hh:MM:ss')}}</view>
  71. <view class="date" v-if="info.loginStatus==3||info.loginStatus==9"><text>{{ info.loginStatus==3?'过期时间':'取消时间'}}</text> {{$u.timeFormat(info.updateTime, 'yyyy-mm-dd hh:MM:ss')}}</view>
  72. <view class="date" v-if="info.signOutTime">完成时间{{$u.timeFormat(info.signOutTime, 'yyyy-mm-dd hh:MM:ss')}}</view>
  73. </view>
  74. </view>
  75. </view>
  76. </template>
  77. <script>
  78. export default {
  79. props: ['info'],
  80. data() {
  81. return {
  82. statusTxt: ['未签到','已签到','已签退','旷课','已取消',''],//0:未签到,1:已签到,2:已签退,3:旷课,9:已取消
  83. ids: []
  84. }
  85. },
  86. methods: {
  87. chooseClassTime(item) {
  88. let index = this.ids.indexOf(item.id)
  89. if(index==-1) {
  90. this.ids.push(item.id)
  91. }else {
  92. this.ids.splice(index, 1)
  93. }
  94. }
  95. }
  96. }
  97. </script>
  98. <style lang="scss" scoped>
  99. .rowBotton {
  100. border-bottom: 1px solid #f8f8f8;
  101. &.blue {
  102. .classTime {
  103. .time {
  104. color: $themC;
  105. }
  106. }
  107. .status {
  108. .text {
  109. color: $themC;
  110. }
  111. }
  112. }
  113. &.hui {
  114. .classTime {
  115. .time {
  116. color: #ADADAD;
  117. }
  118. }
  119. .status {
  120. .text {
  121. color: #ADADAD;
  122. }
  123. }
  124. }
  125. &:last-child {
  126. border-bottom: none
  127. }
  128. .leftLab {
  129. width: 160rpx;
  130. }
  131. .classTime {
  132. display: flex;
  133. align-items: center;
  134. }
  135. .radioIcon {
  136. width: 36rpx;
  137. height: 36rpx;
  138. margin-right: 20rpx;
  139. .radioW {
  140. width: 100%;
  141. height: 100%
  142. }
  143. }
  144. }
  145. @import '../comp/comp.scss';
  146. </style>