Commit e4eac11b30b0f6024c42dd1bc14f1e4280087632

Authored by vking
1 parent 491345b2

fixbug,默认时间不在时段内

<!--components/actionSheet/index.wxml-->
<action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange" class="action-sheet">
<view class="tip" wx:if="{{hasTip}}"><slot></slot></view>
<block wx:for="{{items}}" wx:key="items.key">
<block wx:for="{{items}}" wx:key="itemskey">
<action-sheet-item bindtap="bindItemTap" data-value="{{item}}" data-index="{{index}}">{{item}}</action-sheet-item>
</block>
<action-sheet-cancel bindtap="bindItemTap">取消</action-sheet-cancel>
... ...
... ... @@ -41,11 +41,16 @@ Component({
})
}
if(item.sex==3){
item.rname_mask=item.rname.substr(0,10)
if(item.rname){
if(item.sex==3){
item.rname_mask=item.rname.substr(0,10)
}else{
item.rname_mask=item.rname.substr(0,3)+(item.sex==1?'先生':'女士')
}
}else{
item.rname_mask=item.rname.substr(0,3)+(item.sex==1?'先生':'女士')
item.rname_mask=''
}
item.order_time=util.unixtoTime(item.ddate,'HH:II')
item.status_str=reserveStatus[item.status]||'';
this.setData({vitem:item})
... ...
... ... @@ -123,17 +123,24 @@ Page({
this.getTables();
}
},
/**
*
* @param d
*
*/
async setDateStr(d = new Date() / 1000,hasUseDefDtime=false){
hasInTimeSpace(hhii,timeIndex){
if(this.data.timePickerArray.length)return false
let timePickerArray=this.data.timePickerArray[timeIndex];
let tl=timePickerArray.length
if(tl<1) return false
console.log('hasInTimeSpace',hhii,timePickerArray[0],timePickerArray[tl-1],hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1])
if(hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1]) return true
return false
},
async setDateStr(d = new Date() / 1000,hasUseDefDtime=false,fouceTime=-1){
fouceTime=fouceTime>-1?fouceTime:this.data.form.time
hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[fouceTime],fouceTime)
if(hasUseDefDtime){//
let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time])
let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[fouceTime])
d=util.timetouUnix(timestr)
}
console.log('setDateStr',util.unixtoTime(d,'YYYY-MM-DD HH:II'),hasUseDefDtime)
console.log('setDateStr',util.unixtoTime(d,'YYYY-MM-DD HH:II'),hasUseDefDtime,fouceTime)
this.year=util.unixtoTime(d,'YYYY');
let ns = new Date() / 1000;
let dateStr = [
... ... @@ -144,13 +151,21 @@ Page({
let nowStr = util.unixtoTime(d, 'MM-DD `DAY/周WW`')
let form = this.data.form;
let timeObj = await comm.getTimeSpaceIndexData(d);
let timeObj = await comm.getTimeSpaceIndexData(d,null,fouceTime);
if(fouceTime!=timeObj.timeIndex && fouceTime>0){
timeObj.timeIndex=fouceTime
}
//form.time=await comm.getTimeSpaceIndex(d);
//如果小于默认时间,使用默认时间
let mmii = util.unixtoTime(d,'HH:II')
console.log('setDateStr-timeObj',timeObj,mmii,this.data.defDtime[timeObj.timeIndex])
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));
hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[timeObj.timeIndex],timeObj.timeIndex)
if(hasUseDefDtime){
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;
... ... @@ -168,6 +183,7 @@ Page({
form: form,
timePickerIndex: timePickerIndex,
timeOpt: timeObj.timeOpt,
hasUseDefDtime:hasUseDefDtime
};
this.setData(obj)
... ... @@ -314,6 +330,7 @@ Page({
sobj.timePickerMask = true;
}
}
//判断hasUseDefDtime
if ((key == 'time' || key == 'date') && !sobj.timePickerMask) {
sobj.hasUseDefDtime = true
... ... @@ -330,8 +347,9 @@ Page({
sobj.hasUseDefDtime=false
}
}
this.setDateStr(xtime,sobj.hasUseDefDtime);
this.setDateStr(xtime,sobj.hasUseDefDtime,sobj.form.time);
}
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]) {
... ... @@ -349,7 +367,6 @@ Page({
this.setDateStr(util.timetouUnix(xtime),sobj.hasUseDefDtime);
}
}
this.setData(sobj)
},
selectedValue(e){
... ... @@ -730,7 +747,7 @@ Page({
console.log('initModify', res);
//设置日期
let obj = await this.setDateStr(res.data.ddate);
let obj = await this.setDateStr(res.data.ddate,null,res.data.ddate_solt-1);
//设置时间
let nd = util.unixtoTime(res.data.ddate, 'HH:II');
let timePickerIndex = this.data.timePickerIndex
... ...
... ... @@ -62,7 +62,7 @@
<view class="section" style="height: 90rpx;">
<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"
<formids class="item-pnum {{form.pnum==item?'checked':''}}" wx:for="{{[6,7,8,9,10]}}" wx:key="pnumkey"
bindtap="selectedValue" data-key="pnum" data-value="{{item}}">
<view class="pnum">{{item}}</view>
</formids>
... ... @@ -129,7 +129,7 @@
</view>
</view>
<view class="advice-desk-detail flex-rr" wx:if="{{tables.length>0}}">
<block wx:for="{{tablesed||tables}}" wx:key="tables.key">
<block wx:for="{{tablesed||tables}}" wx:key="tableskey">
<board width="160" height="180" board="{{item}}"
style="margin: 20rpx 0 0 20rpx"
event="boardChoose" className="noBottom"
... ... @@ -167,7 +167,7 @@
bindblur="inputFocus"
data-key="rname"/>
<view class="book-info-grand flex-rr font28r gray-deep-font">
<block wx:for="{{grand}}" wx:key="grand.key">
<block wx:for="{{grand}}" wx:key="grandkey">
<view class="book-grand flex-cc book-grand-border {{form.sex==item.sex ? 'book-grand-active white-font' : ''}}"
bindtap="selectedValue"
data-value="{{item.sex}}"
... ...
... ... @@ -36,7 +36,7 @@
</view>
<view class="book-list-cut flex-ll font26r black-font">
<text>已订 {{ReservesTotal}}</text>
<text wx:for="{{ReservesCountDay}}" wx:if="{{item>-1}}" wx:key="ReservesCountDay.key">{{timeStrLabel[index]}} {{item}}</text>
<text wx:for="{{ReservesCountDay}}" wx:if="{{item>-1}}" wx:key="ReservesCountDaykey">{{timeStrLabel[index]}} {{item}}</text>
</view>
<block wx:if="{{!bookList}}">
<nothingBook height="{{listHeight}}"></nothingBook>
... ... @@ -53,7 +53,7 @@
</view>
<view class="book-list" style="padding-bottom:118rpx;">
<view class="book-list-body">
<block wx:for="{{bookList}}" wx:key="bookList.key">
<block wx:for="{{bookList}}" wx:key="bookListkey">
<bookList item="{{item}}" class="orderbook"></bookList>
</block>
</view>
... ...
... ... @@ -124,12 +124,19 @@ Page({
this.getTables();
}
},
/**
*
* @param d
*
*/
async setDateStr(d = new Date() / 1000,hasUseDefDtime=false){
hasInTimeSpace(hhii,timeIndex){
if(this.data.timePickerArray.length)return false
let timePickerArray=this.data.timePickerArray[timeIndex];
let tl=timePickerArray.length
if(tl<1) return false
console.log('hasInTimeSpace',hhii,timePickerArray[0],timePickerArray[tl-1],hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1])
if(hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1]) return true
return false
},
async setDateStr(d = new Date() / 1000,hasUseDefDtime=false,fouceTime=-1){
fouceTime=fouceTime>-1?fouceTime:this.data.form.time
hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[fouceTime],fouceTime)
if(hasUseDefDtime){//
let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time])
d=util.timetouUnix(timestr)
... ... @@ -146,12 +153,18 @@ Page({
let form = this.data.form;
let timeObj = await comm.getTimeSpaceIndexData(d);
if(fouceTime!=timeObj.timeIndex && fouceTime>0){
timeObj.timeIndex=fouceTime
}
//form.time=await comm.getTimeSpaceIndex(d);
//如果小于默认时间,使用默认时间
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));
hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[timeObj.timeIndex],timeObj.timeIndex)
if(hasUseDefDtime) {
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;
... ... @@ -170,6 +183,7 @@ Page({
form: form,
timePickerIndex: timePickerIndex,
timeOpt: timeObj.timeOpt,
hasUseDefDtime:hasUseDefDtime
};
this.setData(obj)
... ... @@ -332,7 +346,7 @@ Page({
sobj.hasUseDefDtime=false
}
}
this.setDateStr(xtime,sobj.hasUseDefDtime);
this.setDateStr(xtime,sobj.hasUseDefDtime,sobj.form.time);
}
if (this.data.form.date == 0) {//
let mmii = util.unixtoTime(new Date() / 1000, 'HH:II');
... ... @@ -731,7 +745,7 @@ Page({
this.is_set_ddate=res.data.is_set_ddate
console.log('initModify', res);
//设置日期
let obj = await this.setDateStr(res.data.ddate);
let obj = await this.setDateStr(res.data.ddate,null,res.data.ddate_solt-1);
//设置时间
let nd = util.unixtoTime(res.data.ddate, 'HH:II');
let timePickerIndex = this.data.timePickerIndex
... ...
... ... @@ -534,7 +534,7 @@
"id": 65,
"name": "pack-book/pages/book/online_update",
"pathName": "pack-book/pages/book/online_update",
"query": "id=43762",
"query": "id=45016",
"scene": null
},
{
... ... @@ -550,6 +550,13 @@
"pathName": "pack-book/pages/book/b_sms",
"query": "id=44178",
"scene": null
},
{
"id": -1,
"name": "新建内部预订",
"pathName": "pack-book/pages/book/b_addnew",
"query": "",
"scene": null
}
]
}
... ...
... ... @@ -143,7 +143,13 @@ module.exports ={
return 0;
},
//获得时间戳在早中晚的索引等
async getTimeSpaceIndexData(d=new Date()/1000,sc=null){
/**
* @param d
* @param sc
* @param fouceTime 强制使用timeIndex
* @returns {Promise.<{timeIndex: number, timeMatchIndex: number, timeOpt: [string,string,string]}>}
*/
async getTimeSpaceIndexData(d=new Date()/1000,sc=null,fouceTime=0){
let day0 = new Date(new Date().setHours(0, 0, 0, 0)) / 1000 ;
let day1 = day0 + 86400;
let isDay=false;//是否今天
... ... @@ -157,10 +163,10 @@ module.exports ={
timeMatchIndex:0,
timeOpt:['','','']
};
for(let i=0;i<times.length;i++) {
for(let i=fouceTime;i<times.length;i++) {
let flag = false;
for (let j = 0; j < times[i].length; j++) {
//console.log('times', nd, times[i][j], i, j);
console.log('times', nd, times[i][j], i, j);
if (nd <= times[i][j]) {
obj.timeIndex = i;
obj.timeMatchIndex = j;
... ... @@ -176,7 +182,7 @@ module.exports ={
obj.timeOpt[i] = 'disabled';
}
}
//console.log('times',obj);
console.log('times',obj);
return obj;
},
timeStrLabel:{'morning':'早市','noon':'午市','night':'晚市'},
... ...