特易招,招聘小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
3.8 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. <template>
  2. <view class="page">
  3. <view class="banner">
  4. <uv-swiper
  5. :list="bannerList"
  6. indicator
  7. height="620rpx"
  8. keyName="url"></uv-swiper>
  9. <!-- indicatorStyle="bottom: 100rpx;" -->
  10. <view class="top">
  11. <view class="search">
  12. <uv-search
  13. placeholder="请输入岗位/公司名称"
  14. :showAction="false"
  15. search-icon-size="40rpx"
  16. @search="search"
  17. v-model="keyword"></uv-search>
  18. </view>
  19. </view>
  20. </view>
  21. <!-- 工人看到的 -->
  22. <view class="content"
  23. v-if="!role">
  24. <view class="grid">
  25. <uv-grid :border="false"
  26. :col="5">
  27. <uv-grid-item
  28. v-for="(item,index) in baseList"
  29. @click="$utils.navigateTo('/pages_order/work/workList')"
  30. :key="index">
  31. <image class="grid-icon" :src="item.icon" mode="aspectFill"></image>
  32. <text class="grid-text">{{item.title}}</text>
  33. </uv-grid-item>
  34. </uv-grid>
  35. </view>
  36. </view>
  37. <!-- 筛选器 -->
  38. <screenWork @clickItem="clickItem"/>
  39. <!-- 老板看到的 -->
  40. <userList ref="workList" v-if="role"/>
  41. <!-- 工人看到的 -->
  42. <workList ref="workList" v-else/>
  43. <PrivacyAgreementPoup/>
  44. <tabber select="0"/>
  45. </view>
  46. </template>
  47. <script>
  48. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  49. import workList from '@/components/list/workList/index.vue'
  50. import userList from '@/components/list/userList/index.vue'
  51. import tabber from '@/components/base/tabbar.vue'
  52. import screenWork from '@/components/screen/screenWork.vue'
  53. import {
  54. mapState,
  55. mapGetters
  56. } from 'vuex'
  57. export default {
  58. components : {
  59. PrivacyAgreementPoup,
  60. workList,
  61. tabber,
  62. screenWork,
  63. userList
  64. },
  65. computed: {
  66. ...mapState(['userInfo', 'role']),
  67. },
  68. data() {
  69. return {
  70. baseList : [
  71. {
  72. icon : '/static/image/home/1.png',
  73. title : '电工',
  74. path : '/pages_order/service/applyRelic',
  75. },
  76. {
  77. icon : '/static/image/home/1.png',
  78. title : '焊工',
  79. path : '/pages_order/service/applyRelic',
  80. },
  81. {
  82. icon : '/static/image/home/1.png',
  83. title : '叉车',
  84. path : '/pages_order/service/applyRelic',
  85. },
  86. {
  87. icon : '/static/image/home/1.png',
  88. title : '钳工',
  89. path : '/pages_order/service/applyRelic',
  90. },
  91. {
  92. icon : '/static/image/home/1.png',
  93. title : '其他招工',
  94. path : '/pages_order/service/applyRelic',
  95. },
  96. ],
  97. bannerList: [
  98. {
  99. url: '/static/image/home/banner.png',
  100. },
  101. ],
  102. productList: [],
  103. keyword : '',
  104. }
  105. },
  106. // onPullDownRefresh(){
  107. // this.$refs.videoList.queryVideoList()
  108. // this.queryBannerList()
  109. // },
  110. // onShow() {
  111. // this.$refs.videoList.queryVideoList()
  112. // this.queryBannerList()
  113. // },
  114. // //滚动到屏幕底部
  115. // onReachBottom() {
  116. // this.$refs.videoList.loadMoreData()
  117. // },
  118. methods: {
  119. clickItem(){
  120. },
  121. }
  122. }
  123. </script>
  124. <style scoped lang="scss">
  125. .page{
  126. .banner{
  127. position: relative;
  128. background-color: $uni-color;
  129. .top{
  130. position: absolute;
  131. top: 190rpx;
  132. left:00rpx;
  133. padding-top: 30rpx;
  134. display: flex;
  135. width: 100%;
  136. flex-direction: column;
  137. align-items: center;
  138. .search{
  139. width: 700rpx;
  140. /deep/ .uv-search__content__icon{
  141. padding: 10rpx 0;
  142. }
  143. }
  144. .title{
  145. image{
  146. width: 600rpx;
  147. height: 300rpx;
  148. }
  149. }
  150. }
  151. }
  152. .content{
  153. position: relative;
  154. margin-top: -60rpx;
  155. .grid{
  156. padding-bottom: 30rpx;
  157. background-color: #fff;
  158. // border-radius: 60rpx;
  159. border-top-left-radius: 60rpx;
  160. border-top-right-radius: 60rpx;
  161. // box-shadow: 0 -10rpx 10rpx 10rpx #00000013;
  162. .grid-icon{
  163. width: 80rpx;
  164. height: 80rpx;
  165. margin-bottom: 10rpx;
  166. margin-top: 30rpx;
  167. }
  168. .grid-text{
  169. font-size: 24rpx;
  170. font-weight: 900;
  171. }
  172. }
  173. }
  174. }
  175. </style>