123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- // pages/order/confirm.js
- import Toast from '@vant/weapp/toast/toast';
- import {
- confirmOrder,
- getJhPayInfo,
- getCustomerGradeInfo
- } from "../../api/home"
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- images: [
- 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2684369054,623698254&fm=26&gp=0.jpg',
- 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2684369054,623698254&fm=26&gp=0.jpg',
- 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2684369054,623698254&fm=26&gp=0.jpg',
- ]
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- let app = getApp();
- let orderAmt = getApp().orderAmount;
- let oilPrice = getApp().oilPrice;
- // console.log("oilGunName:"+oilGunName);
- let oilLitre = null; //加油升数
- let totalMoney = null;
- let youHuiAmount = null;
- let discountPrice = null; //优惠价格
- let gasoilDiscountAmount = null; //优惠金额-满减,立减,直降
- let discountAmount = null; //优惠起点金额
- var mobileValue = wx.getStorageSync('mobilePhone')
- if (mobileValue) {
- if (getApp().gunType === '1') {
- getCustomerGradeInfo({
- "stationId": app.globalData.stationId,
- "userType": "2",
- "oilName":app.oilGunName,
- "openId": app.globalData.openId,
- "mobilePhone": mobileValue
- }).then(res => { // handle success
- if (res.retCode == 0) { //获取优惠信息成功
- if (res.data.length > 0) {
- if ((res.data[0].discountWay === '直降')) { //优惠方式为等级直降
- discountPrice = res.data[0].gasoilDiscountLitre; //直降方案,按会员等级、按油品单价直降
- totalMoney = (orderAmt / oilPrice) * (oilPrice - discountPrice);
- // console.log("totalMonry1:"+totalMoney);
- totalMoney = totalMoney.toFixed(2);
- // console.log("totalMonry2:"+totalMoney);
- youHuiAmount = (orderAmt / oilPrice) * discountPrice;
- youHuiAmount = youHuiAmount.toFixed(2);
- } else if (res.data[0].discountWay === '1') { //优惠方式为满减
- gasoilDiscountAmount = Number(res.data[0].gasoilDiscountAmt); //满减方案,价格不变,总额满足条件优惠满减
- discountAmount = Number(res.data[0].discountAmt);
- discountPrice = Number(res.data[0].gasoilDiscountAmt);
- if (orderAmt >= discountAmount) {
- let discountTimes = Math.floor(orderAmt / discountAmount);
- totalMoney = Number(orderAmt - (gasoilDiscountAmount * discountTimes));
- totalMoney = totalMoney.toFixed(2);
- youHuiAmount = Number(gasoilDiscountAmount * discountTimes);
- youHuiAmount = youHuiAmount.toFixed(2);
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else if (res.data[0].discountWay === '2') { //优惠方式为立减
- gasoilDiscountAmount = res.data[0].gasoilDiscountAmt; //立减方案,价格不变,总额满足条件优惠立减
- discountAmount = res.data[0].discountAmt;
- discountPrice = Number(res.data[0].gasoilDiscountAmt);
- if (orderAmt >= discountAmount) {
- totalMoney = Number(orderAmt - gasoilDiscountAmount);
- totalMoney = totalMoney.toFixed(2);
- youHuiAmount = Number(gasoilDiscountAmount);
- youHuiAmount = youHuiAmount.toFixed(2);
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else if ((res.data[0].discountWay === '3')) { //优惠方式为独立直降
- discountPrice = Number(res.data[0].gasoilDiscountAmt);
- if (res.data[0].discountTerm === '1') { //按总金额直降
- if (orderAmt >= res.data[0].discountAmt) {
- discountPrice = Number(res.data[0].gasoilDiscountAmt); //独立直降方案,按油品升数或者总价直降
- totalMoney = (orderAmt / oilPrice) * (oilPrice - discountPrice);
- // console.log("totalMonry1:"+totalMoney);
- totalMoney = totalMoney.toFixed(2);
- // console.log("totalMonry2:"+totalMoney);
- youHuiAmount = (orderAmt / oilPrice) * discountPrice;
- youHuiAmount = youHuiAmount.toFixed(2);
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else if (res.data[0].discountTerm === '2') { //按升数直降
- discountPrice = Number(res.data[0].gasoilDiscountAmt);
- //取条件升数
- let dislQty = Number(res.data[0].discountAmt);
- //计算升数
- let lQty = orderAmt / oilPrice;
- lQty = lQty.toFixed(2);
- if (lQty >= dislQty) {
- totalMoney = (orderAmt / oilPrice) * (oilPrice - discountPrice);
- // console.log("totalMonry1:"+totalMoney);
- totalMoney = totalMoney.toFixed(2);
- // console.log("totalMonry2:"+totalMoney);
- youHuiAmount = (orderAmt / oilPrice) * discountPrice;
- youHuiAmount = youHuiAmount.toFixed(2);
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else { //没有以上三种优惠方式
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- } else { //没有查询到优惠信息,新用户没有优惠
- totalMoney = orderAmt;
- youHuiAmount = 0;
- }
- oilLitre = Number(orderAmt / oilPrice);
- oilLitre = oilLitre.toFixed(2);
- this.setData({
- stationName: app.globalData.stationName,
- imageURL: app.globalData.stationPic,
- gunNo: app.oilGunNum,
- oilName: app.oilGunName,
- oilPrice: app.oilPrice,
- orderMoney: app.orderAmount,
- discountPrice: discountPrice,
- oilLitre: oilLitre,
- manJian: 0,
- liJian: 0,
- youHuiAmount: youHuiAmount,
- youHui: 0,
- vipMoney: 0,
- apayMoney: totalMoney
- })
- } else {
- Toast.fail(res.message);
- }
- }).catch(error => { // handle error
- Toast.fail(error);
- })
- } else {
- totalMoney = orderAmt;
- youHuiAmount = 0;
- oilLitre = 0;
- this.setData({
- stationName: app.globalData.stationName,
- imageURL: app.globalData.stationPics,
- gunNo: getApp().oilGunNum,
- oilName: getApp().oilGunName,
- oilPrice: getApp().oilPrice,
- orderMoney: getApp().orderAmount,
- discountPrice: discountPrice,
- oilLitre: oilLitre,
- manJian: 0,
- liJian: 0,
- youHuiAmount: youHuiAmount,
- youHui: 0,
- vipMoney: 0,
- apayMoney: totalMoney
- })
- }
- } else {
- wx.showToast({
- title: '手机号未授权',
- })
- }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 立即支付方法
- */
- pay: function () {
- //支付前,先进行订单确认,确认无误后,获取到订单id,作为入参,调用支付平台的下单接口
- var app = getApp()
- //请求后台创建订单接口,获取订单号
- confirmOrder({
- "orderNo": app.orderNo,
- "openId": app.globalData.openId,
- "userType": 2
- }).then(res => { // handle success
- // console.log("data:" + res.data);
- if (res.retCode == 0 && res.data.length == 1) {
- // console.log("orderNo:" + res.data[0].orderNo)
- //确认订单存在,获取到订单id,请求聚合支付下单接口
- var orderId = res.data[0].orderId;
- // console.log("orderId="+orderId);
- getJhPayInfo({
- "orderId": orderId,
- "openId": app.globalData.openId,
- "stationId": app.globalData.stationId,
- "subject": app.globalData.stationName + "_" + app.oilGunName + "油品支付订单",
- "userType": "2"
- }).then(res => { // handle success
- //判断封装接口请求成功
- if (res.retCode === 0) {
- //判断随行付支付网关是否请求成功
- if (res.data.code == '0000') {
- let timeStamp = res.data.respData.payTimeStamp;
- let nonceStr = res.data.respData.paynonceStr;
- let payPackage = res.data.respData.payPackage;
- let signType = res.data.signType;
- let paySign = res.data.respData.paySign;
- wx.requestPayment({
- 'timeStamp': timeStamp,
- 'nonceStr': nonceStr,
- 'package': payPackage,
- 'signType': signType,
- 'paySign': paySign,
- 'success': function (res) {
- wx.navigateTo({
- url: '/pages/order/success',
- })
- },
- 'fail': function (res) {
- },
- 'complete': function (res) {
- }
- })
- } else {
- Toast.fail(res.data.msg);
- }
- } else { //请求失败,提示失败信息
- Toast.fail(res.message);
- }
- }).catch(error => { // handle error
- // console.log(error);
- Toast.fail(error);
- })
- } else {
- Toast.fail(res.message);
- }
- }).catch(error => { // handle error
- // console.log(error);
- Toast.fail(error);
- })
- }
- })
|