index.vue 3.7 KB

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