index.js 6.1 KB

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