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

133 lines
5.3 KiB

8 months ago
6 months ago
6 months ago
6 months ago
6 months ago
8 months ago
8 months ago
6 months ago
4 months ago
8 months ago
6 months ago
8 months ago
8 months ago
4 months ago
7 months ago
6 months ago
6 months ago
  1. <template>
  2. <view class="pageBgImg">
  3. <view class="status_bar"></view>
  4. <!-- 用户信息 -->
  5. <view class="userInfo">
  6. <view class="avatar">
  7. <image :src="vuex_userInfo.photoPath" mode="aspectFill" v-if="vuex_userInfo.photoPath" @click="show=true"></image>
  8. <!-- <image src="https://lyjp-bucket-main.oss-cn-beijing.aliyuncs.com/985114ca01ff35554333927a5d1d52883d3ad21301caac4b637df56169b2c916.png" mode="aspectFill" v-if="vuex_userInfo.photoPath" ></image> -->
  9. </view>
  10. <view class="rightInfo" @click="topClick">
  11. <view class="name-row">
  12. <view class="leftTxt">
  13. <view class="name">{{ vuex_userInfo.name?vuex_userInfo.name:vuex_userInfo.phone?vuex_userInfo.phone:'请登录' }}</view>
  14. <view class="arrowIcon">
  15. <image src="@/static/images/icon/arrowRightfff.png" mode=""></image>
  16. </view>
  17. </view>
  18. <view class="scanCode" @click.stop="scanCodeClick">
  19. <image src="@/static/images/mineIcon/sanCode.png" mode=""></image>
  20. </view>
  21. </view>
  22. <view class="phone" v-if="vuex_userInfo.name">{{ vuex_userInfo.phone }}</view>
  23. </view>
  24. </view>
  25. <view class="pad">
  26. <view class="ul">
  27. <view class="li" v-for="(item,index) in ulData" :key="index" @click="goPage(item)">
  28. <view class="icon">
  29. <image :src="item.icon" mode=""></image>
  30. </view>
  31. <view class="text">{{ item.name }}</view>
  32. </view>
  33. </view>
  34. <view class="ul2">
  35. <view class="li2" v-for="(item,index) in ulData2" :key="index" @click="goPage(item)">
  36. <view class="icon">
  37. <image :src="item.icon" mode=""></image>
  38. </view>
  39. <view class="text">{{ item.name }}</view>
  40. <view class="arrowRight">
  41. <u-icon name="arrow-right" color="#ccc" size="16"></u-icon>
  42. </view>
  43. </view>
  44. </view>
  45. </view>
  46. <!-- <view @click="gotk" text="去题库">去题库</view> -->
  47. <u-popup :show="show" mode="center" @close="show=false" :closeable="true">
  48. <view style="width: 90vw;">
  49. <image :src="vuex_userInfo.photoPath" mode="widthFix" ></image>
  50. </view>
  51. </u-popup>
  52. </view>
  53. </template>
  54. <script>
  55. import { scanCodeFn } from '@/config/utils.js'
  56. export default {
  57. data() {
  58. return {
  59. show: false,
  60. ulData: [
  61. {name: '学车进度', icon: require('@/static/images/mineIcon/emtryIcon (4).png'),url: '/pages/mineEntry/carLearProgress/carLearProgress'},
  62. {name: '我的预约', icon: require('@/static/images/mineIcon/emtryIcon (1).png'),url: '/pages/mineEntry/myAppointment/myAppointment'},
  63. {name: '我的订单', icon: require('@/static/images/mineIcon/emtryIcon (2).png'),url: '/pages/mineEntry/myOrder/myOrder'},
  64. {name: '我的合同', icon: require('@/static/images/mineIcon/emtryIcon (3).png'),url: '/pages/mineEntry/myContract/myContract'},
  65. ],
  66. ulData2: [
  67. {name: '学时查询', icon: require('@/static/images/mineIcon/minIcon (4).png'),url: '/pages/mineEntry/carLearnHours/carLearnHours'},
  68. {name: '我的评价', icon: require('@/static/images/mineIcon/minIcon (1).png'),url: '/pages/mineEntry/myEvaluate/myEvaluate'},
  69. // {name: '退款申请', icon: require('@/static/images/mineIcon/minIcon (3).png'),url: '/pages/mineEntry/refund/refund'},
  70. // {name: '变更车型', icon: require('@/static/images/mineIcon/minIcon (7).png'),url: '/pages/mineEntry/modelChange/modelChange'},
  71. // {name: '同城转校', icon: require('@/static/images/mineIcon/minIcon (5).png'),url: '/pages/mineEntry/schoolTransfer/schoolTransfer'},
  72. {name: '关于我们', icon: require('@/static/images/mineIcon/minIcon (2).png'),url: '/pages/mineEntry/aboutUs/aboutUs'},
  73. {name: '用户协议', icon: require('@/static/images/mineIcon/minIcon (4).png'),url: '/pages/userCenter/login/privacyAgreement/privacyAgreement?type=2'},
  74. {name: '隐私政策', icon: require('@/static/images/mineIcon/minIcon (6).png'),url: '/pages/userCenter/login/privacyAgreement/privacyAgreement?type=1'},
  75. ]
  76. }
  77. },
  78. onHide() {
  79. if(this.show) this.show = false
  80. },
  81. methods: {
  82. gotk() {
  83. this.$store.commit('updateWebVeiwUrl', 'http://192.168.1.94:1314/h5#/pages/exercises/brushQuestions/brushQuestions')
  84. uni.navigateTo({
  85. url: '/pages/indexEntry/webView/webView'
  86. })
  87. },
  88. topClick() {
  89. if(!this.vuex_userInfo.phone) {
  90. this.$goPage('/pages/userCenter/login/login')
  91. }else {
  92. this.$goPage('/pages/mineEntry/personaInfo/personaInfo')
  93. }
  94. },
  95. goPage(item) {
  96. let whileUrl = ['关于我们', '用户协议', '隐私政策']
  97. if(!whileUrl.includes(item.name)) {
  98. // return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
  99. // console.log(this.vuex_userInfo.applyStep)
  100. console.log(this.vuex_userInfo.applyStep)
  101. if(item.name=='我的订单'&&this.vuex_userInfo.applyStep>2&&this.vuex_userInfo.applyStep<6) {
  102. return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
  103. }
  104. if(this.vuex_userInfo.applyStep!=6) {
  105. return this.$u.toast('您还未报名驾校')
  106. }
  107. if(item.name=='同城转校') {
  108. uni.showModal({
  109. content: '请在原驾校退学后至新驾校报名!',
  110. success:(res)=> {
  111. if(res.confirm) this.$goPage(item.url)
  112. }
  113. })
  114. return false
  115. }
  116. }
  117. this.$goPage(item.url)
  118. },
  119. scanCodeClick() {
  120. scanCodeFn(this)
  121. }
  122. }
  123. }
  124. </script>
  125. <style lang="scss" scoped>
  126. @import './index.scss';
  127. </style>