info.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div>
  3. <el-descriptions class="margin-top" :column="2" border>
  4. <el-descriptions-item label="用户头像">
  5. <el-image v-if="info.avatar" class="h-100px w-100px" :src="info.avatar" fit="contain" hide-on-click-modal :preview-src-list="[info.avatar]"/>
  6. </el-descriptions-item>
  7. <el-descriptions-item label="性别">
  8. <dict-tag v-if="info.sex !== '0'" :type="DICT_TYPE.MENDUNER_SEX" :value="info.sex" />
  9. </el-descriptions-item>
  10. <el-descriptions-item label="用户名">{{ info.name }}</el-descriptions-item>
  11. <el-descriptions-item label="英文名">{{ info.foreignName }}</el-descriptions-item>
  12. <el-descriptions-item label="联系电话">{{ info.phone || user.phone }}</el-descriptions-item>
  13. <el-descriptions-item label="邮箱">{{ info.email }}</el-descriptions-item>
  14. <el-descriptions-item label="出生日期">{{ formatDate(info.birthday, 'YYYY-MM-DD') }}</el-descriptions-item>
  15. <el-descriptions-item label="首次工作时间">{{ formatDate(info.firstWorkTime, 'YYYY-MM-DD') }}</el-descriptions-item>
  16. <el-descriptions-item label="婚姻状况">
  17. <dict-tag :type="DICT_TYPE.MENDUNER_MARITAL_STATUS" :value="info.maritalStatus" />
  18. </el-descriptions-item>
  19. <el-descriptions-item label="学历">
  20. <dict-tag :type="DICT_TYPE.MENDUNER_EDUCATION_TYPE" :value="info.eduType" />
  21. </el-descriptions-item>
  22. <el-descriptions-item label=" 工作经验">
  23. <dict-tag :type="DICT_TYPE.MENDUNER_EXP_TYPE" :value="info.expType" />
  24. </el-descriptions-item>
  25. <el-descriptions-item label="求职类型">
  26. <dict-tag :type="DICT_TYPE.MENDUNER_JOB_TYPE" :value="info.jobType" />
  27. </el-descriptions-item>
  28. <el-descriptions-item label="求职状态">
  29. <dict-tag :type="DICT_TYPE.MENDUNER_JOB_SEEK_STATUS" :value="info.jobStatus" />
  30. </el-descriptions-item>
  31. <el-descriptions-item label="账号状态">
  32. <dict-tag :type="DICT_TYPE.MENDUNER_STATUS" :value="user.status" />
  33. </el-descriptions-item>
  34. <el-descriptions-item label="会员套餐">
  35. {{ user.vipFlag ? packageList.find(e => e.id === Number(user.vipFlag))?.name : '' }}
  36. </el-descriptions-item>
  37. <el-descriptions-item label="会员到期时间">
  38. {{ formatDate(user.vipExpireDate, 'YYYY-MM-DD HH:mm:ss') }}
  39. </el-descriptions-item>
  40. </el-descriptions>
  41. </div>
  42. </template>
  43. <script setup>
  44. defineOptions({ name: 'EnterpriseDetailsInfo'})
  45. import { DICT_TYPE } from '@/utils/dict'
  46. import { formatDate } from '@/utils/formatTime'
  47. import { PersonInfoApi } from '@/api/menduner/system/person'
  48. const props = defineProps({
  49. id: String,
  50. userId: String
  51. })
  52. // 获取人才详情
  53. const info = ref({})
  54. const getInfo = async () => {
  55. const data = await PersonInfoApi.getPersonDetails(props.id)
  56. info.value = data
  57. }
  58. if (props.id) getInfo()
  59. // 会员套餐列表
  60. const packageList = ref([])
  61. const getPackageList = async () => {
  62. const data = await PersonInfoApi.getPersonPackageList()
  63. packageList.value = data
  64. }
  65. getPackageList()
  66. // 获取用户详情
  67. const user = ref({})
  68. const getUserDetails = async () => {
  69. const data = await PersonInfoApi.getUserDetails(props.userId)
  70. user.value = data
  71. }
  72. getUserDetails()
  73. </script>