index.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044
  1. <template>
  2. <view>
  3. <view class="topArea">
  4. <image class="topArea-Bg" :src="$getImageUrl('static/images/applet/index/topBg.png')"></image>
  5. <view class="topArea-top" :style="{height:navBarTop + 'px',width:navBarWidth + 'px'}"></view>
  6. <view class="topArea-nav"
  7. :style="{width:navBarWidth + 'px',height:navBarHeight + 'px',lineHeight:navBarHeight + 'px'}">
  8. <view class="nav-title">晋江零工服务平台</view>
  9. <view class="nav-search" :style="{width:navSearchWidth + 'px', height:navBarHeight+'px'}"><u-search
  10. inputAlign="center" :height="navBarHeight-5" placeholder="搜索" :showAction="false"
  11. @search="goSearch"></u-search>
  12. </view>
  13. </view>
  14. <view class="topArea-main">
  15. <view class="main-title">
  16. <view>灵活用工已成</view>
  17. <view>企业用人新趋势</view>
  18. </view>
  19. <view class="main-banner">
  20. <image class="main-banner-image" :src="$getImageUrl('static/images/applet/index/topBanner.png')"
  21. mode="aspectFit">
  22. </image>
  23. </view>
  24. </view>
  25. </view>
  26. <view class="summary">
  27. <view class="topMenu">
  28. <view class="topMenu-item" @click="goLPage('/pages/comjobs/recruitFast')">
  29. <image class="item-icon" :src="$getImageUrl('static/images/applet/index/topMenuA.png')"></image>
  30. <view class="item-title">晋快招</view>
  31. <view class="item-explain">悬赏招聘</view>
  32. </view>
  33. <view class="topMenu-item" @tap="goJbangjia()">
  34. <image class="item-icon" :src="$getImageUrl('static/images/applet/index/topMenuB.png')"></image>
  35. <view class="item-title">晋帮家</view>
  36. <view class="item-explain">家政服务</view>
  37. </view>
  38. <view class="topMenu-item" @tap="develop()">
  39. <!-- <view class="topMenu-item" @tap="goLPage('/pages/comjobs/jobDemands')"> -->
  40. <image class="item-icon" :src="$getImageUrl('static/images/applet/index/topMenuC.png')"></image>
  41. <view class="item-title">晋全能</view>
  42. <view class="item-explain">零工服务</view>
  43. </view>
  44. <view class="topMenu-item" @tap="develop()">
  45. <!-- <view class="topMenu-item" @tap="goLPage('/pages/comjobs/businessHelp')"> -->
  46. <image class="item-icon" :src="$getImageUrl('static/images/applet/index/topMenuD.png')"></image>
  47. <view class="item-title">晋企帮</view>
  48. <view class="item-explain">订单分包</view>
  49. </view>
  50. </view>
  51. <!-- <view class="topMenu-fill"></view> -->
  52. <view class="topApply">
  53. <view class="topApply-left">
  54. <image class="left-icon" :src="$getImageUrl('static/images/applet/index/topApplyIcon.png')"></image>
  55. </view>
  56. <view class="topApply-center">经纪人福利多多</view>
  57. <view class="topApply-right" @tap="pageUrl(1,'/pages/broker/brokerform')">立即申请</view>
  58. </view>
  59. <view class="hot">
  60. <view class="hot-left" @tap="develop()">
  61. <image class="hot-left-image" :src="$getImageUrl('static/images/applet/index/hotLeft.png')"
  62. mode="aspectFit"></image>
  63. </view>
  64. <view class="hot-right">
  65. <view class="hot-right-item" @click="goLPage('/pages/train/joinlist')">
  66. <view class="item-top">
  67. <view class="item-top-title">
  68. <view class="title-first">培训专场</view>
  69. <view class="title-second">职场提升小技巧</view>
  70. </view>
  71. <image class="item-top-hotRightOne"
  72. :src="$getImageUrl('static/images/applet/index/hotRighrOne.png')"></image>
  73. </view>
  74. <view class="item-bottom">我要报名</view>
  75. </view>
  76. <view class="hot-right-item" @tap="develop()">
  77. <image class="item-hotRightTwo"
  78. :src="$getImageUrl('static/images/applet/index/hotRightTwo.png')"></image>
  79. </view>
  80. </view>
  81. </view>
  82. <view class="tabs">
  83. <view :class="selectID == 0 ? 'tabs-item-select' : 'tabs-item'" @click="selectTab(0)">
  84. <image v-if="selectID != 0" class="item-icon"
  85. :src="$getImageUrl('static/images/applet/index/tabOneA.png')"></image>
  86. <image v-if="selectID == 0" class="item-icon"
  87. :src="$getImageUrl('static/images/applet/index/tabOneB.png')"></image>
  88. <text class="item-title">悬赏聘</text>
  89. </view>
  90. <view :class="selectID == 1 ? 'tabs-item-select' : 'tabs-item'" @click="selectTab(1)">
  91. <image v-if="selectID != 1" class="item-icon"
  92. :src="$getImageUrl('static/images/applet/index/tabTwoA.png')"></image>
  93. <image v-if="selectID == 1" class="item-icon"
  94. :src="$getImageUrl('static/images/applet/index/tabTwoB.png')"></image>
  95. <text class="item-title">超值秒杀</text>
  96. </view>
  97. <view :class="selectID == 2 ? 'tabs-item-select' : 'tabs-item'" @click="selectTab(2)">
  98. <image v-if="selectID != 2" class="item-icon"
  99. :src="$getImageUrl('static/images/applet/index/tabThreeA.png')"></image>
  100. <image v-if="selectID == 2" class="item-icon"
  101. :src="$getImageUrl('static/images/applet/index/tabThreeB.png')"></image>
  102. <text class="item-title">推荐服务</text>
  103. </view>
  104. <!-- <view :class="selectID == 3 ? 'tabs-item-select' : 'tabs-item'" @click="selectTab(3)">
  105. <image v-if="selectID != 3" class="item-icon" :src="$getImageUrl('static/images/applet/index/tabFourA.png')"></image>
  106. <image v-if="selectID == 3" class="item-icon" :src="$getImageUrl('static/images/applet/index/tabFourB.png')"></image>
  107. <text class="item-title">手工单</text>
  108. </view> -->
  109. </view>
  110. </view>
  111. <view class="listContent" v-if="selectID == 0">
  112. <view class="listContent-card" v-for="(item,index) in plist" :key="index" @tap="goDetail(item.id)">
  113. <view class="card-infor">
  114. <view class="card-infor-left">
  115. <view class="left-job card-center">
  116. <image class="card-icon" :src="$getImageUrl('static/images/applet/index/cardA.png')">
  117. </image><text class="job-title">岗位:{{item.title}}</text>
  118. </view>
  119. <view class="left-time card-center">
  120. <image class="card-icon" :src="$getImageUrl('static/images/applet/index/cardB.png')">
  121. </image><text>工作时间:8:00-18:00</text>
  122. </view>
  123. </view>
  124. <view class="card-infor-right">
  125. <view class="right-money card-center">
  126. <image class="card-icon" :src="$getImageUrl('static/images/applet/index/cardC.png')">
  127. </image><text>赏金</text><text class="right-money-num">{{item.retmoney}}元</text>
  128. </view>
  129. <view class="right-place card-center">
  130. <image class="card-icon" :src="$getImageUrl('static/images/applet/index/cardD.png')">
  131. </image><text>地点:{{item.district}}</text>
  132. </view>
  133. </view>
  134. </view>
  135. <view class="card-botInfor">
  136. <view class="card-botInfor-company">{{item.worker.title}}</view>
  137. <view class="card-botInfor-more">...</view>
  138. </view>
  139. </view>
  140. <uni-load-more :status="pstatus"></uni-load-more>
  141. </view>
  142. <view class="developing" style="text-align: center;padding: 30rpx 0;color:#797979" v-if="selectID != 0">
  143. 正在开发中,敬请期待
  144. </view>
  145. <view class="padding-sm"></view>
  146. <view class="padding-xl"></view>
  147. <view class="cu-bar tabbar bg-white foot">
  148. <view class="action text-red" @tap="goNavPage('/pages/index/index')">
  149. <view class="cuIcon-cu-image">
  150. <image src="../../static/tabbar/indexSelected.png"></image>
  151. </view>
  152. 首页
  153. </view>
  154. <view class="action text-gray" @tap="goNavPage('/pages/comjobs/comjobs')">
  155. <view class="cuIcon-cu-image">
  156. <image src="../../static/tabbar/jobs.png"></image>
  157. </view>
  158. 招聘
  159. </view>
  160. <!-- #ifndef MP-WEIXIN -->
  161. <view class="action text-gray videoimg" @tap="goNavPage('/pages/video/videolist')">
  162. <view class="cuIcon-cu-image">
  163. <image src="../../static/tabbar/video.png"></image>
  164. </view>
  165. 微工作
  166. </view>
  167. <!-- #endif -->
  168. <view class="action text-gray" @tap="goNavPage('/pages/broker/brokerlist')">
  169. <view class="cuIcon-cu-image">
  170. <image src="../../static/tabbar/broker.png"></image>
  171. </view>
  172. 经纪人
  173. </view>
  174. <view class="action text-gray" @tap="goNavPage('/pages/my/my')">
  175. <view class="cuIcon-cu-image">
  176. <image src="../../static/tabbar/my.png"></image>
  177. </view>
  178. 我的
  179. </view>
  180. </view>
  181. <wxContact ref="wxContact"></wxContact>
  182. </view>
  183. </template>
  184. <script>
  185. import uniLoadMore from "@/components/uni-load-more/uni-load-more.vue";
  186. import QQMapWX from '@/common/qqmap-wx-jssdk';
  187. var _this;
  188. export default {
  189. components: {
  190. uniLoadMore
  191. },
  192. data() {
  193. return {
  194. userinfo: null,
  195. workerinfo: null,
  196. param: [],
  197. slide: [],
  198. cardCur: 0,
  199. searchval: "",
  200. article: [],
  201. navigation: [],
  202. pstatus: 'more',
  203. pstatusn: 'more',
  204. ppage: 1,
  205. ppagen: 1,
  206. psize: 6,
  207. psizen: 20,
  208. plist: [],
  209. plistn: [],
  210. plistl: [],
  211. status: 0,
  212. latitude: 0.000000,
  213. longitude: 0.000000,
  214. useraddress: "",
  215. navBarTop: 0,
  216. navBarHeight: 0,
  217. navBarWidth: 0,
  218. navSearchWidth: 0,
  219. selectID: 0,
  220. };
  221. },
  222. onLoad: function(option) {
  223. _this = this;
  224. _this.status = option.status || 0;
  225. _this.userinfo = uni.getStorageSync('userinfo') || false;
  226. _this.workerinfo = uni.getStorageSync('workerinfo') || false;
  227. if (_this.workerinfo !== false) {
  228. uni.reLaunch({
  229. url: "/pages/worker/worker"
  230. });
  231. return false;
  232. }
  233. uni.getLocation({
  234. success: function(res) {
  235. console.log(res);
  236. console.log('纬度:' + res.latitude);
  237. console.log('经度:' + res.longitude);
  238. _this.latitude = res.latitude;
  239. _this.longitude = res.longitude;
  240. // _this.qqmapsdk.reverseGeocoder({
  241. // location: {
  242. // latitude: res.latitude,
  243. // longitude: res.longitude
  244. // },
  245. // success: function (res) {
  246. // console.log(res.result.address_component);
  247. // //addressinfo=res.result.address_component;
  248. // _this.useraddress = res.result.address_component.province + " " + res.result.address_component.city + " " + res.result.address_component.district;
  249. // },
  250. // fail: function (res) {
  251. // console.log(res)
  252. // },
  253. // complete: function (res) {
  254. // // console.log(res)
  255. // }
  256. // })
  257. }
  258. });
  259. _this.$req.ajax({
  260. path: "index/getindexdata",
  261. }).then((data) => {
  262. _this.param = data.param;
  263. _this.slide = data.slide;
  264. _this.navigation = data.navigation;
  265. _this.article = data.article;
  266. _this.getMore();
  267. }).catch((err) => {
  268. uni.showModal({
  269. title: '信息提示',
  270. content: err,
  271. showCancel: false
  272. });
  273. });
  274. _this.qqmapsdk = new QQMapWX({
  275. // 在腾讯平台自己申请的秘钥
  276. key: 'L2PBZ-J53WR-FUXW6-WB3SD-NWCFO-WYBS6'
  277. });
  278. // let statuBar = uni.getSystemInfoSync()
  279. let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
  280. _this.navBarWidth = menuButtonInfo.left;
  281. _this.navBarTop = menuButtonInfo.top;
  282. _this.navBarHeight = menuButtonInfo.height;
  283. _this.navSearchWidth = menuButtonInfo.width;
  284. console.log("除去胶囊的屏幕宽度", _this.navBarWidth, menuButtonInfo)
  285. },
  286. onShareAppMessage: function(res) {
  287. return {
  288. title: "晋江人力",
  289. path: "/pages/index/index"
  290. }
  291. },
  292. // onPullDownRefresh: function() {
  293. // if (_this.status == 0) {
  294. // _this.ppage = 1;
  295. // _this.plist = [];
  296. // _this.pstatus = 'more';
  297. // } else if (_this.status == 1) {
  298. // _this.ppagen = 1;
  299. // _this.plistn = [];
  300. // _this.pstatusn = 'more';
  301. // } else if (_this.status == 2) {
  302. // _this.ppagen = 1;
  303. // _this.plistn = [];
  304. // _this.plistl = 'more';
  305. // }
  306. // _this.getMore();
  307. // },
  308. onReachBottom: function() {
  309. if (_this.status == 0) {
  310. if (_this.pstatus !== 'more') {
  311. return;
  312. }
  313. } else {
  314. if (_this.pstatusn !== 'more') {
  315. return;
  316. }
  317. }
  318. _this.getMore();
  319. },
  320. methods: {
  321. selectTab(id) {
  322. _this.selectID = id;
  323. },
  324. goSearch(e) {
  325. _this.searchval = e;
  326. console.log("搜索", e, _this.searchval)
  327. if (_this.searchval == "") {
  328. uni.showModal({
  329. title: '信息提示',
  330. content: "请输入要搜索的关键字...",
  331. showCancel: false
  332. });
  333. return false;
  334. }
  335. uni.navigateTo({
  336. url: '/pages/comjobs/comjobs?searchval=' + _this.searchval
  337. });
  338. },
  339. goLPage: function(pageurl) {
  340. _this.userinfo = _this.checkLogin("/pages/index/index");
  341. if (_this.userinfo === false) {
  342. return false;
  343. }
  344. uni.navigateTo({
  345. url: pageurl,
  346. fail: function() {
  347. uni.switchTab({
  348. url: pageurl
  349. });
  350. }
  351. });
  352. },
  353. showConcatModel: function() {
  354. this.$refs.wxContact.showConcatModel();
  355. },
  356. goHome: function() {
  357. uni.setStorageSync('identityinfo', false);
  358. uni.setStorageSync('workerinfo', null);
  359. uni.reLaunch({
  360. url: "/pages/index/home"
  361. });
  362. },
  363. tabSelect: function(e) {
  364. _this.status = e.currentTarget.dataset.status;
  365. _this.pageRefresh();
  366. },
  367. // 搜索
  368. bindInput: function(e) {
  369. _this.searchval = e.detail.value;
  370. },
  371. btnSearch: function() {
  372. if (_this.searchval == "") {
  373. uni.showModal({
  374. title: '信息提示',
  375. content: "请输入要搜索的关键字...",
  376. showCancel: false
  377. });
  378. return false;
  379. }
  380. uni.navigateTo({
  381. url: '/pages/comjobs/comjobs?searchval=' + _this.searchval
  382. });
  383. },
  384. pageRefresh: function() {
  385. if (_this.status == 0) {
  386. _this.pstatus = 'more';
  387. _this.ppage = 1;
  388. _this.plist = [];
  389. } else if (_this.status == 1) {
  390. _this.pstatusn = 'more';
  391. _this.ppagen = 1;
  392. _this.plistn = [];
  393. } else if (_this.status == 2) {
  394. _this.pstatusn = 'more';
  395. _this.ppagen = 1;
  396. _this.plistl = [];
  397. }
  398. _this.getMore();
  399. },
  400. getMore: function() {
  401. // 热门职位
  402. if (_this.status == 0) {
  403. _this.$req.ajax({
  404. path: "comjobs/listcomjobs",
  405. data: {
  406. ppage: _this.ppage,
  407. psize: _this.psize,
  408. rectype: 2
  409. }
  410. }).then((data) => {
  411. _this.pstatus = data.pstatus;
  412. _this.plist = _this.plist.concat(data.plist);
  413. _this.ppage += 1;
  414. console.log("列表数据", _this.plist)
  415. uni.stopPullDownRefresh();
  416. }).catch((err) => {
  417. uni.showModal({
  418. title: '信息提示',
  419. content: err,
  420. showCancel: false
  421. });
  422. });
  423. } else if (_this.status == 1) {
  424. // 附近职位
  425. _this.$req.ajax({
  426. path: "index/listComjobsofnear",
  427. data: {
  428. ppage: _this.ppagen,
  429. psize: _this.psizen,
  430. lat: _this.latitude,
  431. lng: _this.longitude
  432. }
  433. }).then((data) => {
  434. _this.pstatusn = data.pstatus;
  435. _this.plistn = _this.plistn.concat(data.plist);
  436. _this.ppagen += 1;
  437. uni.stopPullDownRefresh();
  438. }).catch((err) => {
  439. uni.showModal({
  440. title: '信息提示',
  441. content: err,
  442. showCancel: false
  443. });
  444. });
  445. } else if (_this.status == 2) {
  446. // 猜你喜欢
  447. _this.$req.ajax({
  448. path: "index/listComjobsLike",
  449. data: {
  450. ppage: _this.ppagen,
  451. psize: _this.psizen,
  452. userid: _this.userinfo.id,
  453. }
  454. }).then((data) => {
  455. _this.pstatusn = data.pstatus;
  456. _this.plistl = _this.plistl.concat(data.plist);
  457. _this.ppagen += 1;
  458. uni.stopPullDownRefresh();
  459. }).catch((err) => {
  460. uni.showModal({
  461. title: '信息提示',
  462. content: err,
  463. showCancel: false
  464. });
  465. });
  466. }
  467. },
  468. goDetail: function(comjobsid) {
  469. uni.navigateTo({
  470. url: '/pages/comjobs/detail?comjobsid=' + comjobsid
  471. });
  472. },
  473. goShop: function(workerid) {
  474. uni.navigateTo({
  475. url: '/pages/worker/shop?workerid=' + workerid
  476. });
  477. },
  478. onClick: function(index) {
  479. var nav = that.navigation[index.index];
  480. if (nav.type == 1) {
  481. uni.navigateTo({
  482. url: nav.link
  483. });
  484. } else {
  485. // #ifdef H5
  486. location.href = nav.link;
  487. // #endif
  488. // #ifndef H5
  489. uni.navigateTo({
  490. url: '/pages/tool/webview?pagesrc=' + encodeURIComponent(nav.link)
  491. });
  492. // #endif
  493. }
  494. },
  495. develop() {
  496. uni.showModal({
  497. title: '信息提示',
  498. content: '正在开发中,敬请期待',
  499. showCancel: false
  500. });
  501. },
  502. goJbangjia() {
  503. uni.navigateToMiniProgram({
  504. appId: 'wx7c3f5350fb154209',
  505. envVersion: 'release',
  506. success(res) {
  507. console.log("跳转小程序成功!",res);
  508. }
  509. })
  510. },
  511. goNavPage: function(pageurl) {
  512. uni.redirectTo({
  513. url: pageurl
  514. });
  515. },
  516. // 轮播图
  517. cardSwiper: function(e) {
  518. _this.cardCur = e.detail.current
  519. },
  520. pageUrl: function(type, tilurl) {
  521. if (type == 1) {
  522. uni.navigateTo({
  523. url: tilurl,
  524. fail: function() {
  525. uni.switchTab({
  526. url: tilurl
  527. });
  528. }
  529. });
  530. } else {
  531. uni.navigateTo({
  532. url: '/pages/tool/webview?pagesrc=' + encodeURIComponent(tilurl)
  533. });
  534. }
  535. },
  536. }
  537. };
  538. </script>
  539. <style lang="scss">
  540. .selectok {
  541. border-bottom: #007AFF solid 2px;
  542. }
  543. .echo-top {
  544. position: relative;
  545. }
  546. .echo-topbg {
  547. width: 750rpx;
  548. position: absolute;
  549. top: 0rpx;
  550. z-index: 0;
  551. }
  552. .cu-list.grid {
  553. background-color: transparent !important;
  554. }
  555. .card-swiper {
  556. height: 300rpx !important;
  557. }
  558. /* 通知 */
  559. .noticbox {
  560. display: flex;
  561. align-items: center;
  562. image {
  563. display: block;
  564. margin: 0rpx;
  565. padding: 0rpx;
  566. width: 150rpx;
  567. height: 35rpx;
  568. }
  569. .uni-swiper-msg-icon {
  570. width: 150rpx;
  571. }
  572. swiper-item {
  573. line-height: 80rpx !important;
  574. }
  575. swiper {
  576. height: 80rpx;
  577. }
  578. navigator {
  579. display: block;
  580. line-height: 80rpx;
  581. height: 80rpx;
  582. font-size: 32rpx;
  583. }
  584. }
  585. /* 热门岗位 */
  586. .echo-page-title {
  587. width: 660rpx;
  588. border-radius: 8rpx 8rpx 0rpx 0rpx;
  589. }
  590. .echo-comjobs-list-item {
  591. padding: 30rpx 15rpx;
  592. margin: 0rpx 17rpx 20rpx 17rpx;
  593. border-radius: 8rpx;
  594. }
  595. .echo-comjobs-list-item:first-child {
  596. border-radius: 0rpx 0rpx 8rpx 8rpx;
  597. }
  598. .join-group {
  599. display: flex;
  600. margin-top: 20px;
  601. box-sizing: border-box;
  602. width: 100%;
  603. padding: 0 60rpx;
  604. }
  605. .join-group .join-right {
  606. margin-left: 40rpx;
  607. width: 450rpx;
  608. }
  609. .join-group .arrow {
  610. position: relative;
  611. }
  612. .join-group .arrow:before {
  613. position: absolute;
  614. top: 0;
  615. right: -20rpx;
  616. bottom: 0;
  617. display: block;
  618. margin: auto;
  619. width: 30rpx;
  620. height: 30rpx;
  621. color: var(--grey);
  622. content: "\e6a3";
  623. text-align: center;
  624. font-size: 34rpx;
  625. font-family: "cuIcon";
  626. line-height: 30rpx;
  627. margin-top: auto;
  628. margin-right: auto;
  629. margin-bottom: auto;
  630. margin-left: auto;
  631. }
  632. .lw-nav-broker {
  633. width: 710rpx;
  634. padding: 20rpx 0 10rpx 0;
  635. margin: 0 auto;
  636. display: flex;
  637. justify-content: space-around;
  638. }
  639. .lw-nav-broker .img {
  640. width: 710rpx;
  641. height: 160rpx;
  642. }
  643. .lw-nav {
  644. width: 710rpx;
  645. padding: 10rpx 0 20rpx 0;
  646. margin: 0 auto;
  647. display: flex;
  648. justify-content: space-around;
  649. }
  650. .lw-nav .img {
  651. width: 160rpx;
  652. height: 160rpx;
  653. }
  654. .topArea {
  655. width: 750rpx;
  656. height: 400rpx;
  657. position: relative;
  658. .topArea-Bg {
  659. position: absolute;
  660. width: 100%;
  661. height: 400rpx;
  662. z-index: -100;
  663. }
  664. .topArea-nav {
  665. padding: 0 20rpx;
  666. display: flex;
  667. justify-content: space-between;
  668. .nav-title {
  669. font-size: 32rpx;
  670. font-family: PingFang SC, PingFang SC;
  671. font-weight: 500;
  672. color: #FFFFFF;
  673. }
  674. .nav-search {}
  675. }
  676. .topArea-main {
  677. width: 100%;
  678. margin-top: 30rpx;
  679. padding: 0 20rpx;
  680. display: flex;
  681. align-items: center;
  682. .main-title {
  683. flex: 1;
  684. display: flex;
  685. flex-direction: column;
  686. justify-content: center;
  687. text-align: center;
  688. color: #FFFFFF;
  689. font-size: 34rpx;
  690. line-height: 50rpx;
  691. }
  692. .main-banner {
  693. flex: 1;
  694. .main-banner-image {
  695. width: 272rpx;
  696. height: 214rpx;
  697. }
  698. }
  699. }
  700. }
  701. .summary {
  702. width: 100%;
  703. margin-top: 60rpx;
  704. background-color: #FFFFFF;
  705. }
  706. .topMenu {
  707. position: relative;
  708. top: -110rpx;
  709. margin: 0 20rpx;
  710. padding: 50rpx 0;
  711. background: #FFFFFF;
  712. box-shadow: 0rpx 6rpx 12rpx 2rpx rgba(0, 0, 0, 0.16);
  713. border-radius: 26rpx 26rpx 26rpx 26rpx;
  714. opacity: 1;
  715. display: flex;
  716. align-items: center;
  717. justify-content: space-between;
  718. .topMenu-item {
  719. flex: 1;
  720. width: 100%;
  721. display: flex;
  722. flex-direction: column;
  723. align-items: center;
  724. justify-content: center;
  725. color: #707070;
  726. font-size: 32rpx;
  727. font-weight: 400;
  728. .item-icon {
  729. width: 60rpx;
  730. height: 60rpx;
  731. margin-bottom: 20rpx;
  732. }
  733. .item-title {
  734. font-weight: 600;
  735. color: #000000;
  736. }
  737. .item-explain {
  738. margin-top: 10rpx;
  739. font-size: 23rpx;
  740. color: #a1a1a1;
  741. }
  742. }
  743. }
  744. .topApply {
  745. margin: -70rpx 20rpx 0;
  746. padding: 20rpx 30rpx;
  747. // height: 141rpx;
  748. background: linear-gradient(270deg, #484353 0%, #6F6F6F 100%);
  749. border-radius: 78rpx;
  750. display: flex;
  751. align-items: center;
  752. justify-content: space-between;
  753. .topApply-left {
  754. width: 98rpx;
  755. height: 98rpx;
  756. border-radius: 50%;
  757. box-shadow: 0rpx 4rpx 8rpx 2rpx rgba(0, 0, 0, 0.3);
  758. opacity: 1;
  759. .left-icon {
  760. width: 98rpx;
  761. height: 98rpx;
  762. border-radius: 50%;
  763. }
  764. }
  765. .topApply-center {
  766. height: 82rpx;
  767. padding: 0 30rpx;
  768. border-left: 2rpx solid rgba(255, 232, 171, 0.16);
  769. font-size: 32rpx;
  770. line-height: 82rpx;
  771. color: #E0E0E0;
  772. }
  773. .topApply-right {
  774. width: 186rpx;
  775. height: 72rpx;
  776. line-height: 72rpx;
  777. text-align: center;
  778. background: linear-gradient(180deg, #FAE7B5 0%, #F3CA7E 100%);
  779. border-radius: 56rpx 56rpx 56rpx 56rpx;
  780. opacity: 1;
  781. font-size: 24rpx;
  782. color: #3F3852;
  783. }
  784. }
  785. .hot {
  786. margin: 40rpx 20rpx 0;
  787. height: 434rpx;
  788. display: flex;
  789. justify-content: space-between;
  790. .hot-left {
  791. width: 49%;
  792. height: 434rpx;
  793. .hot-left-image {
  794. height: 434rpx;
  795. }
  796. }
  797. .hot-right {
  798. width: 49%;
  799. height: 434rpx;
  800. display: flex;
  801. flex-direction: column;
  802. justify-content: space-between;
  803. .hot-right-item {
  804. width: 100%;
  805. height: 208rpx;
  806. background-color: #F0FEFF;
  807. border-radius: 24rpx;
  808. display: flex;
  809. flex-direction: column;
  810. align-items: center;
  811. .item-top {
  812. width: 100%;
  813. margin-top: 30rpx;
  814. padding: 0 30rpx;
  815. display: flex;
  816. justify-content: space-between;
  817. .item-top-title {
  818. color: #017AFE;
  819. .title-first {
  820. font-size: 32rpx;
  821. }
  822. .title-second {
  823. font-size: 20rpx;
  824. border-bottom: 4rpx solid #017AFE;
  825. }
  826. }
  827. .item-top-hotRightOne {
  828. width: 120rpx;
  829. height: 106rpx;
  830. }
  831. }
  832. .item-bottom {
  833. margin-top: 10rpx;
  834. width: 190rpx;
  835. height: 50rpx;
  836. border-radius: 25rpx;
  837. background-color: #B4F6FF;
  838. line-height: 50rpx;
  839. text-align: center;
  840. font-size: 28rpx;
  841. color: #017AFE;
  842. }
  843. .item-hotRightTwo {
  844. width: 100%;
  845. height: 208rpx;
  846. }
  847. }
  848. }
  849. }
  850. .tabs {
  851. padding-top: 20rpx;
  852. display: flex;
  853. align-items: center;
  854. justify-content: space-between;
  855. .tabs-item-select {
  856. flex: 1;
  857. height: 76rpx;
  858. display: flex;
  859. align-items: center;
  860. justify-content: center;
  861. font-size: 28rpx;
  862. color: #CA151C;
  863. border-bottom: 4rpx solid #CA151C;
  864. }
  865. .tabs-item {
  866. flex: 1;
  867. height: 76rpx;
  868. display: flex;
  869. align-items: center;
  870. justify-content: center;
  871. font-size: 28rpx;
  872. color: #717171;
  873. border-bottom: 4rpx solid transparent;
  874. }
  875. .item-icon {
  876. width: 27rpx;
  877. height: 27rpx;
  878. }
  879. .item-title {
  880. margin-left: 15rpx;
  881. }
  882. }
  883. .listContent {
  884. width: 100%;
  885. padding: 20rpx 26rpx;
  886. .listContent-card {
  887. margin-bottom: 24rpx;
  888. width: 100%;
  889. height: 268rpx;
  890. background-color: #FFFFFF;
  891. border-radius: 12rpx;
  892. .card-infor {
  893. height: 182rpx;
  894. padding: 0 20rpx;
  895. border-bottom: 2rpx solid #E2E2E2;
  896. display: flex;
  897. align-items: center;
  898. justify-content: space-between;
  899. font-size: 28rpx;
  900. color: #747474;
  901. .card-icon {
  902. margin-right: 10rpx;
  903. width: 35rpx;
  904. height: 35rpx;
  905. }
  906. .card-center {
  907. height: 56rpx;
  908. display: flex;
  909. align-items: center;
  910. }
  911. .card-infor-left {
  912. width: 60%;
  913. .left-job {
  914. margin-bottom: 30rpx;
  915. color: #383838;
  916. font-weight: 600;
  917. .job-title {
  918. width: 340rpx;
  919. overflow: hidden;
  920. text-overflow: ellipsis;
  921. -webkit-line-clamp: 1;
  922. display: -webkit-box;
  923. -webkit-box-orient: vertical;
  924. }
  925. }
  926. }
  927. .card-infor-right {
  928. width: 40%;
  929. .right-money {
  930. margin-bottom: 30rpx;
  931. .right-money-num {
  932. margin-left: 10rpx;
  933. font-size: 40rpx;
  934. color: #FF0000;
  935. font-weight: 600;
  936. }
  937. }
  938. }
  939. }
  940. .card-botInfor {
  941. height: 86rpx;
  942. padding: 0 20rpx;
  943. display: flex;
  944. align-items: center;
  945. justify-content: space-between;
  946. }
  947. }
  948. }
  949. </style>