appointment_success.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <template>
  2. <view class="safeArea">
  3. <view style="padding: 8rpx;">
  4. <view class="box1">
  5. <view>您所报考的【{{ listData.categoryName }}】专业</view>
  6. <view class="status">
  7. <u-icon name="checkmark-circle" color="#34C759" size="32"></u-icon>
  8. <text style="margin-left: 8rpx;">{{ listData.subscribeStatus === 1 ? '考试预约成功' : '预约异常' }}</text>
  9. </view>
  10. </view>
  11. <view class="box2">
  12. <view class="title2">报考学员信息</view>
  13. <u-line color="#D6D6DB" />
  14. <view class="boxMain">
  15. <view class="list_item">
  16. <view class="txt_left">姓名</view>
  17. <view class="txt_right">{{ listData.realname }}</view>
  18. </view>
  19. <view class="list_item">
  20. <view class="txt_left">身份证</view>
  21. <view class="txt_right">{{ listData.idCard }}</view>
  22. </view>
  23. <view class="list_item">
  24. <view class="txt_left">考试身份</view>
  25. <view class="txt_right">{{ listData.studentType === 1 ? '非补考学员' : listData.studentType === 2 ? '补考学员' : '' }}</view>
  26. </view>
  27. </view>
  28. </view>
  29. <view class="box2">
  30. <view class="title2">考试预约信息</view>
  31. <u-line color="#D6D6DB" />
  32. <view class="boxMain">
  33. <view class="list_item">
  34. <view class="txt_left">考试标题</view>
  35. <view class="txt_right txt_right1">{{listData.applyName}}</view>
  36. </view>
  37. <view class="list_item">
  38. <view class="txt_left">报名开放时间</view>
  39. <view class="txt_right">{{$method.timestampToTime(listData.applyStartTime)}} ~ {{$method.timestampToTime(listData.applyEndTime)}}</view>
  40. </view>
  41. <view class="list_item">
  42. <view class="txt_left">报考专业</view>
  43. <view class="txt_right">{{listData.categoryName}}专业</view>
  44. </view>
  45. <view class="list_item">
  46. <view class="txt_left">考试地点</view>
  47. <view class="txt_right">{{listData.applySiteAddress}}</view>
  48. </view>
  49. <view class="list_item">
  50. <view class="txt_left">考试时间</view>
  51. <view class="txt_right">{{$method.timestampToTime(listData.applySiteExamTime)}} {{listData.applySiteStartTime}} ~ {{listData.applySiteEndTime}}</view>
  52. </view>
  53. <view class="list_item" v-if="listData.applySiteAddressTrain">
  54. <view class="txt_left">考前培训地点</view>
  55. <view class="txt_right">{{listData.applySiteAddressTrain}}</view>
  56. </view>
  57. <view class="list_item" v-if="listData.applySiteExamTrainTime && listData.applySiteStartTrainTime && listData.applySiteEndTrainTime">
  58. <view class="txt_left">考前培训时间</view>
  59. <view class="txt_right">{{$method.timestampToTime(listData.applySiteExamTrainTime)}} {{listData.applySiteStartTrainTime}} ~ {{listData.applySiteEndTrainTime}}</view>
  60. </view>
  61. <view class="tip">*您可在“我的>我的考试预约”中查询</view>
  62. </view>
  63. </view>
  64. <view style="height: 120rpx;"></view>
  65. <view class="foot safeArea">
  66. <view class="btn return" @click="backPage">返回我的网课</view>
  67. <view class="btn view" @click="goMent">查看【我的考试预约】</view>
  68. </view>
  69. </view>
  70. </view>
  71. </template>
  72. <script>
  73. import { mapGetters } from 'vuex';
  74. export default {
  75. components: {},
  76. data() {
  77. return {
  78. subscribeId: null,
  79. listData: {}
  80. };
  81. },
  82. onLoad(option) {
  83. this.subscribeId = Number(option.subscribeId);
  84. this.getInfo();
  85. },
  86. onShow() {},
  87. methods: {
  88. goMent(){
  89. uni.redirectTo({
  90. url: '/pages2/exam/exam_appointment'
  91. });
  92. },
  93. backPage(){
  94. uni.redirectTo({
  95. url: '/pages2/wd/class'
  96. });
  97. },
  98. getInfo() {
  99. this.$api.getApplylist({ subscribeId: this.subscribeId }).then(res => {
  100. if (res.data.code === 200 && res.data.rows.length) {
  101. if(res.data.rows[0].applySiteStartTime){
  102. res.data.rows[0].applySiteStartTime = res.data.rows[0].applySiteStartTime.replace("-",":")
  103. }
  104. if(res.data.rows[0].applySiteEndTime){
  105. res.data.rows[0].applySiteEndTime = res.data.rows[0].applySiteEndTime.replace("-",":")
  106. }
  107. if(res.data.rows[0].applySiteStartTrainTime){
  108. res.data.rows[0].applySiteStartTrainTime = res.data.rows[0].applySiteStartTrainTime.replace("-",":")
  109. }
  110. if(res.data.rows[0].applySiteEndTrainTime){
  111. res.data.rows[0].applySiteEndTrainTime = res.data.rows[0].applySiteEndTrainTime.replace("-",":")
  112. }
  113. this.listData = res.data.rows[0];
  114. }
  115. });
  116. }
  117. },
  118. onReachBottom() {},
  119. computed: { ...mapGetters(['userInfo']) }
  120. };
  121. </script>
  122. <style>
  123. ::-webkit-scrollbar {
  124. width: 0;
  125. height: 0;
  126. color: transparent;
  127. }
  128. page {
  129. background-color: #eaeef1;
  130. }
  131. </style>
  132. <style scoped lang="scss">
  133. .tip {
  134. font-size: 24rpx;
  135. color: #999999;
  136. height: 40rpx;
  137. line-height: 40rpx;
  138. }
  139. .title2 {
  140. font-size: 30rpx;
  141. font-weight: bold;
  142. color: #333333;
  143. height: 90rpx;
  144. line-height: 90rpx;
  145. margin-left: 30rpx;
  146. }
  147. .box2 {
  148. width: 100%;
  149. background: #ffffff;
  150. border-radius: 16rpx;
  151. margin-top: 16rpx;
  152. .boxMain {
  153. padding: 30rpx;
  154. }
  155. .list_item {
  156. display: flex;
  157. justify-content: space-between;
  158. align-items: center;
  159. line-height: 1;
  160. &:not(:last-child) {
  161. margin-bottom: 57rpx;
  162. }
  163. .txt_left {
  164. font-size: 24rpx;
  165. color: #666666;
  166. }
  167. .txt_right {
  168. color: #333333;
  169. font-size: 30rpx;
  170. font-weight: bold;
  171. width: 75%;
  172. text-align: right;
  173. &.txt_right1 {
  174. width: 370rpx;
  175. // text-align: left;
  176. line-height: 1.4;
  177. }
  178. }
  179. }
  180. }
  181. .box1 {
  182. width: 100%;
  183. background: #ffffff;
  184. border-radius: 16rpx;
  185. padding: 15rpx;
  186. text-align: center;
  187. .status {
  188. font-size: 36rpx;
  189. font-family: PingFang SC;
  190. font-weight: bold;
  191. color: #34c759;
  192. margin: 19rpx 0;
  193. }
  194. }
  195. .foot {
  196. height: 98rpx;
  197. width: 100%;
  198. position: fixed;
  199. bottom: 0;
  200. left: 0;
  201. background: rgba(255, 255, 255, 0.98);
  202. box-sizing: unset;
  203. display: flex;
  204. justify-content: center;
  205. align-items: center;
  206. .btn {
  207. height: 80rpx;
  208. line-height: 80rpx;
  209. border-radius: 40rpx;
  210. font-size: 30rpx;
  211. font-family: PingFang SC;
  212. font-weight: bold;
  213. text-align: center;
  214. }
  215. .return {
  216. width: 264rpx;
  217. background: #f5f5f5;
  218. color: #007aff;
  219. }
  220. .view {
  221. width: 374rpx;
  222. background: #007aff;
  223. color: #ffffff;
  224. margin-left: 24rpx;
  225. }
  226. }
  227. </style>