前端-胡立永 5 days ago
parent
commit
242a95fac7
2 changed files with 49 additions and 18 deletions
  1. +47
    -18
      pages/newOrder/confirmOrder.vue
  2. +2
    -0
      pages_order/order/orderList.vue

+ 47
- 18
pages/newOrder/confirmOrder.vue View File

@ -155,9 +155,9 @@
<view class="service-new-address"> <view class="service-new-address">
<view v-if="needPreFamiliarize.length>0" class="total-cost"> <view v-if="needPreFamiliarize.length>0" class="total-cost">
<view>提前熟悉 </view>
<view>¥{{ (price_config.preFamiliarize && price_config.preFamiliarize.price) || 40 }}</view>
</view>
<view>提前熟悉 </view>
<view>¥{{ (price_config && price_config.preFamiliarize && price_config.preFamiliarize.price) || 40 }}</view>
</view>
<!-- 伴宠师价格已合并到基础服务价格中不再单独显示 --> <!-- 伴宠师价格已合并到基础服务价格中不再单独显示 -->
<view class="total-cost"> <view class="total-cost">
<view>费用总计 </view> <view>费用总计 </view>
@ -216,7 +216,7 @@
<view class="service-new-details-desc"> <view class="service-new-details-desc">
<view style="display: flex;"> <view style="display: flex;">
<text style="width: 20rpx;">*</text> <text style="width: 20rpx;">*</text>
<text style="flex: 1;">价格{{ price_config.preFamiliarize.price }}/</text>
<text style="flex: 1;">价格{{ (price_config && price_config.preFamiliarize && price_config.preFamiliarize.price) || 40 }}/</text>
</view> </view>
<view style="display: flex; margin: 20rpx 0;"> <view style="display: flex; margin: 20rpx 0;">
<text style="width: 20rpx;">*</text> <text style="width: 20rpx;">*</text>
@ -391,14 +391,20 @@
this.getCouponList() this.getCouponList()
// this.totalPrice = this.$globalData.newOrderData.totalPrice // this.totalPrice = this.$globalData.newOrderData.totalPrice
this.companionLevelTitle = this.$globalData.newOrderData.companionLevel.paramValue
this.companionLevelTitle = (this.$globalData.newOrderData.companionLevel && this.$globalData.newOrderData.companionLevel.paramValue) || ''
}, },
methods: { methods: {
companionLevelPrice(){ companionLevelPrice(){
let companionLevel = this.$globalData.newOrderData.companionLevel let companionLevel = this.$globalData.newOrderData.companionLevel
let price = Number(companionLevel.paramValueText) * this.isAddPrice()
return price * this.$store.state.memberRate
if (!companionLevel || !companionLevel.paramValueText) {
return 0
}
let paramValueText = isNaN(companionLevel.paramValueText) ? 0 : Number(companionLevel.paramValueText)
let addPrice = this.isAddPrice()
let memberRate = isNaN(this.$store.state.memberRate) ? 1 : Number(this.$store.state.memberRate)
let price = paramValueText * addPrice
return price * memberRate
}, },
// //
isAddPrice(){ isAddPrice(){
@ -475,7 +481,9 @@
const pets = dailyPets[date]; const pets = dailyPets[date];
const priceDetails = [] const priceDetails = []
// - // -
const baseServiceCost = Number(this.isHoliday(date) ? this.holidayPrice : this.normalPrice)
const holidayPrice = isNaN(this.holidayPrice) ? 75 : Number(this.holidayPrice)
const normalPrice = isNaN(this.normalPrice) ? 75 : Number(this.normalPrice)
const baseServiceCost = Number(this.isHoliday(date) ? holidayPrice : normalPrice)
const largeDogCount = pets.filter(pet => pet.petType === 'dog' && pet.bodyType.includes('大型')).length; const largeDogCount = pets.filter(pet => pet.petType === 'dog' && pet.bodyType.includes('大型')).length;
let mediumDogCount = pets.filter(pet => pet.petType === 'dog' && pet.bodyType.includes('中型')).length; let mediumDogCount = pets.filter(pet => pet.petType === 'dog' && pet.bodyType.includes('中型')).length;
@ -607,7 +615,13 @@
console.log(baseServiceCost + additionalCost + multServicesTotalCost + customServiceCost); console.log(baseServiceCost + additionalCost + multServicesTotalCost + customServiceCost);
console.log(baseServiceCost , additionalCost , multServicesTotalCost , customServiceCost); console.log(baseServiceCost , additionalCost , multServicesTotalCost , customServiceCost);
const totalCost = parseFloat((baseServiceCost + additionalCost + multServicesTotalCost + Number(customServiceCost))).toFixed(2)
// NaN
const safeBaseServiceCost = isNaN(baseServiceCost) ? 0 : Number(baseServiceCost)
const safeAdditionalCost = isNaN(additionalCost) ? 0 : Number(additionalCost)
const safeMultServicesTotalCost = isNaN(multServicesTotalCost) ? 0 : Number(multServicesTotalCost)
const safeCustomServiceCost = isNaN(customServiceCost) ? 0 : Number(customServiceCost)
const totalCost = parseFloat(safeBaseServiceCost + safeAdditionalCost + safeMultServicesTotalCost + safeCustomServiceCost).toFixed(2)
// //
const acc = [] const acc = []
pets.map(pet => { pets.map(pet => {
@ -649,7 +663,15 @@
// //
calculatePetCustomServiceCost(pet) { calculatePetCustomServiceCost(pet) {
console.log('pet.customServices',pet.customServices) console.log('pet.customServices',pet.customServices)
const customServiceCost = pet.customServices.reduce((acc, item) => acc + Number(item.price) * item.quantity, 0)
// customServices
if (!pet.customServices || !Array.isArray(pet.customServices)) {
return '0.00'
}
const customServiceCost = pet.customServices.reduce((acc, item) => {
const price = isNaN(item.price) ? 0 : Number(item.price)
const quantity = isNaN(item.quantity) ? 0 : Number(item.quantity)
return acc + price * quantity
}, 0)
console.log('customServiceCost',customServiceCost) console.log('customServiceCost',customServiceCost)
return parseFloat(customServiceCost).toFixed(2) return parseFloat(customServiceCost).toFixed(2)
}, },
@ -687,22 +709,29 @@
// //
this.price_config = priceConfig || {} this.price_config = priceConfig || {}
//
let companionPrice = this.$globalData.newOrderData.companionLevelPrice || 0
let cityPriceRate = this.$globalData.newOrderData.cityPriceRate || 1
//
let companionPrice = isNaN(this.$globalData.newOrderData.companionLevelPrice) ? 0 : Number(this.$globalData.newOrderData.companionLevelPrice)
let cityPriceRate = isNaN(this.$globalData.newOrderData.cityPriceRate) ? 1 : Number(this.$globalData.newOrderData.cityPriceRate)
let memberRate = isNaN(this.$store.state.memberRate) ? 1 : Number(this.$store.state.memberRate)
if(priceConfig.basePrice && priceConfig.basePrice.holiday){ if(priceConfig.basePrice && priceConfig.basePrice.holiday){
this.holidayPrice = Number((priceConfig.basePrice.holiday * this.$store.state.memberRate * cityPriceRate) + companionPrice).toFixed(2)
const holidayBasePrice = isNaN(priceConfig.basePrice.holiday) ? 75 : Number(priceConfig.basePrice.holiday)
this.holidayPrice = Number((holidayBasePrice * memberRate * cityPriceRate) + companionPrice).toFixed(2)
} else {
this.holidayPrice = 75
} }
if(priceConfig.basePrice && priceConfig.basePrice.normal){ if(priceConfig.basePrice && priceConfig.basePrice.normal){
this.normalPrice = Number((priceConfig.basePrice.normal * this.$store.state.memberRate * cityPriceRate) + companionPrice).toFixed(2)
const normalBasePrice = isNaN(priceConfig.basePrice.normal) ? 75 : Number(priceConfig.basePrice.normal)
this.normalPrice = Number((normalBasePrice * memberRate * cityPriceRate) + companionPrice).toFixed(2)
} else {
this.normalPrice = 75
} }
if(priceConfig.holidays && priceConfig.holidays.length > 0){
if(priceConfig.holidays && Array.isArray(priceConfig.holidays) && priceConfig.holidays.length > 0){
this.holidayDate = priceConfig.holidays this.holidayDate = priceConfig.holidays
}else{ }else{
this.holidayDate = [] this.holidayDate = []
} }
this.discountMemberText = (this.$store.state.memberRate * 10)
this.discountMemberText = (memberRate * 10)
}, },
// //
isHoliday(date) { isHoliday(date) {


+ 2
- 0
pages_order/order/orderList.vue View File

@ -275,6 +275,8 @@
return '已关闭'; return '已关闭';
case 5: case 5:
return '无效订单'; return '无效订单';
case 6:
return '已取消';
case 11: case 11:
return '服务中'; return '服务中';
} }


Loading…
Cancel
Save