diff --git a/package-lock.json b/package-lock.json index 8a57e32b..48e341a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,3 @@ { - "name": "smart-admin", - "lockfileVersion": 2, - "requires": true, - "packages": {} + "lockfileVersion": 1 } diff --git a/rc-busness/pages/personal/discount.vue b/rc-busness/pages/personal/discount.vue index f1fb7b69..56e1dd01 100644 --- a/rc-busness/pages/personal/discount.vue +++ b/rc-busness/pages/personal/discount.vue @@ -37,7 +37,7 @@ ¥ - {{ item.couponAmount?item.couponAmount:(parseInt((1-item.discount)*10)+'折') }} + {{ item.couponAmount?item.couponAmount:(parseInt(10 - item.discount*10)+'折') }} {{ item.couponName }} diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index 5ea680de..79a6afbc 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -167,7 +167,7 @@ ¥ - {{ item.couponAmount?item.couponAmount:(parseInt((1-item.discount)*10)+'折') }} + {{ item.couponAmount?item.couponAmount:(parseInt(10 - item.discount*10)+'折') }} {{ item.couponName }} @@ -268,8 +268,9 @@ export default { }, methods: { ...mapMutations(["checkIsLogin"]), + /* 计算优惠券价格 */ discountedSumPrice() { - let total = 0; + /* 判断是否为商品卷 */ if(this.curCoupon.productCodes) this.finalAmount = this.qualifiedProductDiscount(); else @@ -282,7 +283,16 @@ export default { let checkResult = true; if(this.curCoupon.minPrice && this.curCoupon.minPrice > this.sumPrice) { checkResult = false; - } + } + if(this.curCoupon.minQuantity && this.curCoupon.minQuantity > 0) { + let totalItemNum = 0; + let tmpShoppingCartList = this.arrSort(this.goldmedal); + for(let itemInCart of tmpShoppingCartList) { + totalItemNum += itemInCart.buyCount; + } + if(this.curCoupon.minQuantity > totalItemNum) + checkResult = false; + } if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > this.sumPrice) { checkResult = false; } @@ -301,72 +311,93 @@ export default { return this.sumPrice; } }, + /* 计算价格商品折扣 */ qualifiedProductDiscount(){ this.discountedItemIndex = 0; let total = 0; + let totalItemNum = 0; //判断满足优惠券条件的商品数量 let couponUsed = false; - let tmpShoppingCartList = this.arrSort(this.goldmedal); - let qualifiedProductAmount = 0; + let tmpShoppingCartList = this.arrSort(this.goldmedal); //对应的商品 + let qualifiedProductAmount = 0; //满足条件的优惠券商品价格总价 let skipQualifiedProductAmountCalculating = false; - + let checkResult = true; //是否可使用 + let selectProduct = []; //满足条件的商品 for(let itemInCart of tmpShoppingCartList) { if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount); + totalItemNum += itemInCart.buyCount; } } + if(this.curCoupon.minPrice && this.curCoupon.minPrice > qualifiedProductAmount) { + checkResult = false; + } + if(this.curCoupon.minQuantity && this.curCoupon.minQuantity > totalItemNum) { + checkResult = false; + } + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { + checkResult = false; + } + + // couponTypeId + // 0-不用折扣 + // 1-狗干粮金额券(50) + // 2-通用金额满减券(50) + // 3-通用折扣券(6折) + // 4-指定干粮折扣券(7折) + // 6-指定干粮金额券(100) for(let itemInCart of tmpShoppingCartList) { - if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed) { - if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) { - //Check minQuantity - total+=(itemInCart.buyCount * itemInCart.productPrice); - } else if(this.curCoupon.minPrice && this.curCoupon.minPrice > (itemInCart.buyCount * itemInCart.productPrice)) { - //Check minPrice - total+=(itemInCart.buyCount * itemInCart.productPrice); - } else { - //Into coupon discount calculation - switch(this.curCoupon.couponTypeId) { - case 1: //Amount deduct - /* - if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { - total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); - this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; - couponUsed=true; - } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { - total = total + itemInCart.productPrice * itemInCart.buyCount; - this.discountAmount = 0; - this.curCoupon = {couponName:'未能使用该优惠券'}; - } - break; - */ - case 2: //Amount deduct with minPrice restriction - case 6: - if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= qualifiedProductAmount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { - total = total + qualifiedProductAmount - this.curCoupon.couponAmount; - this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; - skipQualifiedProductAmountCalculating = true; - couponUsed=true; - } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { - total = total + itemInCart.productPrice * itemInCart.buyCount; - this.discountAmount = 0; - this.curCoupon = {couponName:'未能使用该优惠券'}; - } - break; - case 3: //Limited product % discount - case 4: //% discount - total = total + (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount ); - this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount; + if(this.curCoupon.productCodes && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed && checkResult) { + console.log(itemInCart,'itemInCart'); + //Into coupon discount calculation + switch(this.curCoupon.couponTypeId) { + case 1: //Amount deduct + /* + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); + this.discountAmount = this.curCoupon.couponAmount; this.discountedProductCode = itemInCart.productCode; couponUsed=true; - break; - default: - total += itemInCart.productPrice * itemInCart.buyCount; - break; - } - //Into coupon discount calculation end + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + itemInCart.productPrice * itemInCart.buyCount; + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + } + break; + */ + case 2: //Amount deduct with minPrice restriction + case 6: + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= qualifiedProductAmount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + total = total + qualifiedProductAmount - this.curCoupon.couponAmount; + this.discountAmount = this.curCoupon.couponAmount; + this.discountedProductCode = itemInCart.productCode; + skipQualifiedProductAmountCalculating = true; + couponUsed=true; + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { + total = total + itemInCart.productPrice * itemInCart.buyCount; + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + } + break; + case 3: //Limited product % discount + case 4: //% discount + if(this.curCoupon.discount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + total = total + qualifiedProductAmount * ( 1 - this.curCoupon.discount ); + this.discountAmount = qualifiedProductAmount * this.curCoupon.discount; + this.discountedProductCode = itemInCart.productCode; + couponUsed=true; + skipQualifiedProductAmountCalculating = true; + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { + total = total + itemInCart.productPrice * itemInCart.buyCount; + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + } + break; + default: + total += itemInCart.productPrice * itemInCart.buyCount; + break; } + //Into coupon discount calculation end } else { if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { @@ -375,6 +406,11 @@ export default { } } } + if(!couponUsed) { + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + total = this.sumPrice; + } return total; }, arrSort(arr) { @@ -436,16 +472,13 @@ export default { let avaliableCouponNum = 0; if (data) { this.drawlist=[]; - //avaliableCouponNum = data.length; - //this.drawlist = data.data; - + /* for(let itemInCart of this.goldmedal) { let tmpIndex=0; for(let myCoupon of data.data) { valDateFromTime=0; valDateToTime=0; dateChecked=true; - /* */ if(myCoupon.fValidFrom) { //Fix ios date issue myCoupon.fValidFrom = myCoupon.fValidFrom.replace(/-/g, '/'); @@ -487,12 +520,17 @@ export default { tmpIndex++; } } - + */ + + avaliableCouponNum = data.length; + this.drawlist = data.data; + if(avaliableCouponNum > 0) { this.curCoupon.couponName = '有 '+avaliableCouponNum+' 张优惠券可以使用'; } } }, + /* 关闭弹出框 计算价格 */ pickCoupon(item){ this.curCoupon = item; this.dialogInfo1 = false; diff --git a/rc-busness/pages/personal/useraddress.vue b/rc-busness/pages/personal/useraddress.vue index c0d5bcee..1415c2ea 100644 --- a/rc-busness/pages/personal/useraddress.vue +++ b/rc-busness/pages/personal/useraddress.vue @@ -215,75 +215,16 @@ export default { goldmedal: [ { - ordernumber: "1111111111111111111", + ordernumber: "", orderstype: 1, - usereat: "专属升级奖励", + usereat: "", ordernum: 0, - num: "5kg", - specification: "1", - buttontitle: "立即支付", - userprice: "167.00", - catimage: require("../../assets/image/rc-win.png"), - }, - - { - ordernumber: "1111111111111111111", - - usereat: "每年4次免积分产品试吃", - ordernum: 0, - buttontitle: "再次购买", - catimage: require("../../assets/image/usereat.png"), - orderstype: 2, - userprice: "167.00", - }, - { - ordernumber: "1111111111111111111", - usereat: "尊享订单免邮服务(指点商品)", - ordernum: 0, - buttontitle: "取消订单", - catimage: require("../../assets/image/usercar.png"), - orderstype: 3, - userprice: "167.00", - }, - { - ordernumber: "1111111111111111111", - usereat: "365天专属养宠工具", - ordernum: 1, - catimage: require("../../assets/image/rc-growth.png"), - orderstype: 1, - userprice: "167.00", - }, - { - ordernumber: "1111111111111111111", - usereat: "10年专业团队1v1咨询", - ordernum: 2, - catimage: require("../../assets/image/consult.png"), - orderstype: 2, - userprice: "167.00", - }, - { - ordernumber: "1111111111111111111", - usereat: "行业大咖专业养宠知识", - ordernum: 3, - catimage: require("../../assets/image/rc-book.png"), - orderstype: 3, - userprice: "167.00", - }, - { - ordernumber: "1111111111111111111", - usereat: "爱宠生活定制活动高级养宠宝典", - ordernum: 3, - catimage: require("../../assets/image/userself.png"), - orderstype: 3, - userprice: "167.00", - }, - { - usereat: "每年积分兑换1次价值288元的免费体检及100元医院绝育券", - ordernum: 4, - catimage: require("../../assets/image/rc-health.png"), - orderstype: 3, - userprice: "167.00", - }, + num: "", + specification: "", + buttontitle: "", + userprice: "", + catimage: '', + } ], }; }, @@ -322,6 +263,9 @@ export default { this.receiving=[]; this.pending=[]; for (let i = 0; i < this.goldmedal.length; i++) { + + if(!this.goldmedal[i].orderDetailList) + continue; this.useralllist.push(this.goldmedal[i].orderDetailList[0]); this.alllist.push(this.goldmedal[i].orderDetailList[0]) this.allmessage.push(this.goldmedal[i].orderDetailList[0]) @@ -334,14 +278,19 @@ export default { this.pending.push(this.goldmedal[i].orderDetailList[0]); } } - for (let i = 0; i < this.goldmedal.length; i++) { - this.useralllist[i].orderNumber = this.goldmedal[i].orderNumber; - this.useralllist[i].status = this.goldmedal[i].status; - this.useralllist[i].addressUserName = this.goldmedal[i].addressUserName; - this.useralllist[i].phoneNumber = this.goldmedal[i].addressPhoneNumber; - this.useralllist[i].salesAmount = this.goldmedal[i].salesAmount; - this.useralllist[i].lengthnum=this.goldmedal[i].orderDetailList.length; - this.useralllist[i].paytype=this.goldmedal[i].paytype; + for (let y = 0; y < this.goldmedal.length; y++) { + if(!this.goldmedal[y].orderDetailList) + continue; + if(!this.useralllist[y]){ + this.useralllist[y] = {}; + } + this.useralllist[y].orderNumber = this.goldmedal[y].orderNumber; + this.useralllist[y].status = this.goldmedal[y].status; + this.useralllist[y].addressUserName = this.goldmedal[y].addressUserName; + this.useralllist[y].phoneNumber = this.goldmedal[y].addressPhoneNumber; + this.useralllist[y].salesAmount = this.goldmedal[y].salesAmount; + this.useralllist[y].lengthnum=this.goldmedal[y].orderDetailList.length; + this.useralllist[y].paytype=this.goldmedal[y].paytype; } if(this.userstype==1){ this.useralllist=this.obligation @@ -407,12 +356,13 @@ export default { type: "warning", message: "取消订单成功", }); - setTimeout(() => { - this.indet(this.userdata); - this.activeIndex=0; - this.useralllist=[]; - }, 500); - + /* 这个在全部变量去除的时候 记得加 */ + // setTimeout(() => { + // this.indet(this.userdata); + // this.activeIndex=0; + // this.useralllist=[]; + // console.log('2222'); + // }, 500); } }, @@ -456,10 +406,9 @@ export default { this.activeIndex = index; if(item.title=='待付款'){ list=this.obligation - } - else if(item.title=='待收货'){ + } else if(item.title=='待收货'){ list=this.receiving - }else if(item.title=='待发货'){ + } else if(item.title=='待发货'){ this.useralllist=this.pending list=this.pending } diff --git a/rc-busness/pages/productdetails/producted.vue b/rc-busness/pages/productdetails/producted.vue index 23f54325..345747fc 100644 --- a/rc-busness/pages/productdetails/producted.vue +++ b/rc-busness/pages/productdetails/producted.vue @@ -109,7 +109,7 @@
@@ -237,7 +237,8 @@ ¥ - {{ item.couponAmount?item.couponAmount:(parseInt((1-item.discount)*10)+'折') }} + + {{ item.couponAmount?item.couponAmount:(parseInt(10 - item.discount*10)+'折') }} {{ item.couponName }} @@ -280,7 +281,7 @@ 立即购买 @@ -510,7 +511,27 @@ export default { } ]) }, - + goBuyRxgoods() { + this.checkIsLogin(); + let _self = this; + let memberId = ''; + if (this.$store.state.userInfo && this.$store.state.userInfo.data !== undefined) { + memberId = this.$store.state.userInfo.data.id; + } + _hmt.push([ + '_trackCustomEvent', + 'buy_rxgoods', + { + 'member_id': memberId, // 会员ID,文本类型 + 'product_name': this.curItem.productName, // 商品名称,文本类型 + 'product_id': this.curItem.productCode // 商品ID,文本类型 + } + ]) + + setTimeout(function(){ + window.open(_self.curItem.curGoodUrl, '_blank'); + },1000); + }, //获取用户领取的优惠券 async getconf(memberId, couponId) { let data = await getConfig(memberId, couponId); diff --git a/rc-busness/pages/userlogin/login.vue b/rc-busness/pages/userlogin/login.vue index 7d491632..623ac748 100644 --- a/rc-busness/pages/userlogin/login.vue +++ b/rc-busness/pages/userlogin/login.vue @@ -143,7 +143,7 @@