|
@@ -361,30 +361,46 @@ const actions = {
|
|
|
},
|
|
|
|
|
|
// 积分减免
|
|
|
- pointsMath({ commit, dispatch, state }, { type }) {
|
|
|
+ pointsMath({ commit, dispatch, state }, { type, callback }) {
|
|
|
/**
|
|
|
* maxDiscountFee 单次最大可使用金额
|
|
|
* availableDiscountFee 当日剩余可使用优惠金额
|
|
|
* available 当前用户的剩余积分,也可以说是可以抵扣的积分,如果有积分抵扣自动勾选,那么这个值=这个值-已勾选积分
|
|
|
*/
|
|
|
-
|
|
|
- // console.log('289289289289289289289289', state.available / (state.pointsPerUnit / state.unitAmount) + state.pointsTime);
|
|
|
// 计算用户当前的最大可使用积分的总数(单位:元)
|
|
|
let maxPointsTime = state.available / (state.pointsPerUnit / state.unitAmount) + state.pointsTime;
|
|
|
if (maxPointsTime > state.maxDiscountFee) {
|
|
|
maxPointsTime = state.maxDiscountFee
|
|
|
}
|
|
|
+ let msg = ''
|
|
|
// 验证最大积分的总数(单位:元)
|
|
|
if (maxPointsTime > state.availableDiscountFee) {
|
|
|
maxPointsTime = state.availableDiscountFee
|
|
|
}
|
|
|
+ if (type === 'add' && state.pointsTime >= maxPointsTime) {
|
|
|
+ // 以下是深圳积分上限规则
|
|
|
+ // 超出抵扣上限,每日最高可抵扣${this.parkFee.parkInfoEntity.maxOneDayHour}元 '优惠金额' >= '每日最高可抵扣'
|
|
|
+ if (state.usingTotalDiscount >= state.maxOneDayDiscountFee) {
|
|
|
+ msg = `超出抵扣上限,每日最高可抵扣${state.maxDiscountFee}元`
|
|
|
+ }
|
|
|
+ // 超出抵扣上限,每次最高可抵扣${this.integralMaxMoney}元 '积分兑换时长' >= '深圳前海停车积分上限'
|
|
|
+ if (state.pointsTime >= state.maxPointsTime) {
|
|
|
+ msg = `超出抵扣上限,每次最高可抵扣${state.maxDiscountFee}元`
|
|
|
+ }
|
|
|
+ callback({
|
|
|
+ message: msg
|
|
|
+ });
|
|
|
+ return
|
|
|
+ }
|
|
|
if (type === 'add' && state.pointsTime < maxPointsTime) {
|
|
|
const pointsTime = state.pointsTime + state.unitAmount;
|
|
|
const available = state.available - state.pointsPerUnit;
|
|
|
+ const usingTotalDiscount = usingTotalDiscount + state.unitAmount; // 重新计算已经使用的优惠逻辑
|
|
|
if (available > -1) {
|
|
|
// 如果是深圳车场
|
|
|
commit('setAvailable', available);
|
|
|
commit('setPointsTime', pointsTime);
|
|
|
+ commit('setUsingTotalDiscount', usingTotalDiscount);
|
|
|
}
|
|
|
}
|
|
|
if (type === 'minus' && state.pointsTime > 0) {
|