|
@ -61,7 +61,7 @@ |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<view class="service box-size" :style="{ borderRadius: '8rpx' }"> |
|
|
<view class="service box-size" :style="{ borderRadius: '8rpx' }"> |
|
|
<view class="horizontal_distribution service_top"> |
|
|
|
|
|
|
|
|
<!-- <view class="horizontal_distribution service_top"> |
|
|
<view class="form-title"> |
|
|
<view class="form-title"> |
|
|
服务内容和酬劳 |
|
|
服务内容和酬劳 |
|
|
</view> |
|
|
</view> |
|
@ -96,12 +96,15 @@ |
|
|
<text>{{ it.name }}</text> |
|
|
<text>{{ it.name }}</text> |
|
|
<text style="color: #999;padding-left: 20rpx">上门1次</text> |
|
|
<text style="color: #999;padding-left: 20rpx">上门1次</text> |
|
|
</view> |
|
|
</view> |
|
|
<!-- <view class="pet-level"> |
|
|
|
|
|
|
|
|
<view class="pet-level"> |
|
|
12-15 |
|
|
12-15 |
|
|
<text>专业喂养</text> |
|
|
<text>专业喂养</text> |
|
|
上门1次 |
|
|
上门1次 |
|
|
</view> --> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
</view> --> |
|
|
|
|
|
|
|
|
|
|
|
<ServiceItems :items="serviceList"/> |
|
|
|
|
|
|
|
|
<view class="line1"> |
|
|
<view class="line1"> |
|
|
</view> |
|
|
</view> |
|
|
<view class="flex money_total"> |
|
|
<view class="flex money_total"> |
|
@ -205,7 +208,7 @@ |
|
|
</view> |
|
|
</view> |
|
|
<view class="desc"> |
|
|
<view class="desc"> |
|
|
<view v-for="pet in orderDetail.order.h5OrderVO.petVOList" :key="pet.id"> |
|
|
<view v-for="pet in orderDetail.order.h5OrderVO.petVOList" :key="pet.id"> |
|
|
{{ pet.breed }} |
|
|
|
|
|
|
|
|
{{ pet.breed }}({{ pet.bodyType }}) |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
@ -273,6 +276,8 @@ |
|
|
useStore |
|
|
useStore |
|
|
} from "vuex" |
|
|
} from "vuex" |
|
|
|
|
|
|
|
|
|
|
|
import ServiceItems from '@/components/order/ServiceItems.vue' |
|
|
|
|
|
|
|
|
import dayjs from "dayjs"; |
|
|
import dayjs from "dayjs"; |
|
|
import configPopup from '@/components/configPopup.vue' |
|
|
import configPopup from '@/components/configPopup.vue' |
|
|
const configPopupRef = ref(null) |
|
|
const configPopupRef = ref(null) |
|
@ -291,6 +296,7 @@ |
|
|
const store = useStore(); |
|
|
const store = useStore(); |
|
|
const orderId = ref(null); |
|
|
const orderId = ref(null); |
|
|
const orderDetail = ref({}); |
|
|
const orderDetail = ref({}); |
|
|
|
|
|
const serviceList = ref([]); |
|
|
const showConfirmOrder = ref(false); |
|
|
const showConfirmOrder = ref(false); |
|
|
const showOrderSuccess = ref(false); |
|
|
const showOrderSuccess = ref(false); |
|
|
const value = ref("45619491656") |
|
|
const value = ref("45619491656") |
|
@ -315,7 +321,7 @@ |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
title : '个人订单', |
|
|
title : '个人订单', |
|
|
content : '订单为系统派发,请确认订单信息后再抢单', |
|
|
|
|
|
|
|
|
content : '订单为个人订单,请确认订单信息后再接单', |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
title : '流失订单', |
|
|
title : '流失订单', |
|
@ -386,6 +392,78 @@ |
|
|
}); |
|
|
}); |
|
|
if (response.code == 200 && response.data) { |
|
|
if (response.code == 200 && response.data) { |
|
|
orderDetail.value = response.data; |
|
|
orderDetail.value = response.data; |
|
|
|
|
|
|
|
|
|
|
|
let data = response.data.order.h5OrderVO; |
|
|
|
|
|
|
|
|
|
|
|
//=====================服务项目以及费用的计算开始===================== |
|
|
|
|
|
|
|
|
|
|
|
let items = [] |
|
|
|
|
|
|
|
|
|
|
|
//1、找出有哪些日期 |
|
|
|
|
|
let days = [...new Set(data.orderServiceList.map(item => item.serviceDate))] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
days.forEach(day => { |
|
|
|
|
|
|
|
|
|
|
|
let price = 0; |
|
|
|
|
|
|
|
|
|
|
|
let itemsText = [] |
|
|
|
|
|
|
|
|
|
|
|
//2、找出每个日期对应的服务对象 |
|
|
|
|
|
let dayItems = data.orderServiceList.filter(item => item.serviceDate === day) |
|
|
|
|
|
|
|
|
|
|
|
//3、找出每个服务对象对应的宠物 |
|
|
|
|
|
let pets = data.petVOList.filter(item => dayItems.some(dayItem => dayItem.petId === item.id)) |
|
|
|
|
|
|
|
|
|
|
|
//深度拷贝pets |
|
|
|
|
|
pets = JSON.parse(JSON.stringify(pets)) |
|
|
|
|
|
|
|
|
|
|
|
//4、将每个服务对象添加进对应的宠物 |
|
|
|
|
|
pets.forEach(pet => { |
|
|
|
|
|
pet.serviceList = dayItems.filter(item => item.petId === pet.id) |
|
|
|
|
|
|
|
|
|
|
|
let itemList = [] |
|
|
|
|
|
|
|
|
|
|
|
//5、将每个服务对象中添加对应的项目 |
|
|
|
|
|
pet.serviceList.forEach(item => { |
|
|
|
|
|
itemList.push(...(data.orderItemList.filter(n => n.orderServiceId == item.id))) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
itemList.forEach(p => { |
|
|
|
|
|
price += p.salePrice * p.quantity |
|
|
|
|
|
|
|
|
|
|
|
itemsText = [...new Set([...itemsText, p.productName])] |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
pet.itemList = itemList |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
//6、将每个宠物添加进items |
|
|
|
|
|
items.push({ |
|
|
|
|
|
price, |
|
|
|
|
|
pets, |
|
|
|
|
|
day, |
|
|
|
|
|
itemsText, |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据日期排序 |
|
|
|
|
|
items = items.sort((a, b) => dayjs(a.day).valueOf() - dayjs(b.day).valueOf()) |
|
|
|
|
|
|
|
|
|
|
|
items.forEach(n => { |
|
|
|
|
|
n.day = dayjs(n.day).format('MM-DD') |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
console.log(items); |
|
|
|
|
|
|
|
|
|
|
|
serviceList.value = items |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//=====================服务项目以及费用的计算结束===================== |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
orderDetail.value.order.h5OrderVO.petVOList.forEach(pet => { |
|
|
orderDetail.value.order.h5OrderVO.petVOList.forEach(pet => { |
|
|
|
|
|
|
|
|
pet.productNameText = getProductNameText(pet.id, orderDetail.value.order.h5OrderVO.orderItemList, |
|
|
pet.productNameText = getProductNameText(pet.id, orderDetail.value.order.h5OrderVO.orderItemList, |
|
@ -445,9 +523,11 @@ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function getTextList(){ |
|
|
function getTextList(){ |
|
|
return orderDetail.value.order?.h5OrderVO |
|
|
|
|
|
.orderServiceList.map(item => |
|
|
|
|
|
dayjs(item.serviceDate).format('MM-DD')) |
|
|
|
|
|
|
|
|
// return orderDetail.value.order?.h5OrderVO |
|
|
|
|
|
// .orderServiceList.map(item => |
|
|
|
|
|
// dayjs(item.serviceDate).format('MM-DD')) |
|
|
|
|
|
|
|
|
|
|
|
return serviceList.value.map(n => n.day) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const toDetail = (id) => { |
|
|
const toDetail = (id) => { |
|
@ -527,6 +607,8 @@ |
|
|
|
|
|
|
|
|
.desc { |
|
|
.desc { |
|
|
color: #999999; |
|
|
color: #999999; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
margin-top: 20rpx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -542,7 +624,8 @@ |
|
|
background: #FFBF60; |
|
|
background: #FFBF60; |
|
|
color: white; |
|
|
color: white; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 60rpx; |
|
|
|
|
|
|
|
|
font-size: 26rpx; |
|
|
|
|
|
padding: 15rpx 20rpx; |
|
|
border-radius: 30rpx; |
|
|
border-radius: 30rpx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|