// pages/doctorsList/doctorsList.js // 网络请求工具类 var networkUtil = require('../../utils/network_util.js') var api = require('../../utils/apiFile.js') Page({ /** * 页面的初始数据 */ data: { list: [], hospitalName: "", hospitalId: "", hostitalprice: 0, totalPrize: 0, //总价 ids: '', //服务id doctorIds: '', //选中的医生id hospitalList: [], count: 1500, isShowToast: false, chooseDoctServiceName: '', // 高危时的服务开通时间类型 serviceType:'', index: 0 //选中医院的下标 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; networkUtil.showLoading(); networkUtil._get(api.getWxDoctors,{},function(res){ var data = res.data.doctors; var hospitals=[]; for (var k in data){ data[k].forEach(item => { item.isCheck = false; }) hospitals.push({name:k,data:data[k]}) } console.log('医院列表',hospitals) that.setData({ hospitalList:hospitals, hospitalName:hospitals[0].name, list:hospitals[0].data }) },function(){ }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, godoctor: function(e) { var doctorId = e.currentTarget.dataset.doctorid; var doctor = e.currentTarget.dataset.doctor; wx.setStorage({ key: 'doctor_'+doctorId, data: doctor, }) wx.navigateTo({ url: '../expert/expert?doctorId='+doctorId, }) }, itemClick: function(e) { var doctorId = e.currentTarget.dataset.doctorid var self = this var totalPrize = 0 var ids = '' var hospitalId = '' for (var i = 0; i < self.data.list.length; i++) { if (self.data.list[i].id == doctorId) { self.data.list[i].isCheck = !self.data.list[i].isCheck } else { self.data.list[i].isCheck = false } } for (var i = 0; i < self.data.list.length; i++) { if (self.data.list[i].isCheck) { totalPrize += self.data.list[i].price; hospitalId = self.data.list[i].hospitalId; ids = self.data.list[i].id; } } self.setData({ list:self.data.list, hospitalId: hospitalId, totalPrize: totalPrize, doctorIds: ids }) }, hospitailClick: function(e) { console.log(e) var self = this var hospitalName = this.data.hospitalList[e.detail.value].name var doctors = this.data.hospitalList[e.detail.value].data self.setData({ hospitalName: hospitalName, index: e.detail.value, list:doctors }) //self.getDoctorsFromServer() }, toPay: function(e) { if (this.data.totalPrize == 0) { wx.showToast({ title: '价格不能为0', }) return } var content = [] var self = this if (self.data.list.length > 0) { for (var i = 0; i < self.data.list.length; i++) { var checked = { "goodId":13, "hId": self.data.list[i].hospitalId, "doctorId": "" } if (self.data.list[i].isCheck) { checked.doctorId = self.data.list[i].id content.push(checked) } } } networkUtil.showLoading() this.refreshOpenid(content) }, refreshOpenid(content) { var self = this var jscode = '' wx.login({ success: function(res) { // success jscode = res.code networkUtil._get(api.refreshOpenId + "?jscode=" + jscode + "&type=1", {}, function(res) { console.log(res) self.getPayMessage(content) }, function(res) { }) }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }, getPayMessage(content) { var self = this var param = JSON.stringify(content) networkUtil._post(api.goodsbuy, { param: param }, function(res) { console.log(res) wx.requestPayment({ timeStamp: res.data.payParams.timeStamp + "", nonceStr: res.data.payParams.nonceStr, package: res.data.payParams.package, signType: res.data.payParams.signType, paySign: res.data.payParams.paySign, 'success': function(res1) { console.log(res1) wx.navigateTo({ url: '../paySuccess/paySuccess?goodsOrderId=' + res.data.goodsOrderId + '&ids=' + self.data.ids + '&goodId=12', }) }, 'fail': function(res1) { console.log('fali', res1) wx.navigateTo({ url: '../payFail/payFail', }) } }) }, function(res) { }) }, })