Commit 56e4ec3278ca801bf310f7a8b7e3f5e43082af39

Authored by vking
1 parent 6238563c

分离在线预订

... ... @@ -17,6 +17,7 @@ const formTpl = {
cusdem: '',
tid: [],
is_set_ddate:0,
}
Page({
... ... @@ -95,21 +96,21 @@ Page({
let rev_time=parseInt(nt)
if(options.hasQuick==1){
let rdate=options.ddate.split('-')
if(rev_time<rdate[0] || rev_time>rdate[1]){
if(!(rev_time>=rdate[0] && rev_time<=rdate[1])){
rev_time=rdate[0]
}
await this.setDateStr(rev_time);
}
await this.setDateStr(rev_time);
this.sellerid = util.cache('enter_params')['seller_id'];
let timePickerArray = await comm.getDayTimeSpace();
//判断hasUseDefDtime
let hasUseDefDtime = true;
let mmii = util.unixtoTime(rev_time, 'HH:II');
console.log('initLoad',mmii,this.data.defDtime[this.data.form.time],this.data.defDtime)
console.log('initLoad',mmii > this.data.defDtime[this.data.form.time])
if (mmii > this.data.defDtime[this.data.form.time]) {
hasUseDefDtime = false;
}
console.log('initLoad::setDateStr',util.unixtoTime(rev_time,'YYYY-MM-DD HH:II'),this.data.defDtime[this.data.form.time])
await this.setDateStr(rev_time,hasUseDefDtime);
this.sellerid = util.cache('enter_params')['seller_id'];
let timePickerArray = await comm.getDayTimeSpace();
this.setData({
timePickerArray: timePickerArray,
speciallist: speciallist,
... ... @@ -128,7 +129,12 @@ Page({
* @param d
*
*/
async setDateStr(d = new Date() / 1000){
async setDateStr(d = new Date() / 1000,hasUseDefDtime=false){
if(hasUseDefDtime){//
let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time])
d=util.timetouUnix(timestr)
}
console.log('setDateStr',util.unixtoTime(d,'YYYY-MM-DD HH:II'),hasUseDefDtime)
this.year=util.unixtoTime(d,'YYYY');
let ns = new Date() / 1000;
let dateStr = [
... ... @@ -141,8 +147,14 @@ Page({
let timeObj = await comm.getTimeSpaceIndexData(d);
//form.time=await comm.getTimeSpaceIndex(d);
form.time = timeObj.timeIndex;
//如果小于默认时间,使用默认时间
let mmii = util.unixtoTime(d,'HH:II')
if (mmii < this.data.defDtime[timeObj.timeIndex]) {
let str=util.unixtoTime(d, 'YYYY-MM-DD '+this.data.defDtime[timeObj.timeIndex]+':00')
timeObj = await comm.getTimeSpaceIndexData(util.timetouUnix(str));
}
form.time = timeObj.timeIndex;
let ind = dateStr._indexOf(nowStr);
if (ind > -1) {
form.date = ind
... ... @@ -158,6 +170,7 @@ Page({
timePickerIndex: timePickerIndex,
timeOpt: timeObj.timeOpt,
};
this.setData(obj)
return obj;
... ... @@ -176,7 +189,7 @@ Page({
onShow: function () {
//if(!this.reserve_id || util.cache('tableid').length>0){
//if (util.cache('tableid').length > 0) {
this.getTables();
this.getTables();
//}
setTimeout(() => {
this.setData({
... ... @@ -220,7 +233,7 @@ Page({
onShareAppMessage: function () {
},
selectedValue(e){
async selectedValueAsync(e){
console.log(e);
let key = util.attr(e, 'key');
let val;
... ... @@ -302,6 +315,30 @@ Page({
sobj.timePickerMask = true;
}
}
//判断hasUseDefDtime
if ((key == 'time' || key == 'date') && !sobj.timePickerMask) {
sobj.hasUseDefDtime = true
let ntime = parseInt(new Date() / 1000)
let xtime =ntime
if(key == 'time'){
xtime=util.unixtoTime(new Date() / 1000, this.year+'-' + (this.data.dateStr[this.data.form.date].substr(0, 5)) + ' HH:II:SS');
xtime=util.timetouUnix(xtime)
//if 当前时间在区间内 hasUseDefDtime 为 false
let d_rdate = await comm.getTimeSpace(this.data.dateStr[this.data.form.date],
this.data.form.time, null,null,this.year);
d_rdate=d_rdate.split('-');
if(d_rdate[0] <= ntime && ntime<=d_rdate[1]){
sobj.hasUseDefDtime=false
}
}
this.setDateStr(xtime,sobj.hasUseDefDtime);
}
if (this.data.form.date == 0) {//
let mmii = util.unixtoTime(new Date() / 1000, 'HH:II');
if (mmii > this.data.defDtime[key == 'time' ? val : this.data.form.time]) {
sobj.hasUseDefDtime = false;
}
}
if ('date,time,pnum,pnum_str,tabid'.indexOf(key) > -1) {
if (!displayTimes) {
//sobj.form.tid = []; //切换日期时间清空桌位
... ... @@ -309,13 +346,105 @@ Page({
this.getTables();
}
if (key == 'date') {
let xtime = util.unixtoTime(new Date() / 1000, 'YYYY-' + (this.data.dateStr[val].substr(0, 5)) + ' HH:II:SS');
this.setDateStr(util.timetouUnix(xtime));
let xtime = util.unixtoTime(new Date() / 1000, this.year+'-' + (this.data.dateStr[val].substr(0, 5)) + ' HH:II:SS');
this.setDateStr(util.timetouUnix(xtime),sobj.hasUseDefDtime);
}
}
this.setData(sobj)
},
selectedValue(e){
console.log(e);
let key = util.attr(e, 'key');
let val;
let sobj = {};
if (key == 'date') {
this.year=util.unixtoTime(new Date() / 1000,'YYYY');
}
if (e.type == 'input' || e.type == 'confirm') {
val = util.val(e);
if (key == 'phone') {
var that = this;
if (e.detail.value != '' && e.detail.value.length >= 3) {
App.Reserve.GetReserveUser(
{
keywords: e.detail.value,
sid: this.sellerid
}
).then(function (json) {
if (json.ret == 200 && json.data.length > 0) {
that.setData({
searchlist: json.data
})
} else {
that.setData({
searchlist: null
})
}
})
} else {
this.setData({
searchlist: null
})
}
}
if (key == 'pnum') {
sobj.pnumInputFocus = true;
}
} else {
val = util.attr(e, 'value');
}
if (key == 'time') {
if (this.data.timeOpt[val]) return;
}
if ((key == 'time' && this.data.form.time == val) || (key == 'date' && this.data.form.date == val)) {
if (util.attr(e, 'display') != 'block') {
return;
}
}
let form = this.data.form;
if (key == 'tid') {
let ts = this.data.tables;
if (ts[val].isselect) {
ts[val].isselect = false;
form.tid.remove(ts[val].id);
delete this.checkedTables[ts[val].id]
} else {
ts[val].isselect = true;
form.tid.push(ts[val].id);
this.checkedTables[ts[val].id]=ts[val].name
}
sobj.tables = ts;
} else {
form[key] = val;
}
console.log('ts', sobj.tables,this.checkedTables);
//console.log(e.type,key,val,form);
sobj.form = form;
sobj.buttonhide = this.data.buttonhide;
if (form.tid.length > 0 && form.rname.length > 0) {
sobj.buttonhide = false;
}else{
sobj.buttonhide = true;
}
let displayTimes = false;
if (key == 'time') {
if (util.attr(e, 'display') == 'block') {
displayTimes = true;
sobj.timePickerMask = true;
}
}
//判断hasUseDefDtime
if ((key == 'time' || key == 'date') && !sobj.timePickerMask) {
sobj.hasUseDefDtime = true
let ntime = parseInt(new Date() / 1000)
let xtime =ntime
if(key == 'time'){
xtime=util.unixtoTime(new Date() / 1000, this.year+'-' + (this.data.dateStr[this.data.form.date].substr(0, 5)) + ' HH:II:SS');
xtime=util.timetouUnix(xtime)
}
this.setDateStr(xtime,sobj.hasUseDefDtime);
}
if (this.data.form.date == 0) {//
let mmii = util.unixtoTime(new Date() / 1000, 'HH:II');
... ... @@ -323,6 +452,18 @@ Page({
sobj.hasUseDefDtime = false;
}
}
if ('date,time,pnum,pnum_str,tabid'.indexOf(key) > -1) {
if (!displayTimes) {
//sobj.form.tid = []; //切换日期时间清空桌位
//sobj.buttonhide = true;
this.getTables();
}
if (key == 'date') {
let xtime = util.unixtoTime(new Date() / 1000, this.year+'-' + (this.data.dateStr[val].substr(0, 5)) + ' HH:II:SS');
this.setDateStr(util.timetouUnix(xtime),sobj.hasUseDefDtime);
}
}
this.setData(sobj)
},
async getTables(){
... ... @@ -458,7 +599,8 @@ Page({
let ddateStr = util.unixtoTime(form.ddate, "YYYY-MM-DD " + this.data.defDtime[this.data.form.time] + ":00");
form.ddate = util.timetouUnix(ddateStr);
}
App.Reserve.SetReserveInfo(form).then(res => {
//App.Customer.SetReserveInfoById
App.Customer.SetReserveInfoById(form).then(res => {
if (res.ret == 200) {
this.getCustomRemark()
let _id = (res.data.id || res.data)
... ... @@ -518,7 +660,14 @@ Page({
//buttonhide: true,
})
console.log('cktime',cktime,util.unixtoTime(cktime,'YYYY-MM-DD'))
this.setDateStr(cktime == day0 ? new Date() / 1000 : cktime)
if(cktime == day0){//今天
this.setDateStr( new Date() / 1000 )
}else{
let xtime=util.unixtoTime(new Date() / 1000, event.detail.date + ' HH:II:SS');
xtime=util.timetouUnix(xtime)
this.setDateStr(xtime,true)
}
this.calendarClose();
setTimeout(res=>{
this.getTables();
... ... @@ -565,6 +714,7 @@ Page({
this.setData({
timePickerIndex: timePickerIndex,
hasUseDefDtime: false,
[`form.is_set_ddate`]:1,
})
},
/**
... ... @@ -596,6 +746,7 @@ Page({
obj.form.phone = res.data.phone || "";
obj.form.sex = res.data.sex;
obj.form.cusdem = res.data.cusdem;
obj.form.is_set_ddate=res.data.is_set_ddate
obj.form.rid = id;
obj.form.tid = [];
let tablesed = [];
... ... @@ -695,6 +846,7 @@ Page({
this.year=util.unixtoTime(options.ddate.substr(0,10),'YYYY');
let form=this.data.form
form.tid=[options.tid]
this.setData({
form: form,
})
... ...
... ... @@ -28,7 +28,7 @@
{{dateStr[0]}}
</formids>
<formids class="item {{form.date==1?'checked':''}}"
bindtap="selectedValue" data-key="date" data-value="1">
bindtap="selectedValue" data-key="date" data-value="1">
{{dateStr[1]}}
</formids>
<view class="item {{form.date==2?'checked':''}} flex-lr"
... ... @@ -43,18 +43,18 @@
<view class="section ">
<view class="tab flex-ll">
<formids class="item {{form.time==0?'checked':''}} {{timeOpt[0]}}"
wx:if="{{timePickerArray[0].length>0}}"
bindtap="selectedValue" data-key="time" data-value="0">
wx:if="{{timePickerArray[0].length>0}}"
bindtap="selectedValueAsync" data-key="time" data-value="0">
<view class="picker">早市</view>
</formids>
<formids class="item {{form.time==1?'checked':''}} {{timeOpt[1]}}"
wx:if="{{timePickerArray[1].length>0}}"
bindtap="selectedValue" data-key="time" data-value="1">
bindtap="selectedValueAsync" data-key="time" data-value="1">
<view class="picker">午市</view>
</formids>
<formids class="item {{form.time==2?'checked':''}} {{timeOpt[2]}}"
wx:if="{{timePickerArray[2].length>0}}"
bindtap="selectedValue" data-key="time" data-value="2">
bindtap="selectedValueAsync" data-key="time" data-value="2">
<view class="picker">晚市</view>
</formids>
</view>
... ... @@ -63,7 +63,7 @@
<view class="tab flex-lr">
<view class="tab flex-ll">
<formids class="item-pnum {{form.pnum==item?'checked':''}}" wx:for="{{[6,7,8,9,10]}}" wx:key="pnum.key"
bindtap="selectedValue" data-key="pnum" data-value="{{item}}">
bindtap="selectedValue" data-key="pnum" data-value="{{item}}">
<view class="pnum">{{item}}</view>
</formids>
</view>
... ... @@ -149,10 +149,13 @@
bindinput="selectedValue"
bindconfirm="selectedValue"
data-key="phone"
value="{{form.phone}}" style="color:{{reminder ? '#E14553' : '#353535'}};width:{{reminder ? 400 : 680}}rpx;" cursor-spacing="260"/>
value="{{form.phone}}" style="color:{{reminder ? '#E14553' : '#353535'}};width:400rpx;" cursor-spacing="260"/>
<view bindtap="selectedValue" data-key="time" data-value="{{form.time}}" data-display="block" style="color:#199095">
<view style="font-size: 34rpx;height: 100rpx;line-height: 100rpx;" wx:if="{{hasUseDefDtime && form.time>0}}">{{defDtime[form.time]}}</view>
<view style="font-size: 34rpx;height: 100rpx;line-height: 100rpx;" wx:else="">{{timePickerArray[form.time][timePickerIndex[form.time]]}}</view>
<block wx:if="{{form.is_set_ddate==1}}">
<view style="font-size: 34rpx;height: 100rpx;line-height: 100rpx;" wx:if="{{hasUseDefDtime && form.time>0}}">{{defDtime[form.time]}}</view>
<view style="font-size: 34rpx;height: 100rpx;line-height: 100rpx;" wx:else="">{{timePickerArray[form.time][timePickerIndex[form.time]]}}</view>
</block>
<view wx:else="" style="height: 100rpx;line-height: 100rpx;color:rgba(53,53,53,1);">未设置到点时间</view>
</view>
<block wx:if="{{searchlist}}">
<searchList searchlist="{{searchlist}}" bind:selectphone="selectphone"></searchList>
... ... @@ -165,7 +168,7 @@
bindconfirm="selectedValue"
bindfocus="inputFocus"
bindblur="inputFocus"
data-key="rname"/>
data-key="rname"/>
<view class="book-info-grand flex-rr font28r gray-deep-font">
<block wx:for="{{grand}}" wx:key="grand.key">
<view class="book-grand flex-cc book-grand-border {{form.sex==item.sex ? 'book-grand-active white-font' : ''}}"
... ... @@ -192,7 +195,7 @@
<view class="CustomRemarks">
<view class="CustomRemarksView">
<view class="CustomRemarkItem {{item.active?'active':''}}" wx:for="{{CustomRemark}}"
bindtap="oftenUse"
bindtap="oftenUse"
data-id="{{item.id}}"
data-value="{{item.often_use}}">{{item.often_use}}</view>
</view>
... ...
... ... @@ -351,6 +351,8 @@ export default {
openid:'openid',
cachetime: -1,
},
//商户修改在线预定
'App.Customer.SetReserveInfoById':null,
//生成小程序码
'App.System.GetWxLiteCode':null,
... ...