interviewInvite.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <ContentWrap>
  3. <el-table v-loading="loading" :data="list" :stripe="true">
  4. <el-table-column label="投递岗位" align="center" prop="job.name" />
  5. <el-table-column label="岗位薪资" align="center" prop="job.payFrom">
  6. <template #default="{ row }">
  7. {{ !row.job.payFrom && !row.job.payTo ? '面议' : `${row.job.payFrom}-${row.job.payTo}/${payUnit.find(e => e.value === Number(row.job.payUnit))?.label}` }}
  8. </template>
  9. </el-table-column>
  10. <el-table-column label="发布企业" align="center" prop="enterprise.name">
  11. <template #default="{ row }">{{ row.enterprise.anotherName || row.enterprise.name }}</template>
  12. </el-table-column>
  13. <el-table-column label="面试时间" align="center" prop="time">
  14. <template #default="{ row }">{{ timesTampChange(row.time, 'Y-M-D h:m') }}</template>
  15. </el-table-column>
  16. <el-table-column label="面试地点" align="center" prop="address" />
  17. <el-table-column label="联系人" align="center" prop="contact.name" />
  18. <el-table-column label="联系电话" align="center" prop="phone" />
  19. <el-table-column label="状态" align="center" prop="status">
  20. <template #default="{ row }">
  21. <dict-tag :type="DICT_TYPE.MENDUNER_INTERVIEW_INVITE_STATUS" :value="row.status" />
  22. </template>
  23. </el-table-column>
  24. </el-table>
  25. <!-- 分页 -->
  26. <Pagination
  27. :total="total"
  28. v-model:page="queryParams.pageNo"
  29. v-model:limit="queryParams.pageSize"
  30. @pagination="getList"
  31. />
  32. </ContentWrap>
  33. </template>
  34. <script lang="ts" setup>
  35. import { timesTampChange } from '@/utils/transform/date'
  36. import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
  37. import { PersonInfoApi } from '@/api/menduner/system/person'
  38. defineOptions({ name: 'PersonInterviewInvite' })
  39. const props = defineProps({
  40. userId: String
  41. })
  42. const loading = ref(true) // 列表的加载中
  43. const total = ref(0) // 列表的总页数
  44. const queryParams = reactive({
  45. pageNo: 1,
  46. pageSize: 10,
  47. userId: props.userId
  48. })
  49. const payUnit = getIntDictOptions(DICT_TYPE.MENDUNER_PAY_UNIT)
  50. const list = ref([]) // 列表的数据
  51. const getList = async () => {
  52. loading.value = true
  53. try {
  54. const data = await PersonInfoApi.getInterviewInvitePage(queryParams)
  55. list.value = data.list
  56. total.value = data.total
  57. } finally {
  58. loading.value = false
  59. }
  60. }
  61. /** 初始化 **/
  62. onMounted(() => {
  63. getList()
  64. })
  65. </script>