index.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. import {
  2. getBanner,
  3. getIndexList,
  4. getFullList,
  5. getParttimeList,
  6. getRewardList,
  7. getGoodMoneyList,
  8. getWelfareList,
  9. getPositionDetail
  10. } from '../../services/index.js'
  11. import {
  12. imgServerUrl,
  13. imgServerUrl_new
  14. } from '../../config/config.js'
  15. var app = getApp();
  16. Page({
  17. data: {
  18. //banner图
  19. imgList: [
  20. // imgServerUrl_new + "/uploadfiles/banner/bannermina/banner1.jpg",
  21. // imgServerUrl_new + "/uploadfiles/banner/bannermina/banner2.jpg",
  22. // imgServerUrl_new + "/uploadfiles/banner/bannermina/banner3.jpg",
  23. // imgServerUrl_new + "/uploadfiles/banner/bannermina/banner4.jpg"
  24. ],
  25. activity: [{
  26. src: imgServerUrl + "/images/home/quanzhi.png",
  27. text: "全职工作"
  28. },
  29. {
  30. src: imgServerUrl + "/images/home/jianzhi.png",
  31. text: "兼职工作"
  32. },
  33. {
  34. src: imgServerUrl + "/images/home/fanxian.png",
  35. text: "入职奖励"
  36. },
  37. {
  38. src: imgServerUrl + "/images/home/jipin.png",
  39. text: "高薪急聘"
  40. }
  41. ],
  42. activity_two: [{
  43. src: imgServerUrl + "/images/home/fuli.png"
  44. },
  45. {
  46. src: imgServerUrl + "/images/home/quanmin.png"
  47. }
  48. ],
  49. cityCode: '320200',
  50. keyWord: '',
  51. pageNo: 1, //当前分页
  52. isScroll: true, //是否可以滚动
  53. filter: -1, //岗位类型
  54. userInfo: {},
  55. hasUserInfo: false,
  56. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  57. list: [],
  58. showNoMore: "没有更多信息...", //显示已无更多
  59. broadcastList: [
  60. '热心达人!用户孟潞帮朋友找到工作,获得500元推荐入职奖励!',
  61. '棒棒哒!用户沈佳宜努力工作了30天,获得3000元入职奖励!',
  62. '恭喜恭喜!用户秦寒推荐新用户注册,获得5元推荐注册奖励!',
  63. '给你点赞!用户张汉文完成拼工在职30天,获得1000元拼工团奖励!',
  64. '厉害了!用户李丽刚刚完善了个人简历,好工作正在赶来的路上!'
  65. ],
  66. },
  67. onLoad: function(options) {
  68. if (app.globalData.userInfo) {
  69. console.log('有info===', app.globalData)
  70. this.start();
  71. } else if (this.data.canIUse) {
  72. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  73. // 所以此处加入 callback 以防止这种情况
  74. app.userInfoReadyCallback = res => {
  75. console.log('userInfoReadyCallback===', res.userInfo)
  76. app.globalData.userInfo = res.userInfo;
  77. this.start();
  78. }
  79. } else {
  80. // 在没有 open-type=getUserInfo 版本的兼容处理
  81. wx.getUserInfo({
  82. success: res => {
  83. app.globalData.userInfo = res.userInfo
  84. console.log('兼容处理===', app.globalData)
  85. this.start();
  86. }
  87. })
  88. }
  89. },
  90. start() {
  91. this.fetchBanner();
  92. this.workType(this.data.filter);
  93. },
  94. onShow: function() {
  95. let cityName = wx.getStorageSync('city') || app.globalData.userInfo.city || '无锡'
  96. console.log(cityName)
  97. this.setData({
  98. cityName: cityName
  99. })
  100. },
  101. //下拉刷新
  102. onPullDownRefresh: function() {
  103. this.setData({
  104. pageNo: 1, //当前分页
  105. isScroll: true, //是否可以滚动
  106. filter: -1, //岗位类型
  107. list: [],
  108. })
  109. this.start();
  110. wx.stopPullDownRefresh();
  111. },
  112. //上拉加载
  113. onReachBottom: function() {
  114. var pageNo = this.data.pageNo + 1;
  115. this.setData({
  116. pageNo
  117. })
  118. this.workType(this.data.filter)
  119. },
  120. onShareAppMessage: function(e) {
  121. console.log(e)
  122. },
  123. // 获取banner图
  124. fetchBanner() {
  125. let paramsObj = {
  126. application: 0
  127. }
  128. Object.assign(paramsObj);
  129. getBanner(paramsObj).then(data => {
  130. this.setData({
  131. imgList: data.data.bannerList
  132. })
  133. })
  134. },
  135. //获取热门列表数据
  136. fetchList(params) {
  137. if (!this.data.isScroll) {
  138. return false
  139. }
  140. let paramsObj = {
  141. cityCode: this.data.cityCode,
  142. pageNo: this.data.pageNo,
  143. user_id: app.globalData.userId,
  144. user_token: app.globalData.userToken
  145. }
  146. Object.assign(paramsObj);
  147. getIndexList(paramsObj).then(data => {
  148. var pageNo = data.data.pageNo;
  149. let setData = {};
  150. // 是否可以滚动加载数据
  151. if (data.data.isLast) {
  152. setData.isScroll = false
  153. }
  154. if (data.data.hotPosition.length != 0) {
  155. setData.list = this.data.list.concat(data.data.hotPosition)
  156. setData.pageNo = pageNo;
  157. } else {
  158. setData.list = this.data.list;
  159. }
  160. this.setData({
  161. ...setData
  162. })
  163. })
  164. },
  165. //获取全职列表数据
  166. fullList(params) {
  167. if (!this.data.isScroll) {
  168. return false
  169. }
  170. let paramsObj = {
  171. cityCode: this.data.cityCode,
  172. pageNo: this.data.pageNo,
  173. user_id: app.globalData.userId,
  174. user_token: app.globalData.userToken
  175. }
  176. Object.assign(paramsObj);
  177. getFullList(paramsObj).then(data => {
  178. var pageNo = data.data.pageNo;
  179. let setData = {}
  180. // 是否可以滚动加载数据
  181. if (data.data.isLast) {
  182. setData.isScroll = false
  183. }
  184. if (data.data.fullPosition.length != 0) {
  185. setData.list = this.data.list.concat(data.data.fullPosition)
  186. setData.pageNo = pageNo;
  187. } else {
  188. setData.list = this.data.list;
  189. }
  190. this.setData({
  191. ...setData
  192. })
  193. })
  194. },
  195. //获取兼职列表数据
  196. parttimeList(params) {
  197. if (!this.data.isScroll) {
  198. return false
  199. }
  200. let paramsObj = {
  201. cityCode: this.data.cityCode,
  202. pageNo: this.data.pageNo,
  203. user_id: app.globalData.userId,
  204. user_token: app.globalData.userToken
  205. }
  206. Object.assign(paramsObj);
  207. getParttimeList(paramsObj).then(data => {
  208. var pageNo = data.data.pageNo;
  209. let setData = {}
  210. // 是否可以滚动加载数据
  211. if (data.data.isLast) {
  212. setData.isScroll = false
  213. }
  214. if (data.data.parttimePosition.length != 0) {
  215. setData.list = this.data.list.concat(data.data.parttimePosition)
  216. setData.pageNo = pageNo;
  217. } else {
  218. setData.list = this.data.list;
  219. }
  220. this.setData({
  221. ...setData
  222. })
  223. })
  224. },
  225. //获取入职奖励列表数据
  226. rewardList(params) {
  227. if (!this.data.isScroll) {
  228. return false
  229. }
  230. let paramsObj = {
  231. cityCode: this.data.cityCode,
  232. pageNo: this.data.pageNo,
  233. user_id: app.globalData.userId,
  234. user_token: app.globalData.userToken
  235. }
  236. Object.assign(paramsObj);
  237. getRewardList(paramsObj).then(data => {
  238. var pageNo = data.data.pageNo;
  239. let setData = {}
  240. // 是否可以滚动加载数据
  241. if (data.data.isLast) {
  242. setData.isScroll = false
  243. }
  244. if (data.data.rewardPosition.length != 0) {
  245. setData.list = this.data.list.concat(data.data.rewardPosition)
  246. setData.pageNo = pageNo;
  247. } else {
  248. setData.list = this.data.list;
  249. }
  250. this.setData({
  251. ...setData
  252. })
  253. })
  254. },
  255. //获取高薪急聘奖励列表数据
  256. goodMoneyList(params) {
  257. if (!this.data.isScroll) {
  258. return false
  259. }
  260. let paramsObj = {
  261. cityCode: this.data.cityCode,
  262. pageNo: this.data.pageNo,
  263. user_id: app.globalData.userId,
  264. user_token: app.globalData.userToken
  265. }
  266. Object.assign(paramsObj);
  267. getGoodMoneyList(paramsObj).then(data => {
  268. var pageNo = data.data.pageNo;
  269. let setData = {}
  270. // 是否可以滚动加载数据
  271. if (data.data.isLast) {
  272. setData.isScroll = false
  273. }
  274. if (data.data.goodmoneyPosition.length != 0) {
  275. setData.list = this.data.list.concat(data.data.goodmoneyPosition)
  276. setData.pageNo = pageNo;
  277. } else {
  278. setData.list = this.data.list;
  279. }
  280. this.setData({
  281. ...setData
  282. })
  283. })
  284. },
  285. //获取福利岗位列表数据
  286. welfareList(params) {
  287. if (!this.data.isScroll) {
  288. return false
  289. }
  290. let paramsObj = {
  291. cityCode: this.data.cityCode,
  292. pageNo: this.data.pageNo,
  293. user_id: app.globalData.userId,
  294. user_token: app.globalData.userToken
  295. }
  296. Object.assign(paramsObj);
  297. getWelfareList(paramsObj).then(data => {
  298. var pageNo = data.data.pageNo;
  299. let setData = {}
  300. // 是否可以滚动加载数据
  301. if (data.data.isLast) {
  302. setData.isScroll = false
  303. }
  304. if (data.data.welfarePosition.length != 0) {
  305. setData.list = this.data.list.concat(data.data.welfarePosition)
  306. setData.pageNo = pageNo;
  307. } else {
  308. setData.list = this.data.list;
  309. }
  310. this.setData({
  311. ...setData
  312. })
  313. })
  314. },
  315. //改变列表
  316. changeList(e) {
  317. const {
  318. index
  319. } = e.currentTarget.dataset
  320. // this.setData({
  321. // pageNo: 1,
  322. // filter: index,
  323. // list: [],
  324. // isScroll: true
  325. // })
  326. this.workType(index)
  327. },
  328. //判断当前工作类型
  329. workType(index) {
  330. switch (index) {
  331. case 0:
  332. wx.navigateTo({
  333. url: '../fulltime/index',
  334. })
  335. break;
  336. case 1:
  337. wx.navigateTo({
  338. url: '../parttime/index',
  339. })
  340. break;
  341. case 2:
  342. wx.navigateTo({
  343. url: '../reward/index',
  344. })
  345. break;
  346. case 3:
  347. wx.navigateTo({
  348. url: '../jipin/index',
  349. })
  350. break;
  351. }
  352. },
  353. changeList2(e) {
  354. const {
  355. index
  356. } = e.currentTarget.dataset
  357. this.workType2(index)
  358. },
  359. workType2(index) {
  360. switch (index) {
  361. case 0:
  362. wx.navigateTo({
  363. url: '../fuli/index',
  364. })
  365. break;
  366. case 1:
  367. wx.navigateTo({
  368. url: '../agent/index',
  369. })
  370. break;
  371. }
  372. },
  373. //去详情页
  374. toDetail(e) {
  375. const {
  376. id,
  377. cate
  378. } = e.currentTarget.dataset
  379. wx.navigateTo({
  380. url: '../detail/index?hpPositionId=' + id + "&cate=" + cate,
  381. })
  382. },
  383. //轮播图跳转详情页
  384. toDetail_slide(e) {
  385. var id = e.currentTarget.dataset.id;
  386. var arr;
  387. if (id) {
  388. arr = id.split(",");
  389. var positionId = arr[1];
  390. var cate = arr[0];
  391. wx.navigateTo({
  392. url: '../detail/index?hpPositionId=' + positionId + "&cate=" + cate,
  393. })
  394. }
  395. },
  396. // 去搜索页
  397. toSearch() {
  398. wx.navigateTo({
  399. url: '../search/index',
  400. })
  401. },
  402. // 去城市选择页
  403. toCity() {
  404. wx.navigateTo({
  405. url: '../city/index',
  406. })
  407. },
  408. imageLoad() {
  409. var that = this
  410. var query = wx.createSelectorQuery()
  411. query.select('.slide-image').boundingClientRect()
  412. query.exec(function(res) {
  413. console.log(res)
  414. that.setData({
  415. swiperH: res[0].height
  416. })
  417. })
  418. }
  419. })