From 0069b7c6fd8160c1f480ebd573c14ea791e6835d Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Tue, 19 Nov 2024 17:48:48 +0800
Subject: [PATCH 01/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/pay-order/pay-order.vue | 10 ++++---
pagesOrder/quan/quan.vue | 43 +++++++++++++++++++++---------
pagesOrder/quan_util.js | 26 +++++++++++++++++-
3 files changed, 62 insertions(+), 17 deletions(-)
diff --git a/pagesOrder/pay-order/pay-order.vue b/pagesOrder/pay-order/pay-order.vue
index 4f46e2c..20b508d 100644
--- a/pagesOrder/pay-order/pay-order.vue
+++ b/pagesOrder/pay-order/pay-order.vue
@@ -227,7 +227,7 @@
import editDiscount from '@/components/my-components/edit-discount.vue'
import editAccountPoints from './components/edit-accountPoints.vue'
import {
- returnGoodsPayPriceMap,returnProCoupStartIndex ,returnProductCoupAllPrice
+ returnGoodsPayPriceMap,returnProCoupStartIndex ,returnProductCoupAllPrice,returnProductCanUseNum
} from '../quan_util.js'
//商品数量从0到n每一个对应的价格
let $goodsPayPriceMap={}
@@ -396,7 +396,7 @@
uni.$on('choose-quan', (arr) => {
console.log(arr);
const manjianCoup = arr.filter(v => v.type == 1&&v.num>=1)
- let productCoup = arr.filter(v => v.type == 2&&v.num>=1)
+ let productCoup = arr.filter(v => v.type == 2)
console.log(productCoup);
//商品券分组
let coupMap={}
@@ -408,16 +408,20 @@
coupMap[coup.proId]=[coup]
}
}
+ console.log(coupMap);
for(let key in coupMap){
const arr=coupMap[key]
for(let i in arr){
const coup=arr[i]
const proCoupStartIndex=returnProCoupStartIndex(arr,i)
- const num=Math.min($goodsPayPriceMap[coup.proId].length,coup.num)
+ console.log(proCoupStartIndex);
+ const coupUseNum=returnProductCanUseNum($goodsPayPriceMap[coup.proId],proCoupStartIndex,coup.num)
+ const num=Math.min($goodsPayPriceMap[coup.proId].length,coupUseNum)
coup.num=num
coup.discountAmount=returnProductCoupAllPrice($goodsPayPriceMap[coup.proId],proCoupStartIndex,num).toFixed(2)
}
}
+ productCoup=productCoup.filter(v=>v.num>=1)
console.log(productCoup);
pays.quan = [...manjianCoup, ...productCoup]
})
diff --git a/pagesOrder/quan/quan.vue b/pagesOrder/quan/quan.vue
index 9ab6782..c9c386b 100644
--- a/pagesOrder/quan/quan.vue
+++ b/pagesOrder/quan/quan.vue
@@ -21,7 +21,8 @@
有效期:
- {{dayjs(item.endTime).format('YYYY-MM-DD HH:mm:ss') }}
+ {{dayjs(item.endTime).format('YYYY-MM-DD HH:mm:ss') }}
+
{{ formatStr(item.useRestrictions)}}
@@ -65,7 +66,8 @@
有效期:
- {{dayjs(item.endTime).format('YYYY-MM-DD HH:mm:ss') }}
+ {{dayjs(item.endTime).format('YYYY-MM-DD HH:mm:ss') }}
+
{{ formatStr(item.useRestrictions)}}
@@ -92,7 +94,7 @@
-
+
抵扣金额:
@@ -103,7 +105,8 @@
支付金额:
¥
{{payPrice }}
-
+
¥
{{option.orderPrice}}
@@ -229,13 +232,18 @@
if (!item.use) {
return
}
- console.log();
if (myQuan.fullReductionCouponSel.id && !item.checked) {
const goodsQuan = myQuan.res.productCoupon.filter(v => v.checked)
const fullReductionCoupon = myQuan.fullReductionCouponSel.id ? [myQuan.fullReductionCouponSel] : []
let coupArr = [...goodsQuan, item]
const payPrice = option.orderPrice - returnCouponAllPrice(coupArr, canDikouGoodsArr, user.value)
- console.log(payPrice);
+ if (payPrice<=0) {
+ modal.content = '选择该商品券后支付金额将为0,继续选择将取消选择的满减券'
+ modal.cancelText = '取消'
+ modal.confirmText = '继续选择'
+ setModalShow('clear', true, item)
+ return
+ }
if (myQuan.fullReductionCouponSel.fullAmount > payPrice) {
modal.content = '选择该商品券后将不满足选择抵扣券的最低满减需求,继续选择将取消选择的满减券'
modal.cancelText = '取消'
@@ -247,11 +255,18 @@
item.checked = !item.checked
const CheckedArr = myQuan.res.productCoupon.filter(v => v.checked)
+ if (CheckedArr.length <= 0) {
+ return myQuan.res.productCoupon.map(v => {
+ v.use = true
+ })
+ }
const noCheckedArr = myQuan.res.productCoupon.filter(v => !v.checked)
noCheckedArr.map(v => {
console.log(returnCoupCanUse(canDikouGoodsArr, v, CheckedArr));
v.use = returnCoupCanUse(canDikouGoodsArr, v, CheckedArr)
})
+
+
}
function changeFullReductionCouponSel(item) {
@@ -263,10 +278,11 @@
myQuan.fullReductionCouponSel = {
id: ''
}
- }else{
+ } else {
myQuan.fullReductionCouponSel = item
}
- myQuan.res.fullReductionCoupon=returnCanUseFullReductionCoupon($fullReductionCoupon, payPrice.value, myQuan.fullReductionCouponSel)
+ myQuan.res.fullReductionCoupon = returnCanUseFullReductionCoupon($fullReductionCoupon, payPrice.value, myQuan
+ .fullReductionCouponSel)
}
function formatStr(str) {
@@ -316,7 +332,7 @@
const option = reactive({
orderId: '',
memberId: '',
- orderPrice:0
+ orderPrice: 0
})
function toEmitChooseQuan(item) {
@@ -339,13 +355,14 @@
let coupArr = [...fullReductionCoupon, ...goodsQuan]
return returnCouponAllPrice(coupArr, canDikouGoodsArr, user.value)
})
- const payPrice=computed(()=>{
- const pay= option.orderPrice-discountAmount.value
- return (pay<0?0:pay).toFixed(2)
+ const payPrice = computed(() => {
+ const pay = option.orderPrice - discountAmount.value
+ return (pay < 0 ? 0 : pay).toFixed(2)
})
watch(() => myQuan.types.sel, (newval) => {
if (newval == 0) {
- myQuan.res.fullReductionCoupon = returnCanUseFullReductionCoupon($fullReductionCoupon, payPrice.value, myQuan.fullReductionCouponSel)
+ myQuan.res.fullReductionCoupon = returnCanUseFullReductionCoupon($fullReductionCoupon, payPrice.value,
+ myQuan.fullReductionCouponSel)
}
if (newval == 1) {
diff --git a/pagesOrder/quan_util.js b/pagesOrder/quan_util.js
index 903c60e..78360d7 100644
--- a/pagesOrder/quan_util.js
+++ b/pagesOrder/quan_util.js
@@ -40,7 +40,8 @@ export function returnCoupCanUse(goodsArr = [], coup, selCoupArr = []) {
if (selCoupNumber >= findGoodsTotalNumber) {
return false
}
- return findGoodsTotalNumber < (coup.num + selCoupNumber) ? false : true
+ console.log(selCoupNumber,findGoodsTotalNumber);
+ return findGoodsTotalNumber < selCoupNumber ? false : true
}
//查找购物车商品根据购物车商品数据返回商品券信息(抵扣价格以及是否满足可用需求)
export function returnProductCoupon(coup, goodsArr, vipUser, selCoupArr = []) {
@@ -101,6 +102,23 @@ export function returnProductCoupAllPrice(productPriceArr,startIndex,num){
return prve+curPrice
},0)
}
+
+//返回商品券可抵扣的商品数量
+export function returnProductCanUseNum(productPriceArr,startIndex,num){
+ console.log(productPriceArr);
+ console.log(num);
+ let n=0;
+ for(let i=0;i{
@@ -201,6 +219,12 @@ export function returnCanUseFullReductionCoupon(coupArr, payPrice, selCoup) {
return v
}
const isfullAmount = payPrice >= v.fullAmount * 1
+ if(payPrice<=0){
+ return {
+ ...v,
+ use: false
+ }
+ }
return {
...v,
use: v.use && isfullAmount
From 61938a694793a87d00c61aa4f54e8d0506fc85a3 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 10:12:49 +0800
Subject: [PATCH 02/16] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BD=93=E6=94=AF?=
=?UTF-8?q?=E4=BB=98=E9=87=91=E9=A2=9D=E4=B8=BA0=E6=97=B6=EF=BC=8C?=
=?UTF-8?q?=E6=8A=B5=E6=89=A3=E5=88=B8=E9=80=89=E4=B8=AD=E5=90=8E=E4=BC=9A?=
=?UTF-8?q?=E5=8F=98=E4=B8=8D=E5=8F=AF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/index/compoents/order-item.vue | 4 +-
pagesOrder/pay-order/pay-order.vue | 73 ++++++++++++++---------
pagesOrder/quan/quan.vue | 14 ++++-
pagesOrder/quan_util.js | 16 +++++
4 files changed, 74 insertions(+), 33 deletions(-)
diff --git a/pagesOrder/index/compoents/order-item.vue b/pagesOrder/index/compoents/order-item.vue
index 0ff834f..3592fa1 100644
--- a/pagesOrder/index/compoents/order-item.vue
+++ b/pagesOrder/index/compoents/order-item.vue
@@ -48,7 +48,7 @@
-
+
¥{{goodsPriceAmount(item)}}
@@ -164,7 +164,7 @@
}
function goodsVipPriceAmount(item) {
- const price = (props.data.memberId&&item.isMember) ? item.memberPrice : item.price
+ const price = item.memberPrice ? item.memberPrice : item.price
return (price * item.num).toFixed(2)
}
// const packeFee=computed(()=>{
diff --git a/pagesOrder/pay-order/pay-order.vue b/pagesOrder/pay-order/pay-order.vue
index 20b508d..8946582 100644
--- a/pagesOrder/pay-order/pay-order.vue
+++ b/pagesOrder/pay-order/pay-order.vue
@@ -46,9 +46,16 @@
{{item.name}}
x{{item.num}}
-
- -¥{{item.discountAmount}}
+
+
+ -¥{{item.discountAmount}}
+
+
+
+
+
+
@@ -196,7 +203,8 @@
-
+
@@ -227,13 +235,19 @@
import editDiscount from '@/components/my-components/edit-discount.vue'
import editAccountPoints from './components/edit-accountPoints.vue'
import {
- returnGoodsPayPriceMap,returnProCoupStartIndex ,returnProductCoupAllPrice,returnProductCanUseNum
+ returnGoodsPayPriceMap,
+ returnProCoupStartIndex,
+ returnProductCoupAllPrice,
+ returnProductCanUseNum
} from '../quan_util.js'
//商品数量从0到n每一个对应的价格
- let $goodsPayPriceMap={}
-
- const refPoints = ref(null)
+ let $goodsPayPriceMap = {}
+ const refPoints = ref(null)
+
+ function delQuan(i){
+ pays.quan.splice(i,1)
+ }
function refPointsOpen() {
if (!accountPoints.calcRes.usable && accountPoints.sel) {
return
@@ -251,8 +265,9 @@
},
price: 0
})
- function pointsConfirm(e){
- accountPoints.num=e
+
+ function pointsConfirm(e) {
+ accountPoints.num = e
}
async function calcUsablePoints() {
if (!order.memberId) {
@@ -308,7 +323,7 @@
go.to('PAGES_ORDER_QUAN', {
orderId: order.id,
memberId: order.memberId,
- orderPrice: payPrice.value*1+coupAllPrice.value*1
+ orderPrice: payPrice.value * 1 + coupAllPrice.value * 1
})
}
async function discountShow() {
@@ -395,33 +410,35 @@
uni.$off('choose-quan')
uni.$on('choose-quan', (arr) => {
console.log(arr);
- const manjianCoup = arr.filter(v => v.type == 1&&v.num>=1)
+ const manjianCoup = arr.filter(v => v.type == 1 && v.num >= 1)
let productCoup = arr.filter(v => v.type == 2)
console.log(productCoup);
//商品券分组
- let coupMap={}
- for(let i in productCoup){
- const coup=productCoup[i]
- if(coupMap.hasOwnProperty(coup.proId)){
+ let coupMap = {}
+ for (let i in productCoup) {
+ const coup = productCoup[i]
+ if (coupMap.hasOwnProperty(coup.proId)) {
coupMap[coup.proId].push(coup)
- }else{
- coupMap[coup.proId]=[coup]
+ } else {
+ coupMap[coup.proId] = [coup]
}
}
console.log(coupMap);
- for(let key in coupMap){
- const arr=coupMap[key]
- for(let i in arr){
- const coup=arr[i]
- const proCoupStartIndex=returnProCoupStartIndex(arr,i)
+ for (let key in coupMap) {
+ const arr = coupMap[key]
+ for (let i in arr) {
+ const coup = arr[i]
+ const proCoupStartIndex = returnProCoupStartIndex(arr, i)
console.log(proCoupStartIndex);
- const coupUseNum=returnProductCanUseNum($goodsPayPriceMap[coup.proId],proCoupStartIndex,coup.num)
- const num=Math.min($goodsPayPriceMap[coup.proId].length,coupUseNum)
- coup.num=num
- coup.discountAmount=returnProductCoupAllPrice($goodsPayPriceMap[coup.proId],proCoupStartIndex,num).toFixed(2)
+ const coupUseNum = returnProductCanUseNum($goodsPayPriceMap[coup.proId], proCoupStartIndex,
+ coup.num)
+ const num = Math.min($goodsPayPriceMap[coup.proId].length, coupUseNum)
+ coup.num = num
+ coup.discountAmount = returnProductCoupAllPrice($goodsPayPriceMap[coup.proId],
+ proCoupStartIndex, num).toFixed(2)
}
}
- productCoup=productCoup.filter(v=>v.num>=1)
+ productCoup = productCoup.filter(v => v.num >= 1)
console.log(productCoup);
pays.quan = [...manjianCoup, ...productCoup]
})
@@ -588,7 +605,7 @@
async function init() {
const orderRes = await orderApi.tbOrderInfoDetail(order.orderId)
Object.assign(order, orderRes)
- $goodsPayPriceMap=returnGoodsPayPriceMap(order.detailList)
+ $goodsPayPriceMap = returnGoodsPayPriceMap(order.detailList)
console.log($goodsPayPriceMap);
if (orderRes.memberId) {
calcUsablePoints()
diff --git a/pagesOrder/quan/quan.vue b/pagesOrder/quan/quan.vue
index c9c386b..79404d5 100644
--- a/pagesOrder/quan/quan.vue
+++ b/pagesOrder/quan/quan.vue
@@ -315,13 +315,21 @@
memberId: option.memberId
})
canDikouGoodsArr = returnNewGoodsList(order.value.detailList || [])
- res.fullReductionCoupon = res.fullReductionCoupon.filter((v) => v.use && option.orderPrice * 1 >= v
- .fullAmount * 1)
+ res.fullReductionCoupon = res.fullReductionCoupon.filter((v) => {
+ if(option.orderPrice<=0){
+ return false
+ }else{
+ return v.use && option.orderPrice * 1 >= v
+ .fullAmount * 1
+ }
+
+ })
res.productCoupon = res.productCoupon.map(v => {
const calcCoup = returnProductCoupon(v, canDikouGoodsArr, user.value)
return {
...calcCoup,
- checked: false
+ checked: false,
+ use:option.orderPrice<=0?false:v.use
}
}).filter((v) => v.use);
$fullReductionCoupon = res.fullReductionCoupon
diff --git a/pagesOrder/quan_util.js b/pagesOrder/quan_util.js
index 78360d7..e447c12 100644
--- a/pagesOrder/quan_util.js
+++ b/pagesOrder/quan_util.js
@@ -230,4 +230,20 @@ export function returnCanUseFullReductionCoupon(coupArr, payPrice, selCoup) {
use: v.use && isfullAmount
}
})
+}
+
+//根据商品数量还有商品券数量返回优惠券可以使用的数量数组
+export function returnCanUseNumProductCoup(coupArr,){
+ let productCoup = coupArr.filter(v => v.type == 2)
+ //商品券分组
+ let coupMap={}
+ for(let i in productCoup){
+ const coup=productCoup[i]
+ if(coupMap.hasOwnProperty(coup.proId)){
+ coupMap[coup.proId].push(coup)
+ }else{
+ coupMap[coup.proId]=[coup]
+ }
+ }
+ return arr
}
\ No newline at end of file
From cad9e052bc41e44671bedb602e256c3ef145f9c2 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 10:59:50 +0800
Subject: [PATCH 03/16] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=AB=E7=A0=81?=
=?UTF-8?q?=E6=94=AF=E4=BB=98=E7=BC=BA=E5=B0=91=E9=83=A8=E5=88=86=E5=8F=82?=
=?UTF-8?q?=E6=95=B0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/pay-order/pay-order.vue | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/pagesOrder/pay-order/pay-order.vue b/pagesOrder/pay-order/pay-order.vue
index 8946582..2f14e50 100644
--- a/pagesOrder/pay-order/pay-order.vue
+++ b/pagesOrder/pay-order/pay-order.vue
@@ -576,10 +576,20 @@
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
Api.$payOrder({
- "orderId": order.orderId, // 订单id
- "payType": item.payType, //
- "discount": order.discount,
- "code": res.result
+ orderId: order.id || order.orderId,
+ payType: item.payType, //
+ discount: order.discount,
+ code: res.result,
+ tableId: order.tableId,
+ masterId: order.masterId,
+ vipUserId: order.memberId,
+ pointsNum: accountPoints.sel ? accountPoints.num : 0,
+ userCouponInfos: pays.quan.map(v => {
+ return {
+ userCouponId: v.id,
+ num: v.num
+ }
+ })
}).then(res => {
console.log(res);
paySuccess()
From da7474c9d580e3168ce9fe4ff1c5db235af96bba Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 11:00:14 +0800
Subject: [PATCH 04/16] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A1=AE=E8=AE=A4?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BC=9A=E5=91=98=E4=BB=B7=E6=9C=AA=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E6=80=BB=E4=BC=98=E6=83=A0=E9=87=91=E9=A2=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../confirm-order/confirm-order.vue | 38 +++++++++++++++----
1 file changed, 30 insertions(+), 8 deletions(-)
diff --git a/pagesCreateOrder/confirm-order/confirm-order.vue b/pagesCreateOrder/confirm-order/confirm-order.vue
index a91007d..c7d7939 100644
--- a/pagesCreateOrder/confirm-order/confirm-order.vue
+++ b/pagesCreateOrder/confirm-order/confirm-order.vue
@@ -17,15 +17,17 @@
- {{user.nickName}}
- {{user.isVip?'会员':'' }}
- 余额:
+
+ {{user.nickName}}
+
+ 余额:{{user.amount}}
- 积分:积分:{{user.accountPoints}}
-
+
@@ -168,7 +170,7 @@
-
+
¥{{formatPrice(item.salePrice*item.number) }}
@@ -239,10 +241,17 @@
-
+
+
+
+ 优惠金额
+ ¥{{formatPrice(youhui) }}
+
+
+
实收金额
¥{{formatPrice(allPrice) }}
@@ -512,7 +521,7 @@
totalAmount: 0,
})
const isVip=computed(()=>{
- return $shop.isMemberPrice&& user.value&&user.value.id&&user.value.isVip
+ return $shop.value.isMemberPrice&& user.value&&user.value.id&&user.value.isVip
})
const goodsPrice = computed(() => {
const goodsTotalPrice = goods.list.reduce((prve, cur) => {
@@ -532,6 +541,19 @@
// }, 0)
// return (goodsTotalPrice + ($seatFee.totalAmount || 0)).toFixed(2)
})
+ const youhui=computed(()=>{
+ if(user.value&&user.value.id&&user.value.isVip){
+ const goodsTotalPrice = goods.list.reduce((prve, cur) => {
+ const tPrice = cur.salePrice * cur.number
+ const tpackFee = cur.isPack ? cur.packFee * 1 : 0
+ return prve + tPrice + tpackFee
+ }, 0)
+ return goodsTotalPrice-allPrice.value
+ }else{
+ return 0
+ }
+ return goodsTotalPrice
+ })
function setGoodsItem(key, val) {
item[key] = val
From 757b87f33daa3aa56d63242cfdb59ddc14a174f7 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 11:08:33 +0800
Subject: [PATCH 05/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A7=AF=E5=88=86?=
=?UTF-8?q?=E6=8A=B5=E6=89=A3=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/pay-order/pay-order.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pagesOrder/pay-order/pay-order.vue b/pagesOrder/pay-order/pay-order.vue
index 2f14e50..d91a38c 100644
--- a/pagesOrder/pay-order/pay-order.vue
+++ b/pagesOrder/pay-order/pay-order.vue
@@ -114,7 +114,7 @@
-
积分抵扣
@@ -127,9 +127,9 @@
-
+
{{accountPoints.num}}
-
+
From 0366e6d595afa733bfe41fc1a9753171dfab3cb6 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 13:37:04 +0800
Subject: [PATCH 06/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9C=B8=E7=8E=8B?=
=?UTF-8?q?=E9=A4=90=E9=83=A8=E5=88=86=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pageBwc/index/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pageBwc/index/index.vue b/pageBwc/index/index.vue
index c91d0e9..fe615a8 100644
--- a/pageBwc/index/index.vue
+++ b/pageBwc/index/index.vue
@@ -6,7 +6,7 @@
充值设置
- 用户消费结账时,成功充值成功
+ 用户消费结账时,成功充值
倍的金额本单即可享受免单
From 33e872afab9ab0b1a673c777f407d08f7c346bcb Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 13:52:15 +0800
Subject: [PATCH 07/16] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E6=8A=98=E4=BC=98=E6=83=A0=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/detail/components/list.vue | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/pagesOrder/detail/components/list.vue b/pagesOrder/detail/components/list.vue
index 51a6f02..6e7506e 100644
--- a/pagesOrder/detail/components/list.vue
+++ b/pagesOrder/detail/components/list.vue
@@ -176,22 +176,28 @@
{{vipDiscountPrice}}
-->
-
-
+
+ 打折
+
+ ¥
+ {{orderInfo.discountAmount}}
+
+
+
满减券抵扣
¥
{{orderInfo.fullCouponDiscountAmount}}
-
+
商品券抵扣
¥
{{orderInfo.productCouponDiscountAmount||productCoupPrice}}
-
+
积分抵扣
¥
@@ -349,7 +355,7 @@
})
const youhuiAllPrice=computed(()=>{
- return (freePrice.value*1+vipDiscountPrice.value*1+props.orderInfo.fullCouponDiscountAmount+props.orderInfo.pointsDiscountAmount+productCoupPrice.value*1).toFixed(2)
+ return (freePrice.value*1+vipDiscountPrice.value*1+props.orderInfo.fullCouponDiscountAmount+props.orderInfo.pointsDiscountAmount+productCoupPrice.value*1+(props.orderInfo.discountAmount||0)).toFixed(2)
})
const packFee = computed(() => {
const goodsPrice = props.data.reduce((prve, cur) => {
From 95c404a7f16de8fbe97c775e1925a9be56d0d58f Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Wed, 20 Nov 2024 13:53:16 +0800
Subject: [PATCH 08/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E6=94=AF=E4=BB=98=EF=BC=8C0=E5=85=83=E7=A6=81=E6=AD=A2?=
=?UTF-8?q?=E6=89=AB=E7=A0=81=E5=92=8C=E5=82=A8=E5=80=BC=E5=8D=A1=E6=94=AF?=
=?UTF-8?q?=E4=BB=98=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=89=AB=E7=A0=81=E6=94=AF?=
=?UTF-8?q?=E4=BB=98=E6=9C=AA=E4=BC=A0=E6=AF=94=E4=BE=8B=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pagesOrder/pay-order/pay-order.vue | 128 +++++++++++++++++++++++++----
1 file changed, 112 insertions(+), 16 deletions(-)
diff --git a/pagesOrder/pay-order/pay-order.vue b/pagesOrder/pay-order/pay-order.vue
index d91a38c..fd96d17 100644
--- a/pagesOrder/pay-order/pay-order.vue
+++ b/pagesOrder/pay-order/pay-order.vue
@@ -61,7 +61,7 @@
-
+
服务员改价
@@ -84,7 +84,7 @@
-
@@ -106,16 +106,18 @@
{{user.accountPoints||'0'}}
-->
-
-
+
+
+
+
+
-
+
积分抵扣
@@ -127,7 +129,7 @@
-
+
{{accountPoints.num}}
@@ -203,6 +205,10 @@
+
+
@@ -240,14 +246,44 @@
returnProductCoupAllPrice,
returnProductCanUseNum
} from '../quan_util.js'
+
+ const modal = reactive({
+ title: '提示',
+ cancelText: '取消',
+ confirmText: '确认',
+ content: '',
+ key: 'cash',
+ show: false,
+ data: ''
+ })
+
+ function confirmModelCancel() {
+ modal.show=false
+ modal.key=''
+ modal.data=''
+ }
+
+ function cashConfirmShow() {
+ modal.content = '是否确认已现金收款' + payPrice.value
+ modal.key='cash'
+ modal.show=true
+ }
+ async function confirmModelConfirm() {
+ if (modal.key == 'cash') {
+ await pay()
+ setModalShow('cash', false)
+ }
+ }
+
//商品数量从0到n每一个对应的价格
let $goodsPayPriceMap = {}
const refPoints = ref(null)
-
- function delQuan(i){
- pays.quan.splice(i,1)
+
+ function delQuan(i) {
+ pays.quan.splice(i, 1)
}
+
function refPointsOpen() {
if (!accountPoints.calcRes.usable && accountPoints.sel) {
return
@@ -480,7 +516,7 @@
//打折相关数据
const discount = reactive({
-
+ discount: 100
})
function editDiscountConfirm(form) {
@@ -491,10 +527,18 @@
async function getPayType() {
const payTypeList = await Api.$getPayType()
- pays.payTypes.list = payTypeList
+ pays.payTypes.list = payTypeList.map(v => {
+ return {
+ ...v,
+ disabled: false
+ }
+ })
}
function changePayType(i, item) {
+ if (item.disabled) {
+ return infoBox.showToast(item.payName + '不可用')
+ }
pays.payTypes.selIndex = i
if (item.payType == 'vipPay') {
chooseUser()
@@ -522,6 +566,9 @@
if (payType == 'scanCode' || payType == 'deposit') {
return saomaPay()
}
+ if (payType == 'cash' && payPrice.value * 1 > 0) {
+ return cashConfirmShow()
+ }
payOrder()
}
const tipsMap = {
@@ -534,6 +581,7 @@
infoBox.showToast('余额不足')
return
}
+
if (payStatus) {
return infoBox.showToast(tipsMap[payStatus])
}
@@ -545,7 +593,7 @@
orderId: order.id || order.orderId,
payType,
vipUserId: order.memberId,
- discount: 1,
+ discount: discount.discount / 100,
code: '',
pointsNum: accountPoints.sel ? accountPoints.num : 0,
userCouponInfos: pays.quan.map(v => {
@@ -561,6 +609,28 @@
payStatus = ''
}
}
+ async function pay(par) {
+ const payType = pays.payTypes.list[pays.payTypes.selIndex].payType
+ payStatus = 'paying'
+ await Api.$payOrder({
+ tableId: order.tableId,
+ masterId: order.masterId,
+ orderId: order.id || order.orderId,
+ payType,
+ vipUserId: order.memberId,
+ discount: discount.discount / 100,
+ code: '',
+ pointsNum: accountPoints.sel ? accountPoints.num : 0,
+ userCouponInfos: pays.quan.map(v => {
+ return {
+ userCouponId: v.id,
+ num: v.num
+ }
+ }),
+ ...par
+ })
+ paySuccess()
+ }
const order = reactive({
amount: 0
@@ -578,7 +648,7 @@
Api.$payOrder({
orderId: order.id || order.orderId,
payType: item.payType, //
- discount: order.discount,
+ discount: discount.discount / 100,
code: res.result,
tableId: order.tableId,
masterId: order.masterId,
@@ -647,8 +717,24 @@
const calcPrice = discountPrice - coupAllPrice.value - accountPoints.price * (accountPoints.sel ? 1 : 0)
return (calcPrice <= 0 ? 0 : calcPrice).toFixed(2)
})
- watch(() => payPrice.value, () => {
+ watch(() => payPrice.value, (newval) => {
getPayUrl()
+ if (newval <= 0) {
+ const arr = ['cash', 'vipPay']
+ pays.payTypes.list.map(v => {
+ if (arr.includes(v.payType)) {
+ v.disabled = false
+ } else {
+ v.disabled = true
+ }
+ })
+ const index = pays.payTypes.list.findIndex(v => !v.disabled)
+ pays.payTypes.selIndex = index
+ } else {
+ pays.payTypes.list.map(v => {
+ v.disabled = false
+ })
+ }
})
const pointCanDicountPrice = computed(() => {
const discountPrice = discount.currentPrice ? discount.currentPrice : order.amount
@@ -676,6 +762,10 @@