// pages/index/index.js import { homePage } from '../../api/index' import { userEntityRecharge } from '../../api/charge' import { createQRcode } from "../../api/document"; Page({ /** * 页面的初始数据 */ data: { locationStr: '定位地址…', useNumber: 0, // 剩余预约次数 documentVos: [], // 档案信息 cardNo: '', cardSecret: '', scanTimer: null, scanOverShow: false, scanResMsg: '', scanSuccess: true, baseStr: 'data:image/jpg;base64,', QRCodeBase64: '', qrcodeDialog: false }, /** * 生命周期函数--监听页面显示 */ onLoad() { this.initIndexData() }, onPullDownRefresh () { wx.vibrateShort({ type: 'medium' }) this.initIndexData(true) }, // 获取首页信息 initIndexData (pullDownRefresh = false) { wx.showLoading({ title: '加载中...', mask: true }) homePage({}).then(hoemRes => { wx.hideLoading() if (pullDownRefresh) { wx.stopPullDownRefresh() } var response = hoemRes.data.documentVos response.map(item => { item.birthDay = item.birthday.split(' ')[0] }) this.setData({ useNumber: hoemRes.data.useNumber, documentVos: response }) }).catch(e => { wx.hideLoading() wx.showModal({ content: e, confirmColor: '#333', showCancel: false }) }) }, // 打开地图选择位置。 openMap () { wx.chooseLocation() }, /** * 处理套餐 购买 or 预约 * useNumber: 0-购买 1-预约 * **/ handlePackage () { var type = this.data.useNumber > 0 ? 1 : 0 switch (type) { case 0: wx.navigateTo({ url: '/pages/buy/buy', }) break; case 1: wx.navigateTo({ url: '/pages/appointment/appointment', }) break; } }, // 点击全部档案 handleAllFile () { wx.navigateTo({ url: '/pages/allFile/allFile', }) }, // 添加检测人 handleAddCheck () { wx.navigateTo({ url: '/pages/createFile/createFile?form=index', }) }, handleScanCode () { wx.navigateTo({ url: '/pages/exchange/exchange?form=index', }) return var that = this wx.scanCode({ onlyFromCamera: true, scanType: ['barCode','qrCode'], success (res) { wx.vibrateShort({ type: 'medium', }) var response = res.result if (response.indexOf('|') !== -1) { var code = response.split('|')[0] var password = response.split('|')[1] that.setData({ cardNo: code, cardSecret: password }) var scantime = setTimeout(() => { that.userEntityRechargeFn() }, 500); that.setData({ scanTimer: scantime }) } else { wx.showModal({ content: '请扫描正确的二维码', confirmColor: '#333', showCancel: false }) } } }) }, // 重新扫描 handleRescan () { this.setData({ scanOverShow: false, scanResMsg: '', scanSuccess: true }) this.handleScanCode() }, // 实体卡充值 userEntityRechargeFn () { var that = this clearTimeout(that.data.scanTimer) wx.showLoading({ title: '充值中...', mask: true }) var data = { cardNo: that.data.cardNo, cardSecret: that.data.cardSecret } userEntityRecharge(data).then(res => { wx.hideLoading() console.log(res); this.setData({ scanOverShow: true, scanResMsg: res.msg, scanSuccess: true }) }).catch(e => { wx.hideLoading() this.setData({ scanOverShow: true, scanResMsg: e, scanSuccess: false }) }) }, onClickHide () { this.setData({ scanOverShow: false }) }, noop () {}, // 去预约 handleAppointment () { wx.navigateTo({ url: '/pages/appointment/appointment?form=index', }) }, handleShowQRCode (e) { var that = this var id = e.currentTarget.dataset.id wx.showLoading({ title: '生成中...' }) createQRcode({ documentId: id }).then(res => { wx.hideLoading() that.setData({ QRCodeBase64: that.data.baseStr + res.data, qrcodeDialog: true }) }).catch(e => { wx.hideLoading() wx.showModal({ content: e, confirmColor: '#333', showCancel: false }) }) }, handleCloseQRCode (e) { this.setData({ qrcodeDialog: false, QRCodeBase64: '' }) } })