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

143 lines
4.0 KiB

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