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 @@ + + + + +