ExpertDetail.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. loading: false,
  42. id: 0,
  43. expert: {
  44. name: '',
  45. photo: '',
  46. introduction: '',
  47. title: '',
  48. },
  49. }
  50. },
  51. mounted() {
  52. this.$nextTick(() => {
  53. this.init()
  54. })
  55. },
  56. methods: {
  57. init() {
  58. this.id = this.$route.query.id
  59. this.loadData()
  60. },
  61. back() {
  62. this.$router.push({
  63. name: 'ExpertList'
  64. })
  65. },
  66. loadData() {
  67. this.showLoading()
  68. Http.get(Apis.EXPERT.GET_DETAIL.replace('{id}', this.id)).then((res) => {
  69. this.expert.name = res.data.name
  70. this.expert.photo = res.data.photo
  71. // this.expert.gender = res.data.gender
  72. this.expert.title = res.data.title
  73. this.expert.introduction = res.data.introduction
  74. // this.expert.address = res.data.address
  75. this.hideLoading()
  76. }).catch((error) => {
  77. this.hideLoading()
  78. notify('error', '打开详情失败:' + error.data)
  79. })
  80. },
  81. setUserInfo() {
  82. this.expert = storageGet('expert')
  83. },
  84. showLoading() {
  85. this.loading = true
  86. },
  87. hideLoading() {
  88. this.loading = false
  89. }
  90. },
  91. watch: {
  92. expertType(val) {
  93. this.expertType = val
  94. }
  95. }
  96. }
  97. </script>
  98. <style>
  99. .demo {
  100. font-size: 32px;
  101. }
  102. .el-form-item {
  103. /*max-height: 120px !important;*/
  104. }
  105. </style>