indexItem.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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. <image :key="index" v-for="(item,index) in data.todo_list" :src="item.profile_photo" mode=""></image>
  64. </view>
  65. </view>
  66. </view>
  67. </view>
  68. </view>
  69. </template>
  70. <script>
  71. import commonData from '../../commonData.js'
  72. import commonFun from '../../commonFun.js'
  73. export default {
  74. name: "indexItem",
  75. data() {
  76. return {
  77. data: {},
  78. indexItem: 1,
  79. serverUrl: this.serverUrl,
  80. formate_enrolled_heads: commonFun.formate_enrolled_heads,
  81. };
  82. },
  83. props: {
  84. dataSource: {},
  85. type: {},
  86. index: {}
  87. },
  88. methods: {
  89. to_detail(no_jump, statusName) {
  90. if (no_jump) {
  91. uni.showModal({
  92. title: '无法报名',
  93. content: '本条招聘状态:' + statusName,
  94. showCancel: false
  95. })
  96. return
  97. }
  98. uni.navigateTo({
  99. url: '/pages/order/detail?detailType=0&id=' + this.data.id
  100. })
  101. }
  102. },
  103. created() {
  104. this.data = this.dataSource || {};
  105. console.log(this.data)
  106. this.indexItem = this.index
  107. }
  108. }
  109. </script>
  110. <style>
  111. .tag_box text {
  112. background-color: #f6f6f6;
  113. color: #4A4A4A;
  114. padding: 6upx 12upx;
  115. margin-right: 7upx;
  116. border-radius: 12upx;
  117. font-size: 24upx;
  118. }
  119. .sara {
  120. height: 36upx;
  121. display: flex;
  122. align-items: flex-end;
  123. }
  124. .sara text {
  125. color: #F7942D;
  126. }
  127. .mem_item {
  128. height: 45upx;
  129. margin-top: 20upx;
  130. padding-bottom: 10upx;
  131. margin-left: 15upx;
  132. }
  133. .tab_main {
  134. margin-top: 20upx;
  135. background-color: #ffffff;
  136. box-shadow: 0px 8upx 8upx 0px #e3e3e3;
  137. border-radius: 10px;
  138. width: 92%;
  139. padding: 2%;
  140. margin-left: 2%;
  141. }
  142. .tab_main2 {
  143. margin-top: 20upx;
  144. background-color: #f9f9f9;
  145. border-radius: 10upx 10upx 0 0;
  146. width: 92%;
  147. padding: 3% 2%;
  148. margin-left: 2%;
  149. border-bottom: 1rpx solid #cfd6e3;
  150. }
  151. .box {
  152. display: flex;
  153. align-items: center;
  154. justify-content: space-between;
  155. }
  156. .box view {
  157. display: flex;
  158. align-items: center;
  159. color: #999999;
  160. }
  161. .box3 view {
  162. color: #666666;
  163. }
  164. .box view image {
  165. margin-right: 10upx;
  166. }
  167. .img {
  168. width: 28upx;
  169. height: 28upx;
  170. }
  171. .members {
  172. width: 45upx;
  173. height: 45upx;
  174. border: 4upx solid #ffffff;
  175. border-radius: 100%;
  176. overflow: hidden;
  177. float: left;
  178. margin-left: -20upx;
  179. }
  180. </style>