info.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div>
  3. <el-row :gutter="20" class="detail">
  4. <el-col :span="24">
  5. <h3>基本信息</h3>
  6. </el-col>
  7. <el-col :span="24">
  8. <label>学校(校区):</label> <span>{{ info.first_name }}</span>
  9. </el-col>
  10. <el-col :span="24">
  11. <label>跟进关系人:</label>
  12. <el-table :data="[{second_name: info.second_name, weixin: info.weixin, phone: info.phone, position: info.position}]" style="width: 60%; margin-top: 10px">
  13. <el-table-column prop="second_name" label="姓名" />
  14. <el-table-column prop="position" label="职位" />
  15. <el-table-column prop="phone" label="手机号" />
  16. <el-table-column prop="weixin" label="微信号" />
  17. </el-table>
  18. </el-col>
  19. <el-col :span=24>
  20. <label>微信聊天记录:</label>
  21. <div style="margin-top: 10px">
  22. <el-image
  23. style="max-width: 100px; max-height: 180px; margin-right: 10px"
  24. v-for="(url, index) in info.chat_imgs"
  25. :key="index"
  26. :src="url + '!max100'"
  27. show-progress
  28. :initial-index="index"
  29. :preview-src-list="info.chat_imgs"
  30. fit="cover"
  31. previewTeleported
  32. />
  33. </div>
  34. </el-col>
  35. <el-col :span="24">
  36. <label>跟进记录详情:</label>
  37. <ElCard shadow="never" v-html="info.detail" style="padding: 10px; margin-top: 20px"/>
  38. </el-col>
  39. </el-row>
  40. </div>
  41. </template>
  42. <script setup lang="ts">
  43. // 初始化表单数据
  44. import {followApi} from "@/api/followApi";
  45. import {onMounted} from "vue";
  46. const DefaultData = <Api.Follow.FollowInfo>{
  47. id: 0,
  48. chat_imgs: [],
  49. detail: '',
  50. create_date: '',
  51. first_name: '', //
  52. second_name: '', //
  53. user_name: '', //
  54. avatar:'',
  55. phone: '', // 手机号,
  56. weixin: '', // 微信号,
  57. position: '', // 职位,
  58. }
  59. const info = reactive<Api.Follow.FollowInfo>({ ...DefaultData })
  60. onMounted(() => {
  61. followApi.companyInfo(parseInt(useRoute().query.id as string)).then((res) => {
  62. Object.assign(info, res)
  63. })
  64. })
  65. </script>
  66. <style scoped>
  67. .detail {
  68. padding-top: 20px;
  69. font-size: 14px;
  70. .el-col {
  71. margin-bottom: 30px;
  72. label {
  73. font-weight: bold;
  74. margin-right: 10px;
  75. }
  76. }
  77. }
  78. </style>