123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549 |
- // pages/scan_result/scan_result.js
- let log = require('../../utils/log.js');
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- chargPile: null,
- orderid: null,
- userId: null,
- repaidbalance: 0,
- resultTable: [],
- // 是否减免停车费
- carParkingRate: false,
- // 停车时间
- parkTime: 0,
- url:'/images/scan_result.png',
- authStatus: 1,
- defPlateNumber:''
- },
- resetResultList(resultList){
- let that = this
- resultList.forEach(item=>{
- item["sumPrice"] = that.resetResultListSumPrice(item)
- })
- },
- resetResultListSumPrice(item){
-
- if(!item.elecPrice && item.elecPrice!=0){
- return '暂无费用'
- }
- if(!item.servicePrice && item.servicePrice!=0){
- return '暂无费用'
- }
- return parseFloat((item.elecPrice + item.servicePrice).toFixed(6))
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- let that = this;
- wx.getStorage({
- key: 'scan_chargpile',
- success: function (res) {
- console.log(res);
- //console.log(res.data);
- var chargPile = res.data;
- let authStatus = chargPile.authStatus
- let resultTable = chargPile.resultList
- that.resetResultList(resultTable)
- that.setData({
- resultTable,
- authStatus
- })
- chargPile.sharpTotalPrice = parseFloat((chargPile.sharpChargPrice + chargPile.sharpServicePrice).toFixed(6));
- chargPile.peakTotalPrice = parseFloat((chargPile.peakChargPrice + chargPile.peakServicePrice).toFixed(6));
- chargPile.flatTotalPrice = parseFloat((chargPile.flatChargPrice + chargPile.flatServicePrice).toFixed(6));
- chargPile.valleyTotalPrice = parseFloat((chargPile.valleyChargPrice + chargPile.valleyServicePrice).toFixed(6));
- chargPile.totalprice = parseFloat((chargPile.chargprice + chargPile.serviceprice).toFixed(6));
- that.setData({
- chargPile
- });
- //console.log(chargPile);
- // 更新是否减停车费
- that.execParking(that,chargPile)
- wx.removeStorage({
- key: 'scan_chargpile',
- success(res) {
- console.log(res);
- }
- });
- log.info('[扫码]', '[加载完成]', '[参数]', res.data);
- let userInfo = wx.getStorageSync('userInfo');
- wx.request({
- url: getApp().globalData.postHeadAgreement + '/restapi/wechat/syncUser',
- data: {
- loginName: userInfo.loginName
- },
- method: 'POST',
- success: function (res) {
- let {
- data
- } = res;
- log.info('[扫码]', '[同步用户数据]', '[响应]', data);
- console.info('[扫码]', '[同步用户数据]', '[响应]', data);
- if (data.code && data.code != 200) {
- log.info('[扫码]', '[同步用户数据]', '[失败data null||data.code<>200跳转登陆界面]', data);
- } else {
- that.setData({
- repaidbalance:data.repaidbalance
- });
- }
- },
- fail(e) {
- console.log("用户数据同步失败");
- log.info('[扫码]', '[同步用户数据]', '[fail]', e);
- }
- });
-
- }
- });
- },
- execParking(that,chargPile){
- let stationId = chargPile.chargStationId;
- wx.request({
- url: getApp().globalData.postHeadAgreement + '/restapi/wechat/carParkingRate?stationId=' + stationId,
- // data: {
- // loginName: userInfo.loginName
- // },
- method: 'POST',
- success: function (res) {
- // 是否减免停车费
- // carParkingRate: false,
- // parkTime: 0,
- console.info(res)
- let reduceTime = res.data?.reduceTime;
- if(!reduceTime){
- that.setData({
- carParkingRate:false
- })
- return;
- }
- that.setData({
- carParkingRate:true
- })
- try{
- that.setData({
- parkTime: parseFloat((reduceTime/ 3600).toFixed(2))
- })
- }catch(e){
- that.setData({
- carParkingRate:false
- })
- }
- },
- fail(e) {
- console.log("用户数据同步失败");
- log.info('[扫码]', '[同步用户数据]', '[fail]', e);
- }
- });
- },
- beginChargeInner(that,plateNumber){
- let userInfo = wx.getStorageSync('userInfo');
- let isLogin = wx.getStorageSync('isLogin');
- // 扫码启动
- wx.showLoading({
- title: '开启充电中...',
- mask: true
- });
- log.info('[扫码]', '[开始充电流程]');
- //同步用户数据
- log.info('[扫码]', '[同步用户数据]', '[请求]', {
- loginName: userInfo.loginName
- });
- wx.request({
- url: getApp().globalData.postHeadAgreement + '/restapi/wechat/syncUser',
- data: {
- loginName: userInfo.loginName,
- },
- method: 'POST',
- success: function (res) {
- wx.hideLoading();
- let {
- data
- } = res;
- log.info('[扫码]', '[同步用户数据]', '[响应]', data);
- console.info('[扫码]', '[同步用户数据]', '[响应]', data);
- if (data.code && data.code != 200) {
- wx.removeStorageSync('userInfo');
- wx.removeStorageSync('isLogin');
- let url = '/pages/login/phone_login/phone_login';
- wx.redirectTo({
- url,
- });
- log.info('[扫码]', '[同步用户数据]', '[失败data null||data.code<>200跳转登陆界面]', data);
- } else {
- wx.setStorageSync('userInfo', data);
- wx.setStorageSync('isLogin', true);
- let repaidbalance = data.repaidbalance;
- that.setData({
- repaidbalance
- });
- //开始充电
- if(data.bindingPhone==0){
- wx.showModal({
- title: '提示',
- content: '您未绑定手机号,请重新登录后自动刷新绑定信息',
- confirmText: '去登录',
- showCancel:false,
- confirmColor:'#00AADD',
- success: function (res1) {
- if (res1.confirm) {
- wx.removeStorageSync('userInfo');
- wx.removeStorageSync('isLogin');
- let url = '/pages/login/phone_login/phone_login';
- wx.redirectTo({
- url
- })
- }
- }
- });
- log.info('[扫码]', '[同步用户数据]', '[未绑定手机号]', data);
- }else if (!data.repaidbalance || data.repaidbalance <= 0) {
- wx.showModal({
- showCancel: false,
- content: '余额不足,请充值!',
- confirmColor:'#00AADD',
- success: function (res) {
- if (res.confirm) {
- let url = "/pages/chargemoney/chargemoney";
- wx.navigateTo({
- url
- });
- }
- }
- });
- log.info('[扫码]', '[同步用户数据]', '[data.repaidbalance null||data.repaidbalance<=0余额不足跳转充值界面]', data);
- } else if (data.repaidbalance > 0 && data.repaidbalance <= 15) {
- wx.showModal({
- title: '余额:' + data.repaidbalance + '元',
- showCancel: false,
- confirmText: "去充值",
- confirmColor:'#00AADD',
- content: '余额过低,请尽快充值!',
- success: function (res) {
- if (res.confirm) {
- let url = "/pages/chargemoney/chargemoney";
- wx.navigateTo({
- url
- });
- }
- }
- });
- log.info('[扫码]', '[同步用户数据]', '[0<data.repaidbalance<=15余额过低]', data);
- // wx.showModal({
- // title:'请选择',
- // showCancel: true,
- // confirmText:"继续充电",
- // cancelText:"去充值",
- // content: '余额过低,请尽快充值!',
- // success: function (res) {
- // if (res.confirm) {
- // that.beginCharge_satrt();
- // } else if (res.cancel) {
- // let url = "/pages/chargemoney/chargemoney";
- // wx.navigateTo({
- // url
- // });
- // }
- // }
- // });
- } else if (data.repaidbalance > 15) {
- log.info('[扫码]', '[同步用户数据]', '[余额充足开始充电]', data);
- that.beginCharge_satrt(plateNumber,1);
- }
- }
- }
- });
- // 扫描结束
- },
- beginChargeMsg(e){
- let that = this
- wx.requestSubscribeMessage({
- tmplIds: ['3FR5XRyycT81ZWMdVi_ZQYKJcVatZr2Tm7DgcLwCD1I','KWHBIONCrdumgTkE1dpIpAZRgrN5TuhpHuZ0uU-Eud4','XWj70eHMLAjLlufPuhE_NQmdSQzhrOwEXIblWveH0bk'],
- success (res33333) {
- that.beginCharge(e)
- },fail(reee){
- console.info("ffffffffffffff")
- console.info(reee)
- }
- })
- },
- beginCharge(e) {
- let that = this
- let userInfo = wx.getStorageSync('userInfo');
- let isLogin = wx.getStorageSync('isLogin');
- if(!that.data.carParkingRate){
- that.beginChargeInner(that,'');
- return;
- }
- // 读取默认车牌
- wx.request({
- url: getApp().globalData.postHeadAgreement + '/restapi/wechat/carList?loginName=' + userInfo.loginName,
- // data: {
- // loginName: userInfo.loginName
- // },
- method: 'POST',
- success: function (res) {
- let userCarList = res.data;
- userCarList = userCarList.filter(it=>it.defaultType==1);
- console.info(userCarList)
- if(userCarList.length==0 ){
- wx.showModal({
- title: '提示',
- content: '当前充电站可减免停车费,是否绑定车牌信息?',
- confirmText: '绑定车牌',
- cancelText: '直接启动',
- showCancel:true,
- confirmColor:'#00AADD',
- cancelColor:'#00AADD',
- success: function (ress1) {
- if(ress1.confirm){
- let url = '/pages/ucenter/car/chooseCar'
- wx.navigateTo({
- url
- });
- }else{
- that.beginChargeInner(that,'')
- }
- }
- });
- }else{
- let userCar = userCarList[0]
- wx.showModal({
- title: '提示',
- content: '确定使用' + userCar.plateNumber + '车牌信息减免停车费?',
- confirmText: '确定',
- cancelText: '其他车牌',
- showCancel:true,
- confirmColor:'#00AADD',
- cancelColor:'#00AADD',
- success: function (ress1) {
- if(ress1.confirm){
- that.beginChargeInner(that,userCar.plateNumber)
- }else{
- let url = '/pages/ucenter/car/chooseCar'
- wx.navigateTo({
- url
- });
- }
- return;
- },
- fail: function(res1){
- console.info(res1)
- }
- });
- }
- },
- fail(e) {
- console.log("查询车辆失败");
- log.info('[查询车辆]','[fail]', e);
- }
- });
-
-
- },
- beginCharge_satrt(plateNumber,runTimes) {
- wx.showLoading({
- title: '开启充电中...',
- mask: true
- });
- let that = this;
- let terminalNum = this.data.chargPile.chargPileId;
- let userInfo = wx.getStorageSync('userInfo');
- let isLogin = wx.getStorageSync('isLogin');
- console.log(terminalNum);
- let userId = userInfo.userId;
- let chargstarttime = new Date().getTime();
- console.log(chargstarttime);
- log.info('[扫码]', '[开始充电]', '[请求]', {
- //chargPileId: '201811010000004202',
- chargPileId: terminalNum,
- userId: userId,
- chargstarttime: chargstarttime
- });
- wx.request({
- url: getApp().globalData.postHeadAgreement + '/restapi/pileLog/miniprogramadd',
- data: {
- //chargPileId: '201811010000004202',
- chargPileId: terminalNum,
- userId: userId,
- chargstarttime: chargstarttime,
- userPlateNumber: plateNumber,
- runTimes:runTimes
- },
- method: 'POST',
- fail(e) {
- wx.hideLoading();
- //开启充电失败,提示用户
- wx.showModal({
- showCancel: false,
- content: '开启充电失败',
- confirmColor:'#00AADD',
- });
- log.info('[扫码]', '[开始充电]', '[fail]', e);
- },
- success(res) {
- wx.hideLoading();
- let {
- data
- } = res;
- log.info('[扫码]', '[开始充电]', '[响应]', data);
- if (data && data.code == 200) {
- //if (data && data.code == 200 && data.orderid) {
- //开启充电成功,跳转到正在充电界面
- let {
- orderid
- } = data;
- log.info('[扫码]', '[开始充电]', '[成功,跳转充电中页面]', data);
- //console.log(this.data.city);
- let url = `/pages/charging/charging?orderid=${orderid}&userId=${userId}&chargPileId=${terminalNum}`;
- wx.redirectTo({
- url
- });
- } else if (data && data.code == 501) {
- //开启充电失败,提示用户
- wx.showModal({
- showCancel: false,
- content: '余额不足,请充值!',
- confirmColor:'#00AADD',
- });
- log.info('[扫码]', '[开始充电]', '[失败data.code=501余额不足]', data);
- } else if (data && data.code == 502) {
- //开启充电失败,提示用户
- wx.showModal({
- showCancel: false,
- content: data.message,
- confirmColor:'#00AADD',
- });
- log.info('[扫码]', '[开始充电]', '[失败data.code=502' + data.message + ']', data);
- } else if (data && data.code == 503) {
- //开启充电失败,提示用户
- let msg = res?.data?.message
- wx.showModal({
- title: '提示',
- showCancel: true,
- content: msg,
- cancelText:'其他车辆',
- confirmText:'继续启动',
- confirmColor:'#00AADD',
- cancelColor:'#00AADD',
- success: function (res) {
- if (res.cancel) {
- //点击取消,其他车辆
- } else {
- //点击确定,继续启动
- that.beginCharge_satrt(plateNumber,runTimes + 1)
- }
- },
- fail: function (res) { },//接口调用失败的回调函数
- complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行)
- });
- log.info('[扫码]', '[开始充电]', '[失败data.code=502' + data.message + ']', data);
- } else {
- //开启充电失败,提示用户
- let msg = res?.data?.message
- msg = msg?msg:'开启充电失败'
- wx.showModal({
- showCancel: false,
- content: msg,
- confirmColor:'#00AADD',
- });
- log.info('[扫码]', '[开始充电]', '[失败]', data);
- }
- }
- });
- },
- previewImage(e){
- let cur = e.target.dataset.src;//获取本地一张图片链接
- console.info(cur)
- wx.previewImage({
- current: cur, //字符串,默认显示urls的第一张
- urls: [cur] // 数组,需要预览的图片链接列表
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- let car = wx.getStorageSync('chooseCar_plateNumber')
- let plateNumber = ''
- if(car){
- plateNumber = car.plateNumber;
- wx.removeStorageSync('chooseCar_plateNumber')
- }
- this.setData({
- plateNumber
- })
- console.info('将会自动跳过弹窗,默认车牌号:' + plateNumber)
- if(car){
- this.beginChargeInner(this,plateNumber)
- }
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|