ExpertDetail.vue 3.3 KB

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