index.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <view v-if="list.length > 0">
  3. <view v-for="(item, index) in list" @click="toDetail(item)" :key="index" class="list-shape">
  4. <!-- 职位+热度 -->
  5. <view class="mar">
  6. <span style="font-size: 16px;font-weight: 700;color: black;">{{item.enterpriseRecruit.enterpriseRecruitJobName + (index+1)}}</span>
  7. <span class="mar" v-if="item.enterpriseRecruit.hot">
  8. <uni-icons type="fire-filled" size="25" color="#ff770d"></uni-icons>
  9. </span>
  10. <span class="salary-text">{{item.enterpriseRecruit.enterpriseRecruitSalary + '/天'}}</span>
  11. </view>
  12. <!-- 工作地+频次+周期 -->
  13. <view style="font-size: 13px;">
  14. <span class="tag-gap">
  15. <span>{{item.enterpriseRecruit.workCityName }}</span>
  16. <span class="viewider">|</span>
  17. <span>5 / 每周</span>
  18. </span>
  19. <span class="date-time">
  20. <span>2024-07-14</span>
  21. </span>
  22. </view>
  23. <!-- 岗位tag -->
  24. <view>
  25. <uni-tag
  26. v-for="(tag,i) in item.enterpriseRecruitTags"
  27. :key="i"
  28. class="tag-gap"
  29. :text="tag.title"
  30. inverted="false"
  31. size="mini"
  32. custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7;"
  33. />
  34. </view>
  35. <!-- 企业信息 -->
  36. <view v-if="!!item.enterprise.enterpriseName" class="mar">
  37. <view style="margin:10px 0px;font-size:13px;" class="f-horizon">
  38. <span style="display: flex;">
  39. <image class="enterAvatar" :src="item.enterprise.headImg ? item.enterprise.headImg : (item.enterprise.employeeSex == '女' ? 'https://minio.citupro.com/dev/static/4.png' : 'https://minio.citupro.com/dev/static/14.png')"></image>
  40. <span class="ml" style="width:50vw;">
  41. <view style="width:50vw;font-weight: bold;">{{item.enterprise.enterpriseName}} </view>
  42. <view class="dis">
  43. <view class="show-more" :style="{'width': item.enterprise.enterpriseIndustry == '' ? '14vw' : '26vw'}">{{!!item.enterprise.enterpriseIndustry ? item.enterprise.enterpriseIndustry : '行业未知'}}</view>
  44. <span class="divider tag-gap"> | </span>
  45. <span>{{ !!item.enterprise.scaleChinese ? item.enterprise.scaleChinese : '人数未知' }}</span>
  46. </view>
  47. </span>
  48. </span>
  49. </view>
  50. </view>
  51. <!-- <view class="divided-line"></view> -->
  52. </view>
  53. <view v-if="props.noMore" class="noMore">暂无更多数据</view>
  54. </view>
  55. </template>
  56. <script setup>
  57. // import { ref } from 'vue'
  58. const props = defineProps({
  59. list: { type: Array, default: () => [] },
  60. noMore: { type: Boolean, default: false },
  61. // idValue: { type: String, default: 'id' },
  62. // labelValue: { type: String, default: 'label' },
  63. // selectIdValue: { type: String, default: 'id' },
  64. // selectLabelValue: { type: String, default: 'label' },
  65. // useApiData: { type: Boolean, default: true },
  66. })
  67. //岗位详情
  68. const toDetail = (item) =>{
  69. // uni.navigateTo({
  70. // url:`/pages/index/positionDetail?studenId=${studentId}&&enterpriseRecruitId=${enterpriseRecruitId}`
  71. // })
  72. }
  73. </script>
  74. <style scoped lang="scss">
  75. .noMore{
  76. margin: 20px 0;
  77. }
  78. .mar{
  79. margin: 5px 0;
  80. }
  81. .date-time{
  82. color:#d9d0d2;
  83. float: right;
  84. }
  85. .divided-line {
  86. width: 100%;
  87. height: 1px;
  88. background-color: #f0f2f7;
  89. margin: 20px 0;
  90. }
  91. .enterAvatar{
  92. width: 40px;
  93. height: 40px;
  94. border-radius: 50%;
  95. margin: auto;
  96. }
  97. </style>