password.html 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. {extend name="public/base"/}
  2. {block name="css"}
  3. {/block}
  4. {block name="body"}
  5. <van-nav-bar
  6. class="nav-theme"
  7. :fixed="true"
  8. :placeholder="true"
  9. left-text="返回"
  10. left-arrow
  11. @click-left="onBack"
  12. >
  13. <template #title>
  14. <span class="text-white">修改密码</span>
  15. </template>
  16. </van-nav-bar>
  17. <van-form @submit="onSubmit">
  18. <van-cell-group>
  19. <van-field
  20. v-model="form.old_password"
  21. type="password"
  22. label="旧密码"
  23. placeholder="请输入旧密码,首次修改请放空"
  24. ></van-field>
  25. <van-field
  26. v-model="form.new_password"
  27. type="password"
  28. label="新密码"
  29. required
  30. placeholder="大于6位且包含字母和数字"
  31. :rules="[{ required: true, message: '请输入新密码' }]"
  32. ></van-field>
  33. <van-field
  34. v-model="form.renew_password"
  35. type="password"
  36. label="确认密码"
  37. required
  38. placeholder="与新密码一致"
  39. :rules="[{ required: true, message: '请输入确认密码' }]"
  40. ></van-field>
  41. </van-cell-group>
  42. <div style="margin: 16px;">
  43. <van-button round block type="primary" native-type="submit">
  44. 提交
  45. </van-button>
  46. </div>
  47. </van-form>
  48. {/block}
  49. {block name="script"}
  50. <script>
  51. function v_setup() {
  52. let base = {};
  53. base.onBack = () => {
  54. location.href = "{:url('my/index')}";
  55. };
  56. base.form = Vue.reactive({old_password:'',new_password:'',renew_password:''});
  57. base.onSubmit = () => {
  58. if (base.form.new_password !== base.form.renew_password) {
  59. vant.showToast('两次密码不一样');
  60. return false;
  61. }
  62. postJson('/my/passwordPost',base.form).then(()=>{
  63. location.href = "{:url('my/index')}";
  64. });
  65. };
  66. return base;
  67. }
  68. </script>
  69. {/block}