index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. // pages/fulltime/index.js
  2. import {
  3. getFullList
  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. 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. showAreaList: false
  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. // let countryCode = wx.getStorageSync('countryCode');
  56. this.setData({
  57. cityName: cityName,
  58. cityCode: cityCode,
  59. areaList,
  60. }, _ => {
  61. this.fullList();
  62. })
  63. },
  64. //获取全职列表数据
  65. fullList() {
  66. if (!this.data.isScroll) {
  67. return false
  68. }
  69. let paramsObj = {
  70. longitude: this.data.longitude,
  71. latitude: this.data.latitude,
  72. sort: this.data.sort,
  73. totalSalary: this.data.totalSalary,
  74. cityCode: this.data.cityCode,
  75. countryCode: this.data.countryCode,
  76. pageNo: this.data.pageNo
  77. }
  78. getFullList(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.fullPosition.length != 0) {
  86. setData.list = this.data.list.concat(data.data.fullPosition)
  87. setData.pageNo = pageNo;
  88. } else {
  89. setData.list = this.data.list;
  90. }
  91. this.setData({
  92. ...setData
  93. })
  94. })
  95. },
  96. //获取当前定位
  97. cxgps: function () {
  98. var that = this;
  99. wx.showLoading({
  100. title: 'loading',
  101. mask: true
  102. });
  103. var distance = wx.getStorageSync('distance');
  104. if (distance) {
  105. wx.hideLoading();
  106. that.setData({
  107. longitude: distance.longitude,
  108. latitude: distance.latitude
  109. }, _ => {
  110. that.fullList();
  111. })
  112. } else {
  113. wx.getSetting({
  114. success: function (res) {
  115. if (!res.authSetting['scope.userLocation']) {
  116. wx.hideLoading();
  117. wx.showModal({
  118. title: '授权提示',
  119. content: '当前服务需要获取您的位置信息,请确认授权',
  120. confirmText: '去授权',
  121. cancelText: '暂不授权',
  122. success: function (res) {
  123. if (res.confirm) {
  124. wx.openSetting();
  125. } else if (res.cancel) {
  126. }
  127. }
  128. })
  129. } else {
  130. $.map.getRegeo({
  131. success(data) {
  132. wx.hideLoading();
  133. var data = data[0];
  134. that.setData({
  135. longitude: data.longitude,
  136. latitude: data.latitude
  137. }, _ => {
  138. wx.setStorageSync('distance', data);
  139. that.fullList();
  140. })
  141. }
  142. })
  143. }
  144. }
  145. })
  146. }
  147. },
  148. /**
  149. * 生命周期函数--监听页面显示
  150. */
  151. onShow: function () {
  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. showAreaList: false
  167. }, _ => {
  168. this.fullList();
  169. })
  170. },
  171. /**
  172. * 页面上拉触底事件的处理函数
  173. */
  174. onReachBottom: function () {
  175. var pageNo = this.data.pageNo + 1;
  176. this.setData({
  177. pageNo
  178. }, _ => {
  179. this.fullList();
  180. })
  181. },
  182. /**
  183. * 用户点击右上角分享
  184. */
  185. onShareAppMessage: function () {
  186. },
  187. chooseArea(e) {
  188. const countryCode = e.detail.countryCode;
  189. this.setData({
  190. countryCode,
  191. list: [],
  192. pageNo: 1, //当前分页
  193. isScroll: true,
  194. }, _ => {
  195. this.fullList()
  196. })
  197. },
  198. doSalay: function (e) {
  199. const { totalSalary, sort } = e.detail;
  200. this.setData({
  201. totalSalary,
  202. sort, //重置
  203. pageNo: 1, //当前分页
  204. isScroll: true, //是否可以滚动
  205. list: [],
  206. longitude: "",
  207. latitude: "",
  208. }, _ => {
  209. this.fullList();
  210. })
  211. },
  212. doDistince: function (e) {
  213. const { sort, totalSalary } = e.detail;
  214. this.setData({
  215. sort,
  216. totalSalary, //重置
  217. pageNo: 1, //当前分页
  218. isScroll: true, //是否可以滚动
  219. list: [],
  220. }, _ => {
  221. this.cxgps();
  222. })
  223. },
  224. //去详情页
  225. toDetail(e) {
  226. const {
  227. id,
  228. cate
  229. } = e.detail;
  230. wx.navigateTo({
  231. url: '../detail/index?hpPositionId=' + id + "&cate=" + cate,
  232. })
  233. },
  234. })