UserDetail.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <div class="create-container">
  3. <div class="create-body" v-loading="loading">
  4. <el-form :model="user" label-width="12%" class="demo">
  5. <el-form-item label="用户名称" prop="name">
  6. <span>{{user.name}}</span>
  7. </el-form-item>
  8. <el-form-item label="用户图标" prop="photo">
  9. <!-- <span class="badge">{{user.photo}}</span>-->
  10. <img :src="user.photo" style="width: 50px; height: 50px;"/>
  11. </el-form-item>
  12. <el-form-item label="性别" prop="count" v-if="this.gender != null && this.gender != ''">
  13. <span>{{user.gender}}</span>
  14. </el-form-item>
  15. <el-form-item label="地址" prop="address">
  16. <span class="badge">{{user.address}}</span>
  17. </el-form-item>
  18. <el-form-item label="接包次数" prop="count">
  19. <span>{{user.taskCount}}</span>
  20. </el-form-item>
  21. <el-form-item>
  22. <div class="btn btn-medium" @click="back()">返回</div>
  23. </el-form-item>
  24. </el-form>
  25. </div>
  26. </div>
  27. </template>
  28. <script>
  29. import Http from '@/js/http.js'
  30. import Apis from '@/js/api.js'
  31. import {notify} from '@/constants/index'
  32. import {getAllReportTypes, storageGet} from '@/js/index'
  33. export default {
  34. name: 'UserDetail',
  35. components: {},
  36. data() {
  37. return {
  38. user: {},
  39. loading: false,
  40. id: 0,
  41. user: {
  42. name: '',
  43. photo: '',
  44. taskCount: '',
  45. address: '',
  46. gender: '',
  47. },
  48. }
  49. },
  50. mounted() {
  51. this.$nextTick(() => {
  52. this.init()
  53. })
  54. },
  55. methods: {
  56. init() {
  57. this.id = this.$route.params.id
  58. this.loadData()
  59. },
  60. back() {
  61. this.$router.go(-1);
  62. },
  63. loadData() {
  64. this.showLoading()
  65. Http.get(Apis.USER.GET_DETAIL.replace('{userId}', this.id)).then((res) => {
  66. console.log(res)
  67. this.user.name = res.data.name
  68. this.user.photo = res.data.photoUrl
  69. this.user.gender = res.data.gender
  70. this.user.taskCount = res.data.taskCount
  71. this.user.address = res.data.address
  72. this.hideLoading()
  73. }).catch((error) => {
  74. this.hideLoading()
  75. notify('error', '打开详情失败:' + error.data)
  76. })
  77. },
  78. setUserInfo() {
  79. this.user = storageGet('user')
  80. },
  81. showLoading() {
  82. this.loading = true
  83. },
  84. hideLoading() {
  85. this.loading = false
  86. }
  87. },
  88. watch: {
  89. userType(val) {
  90. this.userType = val
  91. }
  92. }
  93. }
  94. </script>
  95. <style>
  96. .demo {
  97. font-size: 32px;
  98. }
  99. .el-form-item {
  100. max-height: 120px !important;
  101. }
  102. </style>