index.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view class="pwd-retrieve-container">
  3. <uni-forms ref="form" :value="user" labelWidth="80px">
  4. <uni-forms-item name="oldPassword" label="旧密码">
  5. <uni-easyinput type="password" v-model="user.oldPassword" placeholder="请输入旧密码" />
  6. </uni-forms-item>
  7. <uni-forms-item name="newPassword" label="新密码">
  8. <uni-easyinput type="password" v-model="user.newPassword" placeholder="请输入新密码" />
  9. </uni-forms-item>
  10. <uni-forms-item name="confirmPassword" label="确认密码">
  11. <uni-easyinput type="password" v-model="user.confirmPassword" placeholder="请确认新密码" />
  12. </uni-forms-item>
  13. <view class="abtns" @click="submit">提交</view>
  14. <!-- <button type="primary" @click="submit">提交</button> -->
  15. </uni-forms>
  16. </view>
  17. </template>
  18. <script>
  19. import { updateUserPwd } from "@/api/system/user"
  20. export default {
  21. data() {
  22. return {
  23. user: {
  24. oldPassword: undefined,
  25. newPassword: undefined,
  26. confirmPassword: undefined
  27. },
  28. rules: {
  29. oldPassword: {
  30. rules: [{
  31. required: true,
  32. errorMessage: '旧密码不能为空'
  33. }]
  34. },
  35. newPassword: {
  36. rules: [{
  37. required: true,
  38. errorMessage: '新密码不能为空',
  39. },
  40. {
  41. minLength: 6,
  42. maxLength: 20,
  43. errorMessage: '长度在 6 到 20 个字符'
  44. }
  45. ]
  46. },
  47. confirmPassword: {
  48. rules: [{
  49. required: true,
  50. errorMessage: '确认密码不能为空'
  51. }, {
  52. validateFunction: (rule, value, data) => data.newPassword === value,
  53. errorMessage: '两次输入的密码不一致'
  54. }
  55. ]
  56. }
  57. }
  58. }
  59. },
  60. onReady() {
  61. this.$refs.form.setRules(this.rules)
  62. },
  63. methods: {
  64. submit() {
  65. this.$refs.form.validate().then(res => {
  66. updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
  67. this.$modal.msgSuccess("修改成功")
  68. })
  69. })
  70. }
  71. }
  72. }
  73. </script>
  74. <style lang="scss">
  75. page {
  76. background-color: #ffffff;
  77. }
  78. .pwd-retrieve-container {
  79. padding-top: 36rpx;
  80. padding: 15px;
  81. }
  82. </style>