From e2a58050dc00dbed958356bff455e55ef6de9205 Mon Sep 17 00:00:00 2001
From: Wik-T <812952667@qq.com>
Date: Tue, 2 Aug 2022 15:39:20 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E6=AC=A2=E8=BF=8E=E9=A6=96?=
=?UTF-8?q?=E9=A1=B5H5=20=E8=B7=B3=E8=BD=AC=E4=B8=A4=E6=AC=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages.json | 11 +-
pages/goods/refuel-confirm/refuel-confirm.vue | 283 +++++++++++++++++-
pages/tabBar/home/home.vue | 50 +---
pages/welcome/welcome.vue | 69 +++++
4 files changed, 359 insertions(+), 54 deletions(-)
create mode 100644 pages/welcome/welcome.vue
diff --git a/pages.json b/pages.json
index f12b9a5..569aad8 100644
--- a/pages.json
+++ b/pages.json
@@ -1,6 +1,14 @@
{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
- {
+ {
+ "path" : "pages/welcome/welcome",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ },{
"path": "pages/tabBar/home/home",
"style": {
"navigationBarTextStyle": "white",
@@ -470,6 +478,7 @@
}
}
+
],
"subpackages": [{
"root": "subPages",
diff --git a/pages/goods/refuel-confirm/refuel-confirm.vue b/pages/goods/refuel-confirm/refuel-confirm.vue
index 6c090fa..f85492a 100644
--- a/pages/goods/refuel-confirm/refuel-confirm.vue
+++ b/pages/goods/refuel-confirm/refuel-confirm.vue
@@ -83,9 +83,57 @@
本次优惠
- ¥{{deductionPrice}}
+ ¥{{timedeductionPrice}}
+
+
+
+
+
+ 优惠抵扣{{OrderPreList.length}}张可用
+
+
+ 未使用
+
+
+
+ -¥{{deductionPrice}}
+
+
+
+
+
+ 选取: {{priceValue[1]}}{{priceValue[1]}} 分
+
+
+
+ 积分抵扣
+
+
+ 0
+
+ {{availIntegal}}
+
+
+
+
+
+ 抵扣金额
+
+
+ ¥{{priceValue[1] / 100}}
+
+
+
+
支付方式:
@@ -156,6 +204,35 @@
+
+
+
+ 优惠券选择
+
+
+
+
+ {{items.discountName}}
+ 有效期:{{items.useEndTime | timeFormat('yyyy-mm-dd hh:mm:ss')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -168,16 +245,21 @@
hltUnionCardPay,
orderToGoldPay,
findUser,
- oilCardPay
+ oilCardPay,
+ getUserOrderPreList
} from '../../../Utils/Api.js';
import ssPaymentPassword from '../../../components/sanshui-payment-password/index.vue';
+ import wybPopup from '../../../components/wyb-popup/wyb-popup.vue';
+ import cjSlider from '@/components/cj-slider/cj-slider.vue';
let app = getApp();
// #ifdef H5
var jweixin = require('jweixin-module');
// #endif
export default {
components: {
- ssPaymentPassword
+ ssPaymentPassword,
+ wybPopup,
+ cjSlider
},
data() {
return {
@@ -190,8 +272,17 @@
oilPirce: 0, //油卡余额
user: '',
paytype: '',
- PaymentPassword: '',
- deductionPrice:'0'//本次优惠金额
+ PaymentPassword: '',
+ timedeductionPrice: '0', //本次优惠金额
+
+ deductionPrice: '0.00', //优惠金额
+ OrderPreList: [], //优惠券数据
+ isUse: true, // 是否禁用状态
+ payPrice: 0, //支付价格
+ isDiscount: true, //刷新组件
+ memDiscountId: '', //优惠券id
+ priceValue: [0, 0], // 积分可以指定默认值
+ availIntegal: 0, // 可用积分
}
},
onLoad(e) {
@@ -217,7 +308,8 @@
this.user = res.return_data;
if (res.return_data.oilCard) {
this.oilPirce = res.return_data.oilCard.amount;
- }
+ }
+ this.getUserOrderPreList();
uni.setStorage({
key: "user",
data: res.return_data
@@ -225,6 +317,129 @@
}
});
},
+
+
+
+ //查询优惠券
+ getUserOrderPreList() {
+ let params = {
+ useScope: 4
+ }
+ getUserOrderPreList(params).then(res => {
+ if (res.return_code == '000000') {
+ this.OrderPreList = res.return_data;
+ }
+ });
+ },
+ //弹出优惠券
+ showPopup() {
+ this.$refs.popup.show();
+ },
+ //选择优惠券
+ radioChanges(item) {
+ this.rechangeload();
+ if (this.memDiscountId == item.id) { // 如果已经选中,则取消选中
+ this.memDiscountId = '';
+ this.deductionPrice = '0.00';
+ this.priceCaluc(this.totalprice);
+
+ } else { // 否则进行选中赋值
+ if (item.discountType == 1) {
+ if (this.orderPrice > item.discountCondition) {
+ this.memDiscountId = item.id;
+ //满减价格
+ this.deductionPrice = item.discountPrice;
+ let oldprice = this.orderPrice - this.deductionPrice;
+ this.priceCaluc(oldprice);
+ } else {
+ uni.showToast({
+ title: '请满' + item.discountCondition + '使用此券',
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ if (item.discountType == 2) {
+ this.memDiscountId = item.id;
+ //抵扣价格
+ this.deductionPrice = item.discountPrice;
+ let oldprice = this.orderPrice - this.deductionPrice;
+ this.priceCaluc(oldprice);
+ }
+ if (item.discountType == 3) {
+ this.memDiscountId = item.id;
+ // 打折
+ this.deductionPrice = parseFloat(this.orderPrice - (this.orderPrice * item.discountPrice))
+ .toFixed(2);
+ let oldprice = parseFloat(this.orderPrice * item.discountPrice).toFixed(2);
+ this.priceCaluc(oldprice);
+
+ }
+ }
+ this.$refs.popup.hide();
+ },
+ //计算价格
+ priceCaluc(item) {
+ let zkprice = parseFloat(this.rechargeDes.integralDiscount / 100).toFixed(2);
+ let pprice = parseFloat(item * 100).toFixed(0);
+ let payprice = parseFloat(item * 100 * zkprice).toFixed(0);
+ if (payprice > this.user.gold) {
+ this.availIntegal = this.user.gold;
+ this.priceValue[1] = 0;
+ } else {
+ this.availIntegal = payprice;
+ this.priceValue[1] = 0;
+ }
+ this.reload();
+ this.calculatepayPrice();
+ },
+ //计算支付价格
+ calculatepayPrice() {
+ if (this.deductionPrice == 0) {
+ this.payPrice = Math.abs(parseFloat(this.totalprice - (parseFloat(this.priceValue[1] / 100).toFixed(
+ 2)))
+ .toFixed(2));
+ } else {
+ this.payPrice = Math.abs(parseFloat(this.orderPrice - (parseFloat(this.priceValue[1] / 100).toFixed(
+ 2)) - this
+ .deductionPrice).toFixed(2));
+ }
+ },
+ rechangeload() {
+ this.isUse = false;
+ this.$nextTick(() => (this.isUse = true))
+ },
+ //刷新组件
+ reload() {
+ this.isDiscount = false;
+ this.$nextTick(() => (this.isDiscount = true))
+ },
+
+ //滑动开始
+ blockStart() {},
+ blockMoving() {
+ // console.log('正在滑动中')
+ },
+ //滑动结束
+ blockEnd() {
+ this.isDiscount = 1;
+ if (this.deductionPrice == 0) {
+ this.payPrice = Math.abs(parseFloat(this.totalprice - parseFloat(this.priceValue[1] / 100).toFixed(2))
+ .toFixed(
+ 2));
+ } else {
+ this.payPrice = Math.abs(parseFloat(this.orderPrice - parseFloat(this.priceValue[1] / 100).toFixed(2) -
+ this
+ .deductionPrice).toFixed(2));
+ }
+ if (this.payPrice == 0) {
+ this.isUse = false;
+ this.paytype = '';
+ } else {
+ this.isUse = true;
+ }
+ },
+
//密码支付完成
submitHandle(e) {
this.PaymentPassword = e.value;
@@ -375,8 +590,8 @@
getOrderById(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
- this.orderList = res.return_data.highChildOrderList[0];
- this.deductionPrice = res.return_data.deductionPrice;
+ this.orderList = res.return_data.highChildOrderList[0];
+ this.timedeductionPrice = res.return_data.deductionPrice;
}
})
},
@@ -632,5 +847,57 @@
position: absolute;
right: 0px;
}
+ }
+
+
+ .concont {
+ border-radius: 12px;
+ }
+ .Bubble {
+ margin-left: 50%;
+ padding-top: 15px;
+ }
+
+ .tests {
+ border-radius: 15px;
+ height: 22px;
+ line-height: 22px;
+ }
+ .cj-slider {
+ width: 100%;
+ align-items: center;
+ display: flex;
+ }
+
+ .yhqky {
+ background: #ff0034;
+ color: #ffffff;
+ font-size: 14px;
+ padding-left: 5px;
+ padding-right: 5px;
+ margin-left: 8px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+
+ .yhprice {
+ margin-top: -30px;
+ }
+
+ .contrig {
+ margin-left: 180rpx;
+ }
+
+ .tccs {
+ box-shadow: 0rpx 0rpx 10rpx rgba(0, 0, 0, 0.2);
+ border: 1px solid #f6f6f6;
+ border-radius: 8px;
+
+ image {
+ float: left;
+ width: 170rpx;
+ max-height: 170rpx;
+ margin-left: 10px;
+ }
}
diff --git a/pages/tabBar/home/home.vue b/pages/tabBar/home/home.vue
index 3062945..f54d793 100644
--- a/pages/tabBar/home/home.vue
+++ b/pages/tabBar/home/home.vue
@@ -235,49 +235,9 @@
},
onLoad(options) {
let that = this;
- // #ifdef H5
- var arr1 = window.location.href;
- var arr2 = arr1.split('=');
- if (arr2[1] != undefined && arr2[2] == '1#/') {
- app.globalData.h5code = arr2[1];
- } else {
- // 获取openid
- that.jumpcdx();
- uni.setStorage({
- key: "accountId",
- data: arr2[1]
- })
-
- uni.setStorage({
- key: "accountType",
- data: arr2[1]
- })
- if (arr2[2] != undefined && arr2[2]) {
- let arr3 = arr2[2].split('&');
- uni.setStorage({
- key: "gasKey",
- data: arr3[0]
- })
- }
- if (arr2[3] != undefined && arr2[3]) {
- let arr4 = arr2[3].split('#');
- uni.setStorage({
- key: "staffCode",
- data: arr4[0]
- })
- }
- }
-
-
- if (app.globalData.h5code) {
- that.getH5AccessToken();
- }
- // #endif
// #ifdef MP
app.globalData.accountId = options.accountId;
- // #endif
// 1.wx获取登录用户code
- // #ifdef MP
uni.login({
provider: 'weixin',
success: function(loginRes) {
@@ -293,8 +253,13 @@
})
},
})
+ //定位
+ that.postionIng();
// #endif
// #ifdef H5
+ if (app.globalData.h5code) {
+ that.getH5AccessToken();
+ }
uni.showLoading({
title: '加载中'
})
@@ -325,11 +290,6 @@
that.getCmsContentcmsContent();
}
);
-
- // #endif
- // #ifdef MP
- //定位
- that.postionIng();
// #endif
uni.getStorage({
key: "user",
diff --git a/pages/welcome/welcome.vue b/pages/welcome/welcome.vue
new file mode 100644
index 0000000..383fa49
--- /dev/null
+++ b/pages/welcome/welcome.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+