profile.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <template>
  2. <view class="page">
  3. <view class="form">
  4. <u-form :model="form" ref="uForm">
  5. <u-form-item label-width="150" label="修改头像" prop="nickname" @click.native="pageTo('/pages/user/setting/avatar')">
  6. <u-icon name="arrow-right" style="float: right;" size="24" label="请选择" labelPos="left"></u-icon>
  7. </u-form-item>
  8. <u-form-item label-width="150" label="昵称" prop="nickname">
  9. <u-input placeholder="请输入昵称" v-model="form.nickname" inputAlign="right" type="text"></u-input>
  10. </u-form-item>
  11. <u-form-item label-width="150" label="密码" prop="password">
  12. <u-input placeholder="非必填,填了就会修改密码" v-model="form.password" inputAlign="right" type="text"></u-input>
  13. </u-form-item>
  14. </u-form>
  15. <u-gap height="60"></u-gap>
  16. <u-button type="primary" @click="submitHandle">提交</u-button>
  17. <u-gap></u-gap>
  18. </view>
  19. <!-- utoast -->
  20. <u-toast ref="uToast" />
  21. </view>
  22. </template>
  23. <script>
  24. var that;
  25. export default {
  26. data() {
  27. return {
  28. maskShow: false,
  29. form: {
  30. nickname: null,
  31. password: null,
  32. },
  33. rules: {
  34. nickname: [
  35. {
  36. required: true,
  37. message: '昵称不得为空',
  38. trigger: ['change', 'blur']
  39. },
  40. ],
  41. },
  42. };
  43. },
  44. onLoad(params) {
  45. const userInfo2 = uni.getStorageSync('MD_userInfo2')
  46. this.form.nickname = userInfo2.nickname
  47. },
  48. // 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
  49. onReady() {
  50. this.$refs.uForm.setRules(this.rules);
  51. },
  52. methods: {
  53. pageTo(path) {
  54. // console.log(path)
  55. if (path === 'dev') {
  56. uni.$msg('开发中~')
  57. return
  58. }
  59. uni.navigateTo({
  60. url: path
  61. })
  62. },
  63. submitHandle() {
  64. this.$refs.uForm.validate(valid => {
  65. if (valid) {
  66. let params = {
  67. nickname: this.form.nickname
  68. }
  69. if (this.form.password) {
  70. params.password = this.form.password
  71. }
  72. uni.api.base.apiuseredit(params).then(res => {
  73. uni.$msgConfirm('编辑成功', () => {
  74. uni.reLaunch({
  75. url: '/pages/user/setting/setting'
  76. })
  77. }, () => {
  78. uni.reLaunch({
  79. url: '/pages/user/setting/setting'
  80. })
  81. })
  82. })
  83. }
  84. })
  85. }
  86. }
  87. };
  88. </script>
  89. <style lang="scss">
  90. .page {
  91. background-color: #ffffff;
  92. }
  93. .form {
  94. border-radius: 10rpx;
  95. padding: 0 40rpx;
  96. }
  97. .popup-body {
  98. .tips-title {
  99. font-size: $u-p;
  100. margin-bottom: 20rpx;
  101. }
  102. .tips-content {
  103. font-size: $u-p2;
  104. color: $u-tips-color;
  105. margin-bottom: 60rpx;
  106. }
  107. }
  108. .id_card {
  109. color: #606266;
  110. width: 100%;
  111. height: 350rpx;
  112. display: flex;
  113. flex-direction: column;
  114. align-items: center;
  115. justify-content: center;
  116. background-color: #f4f5f6;
  117. font-size: $u-p2;
  118. border-radius: 10rpx;
  119. image {
  120. border-radius: 10rpx;
  121. }
  122. }
  123. .footer {
  124. position: relative;
  125. text-align: center;
  126. font-size: $u-p2;
  127. left: 0;
  128. bottom: 20rpx;
  129. .agreement {
  130. color: $u-theme-color;
  131. }
  132. }
  133. .slot-content {
  134. font-size: 28rpx;
  135. color: $u-content-color;
  136. padding: 20rpx;
  137. }
  138. .warp {
  139. display: flex;
  140. flex-direction: column;
  141. align-items: center;
  142. justify-content: center;
  143. height: 100%;
  144. }
  145. .rect {
  146. width: 400rpx;
  147. height: 400rpx;
  148. background-color: #fff;
  149. }
  150. </style>