my-userinfo.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <template>
  2. <view>
  3. <uni-card :title="userinfo.alias" :sub-title="userinfo.uid" :thumbnail="userinfo.avatar" @click="toMyDetail"></uni-card>
  4. <uni-list>
  5. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="OfficialAccountextraIcon" title="关注公众号" link="navigateTo" @click="toOfficialAccount"/>
  6. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="MyShareextraIcon" title="分享与返现" link="navigateTo" @click="toMyShare"/>
  7. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="MyOrderextraIcon" title="订单" link="navigateTo" @click="toMyOrder"/>
  8. <uni-section title="邀请" titleColor="#2BAFF8" type="line">
  9. <uni-list>
  10. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon1" title="发出的邀请" link="navigateTo" @click="sendInvitation"/>
  11. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon1" title="收到的邀请" link="navigateTo" @click="receivedInvitation"/>
  12. </uni-list>
  13. </uni-section>
  14. <uni-section title="教员" titleColor="#FB748F" type="line">
  15. <uni-list>
  16. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon2" title="教员认证" link="navigateTo" @click="authorize"/>
  17. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon2" title="发布新的课程" link="navigateTo" @click="toCoursePublish"/>
  18. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon2" title="已发布的课程" link="navigateTo" @click="coursePublished"/>
  19. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon2" title="已收藏的课程" link="navigateTo" @click="collectCourses"/>
  20. </uni-list>
  21. </uni-section>
  22. <uni-section title="学员" titleColor="#4cd964" type="line">
  23. <uni-list>
  24. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon3" title="发布新的需求" link="navigateTo" @click="toNeedPublis"/>
  25. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon3" title="已发布的需求" link="navigateTo" @click="Published"/>
  26. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon3" title="已收藏的需求" link="navigateTo" @click="collectStuNeeds"/>
  27. </uni-list>
  28. </uni-section>
  29. <uni-section title="投诉与建议" titleColor="#7E7AF8" type="line">
  30. <uni-list>
  31. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon4" title="我的建议" link="navigateTo" @click="toMySuggestion"/>
  32. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon4" title="我的投诉" link="navigateTo" @click="toMyComplaint"/>
  33. </uni-list>
  34. </uni-section>
  35. <uni-list-item v-if="isAdmin" :show-extra-icon="true" showArrow :extra-icon="extraIcon5" title="管理员专用" link="navigateTo" @click="toManager"/>
  36. </uni-list>
  37. </view>
  38. </template>
  39. <script>
  40. import { mapState } from 'vuex'
  41. export default {
  42. name:"my-userinfo",
  43. options: {
  44. styleIsolation: 'shared', // 解除样式隔离
  45. },
  46. computed: {
  47. ...mapState('m_user', ['userinfo'])
  48. },
  49. data() {
  50. return {
  51. isAdmin: false,
  52. OfficialAccountextraIcon: {
  53. color: '#2BAFF8',
  54. size: '22',
  55. type: 'star-filled'
  56. },
  57. MyShareextraIcon: {
  58. color: '#FB748F',
  59. size: '22',
  60. type: 'pyq'
  61. },
  62. MyOrderextraIcon: {
  63. color: '#4cd964',
  64. size: '22',
  65. type: 'fire-filled'
  66. },
  67. extraIcon1: {
  68. color: '#2BAFF8',
  69. size: '22',
  70. type: 'email-filled'
  71. },
  72. extraIcon2: {
  73. color: '#FB748F',
  74. size: '22',
  75. type: 'auth-filled'
  76. },
  77. extraIcon3: {
  78. color: '#4cd964',
  79. size: '22',
  80. type: 'staff-filled'
  81. },
  82. // 投诉与建议
  83. extraIcon4: {
  84. color: '#7E7AF8',
  85. size: '22',
  86. type: 'help-filled'
  87. },
  88. extraIcon5: {
  89. color: '#F1D302',
  90. size: '22',
  91. type: 'eye-filled'
  92. }
  93. }
  94. },
  95. created() {
  96. this.isAdmin = this.userinfo.isAdmin === 1 ? true : false
  97. },
  98. methods: {
  99. toMyDetail() {
  100. uni.navigateTo({
  101. url: '/subpkg/my/user/my_user_detail'
  102. })
  103. },
  104. toOfficialAccount(){
  105. uni.navigateTo({
  106. url:'/subpkg/my/official_account/my_official_account'
  107. })
  108. },
  109. toMyShare(){
  110. uni.navigateTo({
  111. url: '/subpkg/my/share/my_share'
  112. })
  113. },
  114. toMyOrder() {
  115. uni.navigateTo({
  116. url: '/subpkg/my/order/my_order'
  117. })
  118. },
  119. sendInvitation() {
  120. uni.navigateTo({
  121. url: '/subpkg/my/invitation/my_invitation_send'
  122. })
  123. },
  124. receivedInvitation() {
  125. uni.navigateTo({
  126. url: '/subpkg/my/invitation/my_invitation_receive'
  127. })
  128. },
  129. collectStuNeeds() {
  130. uni.navigateTo({
  131. url: '/subpkg/student/require/student_require_my_collect'
  132. })
  133. },
  134. collectCourses() {
  135. uni.navigateTo({
  136. url: '/subpkg/teacher/course/teacher_course_my_collect'
  137. })
  138. },
  139. authorize() {
  140. uni.navigateTo({
  141. url: '/subpkg/teacher/authentication/teacher_authentication'
  142. })
  143. },
  144. toCoursePublish() {
  145. uni.navigateTo({
  146. url: '/subpkg/teacher/course/teacher_course_add'
  147. })
  148. },
  149. coursePublished() {
  150. uni.navigateTo({
  151. url: '/subpkg/teacher/course/teacher_course_my_publish'
  152. })
  153. },
  154. toNeedPublis() {
  155. uni.navigateTo({
  156. url: '/subpkg/student/require/student_require_add'
  157. })
  158. },
  159. Published() {
  160. uni.navigateTo({
  161. url: '/subpkg/student/require/student_require_my_publish'
  162. })
  163. },
  164. toMySuggestion() {
  165. uni.navigateTo({
  166. url: '/subpkg/my/suggestion/my_suggestion'
  167. })
  168. },
  169. toMyComplaint() {
  170. uni.navigateTo({
  171. url: '/subpkg/my/complaint/my_complaint'
  172. })
  173. },
  174. toManager() {
  175. uni.navigateTo({
  176. url:'/subpkg/manager/manager',
  177. })
  178. }
  179. }
  180. }
  181. </script>
  182. <style lang="scss" scoped>
  183. // 用户头像
  184. ::v-deep .uni-card--border {
  185. height: 240rpx;
  186. }
  187. ::v-deep .uni-card .uni-card__header .uni-card__header-avatar {
  188. height: 200rpx;
  189. width: 200rpx;
  190. }
  191. ::v-deep .uni-card .uni-card__header .uni-card__header-avatar .uni-card__header-avatar-image {
  192. height: 200rpx !important;
  193. width: 200rpx !important;
  194. }
  195. ::v-deep .uni-card .uni-card__header .uni-card__header-content .uni-card__header-content-title {
  196. font-size: 60rpx !important;
  197. }
  198. ::v-deep .uni-card .uni-card__header .uni-card__header-extra .uni-card__header-extra-text {
  199. font-size: 60rpx !important;
  200. }
  201. ::v-deep .uni-list-item {
  202. font-size: 20px !important;
  203. height: 50px;
  204. }
  205. </style>