userUpdate.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div class="hui-flex hui-dialog">
  3. <div class="hui-flex-box hui-dialog-content">
  4. <el-form ref="userForm" :model="userForm" label-position="top">
  5. <el-form-item label="姓名" prop="name">
  6. <el-input v-model="userForm.name"></el-input>
  7. </el-form-item>
  8. <el-form-item label="手机" prop="phone">
  9. <el-input v-model="userForm.phone" disabled></el-input>
  10. </el-form-item>
  11. <el-form-item label="性别" prop="sex">
  12. <el-select v-model="userForm.sex" placeholder="请选择性别">
  13. <el-option label="男" value="M"></el-option>
  14. <el-option label="女" value="W"></el-option>
  15. </el-select>
  16. </el-form-item>
  17. <el-form-item label="邮箱" prop="email">
  18. <el-input v-model="userForm.email" placeholder="请输入邮箱地址"></el-input>
  19. </el-form-item>
  20. <el-form-item label="头像" class="hui-textarea">
  21. <upload ref="image" :list="responsibility" type="insert" :maxLen="1"></upload>
  22. </el-form-item>
  23. </el-form>
  24. </div>
  25. <div class="hui-dialog-submit">
  26. <el-button size="medium" @click="$emit('callback')">取 消</el-button>
  27. <el-button size="medium" type="primary" @click="submit">保 存</el-button>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. import {
  33. updateUserDetails
  34. } from '@/httpApi/loginRegister'
  35. import upload from '@/components/common/upload'
  36. export default {
  37. props: ['user'],
  38. data() {
  39. return {
  40. userForm: {
  41. name: '',
  42. sex: '',
  43. phone: '',
  44. email: ''
  45. },
  46. responsibility: []
  47. }
  48. },
  49. mounted() {
  50. this.userForm = JSON.parse(JSON.stringify(this.user));
  51. if (this.userForm.portrait) this.responsibility = [{
  52. url: this.userForm.portrait,
  53. type: 'png'
  54. }]
  55. },
  56. methods: {
  57. submit() {
  58. this.userForm['id'] = this.userForm.userId;
  59. if (this.$refs.image.fileList.length > 0) this.userForm['portrait'] = this.$refs
  60. .image.fileList[0].url;
  61. updateUserDetails(this.userForm).then(res => {
  62. if (res.state) {
  63. this.$message.success('操作成功');
  64. this.$emit('callback', 'init');
  65. }
  66. })
  67. }
  68. },
  69. components: {
  70. upload
  71. },
  72. }
  73. </script>
  74. <style lang="scss">
  75. .user-update {
  76. padding: 10px;
  77. }
  78. </style>