index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <template>
  2. <view class="content">
  3. <view class="user-info">
  4. <view class="user-data">
  5. <view class="user-name">自行车</view>
  6. <view class="user-phone">234567865</view>
  7. </view>
  8. <view class="user-img">
  9. <u-avatar :src="src" size="160"></u-avatar>
  10. </view>
  11. </view>
  12. <view class="user-handle" v-for="(item, index) in handleList" :key="index" @click="goToHandle(item)">
  13. <view class="handle-icon">
  14. <view class="iconfont" :class="item.icon"></view>
  15. </view>
  16. <view class="handle-label">{{item.label}}</view>
  17. <view class="handle-arrow">
  18. <u-icon name="arrow-right" color="#cccccc" size="32"></u-icon>
  19. </view>
  20. </view>
  21. <u-top-tips ref="uTips"></u-top-tips>
  22. </view>
  23. </template>
  24. <script>
  25. const NET = require('@/utils/request')
  26. const API = require('@/config/api')
  27. export default {
  28. data() {
  29. return {
  30. src: '',
  31. handleList: [{
  32. label: '我的评价',
  33. path: 'evaluateList',
  34. icon: 'iconpingjia'
  35. },
  36. {
  37. label: '补课记录',
  38. path: 'extraLessonsList',
  39. icon: 'icondingdan'
  40. },
  41. {
  42. label: '请假记录',
  43. path: 'leaveLessonsList',
  44. icon: 'iconqingjiajilu'
  45. },
  46. {
  47. label: '续费率/签到率排行',
  48. path: 'ratioRank',
  49. icon: 'iconpaihang'
  50. },
  51. {
  52. label: '续费提醒',
  53. path: 'renewList',
  54. icon: 'iconxufeitixing'
  55. },
  56. {
  57. label: '签到提醒',
  58. path: 'signList',
  59. icon: 'iconqiandaotixing'
  60. },
  61. ]
  62. }
  63. },
  64. onLoad() {},
  65. methods: {
  66. // 跳转我的各列表界面
  67. goToHandle(site) {
  68. uni.navigateTo({
  69. url: '/pagesMain/' + site.path
  70. });
  71. },
  72. }
  73. }
  74. </script>
  75. <style lang='scss'>
  76. @import "@/static/css/themes.scss";
  77. .content {
  78. width: 100%;
  79. height: 100vh;
  80. float: left;
  81. .user-info {
  82. width: 100%;
  83. height: 110px;
  84. margin-bottom: 20px;
  85. float: left;
  86. background-color: $mainColor;
  87. .user-data {
  88. width: calc(100% - 110px);
  89. height: 110px;
  90. padding: 15px 0 15px 15px;
  91. float: left;
  92. .user-name {
  93. width: 100%;
  94. float: left;
  95. font-size: 24px;
  96. color: #FFFFFF;
  97. line-height: 30px;
  98. margin: 10px 0;
  99. white-space: nowrap;
  100. overflow: hidden;
  101. text-overflow: ellipsis;
  102. }
  103. .user-phone {
  104. width: 100%;
  105. color: #FFFFFF;
  106. line-height: 20px;
  107. float: left;
  108. white-space: nowrap;
  109. overflow: hidden;
  110. text-overflow: ellipsis;
  111. }
  112. }
  113. .user-img {
  114. width: 110px;
  115. height: 110px;
  116. padding: 15px;
  117. float: left;
  118. display: flex;
  119. align-items: center;
  120. justify-content: center;
  121. }
  122. }
  123. .user-handle {
  124. width: 100vw;
  125. height: 40px;
  126. float: left;
  127. padding: 0 15px;
  128. margin-bottom: 10px;
  129. .handle-icon {
  130. width: 40px;
  131. height: 40px;
  132. float: left;
  133. text-align: center;
  134. line-height: 40px;
  135. .iconfont {
  136. font-size: 28px;
  137. }
  138. }
  139. .handle-label {
  140. width: calc(100% - 70px);
  141. height: 40px;
  142. margin-left: 10px;
  143. float: left;
  144. line-height: 40px;
  145. font-size: 15px;
  146. }
  147. .handle-arrow {
  148. line-height: 40px;
  149. }
  150. }
  151. }
  152. </style>