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

126 lines
5.0 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. <u-popup :show="show" mode="center" @close="show=false" :closeable="true">
  47. <view style="width: 90vw;">
  48. <image :src="vuex_userInfo.photoPath" mode="widthFix" ></image>
  49. </view>
  50. </u-popup>
  51. </view>
  52. </template>
  53. <script>
  54. import { scanCodeFn } from '@/config/utils.js'
  55. export default {
  56. data() {
  57. return {
  58. show: false,
  59. ulData: [
  60. {name: '学车进度', icon: require('@/static/images/mineIcon/emtryIcon (4).png'),url: '/pages/mineEntry/carLearProgress/carLearProgress'},
  61. {name: '我的预约', icon: require('@/static/images/mineIcon/emtryIcon (1).png'),url: '/pages/mineEntry/myAppointment/myAppointment'},
  62. {name: '我的订单', icon: require('@/static/images/mineIcon/emtryIcon (2).png'),url: '/pages/mineEntry/myOrder/myOrder'},
  63. {name: '我的合同', icon: require('@/static/images/mineIcon/emtryIcon (3).png'),url: '/pages/mineEntry/myContract/myContract'},
  64. ],
  65. ulData2: [
  66. {name: '学时查询', icon: require('@/static/images/mineIcon/minIcon (4).png'),url: '/pages/mineEntry/carLearnHours/carLearnHours'},
  67. {name: '我的评价', icon: require('@/static/images/mineIcon/minIcon (1).png'),url: '/pages/mineEntry/myEvaluate/myEvaluate'},
  68. // {name: '退款申请', icon: require('@/static/images/mineIcon/minIcon (3).png'),url: '/pages/mineEntry/refund/refund'},
  69. // {name: '变更车型', icon: require('@/static/images/mineIcon/minIcon (7).png'),url: '/pages/mineEntry/modelChange/modelChange'},
  70. // {name: '同城转校', icon: require('@/static/images/mineIcon/minIcon (5).png'),url: '/pages/mineEntry/schoolTransfer/schoolTransfer'},
  71. {name: '关于我们', icon: require('@/static/images/mineIcon/minIcon (2).png'),url: '/pages/mineEntry/aboutUs/aboutUs'},
  72. {name: '用户协议', icon: require('@/static/images/mineIcon/minIcon (4).png'),url: '/pages/userCenter/login/privacyAgreement/privacyAgreement?type=2'},
  73. {name: '隐私政策', icon: require('@/static/images/mineIcon/minIcon (6).png'),url: '/pages/userCenter/login/privacyAgreement/privacyAgreement?type=1'},
  74. ]
  75. }
  76. },
  77. onHide() {
  78. if(this.show) this.show = false
  79. },
  80. methods: {
  81. topClick() {
  82. if(!this.vuex_userInfo.phone) {
  83. this.$goPage('/pages/userCenter/login/login')
  84. }else {
  85. this.$goPage('/pages/mineEntry/personaInfo/personaInfo')
  86. }
  87. },
  88. goPage(item) {
  89. let whileUrl = ['关于我们', '用户协议', '隐私政策']
  90. if(!whileUrl.includes(item.name)) {
  91. // return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
  92. // console.log(this.vuex_userInfo.applyStep)
  93. console.log(this.vuex_userInfo.applyStep)
  94. if(item.name=='我的订单'&&this.vuex_userInfo.applyStep>2&&this.vuex_userInfo.applyStep<6) {
  95. return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
  96. }
  97. if(this.vuex_userInfo.applyStep!=6) {
  98. return this.$u.toast('您还未报名驾校')
  99. }
  100. if(item.name=='同城转校') {
  101. uni.showModal({
  102. content: '请在原驾校退学后至新驾校报名!',
  103. success:(res)=> {
  104. if(res.confirm) this.$goPage(item.url)
  105. }
  106. })
  107. return false
  108. }
  109. }
  110. this.$goPage(item.url)
  111. },
  112. scanCodeClick() {
  113. scanCodeFn(this)
  114. }
  115. }
  116. }
  117. </script>
  118. <style lang="scss" scoped>
  119. @import './index.scss';
  120. </style>