index.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <template>
  2. <div class="uc_edit_container">
  3. <van-cell title="头像">
  4. <img :src="userinfo.portrait" alt="" class="avatar">
  5. </van-cell>
  6. <van-cell title="手机号" :value="userinfo.phone" is-link url="/pages/user_center/edit/confirm_phone_first/main"/>
  7. <van-cell title="会员码" is-link url="/pages/user_center/vip_code/main">
  8. <van-icon name="qr"/>
  9. </van-cell>
  10. <van-cell title="昵称" :value="userinfo.user_name"/>
  11. <van-cell title="性别" is-link @click="gender_picker = true">
  12. <template v-if="userinfo.sex == 1">
  13. </template>
  14. <template v-if="userinfo.sex == 2">
  15. </template>
  16. <template v-if="userinfo.sex == 0">
  17. 保密
  18. </template>
  19. </van-cell>
  20. <van-cell title="生日" :value="userinfo.birthday" is-link @click="birthday_picker = true"/>
  21. <!-- <van-cell title="家庭组" :value="userinfo.home_group" is-link/>-->
  22. <van-cell title="推荐人" :value="userinfo.invite_name"/>
  23. <van-popup
  24. :show="gender_picker"
  25. round
  26. position="bottom"
  27. >
  28. <van-picker
  29. :columns="gender"
  30. @confirm="onGenderChange"
  31. @cancel="gender_picker = false"
  32. show-toolbar
  33. title="更换性别"
  34. :default-index="userinfo.gender"
  35. />
  36. </van-popup>
  37. <van-toast id="van-toast"/>
  38. <van-popup
  39. :show="birthday_picker"
  40. round
  41. position="bottom"
  42. >
  43. <van-datetime-picker
  44. type="date"
  45. :value="_birthday"
  46. @confirm="onDateChange"
  47. @cancel="birthday_picker = false"
  48. :max-date="max_date"
  49. :min-date="min_date"
  50. />
  51. </van-popup>
  52. </div>
  53. </template>
  54. <script>
  55. import {userChangeBirthday, userChangeSex, userDetail} from "../../../requests/user";
  56. import Toast from "../../../../static/vant/toast/toast";
  57. import {formatBirthday} from '../../../utils/index'
  58. import {reload_userinfo} from "../../../utils/user";
  59. var $this
  60. export default {
  61. name: "uc_edit_container",
  62. components: {},
  63. data() {
  64. return {
  65. gender: [
  66. '保密', '男', '女'
  67. ],
  68. _birthday: "",
  69. min_date: -1,
  70. max_date: new Date().getTime(),
  71. userinfo: {
  72. avatar: "https://img.shuimuai.com/weixintouxiang.png",
  73. phone: '13722886629',
  74. code: "",
  75. nickname: "嘤嘤怪",
  76. gender: 1,
  77. birthday: "1862-02-32",
  78. home_group: "超级复读机",
  79. recommend: "莲花山云雨"
  80. },
  81. gender_picker: false,
  82. birthday_picker: false
  83. }
  84. },
  85. methods: {
  86. //修改性别
  87. onGenderChange($val) {
  88. let $gender = $this.userinfo.sex = $val.mp.detail.index
  89. let $params = {
  90. sex: $gender
  91. }
  92. userChangeSex($params).then((res) => {
  93. let $data = res.data
  94. Toast.success($data.errmsg)
  95. })
  96. $this.gender_picker = false
  97. },
  98. onDateChange($val) {
  99. console.log($val.mp.detail)
  100. let $birthday = $val.mp.detail / 1000
  101. let $params = {
  102. birthday: $birthday
  103. }
  104. $this.userinfo.birthday = formatBirthday($birthday)
  105. userChangeBirthday($params).then((res) => {
  106. let $data = res.data;
  107. Toast.success($data.errmsg)
  108. reload_userinfo($this)
  109. })
  110. $this.birthday_picker = false
  111. }
  112. }
  113. ,
  114. onShow() {
  115. reload_userinfo($this)
  116. },
  117. created() {
  118. $this = this;
  119. },
  120. onLoad() {
  121. }
  122. }
  123. </script>
  124. <style scoped>
  125. /*头像*/
  126. .avatar {
  127. width: 40px;
  128. height: 40px;
  129. }
  130. </style>