userInfo.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <el-form ref="form" :model="user" :rules="rules" label-width="80px">
  3. <el-form-item label="用户昵称" prop="nickName">
  4. <el-input v-model="user.nickName" />
  5. </el-form-item>
  6. <el-form-item label="手机号码" prop="phonenumber">
  7. <el-input v-model="user.phonenumber" maxlength="11" />
  8. </el-form-item>
  9. <el-form-item label="邮箱" prop="email">
  10. <el-input v-model="user.email" maxlength="50" />
  11. </el-form-item>
  12. <el-form-item label="性别">
  13. <el-radio-group v-model="user.sex">
  14. <el-radio label="0">男</el-radio>
  15. <el-radio label="1">女</el-radio>
  16. </el-radio-group>
  17. </el-form-item>
  18. <el-form-item>
  19. <el-button type="success" size="mini" @click="unBind">换绑微信</el-button>
  20. <el-button type="primary" size="mini" @click="submit">保存</el-button>
  21. <el-button type="danger" size="mini" @click="close">关闭</el-button>
  22. </el-form-item>
  23. </el-form>
  24. </template>
  25. <script>
  26. import { updateUserProfile, unBind } from "@/api/company/companyUser";
  27. export default {
  28. props: {
  29. user: {
  30. type: Object
  31. }
  32. },
  33. data() {
  34. return {
  35. // 表单校验
  36. rules: {
  37. nickName: [
  38. { required: true, message: "用户昵称不能为空", trigger: "blur" }
  39. ],
  40. email: [
  41. { required: true, message: "邮箱地址不能为空", trigger: "blur" },
  42. {
  43. type: "email",
  44. message: "'请输入正确的邮箱地址",
  45. trigger: ["blur", "change"]
  46. }
  47. ],
  48. phonenumber: [
  49. { required: true, message: "手机号码不能为空", trigger: "blur" },
  50. {
  51. pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
  52. message: "请输入正确的手机号码",
  53. trigger: "blur"
  54. }
  55. ]
  56. }
  57. };
  58. },
  59. methods: {
  60. unBind() {
  61. this.$refs["form"].validate(valid => {
  62. if (valid) {
  63. this.$confirm(
  64. '确定要取消绑定吗?取消绑定后登录需要重新扫码绑定。',
  65. '提示',
  66. {
  67. confirmButtonText: '确定',
  68. cancelButtonText: '取消',
  69. type: 'warning'
  70. }
  71. ).then(() => {
  72. unBind(this.user.userId).then(response => {
  73. if (response.code === 200) {
  74. this.msgSuccess("解绑成功");
  75. }
  76. });
  77. }).catch(() => {
  78. this.msgInfo("已取消操作");
  79. });
  80. }
  81. });
  82. },
  83. submit() {
  84. this.$refs["form"].validate(valid => {
  85. if (valid) {
  86. updateUserProfile(this.user).then(response => {
  87. if (response.code === 200) {
  88. this.msgSuccess("修改成功");
  89. }
  90. });
  91. }
  92. });
  93. },
  94. close() {
  95. this.$store.dispatch("tagsView/delView", this.$route);
  96. this.$router.push({ path: "/index" });
  97. }
  98. }
  99. };
  100. </script>