index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <template>
  2. <div>
  3. <el-row :gutter="10">
  4. <el-col :span="14">
  5. <el-card shadow="never">
  6. <!-- <template #header>
  7. <CardTitle title="人才详情" />
  8. </template> -->
  9. <el-tabs>
  10. <el-tab-pane label="基本信息">
  11. <Info :id="id" :user-id="userId" />
  12. </el-tab-pane>
  13. <el-tab-pane label="教育经历">
  14. <Edu :user-id="userId" />
  15. </el-tab-pane>
  16. <el-tab-pane label="工作经历">
  17. <Exp :user-id="userId" />
  18. </el-tab-pane>
  19. <el-tab-pane label="求职意向">
  20. <JobIntention :user-id="userId" />
  21. </el-tab-pane>
  22. <!-- <el-tab-pane label="面试邀约记录">
  23. <InterviewInvite :user-id="userId" />
  24. </el-tab-pane> -->
  25. <el-tab-pane label="职位投递记录">
  26. <DeliveryJob :user-id="userId" />
  27. </el-tab-pane>
  28. <!-- <el-tab-pane label="职位收藏、企业收藏数">
  29. <Collect :user-id="userId" />
  30. </el-tab-pane> -->
  31. <el-tab-pane label="附件简历">
  32. <Attachment :user-id="userId" />
  33. </el-tab-pane>
  34. </el-tabs>
  35. </el-card>
  36. </el-col>
  37. <el-col :span="10">
  38. <div>
  39. <el-card shadow="never">
  40. <template #header>
  41. <!-- <CardTitle title="已有标签" /> -->
  42. <div class="flex items-center justify-between">
  43. <CardTitle title="已有标签" />
  44. <el-button size="small" type="primary" @click="addNewTag = true; newTagText = ''">
  45. 添加新标签
  46. </el-button>
  47. </div>
  48. </template>
  49. <div style="display: flex;" class="m-b-12px" v-if="addNewTag">
  50. <el-input
  51. v-model="newTagText"
  52. placeholder="请输入标签,按回车键确认!"
  53. clearable
  54. style="max-width: 300px;"
  55. @keyup.enter="saveTags"
  56. />
  57. <el-button type="primary" class="m-l-12px" @click="saveTags">保存</el-button>
  58. <el-button @click="addNewTag = false">关闭</el-button>
  59. </div>
  60. <Tags :id="id" :user-id="userId" />
  61. </el-card>
  62. <el-card shadow="never" class="m-t-10px">
  63. <template #header>
  64. <CardTitle title="推荐标签" />
  65. </template>
  66. <TagsRecommend :id="id" :user-id="userId" />
  67. </el-card>
  68. </div>
  69. </el-col>
  70. </el-row>
  71. </div>
  72. </template>
  73. <script setup>
  74. defineOptions({ name: 'TalentMapDetail'})
  75. import { useTagsViewStore } from '@/store/modules/tagsView'
  76. import { ElMessage } from 'element-plus'
  77. import Info from './components/info.vue'
  78. import Edu from './components/edu.vue'
  79. import Exp from './components/exp.vue'
  80. import JobIntention from './components/jobIntention.vue'
  81. // import Collect from './components/collect.vue'
  82. import Attachment from './components/attachment.vue'
  83. import DeliveryJob from './components/deliveryJob.vue'
  84. // import InterviewInvite from './components/interviewInvite.vue'
  85. import Tags from './components/tags.vue'
  86. import TagsRecommend from './components/tagsRecommend.vue'
  87. const addNewTag = ref(false)
  88. const newTagText = ref('')
  89. const saveTags = () => {
  90. addNewTag.value = false
  91. }
  92. /** 初始化 */
  93. const { currentRoute } = useRouter() // 路由
  94. const { delView } = useTagsViewStore() // 视图操作
  95. const route = useRoute()
  96. const { id, userId } = route.query
  97. onMounted(() => {
  98. if (!userId) {
  99. ElMessage.warning('参数错误,用户编号不能为空!')
  100. delView(unref(currentRoute))
  101. return
  102. }
  103. })
  104. </script>