hospitalList.js 4.34 KB
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
// 医生列表

// 网络请求工具类
var networkUtil = require('../../utils/network_util.js')
var api = require('../../utils/apiFile.js')


// 地理位置信息
var latitude = 0
var longitude = 0
// 页码
var page = 1
// 是否有更多
var hasMore = true
Page({
data: {
hospitalList: [
// {
// "areaName": "成都", list: [{ "id": "138", "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "犯得上发射点发司法所让我去误认为亲热万人更大", "distance": "100km" }, {
// "id": "2",
// "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "name1", "distance": "100km"
// }, { "id": "3", "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "name1", "distance": "100km" },]
// },
// {
// "areaName": "成都2", list: [{ "id": "31", "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "name4", "distance": "100km" }, {
// "id": "12",
// "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "name51", "distance": "100km"
// }, { "id": "11", "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2845876344,2547149135&fm=173&s=CB50DFA600825BEF16B8A43403001073&w=550&h=334&img.JPEG", "name": "name17", "distance": "100km" },]
// }
],
hasMore:true,
},
/*---------生命周期--------*/
onLoad: function (options) {
networkUtil.showLoading()
var self = this
setTimeout(function(){
self.getUserLocation()
},1000)
// this.getUserLocation()
// this.requestData()
},
onUnload:function(e){
page = 0
},
/*---------自定义函数--------*/
// 获取地理位置
getUserLocation() {
var self = this
wx.getLocation({
type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
success: function (res) {
// success
console.log(res)
latitude = res.latitude
longitude = res.longitude
self.requestData()
},
fail: function (res) {
// fail
console.log(res)
self.requestData()
},
complete: function (res) {
// complete
console.log(res)
}
})
// latitude = 115.52
// longitude = 38.23
},
requestData() {
var self = this
var param = { page: page, limit: 15, lat: latitude, lng: longitude}
networkUtil._get(api.hospitals, param, function (res) {
console.log(res)
var sumCount = self.paging(res.data.list)
if (sumCount < 15) {
hasMore = false
} else {
hasMore = true
}

var arr = []
if (page > 1) {// 加载更多模式
arr = self.data.hospitalList
self.concatArr(res.data.list)
arr = arr.concat(res.data.list)
} else {
arr = res.data.list
}
self.setData({
hospitalList: arr,
hasMore: hasMore
})
}, function (res) {

})
},
// 下拉刷新回调接口
onPullDownRefresh: function () {
page = 0;
hasMore = true
networkUtil.showLoading()
// 网络请求,重新请求一遍数据
this.requestData();
},
// 加载更多
loadMore: function (e) {
if (!hasMore) {
return
}
page++
networkUtil.showLoading()
this.requestData()
},
paging(list){
var count = 0
for(var item in list){
count += list[item].data.length
}
return count
console.log(count)
},
concatArr(list){
var self = this
var lastItem = self.data.hospitalList[self.data.hospitalList.length - 1]
var newItem = list[0]
// 如果是同一个区域
if (lastItem.id == newItem.id){
// 拼接到一起
lastItem.data = lastItem.data.concat(newItem.data)
// 把拼接的删除
list.splice(0, 1)
}
},
toHospitalDetail: function (e) {
var id = e.currentTarget.dataset.id
console.log(e)
wx.navigateTo({
url: "../hospital_detail/hospital_detail?id="+id
})
}
})