index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. // pages/parttime/index.js
  2. import {
  3. getParttimeList
  4. } from '../../services/index.js'
  5. import {
  6. imgServerUrl,
  7. imgServerUrl_new
  8. } from '../../config/config.js'
  9. var $ = require('../../libs/gdconf.js');
  10. var app = getApp();
  11. Page({
  12. /**
  13. * 页面的初始数据
  14. */
  15. data: {
  16. list: [],
  17. pageNo: 1, //当前分页
  18. isScroll: true, //是否可以滚动
  19. showNoMore: "没有更多信息...", //显示已无更多
  20. cityName: '无锡',
  21. cityCode: '320200',
  22. selectId: -1, //选中筛选的条件
  23. settlementMethod: [{
  24. index: -1,
  25. name: '不限'
  26. },
  27. {
  28. index: 2,
  29. name: '日结'
  30. },
  31. {
  32. index: 1,
  33. name: '周结'
  34. },
  35. {
  36. index: 0,
  37. name: '月结'
  38. },
  39. {
  40. index: 3,
  41. name: '完工结'
  42. },
  43. {
  44. index: 4,
  45. name: '其他'
  46. },
  47. ], //结算方式(1:正序;2:倒序)
  48. settleme: 0, //结算方式索引
  49. settle: '', //结算方式
  50. sort: '', //距离排序(1:正序;2:倒序)
  51. longitude: '', //经度
  52. latitude: '', //纬度
  53. },
  54. /**
  55. * 生命周期函数--监听页面加载
  56. */
  57. onLoad: function(options) {
  58. if (app.globalData.userInfo) {
  59. console.log('有info===', app.globalData)
  60. this.start();
  61. } else if (this.data.canIUse) {
  62. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  63. // 所以此处加入 callback 以防止这种情况
  64. app.userInfoReadyCallback = res => {
  65. console.log('userInfoReadyCallback===', res.userInfo)
  66. app.globalData.userInfo = res.userInfo;
  67. this.start();
  68. }
  69. } else {
  70. // 在没有 open-type=getUserInfo 版本的兼容处理
  71. wx.getUserInfo({
  72. success: res => {
  73. app.globalData.userInfo = res.userInfo
  74. console.log('兼容处理===', app.globalData)
  75. this.start();
  76. }
  77. })
  78. }
  79. },
  80. /**
  81. * 生命周期函数--监听页面初次渲染完成
  82. */
  83. onReady: function() {
  84. },
  85. start() {
  86. this.parttimeList();
  87. },
  88. /**
  89. * 生命周期函数--监听页面显示
  90. */
  91. onShow: function() {
  92. let cityName = wx.getStorageSync('city') || app.globalData.userInfo.city || '无锡'
  93. console.log(cityName)
  94. this.setData({
  95. cityName: cityName
  96. })
  97. },
  98. //获取兼职列表数据
  99. parttimeList(params) {
  100. if (!this.data.isScroll) {
  101. return false
  102. }
  103. let paramsObj = {
  104. longitude: this.data.longitude,
  105. latitude: this.data.latitude,
  106. sort: this.data.sort,
  107. settlementMethod: this.data.settle,
  108. cityCode: this.data.cityCode,
  109. pageNo: this.data.pageNo,
  110. user_id: app.globalData.userId,
  111. user_token: app.globalData.userToken
  112. }
  113. Object.assign(paramsObj);
  114. getParttimeList(paramsObj).then(data => {
  115. var pageNo = data.data.pageNo;
  116. let setData = {}
  117. // 是否可以滚动加载数据
  118. if (data.data.isLast) {
  119. setData.isScroll = false
  120. }
  121. if (data.data.parttimePosition.length != 0) {
  122. setData.list = this.data.list.concat(data.data.parttimePosition)
  123. setData.pageNo = pageNo;
  124. } else {
  125. setData.list = this.data.list;
  126. }
  127. this.setData({
  128. ...setData
  129. })
  130. })
  131. },
  132. //获取当前定位
  133. cxgps: function(e) {
  134. var that = this;
  135. wx.showLoading({
  136. title: 'loading',
  137. mask: true
  138. });
  139. var distance = wx.getStorageSync('distance');
  140. if (distance) {
  141. console.log("fg22", distance)
  142. wx.hideLoading();
  143. that.setData({
  144. longitude: distance.longitude,
  145. latitude: distance.latitude
  146. })
  147. that.start();
  148. } else {
  149. $.map.getRegeo({
  150. success(data) {
  151. console.log("fg", data)
  152. wx.hideLoading();
  153. var data = data[0];
  154. that.setData({
  155. longitude: data.longitude,
  156. latitude: data.latitude
  157. })
  158. wx.setStorageSync('distance', data);
  159. that.start();
  160. }
  161. })
  162. }
  163. },
  164. /**
  165. * 页面相关事件处理函数--监听用户下拉动作
  166. */
  167. onPullDownRefresh: function() {
  168. this.setData({
  169. pageNo: 1, //当前分页
  170. isScroll: true, //是否可以滚动
  171. list: [],
  172. selectId: -1, //选中筛选的条件
  173. settleme: 0, //结算方式索引
  174. settle: '', //结算方式
  175. sort: '', //距离排序(1:正序;2:倒序)
  176. longitude: "",
  177. latitude: ""
  178. })
  179. this.start();
  180. wx.stopPullDownRefresh();
  181. },
  182. /**
  183. * 页面上拉触底事件的处理函数
  184. */
  185. onReachBottom: function() {
  186. var pageNo = this.data.pageNo + 1;
  187. this.setData({
  188. pageNo
  189. })
  190. this.parttimeList();
  191. },
  192. /**
  193. * 用户点击右上角分享
  194. */
  195. onShareAppMessage: function() {
  196. },
  197. doSalay: function(e) {
  198. var selectId;
  199. if (this.data.selectId == 0) {
  200. selectId = -1;
  201. } else {
  202. selectId = 0;
  203. }
  204. this.setData({
  205. selectId: selectId,
  206. })
  207. },
  208. doDistince: function(e) {
  209. var sort;
  210. if (this.data.sort == 1) {
  211. sort = 2;
  212. } else {
  213. sort = 1;
  214. }
  215. this.setData({
  216. selectId: 1,
  217. sort: sort,
  218. settle: '', //重置
  219. pageNo: 1, //当前分页
  220. isScroll: true, //是否可以滚动
  221. list: [],
  222. })
  223. console.log("sort", this.data.sort)
  224. this.cxgps();
  225. },
  226. // 结算方式
  227. settlemethod: function(e) {
  228. var index = e.currentTarget.dataset.tt;
  229. var settle = e.currentTarget.dataset.settle;
  230. console.log("index", index)
  231. console.log("settle", settle)
  232. if (settle == -1) {
  233. settle = '';
  234. }
  235. this.setData({
  236. settleme: index,
  237. settle: settle,
  238. longitude: "",
  239. latitude: "",
  240. sort: "",
  241. pageNo: 1, //当前分页
  242. isScroll: true, //是否可以滚动
  243. list: [],
  244. })
  245. this.start();
  246. this.setData({
  247. selectId: -1,
  248. })
  249. }
  250. })