rightRecommend.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <v-card class="position-box">
  3. <h4 class="h4 mb-3">推荐职位</h4>
  4. <div v-for="(item, index) in list" :key="index" class="mb-2 cursor-pointer" @click="handlePosition(item)">
  5. <p class="recruit-name">{{ item.name }}</p>
  6. <span class="recruit-salary">{{ item.payFrom }}-{{ item.payTo }}k/{{ item.payName }}</span>
  7. <div :class="['enterprise', {'border-bottom-dashed': index !== list.length - 1}]">
  8. <v-img class="float-left" :src="item.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'" :width="30" :height="30"></v-img>
  9. <span class="float-left enterprise-name">{{ item.anotherName }}</span>
  10. <span class="float-right enterprise-address">{{ item.areaName }}</span>
  11. </div>
  12. </div>
  13. </v-card>
  14. </template>
  15. <script setup>
  16. defineOptions({name: 'retrieval-components-recommendedPositions'})
  17. const list = [
  18. {
  19. name: '项目经历',
  20. payFrom: 11,
  21. payTo: 13,
  22. payName: '月',
  23. logoUrl: 'https://cdn.vuetifyjs.com/images/john.jpg',
  24. anotherName: '广州辞图科技有限公司',
  25. areaName: '广州·越秀'
  26. },
  27. {
  28. name: '项目经历',
  29. payFrom: 11,
  30. payTo: 13,
  31. payName: '月',
  32. logoUrl: 'https://cdn.vuetifyjs.com/images/john.jpg',
  33. anotherName: '广州辞图科技有限公司',
  34. areaName: '广州·越秀'
  35. },
  36. {
  37. name: '项目经历',
  38. payFrom: 11,
  39. payTo: 13,
  40. payName: '月',
  41. logoUrl: 'https://cdn.vuetifyjs.com/images/john.jpg',
  42. anotherName: '广州辞图科技有限公司',
  43. areaName: '广州·越秀'
  44. },
  45. ]
  46. </script>
  47. <style lang="scss" scoped>
  48. .position-box {
  49. position: relative;
  50. width: 284px;
  51. height: 100%;
  52. border-radius: 8px;
  53. padding: 20px 15px;
  54. }
  55. .recruit-name {
  56. width: 95px;
  57. font-weight: 500;
  58. display: inline-block;
  59. max-width: 95px;
  60. vertical-align: middle;
  61. white-space: nowrap;
  62. text-overflow: ellipsis;
  63. overflow: hidden;
  64. &:hover {
  65. color: var(--v-primary-base);
  66. }
  67. }
  68. .recruit-salary {
  69. float: right;
  70. color: var(--v-error-base);
  71. font-weight: 500;
  72. height: auto;
  73. vertical-align: sub;
  74. }
  75. .enterprise {
  76. height: 40px;
  77. line-height: 30px;
  78. margin-top: 8px;
  79. }
  80. .enterprise-name {
  81. width: 120px;
  82. display: inline-block;
  83. max-width: 120px;
  84. vertical-align: middle;
  85. white-space: nowrap;
  86. text-overflow: ellipsis;
  87. overflow: hidden;
  88. color: var(--color-666);
  89. font-size: 13px;
  90. margin-left: 5px;
  91. &:hover {
  92. color: var(--v-primary-base);
  93. }
  94. }
  95. .enterprise-address {
  96. color: #555;
  97. font-size: 13px;
  98. }
  99. </style>