From d6606de28e80036a50b66c5ab6ccb055b9f31d01 Mon Sep 17 00:00:00 2001 From: jiazhipeng Date: Fri, 13 Sep 2024 15:10:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E7=A5=A8=E5=B9=B4=E9=BE=84=E9=99=90?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/mall/mall.vue | 162 ++++++++++++++++++++++++++-- subPackages/order/detail.vue | 33 +++++- subPackages/ticketBooking/order.vue | 79 +++++++++++--- 3 files changed, 251 insertions(+), 23 deletions(-) diff --git a/pages/mall/mall.vue b/pages/mall/mall.vue index c65271f..3810737 100644 --- a/pages/mall/mall.vue +++ b/pages/mall/mall.vue @@ -1,21 +1,167 @@ - \ No newline at end of file + diff --git a/subPackages/order/detail.vue b/subPackages/order/detail.vue index 33b3240..6343cab 100644 --- a/subPackages/order/detail.vue +++ b/subPackages/order/detail.vue @@ -272,14 +272,14 @@ - - 地址地址地址地址地址地址地址地 址地址地址地址地址地址 + + {{info.order_child[0].goods_data.address}} 地图 - + 电话 @@ -604,6 +604,33 @@ } }); }, + + callPhone (tel) { + let _this = this + uni.showActionSheet({ + itemList: [tel,'呼叫'], + success: function (res) { + _this.clickPhone(tel) + } + }); + }, + + goMap (info) { + let param = { + latitude: Number(info.goods_data.lat), + longitude: Number(info.goods_data.lon), + name: info.goods_title, + address: info.goods_data.address, + } + + uni.openLocation({ + ...param, + success: function () { + console.log('success'); + } + }); + }, + } } diff --git a/subPackages/ticketBooking/order.vue b/subPackages/ticketBooking/order.vue index ef4cd70..86b9250 100644 --- a/subPackages/ticketBooking/order.vue +++ b/subPackages/ticketBooking/order.vue @@ -64,7 +64,7 @@ @click.stop="personClick(item,skuItem)"> {{item.name}} - + 信息不符 @@ -90,9 +90,12 @@ {{person.name}} - - 手机号 {{person.tel}} - 身份证 {{person.id_number}} + + + 手机号 {{person.tel}} + 身份证 {{person.id_number}} + + 不符合适用人群年龄限制 {{skuItem.selPerson.name}} - 手机号 {{skuItem.selPerson.tel}} - 身份证 {{skuItem.selPerson.id_number}} + + + + 手机号 {{skuItem.selPerson.tel}} + 身份证 {{skuItem.selPerson.id_number}} + + 不符合适用人群年龄限制 { + let age_limit = null + try { + age_limit = JSON.parse(v.age_restriction) + } catch (e) { + age_limit = null + } + v.age_limit = age_limit v.buyNum = 0;v.selPeople = [];v.selPerson = {} v.is_card = Number(v.is_card); v.is_real_name = Number(v.is_real_name) @@ -470,6 +485,26 @@ /*---------------出行人------------------------------*/ + // 判断出行人年龄限制 + judegeAgeLimit (ticket, person) { + console.log(ticket,person) + let age_limit = ticket.age_limit + let personAge = person.age + let result = true + if (!age_limit) { + return true + } else { + if (age_limit.start&& result) { + result = personAge>=age_limit.start + } + if (age_limit.end&&result) { + result = personAge<=age_limit.start + } + } + + return result + }, + // 选择出行人 showAddressPopUp (person,personList, isMore) { @@ -477,7 +512,7 @@ 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 @@ -486,7 +521,7 @@ personList = [currentSku.selPerson] } } - console.log(this.pInfo.specifications[0].selPeople[0]) + this.currentPerson = person this.currentPersonIds = [] personList.forEach(v=>{ @@ -585,7 +620,6 @@ this.currentPerson.user_id = this.addressSelect.user_id this.currentPerson.age = this.addressSelect.age - console.log(this.currentPerson, this.pInfo) } if (type == 'open') this.$refs.addressPopup.open('bottom'); @@ -607,7 +641,7 @@ // 表单上选择点击出行人 personClick (person, sku) { - console.log(sku) + // 一证一票 if (sku.is_real_name) { let personHave = sku.selPeople.find(v=>v.id == person.id) @@ -890,7 +924,6 @@ // 设置参数 let canSubmit = true this.pInfo.specifications.filter(v=>v.buyNum>0).forEach(sku=>{ - debugger if (!sku.is_card) { if (!this.IsTel(sku.selPerson.tel)) { uni.showToast({ @@ -912,13 +945,25 @@ } else { if (sku.is_real_name) { - if ( sku.selPeople.some(v=>!v.id)) { + if (sku.selPeople.some(v=>!v.id)) { uni.showToast({ title:'请选择出行人', icon:'none' }) canSubmit = false } + for(let v of sku.selPeople) { + let judegRes = this.judegeAgeLimit(sku, v) + if (!judegRes) { + uni.showToast({ + title:'出行人年龄信息不符合使用限制', + icon:'none' + }) + canSubmit = false + break; + } + } + let param = { specifications_id: sku.id, num: sku.buyNum, @@ -936,6 +981,16 @@ }) canSubmit = false } + + let judegRes = this.judegeAgeLimit(sku, sku.selPerson) + if (!judegRes) { + uni.showToast({ + title:'出行人年龄信息不符合使用限制', + icon:'none' + }) + canSubmit = false + } + let param = { specifications_id: sku.id, num: sku.buyNum,