index.js 5.8 KB

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