Browse Source

酒店商品类型的一些优化限制/身份证号自动识别性别年龄

master
Enzo 4 years ago
parent
commit
1f3d761413
  1. 18
      common/shared.js
  2. 37
      pages/goodsDetail/index.vue
  3. 20
      pages/order/confirm_order.vue

18
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)

37
pages/goodsDetail/index.vue

@ -407,7 +407,20 @@
console.log(e)
},
arriveChange(e) {
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) {
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;

20
pages/order/confirm_order.vue

@ -16,15 +16,15 @@
</view>
<view class="cu-bar1 padding-lr" v-if="goods_type!=3">
<text class="lf-color-555 lf-font-28">身份证号码</text>
<input type="text" v-model="vertify_code" class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入身份证号码"/>
<input type="text" v-model="vertify_code" @blur="computedAge()" class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入身份证号码"/>
</view>
<view class="cu-bar1 padding-lr" v-if="goods_type!=3">
<text class="lf-color-555 lf-font-28">性别</text>
<input type="text" v-model="sex" class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入性别"/>
<input type="text" v-model="sex" disabled class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入性别"/>
</view>
<view class="cu-bar1 padding-lr" v-if="goods_type!=3">
<text class="lf-color-555 lf-font-28">年龄</text>
<input type="number" v-model="age" class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入年龄"/>
<input type="number" v-model="age" disabled class="lf-color-999 lf-font-28 lf-text-left" style="position:absolute;right:180rpx" placeholder="请输入年龄"/>
</view>
</view>
<self-line/>
@ -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;

Loading…
Cancel
Save