indexItem.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <!-- 首页每一条招聘信息组件 -->
  2. <template>
  3. <view :key="data.id" @click="to_detail(data.urgent_level=='1'&&data.statusName!='已通过',data.statusName)"
  4. class="tab_main">
  5. <view style="display: flex;justify-content: space-between;">
  6. <!-- 招聘标题 -->
  7. <view style="width: 65%;font-size: 32upx;" class="nowrap">
  8. {{data.title}}
  9. </view>
  10. <!-- 【完工即结】显示报名日期 -->
  11. <view v-if="data.urgent_level=='0'" style="display: flex;align-items: center;align-items: center;">
  12. <image style="margin-right: 7upx;" class="img" src="../../static/clock_green.png"></image>
  13. <!-- 非批量 -->
  14. <view style="color: #4A4A4A;" v-if="data.settle_catalog==0">
  15. <text v-if="data.begin_datetime">{{data.begin_datetime.slice(5,10)}}</text>
  16. <text
  17. v-if="data.finish_datetime&&data.begin_datetime!=data.finish_datetime">~{{data.finish_datetime.slice(5,10)}}</text>
  18. </view>
  19. <!-- 批量 -->
  20. <view style="color: #4A4A4A;" v-else>
  21. {{data.begin_datetime22.slice(5,10)+'开始报名'}}
  22. </view>
  23. </view>
  24. <!-- 【今日零工】显示招聘状态或开工完工时刻 -->
  25. <view v-else style="display: flex;align-items: center;align-items: center;">
  26. <image style="margin-right: 7upx;" class="img"
  27. :src="data.statusName=='已通过'? '../../static/clock_green.png':'../../static/clock_grey.png'"></image>
  28. <view style="color: #4A4A4A;">
  29. {{data.statusName=='已通过'?(data.begin_hour+'-'+data.finish_hour):data.statusName}}
  30. </view>
  31. </view>
  32. </view>
  33. <view>
  34. <!-- 性别年龄要求,佣金 -->
  35. <view style="margin-top: 20upx;" class="box">
  36. <view class="tag_box">
  37. <text>{{data.gender_mode==0?'性别不限':data.gender_mode==1?'限男':'限女'}}</text>
  38. <text>{{data.age_mode==0?'年龄不限':(data.age_min+'岁-'+data.age_max+'岁')}}</text>
  39. </view>
  40. <view class="nowrap sara">
  41. <text style="font-size: 36upx;line-height: 36upx;margin-right: 7upx;">{{data.salary}}</text>
  42. <text
  43. style="font-size: 26upx;line-height: 26upx;padding-top: 7upx;">{{data.settle_catalog==0?'元':'元/天'}}</text>
  44. </view>
  45. </view>
  46. <view style="margin-top: 20upx;" class="box box3">
  47. <!-- 位置 -->
  48. <view style="display: flex;color: #4A4A4A;">
  49. <image style="height: 32upx;width: 26upx;" class="img" src="../../static/pos_green.png"></image>
  50. <view style="max-width: 250upx;" class="nowrap">{{data.work_addr1}}</view>
  51. <text
  52. style="margin-left: 6upx;">{{!isNaN(Number(data.distance))?((Number(data.distance)/1000).toFixed(2)+'km'):''}}</text>
  53. </view>
  54. <!-- 已报名人数,头像-->
  55. <view style="display: flex;align-items: center;">
  56. <view style="color: #9B9B9B;padding-right: 20upx;">
  57. {{data.now_worker_total000>0?(data.now_worker_total000+'人已报名'):''}}
  58. </view>
  59. <view class="has_signed">
  60. <image :key="index"
  61. v-for="(item,index) in formate_enrolled_heads(data.enrolled_heads, (Number(data.now_worker_total000)))"
  62. :src="serverUrl+'touxiang/'+item+'.png'"></image>
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. </view>
  68. </template>
  69. <script>
  70. import commonData from '../../commonData.js'
  71. import commonFun from '../../commonFun.js'
  72. export default {
  73. name: "indexItem",
  74. data() {
  75. return {
  76. data: {},
  77. indexItem: 1,
  78. serverUrl: this.serverUrl,
  79. formate_enrolled_heads: commonFun.formate_enrolled_heads,
  80. };
  81. },
  82. props: {
  83. dataSource: {},
  84. type: {},
  85. index: {}
  86. },
  87. methods: {
  88. to_detail(no_jump, statusName) {
  89. if (no_jump) {
  90. uni.showModal({
  91. title: '无法报名',
  92. content: '本条招聘状态:' + statusName,
  93. showCancel: false
  94. })
  95. return
  96. }
  97. uni.navigateTo({
  98. url: '/pages/order/detail?detailType=0&id=' + this.data.id
  99. })
  100. }
  101. },
  102. created() {
  103. this.data = this.dataSource || {};
  104. this.indexItem = this.index
  105. }
  106. }
  107. </script>
  108. <style>
  109. .tag_box text {
  110. background-color: #f6f6f6;
  111. color: #4A4A4A;
  112. padding: 6upx 12upx;
  113. margin-right: 7upx;
  114. border-radius: 12upx;
  115. font-size: 24upx;
  116. }
  117. .sara {
  118. height: 36upx;
  119. display: flex;
  120. align-items: flex-end;
  121. }
  122. .sara text {
  123. color: #F7942D;
  124. }
  125. .mem_item {
  126. height: 45upx;
  127. margin-top: 20upx;
  128. padding-bottom: 10upx;
  129. margin-left: 15upx;
  130. }
  131. .tab_main {
  132. margin-top: 20upx;
  133. background-color: #ffffff;
  134. box-shadow: 0px 8upx 8upx 0px #e3e3e3;
  135. border-radius: 10px;
  136. width: 92%;
  137. padding: 2%;
  138. margin-left: 2%;
  139. }
  140. .tab_main2 {
  141. margin-top: 20upx;
  142. background-color: #f9f9f9;
  143. border-radius: 10upx 10upx 0 0;
  144. width: 92%;
  145. padding: 3% 2%;
  146. margin-left: 2%;
  147. border-bottom: 1rpx solid #cfd6e3;
  148. }
  149. .box {
  150. display: flex;
  151. align-items: center;
  152. justify-content: space-between;
  153. }
  154. .box view {
  155. display: flex;
  156. align-items: center;
  157. color: #999999;
  158. }
  159. .box3 view {
  160. color: #666666;
  161. }
  162. .box view image {
  163. margin-right: 10upx;
  164. }
  165. .img {
  166. width: 28upx;
  167. height: 28upx;
  168. }
  169. .members {
  170. width: 45upx;
  171. height: 45upx;
  172. border: 4upx solid #ffffff;
  173. border-radius: 100%;
  174. overflow: hidden;
  175. float: left;
  176. margin-left: -20upx;
  177. }
  178. </style>