rightRecommend.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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" :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. border-radius: 8px;
  52. padding: 20px 15px;
  53. }
  54. .recruit-name {
  55. width: 95px;
  56. font-weight: 500;
  57. display: inline-block;
  58. max-width: 95px;
  59. vertical-align: middle;
  60. white-space: nowrap;
  61. text-overflow: ellipsis;
  62. overflow: hidden;
  63. &:hover {
  64. color: var(--v-primary-base);
  65. }
  66. }
  67. .recruit-salary {
  68. float: right;
  69. color: var(--v-error-base);
  70. font-weight: 500;
  71. height: auto;
  72. vertical-align: sub;
  73. }
  74. .enterprise {
  75. height: 40px;
  76. line-height: 30px;
  77. margin-top: 8px;
  78. }
  79. .enterprise-name {
  80. width: 120px;
  81. display: inline-block;
  82. max-width: 120px;
  83. vertical-align: middle;
  84. white-space: nowrap;
  85. text-overflow: ellipsis;
  86. overflow: hidden;
  87. color: #666;
  88. font-size: 13px;
  89. margin-left: 5px;
  90. &:hover {
  91. color: var(--v-primary-base);
  92. }
  93. }
  94. .enterprise-address {
  95. color: #555;
  96. font-size: 13px;
  97. }
  98. </style>