From b332a97a1ae9fe7f471ade90cec0c33a771794fc Mon Sep 17 00:00:00 2001
From: Wik-T <812952667@qq.com>
Date: Thu, 2 Dec 2021 16:05:05 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=97=B6=E9=97=B4=E8=BD=AC?=
=?UTF-8?q?=E6=8D=A2=E6=96=87=E4=BB=B6=202.=E6=B7=BB=E5=8A=A0=E5=B0=8F?=
=?UTF-8?q?=E7=A8=8B=E5=BA=8F=20=E8=AF=9D=E8=B4=B9=E5=85=85=E5=80=BC?=
=?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Utils/Api.js | 7 +-
Utils/js/date.js | 55 +++++++++
main.js | 14 ++-
.../unionComfirmation/unionComfirmation.vue | 111 ++++++++++++++++--
4 files changed, 174 insertions(+), 13 deletions(-)
create mode 100644 Utils/js/date.js
diff --git a/Utils/Api.js b/Utils/Api.js
index f347a74..786a695 100644
--- a/Utils/Api.js
+++ b/Utils/Api.js
@@ -134,7 +134,12 @@ export const getStoreListByMerchant = params => {
//获取优惠券详情
export const getDiscountByQrCode = params => {
return POST('GET', `${base}/discount/getDiscountByQrCode`, params).then(res => res.data);
-}
+}
+//查询话费优惠券
+export const getUserOrderPreList = params => {
+ return POST('GET', `${base}/userDiscount/getUserOrderPreList`, params).then(res => res.data);
+}
+
//领取优惠券
export const receiveDiscount = params => {
return POST('POST', `${base}/userDiscount/receiveDiscount`, params).then(res => res.data);
diff --git a/Utils/js/date.js b/Utils/js/date.js
new file mode 100644
index 0000000..b13cba8
--- /dev/null
+++ b/Utils/js/date.js
@@ -0,0 +1,55 @@
+const isNullOrEmpty = function(val) {
+ if (val == null || val == "" || typeof(val) == undefined) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+const timeFormat = (value, format) => {
+ let date = new Date(value);
+ let y = date.getFullYear();
+ let m = date.getMonth() + 1;
+ let d = date.getDate();
+ let h = date.getHours();
+ let min = date.getMinutes();
+ let s = date.getSeconds();
+ let result = "";
+ if (format == undefined) {
+ result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} ${
+ h < 10 ? "0" + h : h
+ }:${min < 10 ? "0" + min : min}:${s < 10 ? "0" + s : s}`;
+ }
+ if (format == "yyyy-mm-dd hh:mm") {
+ result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} `;
+ }
+ if (format == "yyyy-mm-dd") {
+ result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d}`;
+ }
+ if (format == "yyyy-mm") {
+ result = `${y}-${m < 10 ? "0" + m : m}`;
+ }
+ if (format == "mm-dd") {
+ result = ` ${mm < 10 ? "0" + mm : mm}:${ddmin < 10 ? "0" + dd : dd}`;
+ }
+ if (format == "hh:mm") {
+ result = ` ${h < 10 ? "0" + h : h}:${min < 10 ? "0" + min : min}`;
+ }
+ if (format == "yyyy") {
+ result = `${y}`;
+ }
+ return result;
+};
+
+
+// {{date|isNullOrEmpty}}
+// {{date|timeFormat('yyyy-mm-dd')}}
+// {{date|timeFormat('yyyy-mm')}}
+// {{date|timeFormat('hh:mm')}}
+// {{date|timeFormat('yyyy')}}
+// {{date|timeFormat}}
+
+export {
+ isNullOrEmpty,
+ timeFormat
+}
diff --git a/main.js b/main.js
index 77ee1e2..1cd853e 100644
--- a/main.js
+++ b/main.js
@@ -1,12 +1,20 @@
import Vue from 'vue'
-import App from './App'
-import {VueJsonp} from 'vue-jsonp'
+import App from './App'
+import * as filters from './Utils/js/date.js'
+import {
+ VueJsonp
+} from 'vue-jsonp'
import share from 'common/share.js'
+
+Object.keys(filters).forEach(key => {
+ Vue.filter(key, filters[key])
+})
+
Vue.config.productionTip = false
Vue.use(VueJsonp)
App.mpType = 'app'
Vue.mixin(share)
const app = new Vue({
- ...App
+ ...App
})
app.$mount()
diff --git a/subPages/unionComfirmation/unionComfirmation.vue b/subPages/unionComfirmation/unionComfirmation.vue
index ffd7661..71e2e78 100644
--- a/subPages/unionComfirmation/unionComfirmation.vue
+++ b/subPages/unionComfirmation/unionComfirmation.vue
@@ -25,6 +25,24 @@
¥{{orderPrice}}
+
+
+
+
+ 优惠抵扣{{OrderPreList.length}}张可用
+
+
+ 未使用
+
+
+
+ -¥{{deductionPrice}}
+
+
+
+
@@ -85,6 +103,21 @@
+
+ 优惠券选择
+
+
+
+
+
+
+ {{items.discountName}}
+ 有效期至:{{items.useEndTime | timeFormat('yyyy-mm-dd')}}
+
+
+
+
@@ -98,8 +131,10 @@
orderToGoldPayunion,
hltUnionCardPayUnion,
getHuiLianTongCardBalance,
- loginByPhone
+ loginByPhone,
+ getUserOrderPreList
} from '../../Utils/Api.js';
+ import wybPopup from '../../components/wyb-popup/wyb-popup.vue';
import ssPaymentPassword from '../../components/sanshui-payment-password';
let app = getApp();
// #ifdef H5
@@ -107,6 +142,7 @@
// #endif
export default {
components: {
+ wybPopup,
ssPaymentPassword
},
data() {
@@ -127,25 +163,28 @@
radioStatus: true,
memDiscountId: '',
user: '',
- paytype: '',
+ paytype: 'weixin',
PaymentPassword: '',
orderId: '',
jumpType: '',
tongCardPrice: 0,
-
//话费充值
orderPrice: 0,
- payPrice: 0,
+ payPrice: 0,
+ //保存价格
+ saveprice:0,
rechargeContent: '',
rechargeModel: '',
agentKey: '',
- objectId: ''
+ objectId: '',
+ OrderPreList: []
};
},
onLoad(options) {
this.orderPrice = options.orderPrice;
- this.payPrice = options.payPrice;
+ this.payPrice = options.payPrice;
+ this.saveprice = options.payPrice;
this.rechargeContent = options.rechargeContent;
this.rechargeModel = options.rechargeModel;
this.agentKey = options.agentKey;
@@ -153,9 +192,12 @@
},
onShow() {
let that = this;
- that.paytype = '';
+ that.paytype = 'weixin';
that.user = app.globalData.userInfo;
that.findUser();
+ // #ifdef MP
+ that.getUserOrderPreList();
+ // #endif
},
onHide() {
@@ -176,6 +218,17 @@
}
});
},
+ //查询优惠券
+ getUserOrderPreList() {
+ let params = {
+ usingAttribution: 1
+ }
+ getUserOrderPreList(params).then(res => {
+ if (res.return_code == '000000') {
+ this.OrderPreList = res.return_data;
+ }
+ });
+ },
//显示弹出
showPopup() {
this.$refs.popup.show();
@@ -199,6 +252,40 @@
url: '/pages/login/register'
})
},
+ radioChanges(item) {
+ this.paytheprice = this.saveprice;
+ if (this.memDiscountId == item.id) { // 如果已经选中,则取消选中
+ this.memDiscountId = '';
+ this.payPrice = this.saveprice;
+ this.deductionPrice = '0.00';
+ } else { // 否则进行选中赋值
+ this.memDiscountId = item.id;
+ if (item.discountType == 1) {
+ if (this.paytheprice > item.discountPrice) {
+ //满减价格
+ this.deductionPrice = item.discountPrice;
+ this.payPrice = (((this.paytheprice * 100) - (this.deductionPrice * 100)) /
+ 100);
+ } else {
+ uni.showToast({
+ title: '未满足满减条件',
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ } else if (item.discountType == 2) {
+ //抵扣价格
+ this.deductionPrice = item.discountPrice;
+ this.payPrice = (((this.paytheprice * 100) - (this.deductionPrice * 100)) / 100);
+ } else if (item.discountType == 3) {
+ // 打折
+ this.deductionPrice = this.paytheprice - this.paytheprice * (
+ item.discountPrice / 10);
+ this.payPrice = this.paytheprice * (item.discountPrice / 10);
+ }
+ }
+ this.$refs.popup.hide();
+ },
// 微信获取手机号
loginByPhone(PhoneNumber) {
if (PhoneNumber.detail.iv == undefined) {
@@ -292,6 +379,10 @@
return;
}
},
+ //弹出优惠券
+ showPopup() {
+ this.$refs.popup.show();
+ },
//获取订单数据
orderToUNionPay(item) {
let that = this;
@@ -520,7 +611,7 @@
border-radius: 8px;
}
- .jtcs {
+ .j {
width: 40rpx;
height: 40rpx;
margin-top: 30rpx;
@@ -540,7 +631,8 @@
width: 100%;
height: 25px;
text-align: right;
- margin-top: -20px;
+ margin-top: -30px;
+ margin-left: 50px;
}
.price-number {
@@ -627,6 +719,7 @@
image {
width: 170rpx;
max-height: 170rpx;
+ margin-left: 10px;
}
}