index.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. // pages/reward/index.js
  2. import {
  3. getRewardList
  4. } from '../../services/index.js'
  5. import {
  6. imgServerUrl} from '../../config/config.js'
  7. var $ = require('../../libs/gdconf.js');
  8. Page({
  9. /**
  10. * 页面的初始数据
  11. */
  12. data: {
  13. imgServerUrl: imgServerUrl,
  14. list: [],
  15. pageNo: 1, //当前分页
  16. isScroll: true, //是否可以滚动
  17. showNoMore: "没有更多信息...", //显示已无更多
  18. cityCode: '320200',
  19. cityName: '无锡',
  20. selectId: -1, //选中筛选的条件
  21. totalSalary: '', //薪资待遇排序(1:正序;2:倒序)
  22. sort: '', //距离排序(1:正序;2:倒序)
  23. longitude: '', //经度
  24. latitude: '', //纬度
  25. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  26. countryCode: ''
  27. },
  28. /**
  29. * 生命周期函数--监听页面加载
  30. */
  31. onLoad: function () {
  32. this.setData({
  33. pageNo: 1, //当前分页
  34. isScroll: true, //是否可以滚动
  35. list: [],
  36. selectId: -1, //选中筛选的条件
  37. totalSalary: '', //薪资待遇排序(1:正序;2:倒序)
  38. sort: '', //距离排序(1:正序;2:倒序)
  39. longitude: "",
  40. latitude: ""
  41. }, _ => {
  42. this.start();
  43. })
  44. },
  45. /**
  46. * 生命周期函数--监听页面初次渲染完成
  47. */
  48. onReady: function () {
  49. },
  50. start() {
  51. let cityName = wx.getStorageSync('city') || '无锡';
  52. let cityCode = wx.getStorageSync('cityCode') || '320200';
  53. let areaList = wx.getStorageSync('areaList') || [];
  54. this.setData({
  55. cityName: cityName,
  56. cityCode: cityCode,
  57. areaList,
  58. }, _ => {
  59. this.rewardList();
  60. })
  61. },
  62. //获取入职奖励列表数据
  63. rewardList() {
  64. if (!this.data.isScroll) {
  65. return false
  66. }
  67. let paramsObj = {
  68. longitude: this.data.longitude,
  69. latitude: this.data.latitude,
  70. sort: this.data.sort,
  71. totalSalary: this.data.totalSalary,
  72. cityCode: this.data.cityCode,
  73. pageNo: this.data.pageNo,
  74. countryCode: this.data.countryCode,
  75. }
  76. Object.assign(paramsObj);
  77. getRewardList(paramsObj).then(data => {
  78. var pageNo = data.data.pageNo;
  79. let setData = {}
  80. // 是否可以滚动加载数据
  81. if (data.data.isLast) {
  82. setData.isScroll = false
  83. }
  84. if (data.data.rewardPosition.length != 0) {
  85. setData.list = this.data.list.concat(data.data.rewardPosition)
  86. setData.pageNo = pageNo;
  87. } else {
  88. setData.list = this.data.list;
  89. }
  90. this.setData({
  91. ...setData
  92. })
  93. })
  94. },
  95. /**
  96. * 生命周期函数--监听页面显示
  97. */
  98. onShow: function () {
  99. },
  100. //获取当前定位
  101. cxgps: function () {
  102. var that = this;
  103. wx.showLoading({
  104. title: 'loading',
  105. mask: true
  106. });
  107. var distance = wx.getStorageSync('distance');
  108. if (distance) {
  109. wx.hideLoading();
  110. that.setData({
  111. longitude: distance.longitude,
  112. latitude: distance.latitude
  113. })
  114. that.rewardList();
  115. } else {
  116. wx.getSetting({
  117. success: function (res) {
  118. if (!res.authSetting['scope.userLocation']) {
  119. wx.hideLoading();
  120. wx.showModal({
  121. title: '授权提示',
  122. content: '当前服务需要获取您的位置信息,请确认授权',
  123. confirmText: '去授权',
  124. cancelText: '暂不授权',
  125. success: function (res) {
  126. if (res.confirm) {
  127. wx.openSetting();
  128. } else if (res.cancel) {
  129. }
  130. }
  131. })
  132. } else {
  133. $.map.getRegeo({
  134. success(data) {
  135. wx.hideLoading();
  136. var data = data[0];
  137. that.setData({
  138. longitude: data.longitude,
  139. latitude: data.latitude
  140. }, _ => {
  141. wx.setStorageSync('distance', data);
  142. that.rewardList();
  143. })
  144. }
  145. })
  146. }
  147. }
  148. })
  149. }
  150. },
  151. /**
  152. * 页面相关事件处理函数--监听用户下拉动作
  153. */
  154. onPullDownRefresh: function () {
  155. this.setData({
  156. pageNo: 1, //当前分页
  157. isScroll: true, //是否可以滚动
  158. list: [],
  159. selectId: -1, //选中筛选的条件
  160. totalSalary: '', //薪资待遇排序(1:正序;2:倒序)
  161. sort: '', //距离排序(1:正序;2:倒序)
  162. longitude: "",
  163. latitude: ""
  164. }, _ => {
  165. this.start();
  166. })
  167. },
  168. /**
  169. * 页面上拉触底事件的处理函数
  170. */
  171. onReachBottom: function () {
  172. var pageNo = this.data.pageNo + 1;
  173. this.setData({
  174. pageNo
  175. }, _ => {
  176. this.rewardList();
  177. })
  178. },
  179. /**
  180. * 用户点击右上角分享
  181. */
  182. onShareAppMessage: function () {
  183. },
  184. chooseArea(e) {
  185. const { countryCode } = e.detail;
  186. this.setData({
  187. countryCode,
  188. list: [],
  189. pageNo: 1, //当前分页
  190. isScroll: true,
  191. }, _ => {
  192. this.rewardList()
  193. })
  194. },
  195. doSalay: function (e) {
  196. const { totalSalary, sort } = e.detail;
  197. this.setData({
  198. totalSalary,
  199. sort, //重置
  200. pageNo: 1, //当前分页
  201. isScroll: true, //是否可以滚动
  202. list: [],
  203. longitude: "",
  204. latitude: "",
  205. }, _ => {
  206. this.rewardList();
  207. })
  208. },
  209. doDistince: function (e) {
  210. const { sort, totalSalary } = e.detail;
  211. this.setData({
  212. sort,
  213. totalSalary, //重置
  214. pageNo: 1, //当前分页
  215. isScroll: true, //是否可以滚动
  216. list: [],
  217. }, _ => {
  218. this.cxgps();
  219. })
  220. },
  221. //去详情页
  222. toDetail(e) {
  223. const {
  224. id,
  225. cate
  226. } = e.detail;
  227. wx.navigateTo({
  228. url: '../detail/index?hpPositionId=' + id + "&cate=" + cate,
  229. })
  230. },
  231. })