userinfo.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div>
  3. <basic-container>
  4. <avue-form :option="option"
  5. v-model="form"
  6. @tab-click="handleTabClick"
  7. @submit="handleSubmit"></avue-form>
  8. </basic-container>
  9. </div>
  10. </template>
  11. <script>
  12. import option from "@/option/user/info";
  13. import {getUserInfo, updateInfo, updatePassword} from "@/api/system/user";
  14. import md5 from 'js-md5';
  15. import func from "@/util/func";
  16. export default {
  17. data() {
  18. return {
  19. index: 0,
  20. option: option,
  21. form: {}
  22. };
  23. },
  24. created() {
  25. this.handleWitch();
  26. },
  27. methods: {
  28. handleSubmit(form, done) {
  29. if (this.index === 0) {
  30. updateInfo(form).then(res => {
  31. if (res.data.success) {
  32. this.$message({
  33. type: "success",
  34. message: "修改信息成功!"
  35. });
  36. } else {
  37. this.$message({
  38. type: "error",
  39. message: res.data.msg
  40. });
  41. }
  42. done();
  43. }, error => {
  44. window.console.log(error);
  45. done();
  46. })
  47. } else {
  48. updatePassword(md5(form.oldPassword), md5(form.newPassword), md5(form.newPassword1)).then(res => {
  49. if (res.data.success) {
  50. this.$message({
  51. type: "success",
  52. message: "修改密码成功!"
  53. });
  54. } else {
  55. this.$message({
  56. type: "error",
  57. message: res.data.msg
  58. });
  59. }
  60. done();
  61. }, error => {
  62. window.console.log(error);
  63. done();
  64. })
  65. }
  66. },
  67. handleWitch() {
  68. if (this.index === 0) {
  69. getUserInfo().then(res => {
  70. const user = res.data.data;
  71. this.form = {
  72. id: user.id,
  73. avatar: user.avatar,
  74. name: user.name,
  75. realName: user.realName,
  76. phone: user.phone,
  77. email: user.email,
  78. }
  79. });
  80. }
  81. },
  82. handleTabClick(tabs) {
  83. this.index = func.toInt(tabs.index);
  84. this.handleWitch();
  85. }
  86. }
  87. };
  88. </script>
  89. <style>
  90. </style>