index.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <view class="changePw_wrap">
  3. <u-navbar title="修改密码" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
  4. <view class="ps_wrap">
  5. <u-icon name="error" color="#409eff" size="16"></u-icon>
  6. <text class="text">为保障您的账号安全,修改密码前请填写原密码</text>
  7. </view>
  8. <view class="form_wrap">
  9. <u--form labelPosition="left" :model="form" :rules="rules" ref="uForm">
  10. <u-form-item label="" class="inputFormWrap">
  11. <u--input shape="circle" clearable prefixIcon="/static/login/icon-account.png"
  12. :prefixIconStyle="prefixIconStyle" v-model="userName" placeholder="请输入账号" disabled></u--input>
  13. </u-form-item>
  14. <u-form-item label="" prop="oldPassword" class="inputFormWrap">
  15. <u--input shape="circle" clearable password prefixIcon="/static/login/icon-password.png"
  16. :prefixIconStyle="prefixIconStyle" v-model="form.oldPassword" placeholder="请输入原密码"></u--input>
  17. </u-form-item>
  18. <u-form-item label="" prop="newPassword" class="inputFormWrap">
  19. <u--input shape="circle" clearable prefixIcon="/static/login/icon-password.png"
  20. :prefixIconStyle="prefixIconStyle" v-model="form.newPassword" placeholder="请输入新的登录密码"></u--input>
  21. </u-form-item>
  22. <u-form-item>
  23. <u-button type="primary" text="提交" shape="circle" @click="handleSubmit"></u-button>
  24. </u-form-item>
  25. </u--form>
  26. </view>
  27. </view>
  28. </template>
  29. <script>
  30. export default {
  31. data() {
  32. return {
  33. prefixIconStyle: {
  34. width: "16px",
  35. height: "16px",
  36. marginRight: "4px",
  37. marginLeft: "10px"
  38. },
  39. form: {
  40. oldPassword : "",
  41. newPassword: "",
  42. },
  43. rules: {
  44. oldPassword: {
  45. type: 'string',
  46. required: true,
  47. message: '请输入原密码',
  48. trigger: []
  49. },
  50. newPassword: {
  51. type: 'string',
  52. required: true,
  53. message: '请输入新密码',
  54. trigger: []
  55. }
  56. },
  57. }
  58. },
  59. computed :{
  60. userName() {
  61. return this.$store.state.user.userInfo.userName;
  62. }
  63. },
  64. methods: {
  65. handleSubmit(){
  66. this.$refs.uForm.validate().then(async () => {
  67. uni.$u.api.updateUserPwd(this.form).then(res=>{
  68. uni.$u.toast("修改成功,请重新登录");
  69. uni.reLaunch({
  70. url:"/pages/login/index"
  71. })
  72. })
  73. });
  74. }
  75. }
  76. }
  77. </script>
  78. <style lang="scss" scoped>
  79. .changePw_wrap {
  80. .ps_wrap {
  81. display: flex;
  82. align-items: center;
  83. justify-content: center;
  84. margin-top: 60rpx;
  85. margin-bottom: 30rpx;
  86. ::v-deep .u-icon__icon {
  87. font-size: 28rpx !important;
  88. }
  89. .text {
  90. font-size: 22rpx;
  91. color: #666666;
  92. }
  93. }
  94. .form_wrap {
  95. padding: 20rpx 60rpx;
  96. }
  97. }
  98. </style>