jiazhipeng 1 year ago
parent
commit
f7b4c2d888
  1. 147
      subPackages/ticketBooking/order.vue

147
subPackages/ticketBooking/order.vue

@ -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 () {
// skumoney
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,22 +606,42 @@
//
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
}
}
@ -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)

Loading…
Cancel
Save