longCompany.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <div>
  3. <div class="sub-li mb-3" v-for="item in list" :key="item.id" @mouseenter="item.active = true" @mouseleave="item.active = false">
  4. <div class="company-info-top" @click="handleClickEnterprise(item, 'briefIntroduction')">
  5. <div class="company-info">
  6. <div class="float-left mr-5">
  7. <v-img :src="item.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'" :alt="item.anotherName" :width="40" style="height: 40px;border-radius: 4px;"/>
  8. </div>
  9. <h3 :class="{'default-active': item.active }">{{ item.anotherName }}</h3>
  10. <p>{{ item.financingName }}<span class="mx-2">|</span>{{ item.industryName }}<span class="mx-2">|</span>{{ item.scaleName }}</p>
  11. </div>
  12. <div>
  13. <v-chip color="primary" size="small" label>已收藏</v-chip>
  14. </div>
  15. </div>
  16. <div class="company-info-bottom">
  17. <div class="chipBox">
  18. <div class="d-inline-block" v-for="(val, i) in item.welfareList" :key="i">
  19. <span>{{ val }}</span>
  20. <span class="mx-1" v-if="i !== item.welfareList.length - 1">|</span>
  21. </div>
  22. </div>
  23. <div class="position" @click="handleClickEnterprise(item, 'recruitmentPositions')">
  24. 查看全部职位
  25. <v-icon>mdi-menu-right</v-icon>
  26. </div>
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <script setup>
  32. defineOptions({ name: 'long-company-card'})
  33. defineProps({
  34. list: Array
  35. })
  36. const handleClickEnterprise = (item, key) => {
  37. window.open(`/recruit/personal/company/details/${item.id}?key=${key}`)
  38. }
  39. </script>
  40. <style scoped lang="scss">
  41. .sub-li {
  42. position: relative;
  43. height: 130px;
  44. border-radius: 12px;
  45. padding: 0;
  46. overflow: hidden;
  47. transition: all .2s linear;
  48. background-color: #fff;
  49. cursor: pointer;
  50. &:nth-child(4n) {
  51. margin-right: 0;
  52. }
  53. &:hover {
  54. box-shadow: 0 16px 40px 0 rgba(153, 153, 153, .3);
  55. }
  56. }
  57. .company-info {
  58. float: left;
  59. margin-left: 16px;
  60. width: 282px;
  61. }
  62. .company-info-top {
  63. display: flex;
  64. height: 76px;
  65. padding: 16px 20px;
  66. overflow: hidden;
  67. justify-content: space-between;
  68. }
  69. .company-info h3 {
  70. height: 22px;
  71. font-size: 16px;
  72. font-weight: 400;
  73. color: #222;
  74. line-height: 22px;
  75. margin: 0 0 4px 0;
  76. padding: 0;
  77. max-width: 100%;
  78. overflow: hidden;
  79. white-space: nowrap;
  80. text-overflow: ellipsis;
  81. }
  82. .company-info p {
  83. height: 18px;
  84. font-size: 13px;
  85. font-weight: 400;
  86. color: #999;
  87. line-height: 18px;
  88. }
  89. .company-info-bottom {
  90. display: flex;
  91. width: 100%;
  92. padding: 16px 20px;
  93. justify-content: space-between;
  94. background-color: #f8fcfb;
  95. .chipBox {
  96. width: 70%;
  97. min-width: 70%;
  98. overflow: hidden;
  99. text-overflow: ellipsis;
  100. white-space: nowrap;
  101. font-size: 13px;
  102. color: #999;
  103. }
  104. .position {
  105. color: #666;
  106. font-size: 14px;
  107. cursor: pointer;
  108. &:hover {
  109. color: var(--v-primary-base);
  110. }
  111. }
  112. }
  113. </style>