|
|
@ -59,20 +59,20 @@ |
|
|
|
<view class="flex relative" style="max-width: 100%;width: fit-content;" |
|
|
|
v-if="!skuBuyMultiple&&skuItem.is_card"> |
|
|
|
<view class="person-scroll no-scrollbar" style="overflow-y: auto;"> |
|
|
|
<view :class="['person-item-container',skuItem.selPeople.some(v=>v.id==item.id)?'active':'']" |
|
|
|
<view :class="['person-item-container',(skuItem.is_real_name&&skuItem.selPeople.some(v=>v.id==item.id))||(!skuItem.is_real_name&&skuItem.selPerson.id==item.id)?'active':'']" |
|
|
|
v-for="(item,addI) in addressList" :key="addI" |
|
|
|
@click.stop="personClick(item,skuItem)"> |
|
|
|
<view class="person-item"> |
|
|
|
<view>{{item.name}}</view> |
|
|
|
<!-- <view class="disabled">信息不符</view> --> |
|
|
|
</view> |
|
|
|
<view class="selected" v-if="skuItem.selPeople.some(v=>v.id==item.id)"> |
|
|
|
<view class="selected" v-if="(skuItem.is_real_name&&skuItem.selPeople.some(v=>v.id==item.id))||(!skuItem.is_real_name&&skuItem.selPerson.id==item.id)"> |
|
|
|
<uni-icons color="#fff" type="checkmarkempty" size="10" ></uni-icons> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="h-1rpx flex-shrink-0" style="width: 110rpx;"></view> |
|
|
|
<view class="person-item-more" @click.stop="changeAddressPopup('open')"> |
|
|
|
<view class="person-item-more" @click.stop="showAddressPopUp({},[],true)"> |
|
|
|
<view>更多></view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -124,7 +124,7 @@ |
|
|
|
<view class="person-info-detail"> |
|
|
|
<view style="font-size: 31rpx;color: #000000;" class="flex flex-items-center"> |
|
|
|
<text style="padding-right: 30rpx;">{{skuItem.selPerson.name}}</text> |
|
|
|
<img @click.stop="changeAddressAddPopup('open',person)" v-if="skuBuyMultiple" style="width: 32rpx;height: 32rpx;" :src="showImg('/uploads/20240827/337cf610ce5924c2a65b7a28b6a4891e.png')" alt="" /> |
|
|
|
<img @click.stop="changeAddressAddPopup('open',skuItem.selPerson)" v-if="skuBuyMultiple" style="width: 32rpx;height: 32rpx;" :src="showImg('/uploads/20240827/337cf610ce5924c2a65b7a28b6a4891e.png')" alt="" /> |
|
|
|
</view> |
|
|
|
<view style="padding: 20rpx 0 14rpx;">手机号 {{skuItem.selPerson.tel}}</view> |
|
|
|
<view>身份证 {{skuItem.selPerson.id_number}}</view> |
|
|
@ -164,7 +164,7 @@ |
|
|
|
</view> |
|
|
|
|
|
|
|
<!-- 优惠券 --> |
|
|
|
<navigator :url="'/subPackages/order/orderCoupon?allprice='+ 1 + '&sku_ids='+ 1" class="tickets-container flex-between top-line"> |
|
|
|
<view @click="goOrderCoupon" class="tickets-container flex-between top-line"> |
|
|
|
<view class="order-title">优惠券</view> |
|
|
|
<view class="coupon-btn" v-if="coupon==''"> |
|
|
|
<view class="select">请选择</view> |
|
|
@ -175,7 +175,7 @@ |
|
|
|
<span v-else>-{{coupon.percent}}%</span> |
|
|
|
<span style="margin:0 31rpx 0 8rpx;color: #6C7A94;">></span> |
|
|
|
</div> |
|
|
|
</navigator> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="btn-list"> |
|
|
|
<view class="price-box"> |
|
|
@ -359,6 +359,19 @@ |
|
|
|
onUnload () { |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
goOrderCoupon () { |
|
|
|
let allPrice = 0 |
|
|
|
let skuIds= [] |
|
|
|
this.pInfo.specifications.forEach(v=>{ |
|
|
|
allPrice+= v.price*v.buyNum |
|
|
|
if (v.buyNum>0) { |
|
|
|
skuIds.push(v.id) |
|
|
|
} |
|
|
|
}) |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/subPackages/order/orderCoupon?allprice=${allPrice}&sku_ids=${skuIds.join(',')}` |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取最大优惠券 |
|
|
|
async getMaxCouponData () { |
|
|
@ -373,7 +386,21 @@ |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
initPageData () { |
|
|
|
// 获取sku价格日历money |
|
|
|
async initPriceCal(skuId, goodsId,date) { |
|
|
|
let res = await this.Post({ |
|
|
|
specifications_id: skuId, |
|
|
|
goods_id: goodsId, |
|
|
|
end_date:date, |
|
|
|
start_date:date |
|
|
|
}, '/api/goods/getPriceCalendarListBySpecifications') |
|
|
|
if (res.code == 1) { |
|
|
|
return {code:1,money: res.data[0].money} |
|
|
|
} |
|
|
|
return {code:2} |
|
|
|
}, |
|
|
|
|
|
|
|
async initPageData () { |
|
|
|
this.setDefault = false |
|
|
|
this.showMore = false |
|
|
|
this.skuBuyMultiple = false |
|
|
@ -401,6 +428,20 @@ |
|
|
|
} |
|
|
|
data.pInfo.specifications.unshift(item); |
|
|
|
|
|
|
|
|
|
|
|
// 过滤出时间格式一致的sku |
|
|
|
let is_time_stock = data.sInfo.is_time_stock |
|
|
|
let is_price_calendar = data.sInfo.is_price_calendar |
|
|
|
data.pInfo.specifications = data.pInfo.specifications.filter(v=>v.is_time_stock==is_time_stock && v.is_price_calendar==is_price_calendar) |
|
|
|
let date = data.allSeldDate[data.seldDateIndex].date |
|
|
|
|
|
|
|
for(let sku of data.pInfo.specifications) { |
|
|
|
let res = await this.initPriceCal(sku.id, sku.goods_id, date) |
|
|
|
if (res.code === 1) { |
|
|
|
sku.price = res.money |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
this.pInfo = data.pInfo |
|
|
|
this.sInfo = data.sInfo |
|
|
|
this.minSeldDate=data.minSeldDate |
|
|
@ -429,7 +470,22 @@ |
|
|
|
|
|
|
|
/*---------------出行人------------------------------*/ |
|
|
|
// 选择出行人 |
|
|
|
showAddressPopUp (person,personList) { |
|
|
|
showAddressPopUp (person,personList, isMore) { |
|
|
|
|
|
|
|
if (isMore) { |
|
|
|
let currentSku = this.pInfo.specifications[0] |
|
|
|
if (currentSku.is_real_name) { |
|
|
|
let personIndex = currentSku.selPeople.findIndex(v=>!v.id) |
|
|
|
console.log(personIndex) |
|
|
|
if (personIndex<0) {personIndex = 0} |
|
|
|
person = currentSku.selPeople[personIndex] |
|
|
|
personList = currentSku.selPeople |
|
|
|
} else { |
|
|
|
person = currentSku.selPerson |
|
|
|
personList = [currentSku.selPerson] |
|
|
|
} |
|
|
|
} |
|
|
|
console.log(this.pInfo.specifications[0].selPeople[0]) |
|
|
|
this.currentPerson = person |
|
|
|
this.currentPersonIds = [] |
|
|
|
personList.forEach(v=>{ |
|
|
@ -482,7 +538,6 @@ |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// 如果只有一张票给默认值 |
|
|
|
if (!this.setDefault && this.addressList.length>0) { |
|
|
|
// 找符合条件的 |
|
|
@ -551,25 +606,45 @@ |
|
|
|
|
|
|
|
// 表单上选择点击出行人 |
|
|
|
personClick (person, sku) { |
|
|
|
let personHave = sku.selPeople.find(v=>v.id == person.id) |
|
|
|
if (personHave) { |
|
|
|
for(let key in personHave) { |
|
|
|
personHave[key] = null |
|
|
|
console.log(sku) |
|
|
|
// 一证一票 |
|
|
|
if (sku.is_real_name) { |
|
|
|
let personHave = sku.selPeople.find(v=>v.id == person.id) |
|
|
|
if (personHave) { |
|
|
|
for(let key in personHave) { |
|
|
|
personHave[key] = null |
|
|
|
} |
|
|
|
} else { |
|
|
|
for(let p of sku.selPeople) { |
|
|
|
if (!p.id) { |
|
|
|
p.id = person.id |
|
|
|
p.id_number = person.id_number |
|
|
|
p.name = person.name |
|
|
|
p.user_id = person.user_id |
|
|
|
p.tel = person.tel |
|
|
|
p.age = person.age |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
for(let p of sku.selPeople) { |
|
|
|
if (!p.id) { |
|
|
|
p.id = person.id |
|
|
|
p.id_number = person.id_number |
|
|
|
p.name = person.name |
|
|
|
p.user_id = person.user_id |
|
|
|
p.tel = person.tel |
|
|
|
p.age = person.age |
|
|
|
break |
|
|
|
} |
|
|
|
if(sku.selPerson.id == person.id) { |
|
|
|
sku.selPerson.id = null |
|
|
|
sku.selPerson.id_number = null |
|
|
|
sku.selPerson.name = null |
|
|
|
sku.selPerson.user_id = null |
|
|
|
sku.selPerson.tel = null |
|
|
|
sku.selPerson.age = null |
|
|
|
} else { |
|
|
|
sku.selPerson.id = person.id |
|
|
|
sku.selPerson.id_number = person.id_number |
|
|
|
sku.selPerson.name = person.name |
|
|
|
sku.selPerson.user_id = person.user_id |
|
|
|
sku.selPerson.tel = person.tel |
|
|
|
sku.selPerson.age = person.age |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
removePerson (person) { |
|
|
|
for(let key in person) { |
|
|
@ -777,7 +852,31 @@ |
|
|
|
this.closePopup() |
|
|
|
|
|
|
|
//todo 请求接口重新获取 将页面数据全部重置 |
|
|
|
this.pInfo.specifications.forEach(v=>{ |
|
|
|
v.buyNum = 0;v.selPeople = [];v.selPerson = {} |
|
|
|
v.is_card = Number(v.is_card); |
|
|
|
v.is_real_name = Number(v.is_real_name) |
|
|
|
}) |
|
|
|
|
|
|
|
this.pInfo.specifications[0].buyNum = 1 |
|
|
|
|
|
|
|
let date = this.allSeldDate[this.seldDateIndex].date |
|
|
|
|
|
|
|
for(let sku of this.pInfo.specifications) { |
|
|
|
sku.selPeople = [ |
|
|
|
{ |
|
|
|
id:null,id_number:null,name:null, |
|
|
|
tel:null,user_id:null,age:null, |
|
|
|
}, |
|
|
|
] |
|
|
|
sku.selPerson = { |
|
|
|
id:null,id_number:null,name:null,tel:null,user_id:null,age:null, |
|
|
|
} |
|
|
|
let res = this.initPriceCal(sku.id, sku.goods_id, date) |
|
|
|
if (res.code === 1) { |
|
|
|
sku.price = res.money |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
/*---------------------------价格日历-----------------------------------*/ |
|
|
|
order() { |
|
|
@ -805,7 +904,7 @@ |
|
|
|
date: use_date, |
|
|
|
start_time: start_time, |
|
|
|
end_time: end_time, |
|
|
|
reserve_phone: sku.selPerson.tel, |
|
|
|
reserve_mobile: sku.selPerson.tel, |
|
|
|
} |
|
|
|
goods.push(param) |
|
|
|
|
|
|
|