From 1f3d7614136f4f8ca148d7daeaf0dbeb43435e13 Mon Sep 17 00:00:00 2001 From: Enzo <1284707383@qq.com> Date: Thu, 23 Sep 2021 18:00:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=92=E5=BA=97=E5=95=86=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E7=9A=84=E4=B8=80=E4=BA=9B=E4=BC=98=E5=8C=96=E9=99=90?= =?UTF-8?q?=E5=88=B6/=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=AF=86=E5=88=AB=E6=80=A7=E5=88=AB=E5=B9=B4=E9=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/shared.js | 18 +++++++++++++++ pages/goodsDetail/index.vue | 41 +++++++++++++++++++++++++++++++---- pages/order/confirm_order.vue | 20 ++++++++++++++--- 3 files changed, 72 insertions(+), 7 deletions(-) diff --git a/common/shared.js b/common/shared.js index d3f334e..4115948 100644 --- a/common/shared.js +++ b/common/shared.js @@ -26,6 +26,24 @@ export function isValueType(value) { return str.match(/\[object (.*?)\]/)[1].toLowerCase(); } +// 解析时间戳,参数非必传,不传参时默认显示当前最新日期+时间; +// 第一个参数为当前日期时间戳,第二个日期分隔符,第三个不传参或传all显示日期+时间,传date显示日期,time显示时间 +export function recordTime(time = new Date(), separator = "-", swf = 'all'){ + let year = time.getFullYear(); + let month = time.getMonth() + 1; + let day = time.getDate(); + let hour = time.getHours(); + let min = time.getMinutes(); + let ppn = time.getSeconds(); + if(swf === "time"){ + return [hour, min, ppn].map(cover).join(":"); + }else if(swf === "date"){ + return [year, month, day].map(cover).join(String(separator)); + }else{ + return [year, month, day].map(cover).join(String(separator)) +" "+ [hour, min, ppn].map(cover).join(":"); + } +} + export const timer = (value, fmt) => { if(!value) return; let newTime = new Date(value) diff --git a/pages/goodsDetail/index.vue b/pages/goodsDetail/index.vue index 0f58b7c..1d9c59b 100644 --- a/pages/goodsDetail/index.vue +++ b/pages/goodsDetail/index.vue @@ -407,7 +407,20 @@ console.log(e) }, arriveChange(e) { - this.arrive_date = e.detail.value; + let live_date = new Date(new Date(this.live_date).toLocaleDateString()).getTime(); + let arrive_date = new Date(new Date(e.detail.value).toLocaleDateString()).getTime(); + if(arrive_date>live_date || arrive_date==live_date) { + this.arrive_date = e.detail.value; + }else { + this.$msg('到店日期要大于入住日期!'); + // var date1 = new Date(this.live_date); + // var date2 = new Date(date1); + // date2.setDate(date1.getDate() + 1); + this.arrive_date = this.live_date; + return + } + + }, arriveTimeChange(e) { this.arrive_time = e.detail.value; @@ -419,13 +432,33 @@ this.back_date = e.detail.value; }, liveChange(e) { - this.live_date = e.detail.value; + let compateDate = this.compareDate(e.detail.value); + if(compateDate) { + this.live_date = e.detail.value; + let live_date = new Date(new Date(e.detail.value).toLocaleDateString()).getTime(); + let leave_date = new Date(new Date(this.leave_date).toLocaleDateString()).getTime(); + this.totalLive = parseInt(Math.abs(leave_date - live_date) / 1000 / 60 / 60 / 24); + }else { + this.$msg('入住时间要大于当前时间!'); + } + }, leaveChange(e) { - this.leave_date = e.detail.value; let live_date = new Date(new Date(this.live_date).toLocaleDateString()).getTime(); - let leave_date = new Date(new Date(this.leave_date).toLocaleDateString()).getTime(); + let leave_date = new Date(new Date(e.detail.value).toLocaleDateString()).getTime(); + if(leave_date>live_date || leave_date==live_date) { + this.leave_date = e.detail.value; + }else { + this.$msg('离店日期要大于入住日期!'); + var date1 = new Date(this.live_date); + var date2 = new Date(date1); + date2.setDate(date1.getDate() + 1); + this.leave_date = this.$shared.recordTime(date2, '-', 'date') + return + } + this.totalLive = parseInt(Math.abs(leave_date - live_date) / 1000 / 60 / 60 / 24); + }, chooseType(index) { this.type_index = index; diff --git a/pages/order/confirm_order.vue b/pages/order/confirm_order.vue index 48dfea5..2cf4251 100644 --- a/pages/order/confirm_order.vue +++ b/pages/order/confirm_order.vue @@ -16,15 +16,15 @@ 身份证号码 - + 性别 - + 年龄 - + @@ -239,6 +239,20 @@ uni.$off('payState'); }, methods: { + computedAge() { + this.$check(this.vertify_code,'card'); + let judge_sex = this.vertify_code[16]; + let judge_birthday = this.vertify_code.substring(6,14); + let now_date = new Date(); + let now_date1 = this.$shared.recordTime(now_date, '-', 'date').replace(/-/g, ""); + let age1 = now_date1-judge_birthday; + this.age = JSON.stringify(age1).substring(0,2) + if(judge_sex%2) { + this.sex = '男'; + }else { + this.sex = '女'; + } + }, getPhoneNumber(event){ if(event.detail.errMsg == 'getPhoneNumber:ok'){ let encryptedData = event.detail.encryptedData;