jobIntention.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <div v-if="interestList.length">
  3. <div
  4. :class="['position-item', 'mb-1']"
  5. v-for="(k, i) in interestList"
  6. :key="'jobIntention' + i"
  7. >
  8. <div class="d-flex">
  9. <div>{{ k.position }}</div>
  10. <div class="line" v-if="k.position">|</div>
  11. <div v-if="!k.payFrom && !k.payTo">面议</div>
  12. <div v-else>{{k.payFrom ? k.payFrom + '-' : ''}}{{k.payTo}}</div>
  13. <div class="line">|</div>
  14. <div class="color-999" v-ellipse-tooltip style="max-width: 300px;">{{ k.industry?.map(e => e.nameCn).join('、') }}</div>
  15. <div class="line" v-if="k.industry?.length">|</div>
  16. <div class="color-999">{{ k.jobTypeName }}</div>
  17. <div class="line" v-if="k.jobTypeName && k.workArea">|</div>
  18. <div v-ellipse-tooltip class="color-999" style="max-width: 160px;">
  19. {{
  20. k.interestedArea && k.interestedArea.length
  21. ?
  22. (k.workArea ? k.workArea + ',' : '') + k.interestedArea.map(e => e.name).join(',')
  23. :
  24. (k.workArea || '')
  25. }}
  26. </div>
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <script setup>
  32. import { ref } from 'vue'
  33. import { dealJobData } from './dict'
  34. defineOptions({name: 'enterprise-talentPool-details-jobIntention'})
  35. const props = defineProps({
  36. data: {
  37. type: Array,
  38. default: () => []
  39. }
  40. })
  41. // 获取求职意向
  42. const interestList = ref([])
  43. if (props.data?.length) interestList.value = dealJobData(props.data)
  44. </script>
  45. <style lang="scss" scoped>
  46. .position-item {
  47. display: flex;
  48. justify-content: space-between;
  49. border-radius: 6px;
  50. font-size: 15px;
  51. span {
  52. font-size: 15px;
  53. }
  54. .line {
  55. color: #e0e0e0;
  56. margin: 0 10px;
  57. }
  58. }
  59. </style>