Commit e4eac11b30b0f6024c42dd1bc14f1e4280087632

Authored by vking
1 parent 491345b2

fixbug,默认时间不在时段内

1 <!--components/actionSheet/index.wxml--> 1 <!--components/actionSheet/index.wxml-->
2 <action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange" class="action-sheet"> 2 <action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange" class="action-sheet">
3 <view class="tip" wx:if="{{hasTip}}"><slot></slot></view> 3 <view class="tip" wx:if="{{hasTip}}"><slot></slot></view>
4 - <block wx:for="{{items}}" wx:key="items.key"> 4 + <block wx:for="{{items}}" wx:key="itemskey">
5 <action-sheet-item bindtap="bindItemTap" data-value="{{item}}" data-index="{{index}}">{{item}}</action-sheet-item> 5 <action-sheet-item bindtap="bindItemTap" data-value="{{item}}" data-index="{{index}}">{{item}}</action-sheet-item>
6 </block> 6 </block>
7 <action-sheet-cancel bindtap="bindItemTap">取消</action-sheet-cancel> 7 <action-sheet-cancel bindtap="bindItemTap">取消</action-sheet-cancel>
@@ -41,11 +41,16 @@ Component({ @@ -41,11 +41,16 @@ Component({
41 }) 41 })
42 42
43 } 43 }
44 - if(item.sex==3){  
45 - item.rname_mask=item.rname.substr(0,10) 44 + if(item.rname){
  45 + if(item.sex==3){
  46 + item.rname_mask=item.rname.substr(0,10)
  47 + }else{
  48 + item.rname_mask=item.rname.substr(0,3)+(item.sex==1?'先生':'女士')
  49 + }
46 }else{ 50 }else{
47 - item.rname_mask=item.rname.substr(0,3)+(item.sex==1?'先生':'女士') 51 + item.rname_mask=''
48 } 52 }
  53 +
49 item.order_time=util.unixtoTime(item.ddate,'HH:II') 54 item.order_time=util.unixtoTime(item.ddate,'HH:II')
50 item.status_str=reserveStatus[item.status]||''; 55 item.status_str=reserveStatus[item.status]||'';
51 this.setData({vitem:item}) 56 this.setData({vitem:item})
@@ -123,17 +123,24 @@ Page({ @@ -123,17 +123,24 @@ Page({
123 this.getTables(); 123 this.getTables();
124 } 124 }
125 }, 125 },
126 - /**  
127 - *  
128 - * @param d  
129 - *  
130 - */  
131 - async setDateStr(d = new Date() / 1000,hasUseDefDtime=false){ 126 +
  127 + hasInTimeSpace(hhii,timeIndex){
  128 + if(this.data.timePickerArray.length)return false
  129 + let timePickerArray=this.data.timePickerArray[timeIndex];
  130 + let tl=timePickerArray.length
  131 + if(tl<1) return false
  132 + console.log('hasInTimeSpace',hhii,timePickerArray[0],timePickerArray[tl-1],hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1])
  133 + if(hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1]) return true
  134 + return false
  135 + },
  136 + async setDateStr(d = new Date() / 1000,hasUseDefDtime=false,fouceTime=-1){
  137 + fouceTime=fouceTime>-1?fouceTime:this.data.form.time
  138 + hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[fouceTime],fouceTime)
132 if(hasUseDefDtime){// 139 if(hasUseDefDtime){//
133 - let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time]) 140 + let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[fouceTime])
134 d=util.timetouUnix(timestr) 141 d=util.timetouUnix(timestr)
135 } 142 }
136 - console.log('setDateStr',util.unixtoTime(d,'YYYY-MM-DD HH:II'),hasUseDefDtime) 143 + console.log('setDateStr',util.unixtoTime(d,'YYYY-MM-DD HH:II'),hasUseDefDtime,fouceTime)
137 this.year=util.unixtoTime(d,'YYYY'); 144 this.year=util.unixtoTime(d,'YYYY');
138 let ns = new Date() / 1000; 145 let ns = new Date() / 1000;
139 let dateStr = [ 146 let dateStr = [
@@ -144,13 +151,21 @@ Page({ @@ -144,13 +151,21 @@ Page({
144 let nowStr = util.unixtoTime(d, 'MM-DD `DAY/周WW`') 151 let nowStr = util.unixtoTime(d, 'MM-DD `DAY/周WW`')
145 let form = this.data.form; 152 let form = this.data.form;
146 153
147 - let timeObj = await comm.getTimeSpaceIndexData(d); 154 + let timeObj = await comm.getTimeSpaceIndexData(d,null,fouceTime);
  155 + if(fouceTime!=timeObj.timeIndex && fouceTime>0){
  156 + timeObj.timeIndex=fouceTime
  157 + }
  158 +
148 //form.time=await comm.getTimeSpaceIndex(d); 159 //form.time=await comm.getTimeSpaceIndex(d);
149 //如果小于默认时间,使用默认时间 160 //如果小于默认时间,使用默认时间
150 let mmii = util.unixtoTime(d,'HH:II') 161 let mmii = util.unixtoTime(d,'HH:II')
  162 + console.log('setDateStr-timeObj',timeObj,mmii,this.data.defDtime[timeObj.timeIndex])
151 if (mmii < this.data.defDtime[timeObj.timeIndex]) { 163 if (mmii < this.data.defDtime[timeObj.timeIndex]) {
152 - let str=util.unixtoTime(d, 'YYYY-MM-DD '+this.data.defDtime[timeObj.timeIndex]+':00')  
153 - timeObj = await comm.getTimeSpaceIndexData(util.timetouUnix(str)); 164 + hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[timeObj.timeIndex],timeObj.timeIndex)
  165 + if(hasUseDefDtime){
  166 + let str=util.unixtoTime(d, 'YYYY-MM-DD '+this.data.defDtime[timeObj.timeIndex]+':00')
  167 + timeObj = await comm.getTimeSpaceIndexData(util.timetouUnix(str));
  168 + }
154 } 169 }
155 170
156 form.time = timeObj.timeIndex; 171 form.time = timeObj.timeIndex;
@@ -168,6 +183,7 @@ Page({ @@ -168,6 +183,7 @@ Page({
168 form: form, 183 form: form,
169 timePickerIndex: timePickerIndex, 184 timePickerIndex: timePickerIndex,
170 timeOpt: timeObj.timeOpt, 185 timeOpt: timeObj.timeOpt,
  186 + hasUseDefDtime:hasUseDefDtime
171 }; 187 };
172 188
173 this.setData(obj) 189 this.setData(obj)
@@ -314,6 +330,7 @@ Page({ @@ -314,6 +330,7 @@ Page({
314 sobj.timePickerMask = true; 330 sobj.timePickerMask = true;
315 } 331 }
316 } 332 }
  333 +
317 //判断hasUseDefDtime 334 //判断hasUseDefDtime
318 if ((key == 'time' || key == 'date') && !sobj.timePickerMask) { 335 if ((key == 'time' || key == 'date') && !sobj.timePickerMask) {
319 sobj.hasUseDefDtime = true 336 sobj.hasUseDefDtime = true
@@ -330,8 +347,9 @@ Page({ @@ -330,8 +347,9 @@ Page({
330 sobj.hasUseDefDtime=false 347 sobj.hasUseDefDtime=false
331 } 348 }
332 } 349 }
333 - this.setDateStr(xtime,sobj.hasUseDefDtime); 350 + this.setDateStr(xtime,sobj.hasUseDefDtime,sobj.form.time);
334 } 351 }
  352 +
335 if (this.data.form.date == 0) {// 353 if (this.data.form.date == 0) {//
336 let mmii = util.unixtoTime(new Date() / 1000, 'HH:II'); 354 let mmii = util.unixtoTime(new Date() / 1000, 'HH:II');
337 if (mmii > this.data.defDtime[key == 'time' ? val : this.data.form.time]) { 355 if (mmii > this.data.defDtime[key == 'time' ? val : this.data.form.time]) {
@@ -349,7 +367,6 @@ Page({ @@ -349,7 +367,6 @@ Page({
349 this.setDateStr(util.timetouUnix(xtime),sobj.hasUseDefDtime); 367 this.setDateStr(util.timetouUnix(xtime),sobj.hasUseDefDtime);
350 } 368 }
351 } 369 }
352 -  
353 this.setData(sobj) 370 this.setData(sobj)
354 }, 371 },
355 selectedValue(e){ 372 selectedValue(e){
@@ -730,7 +747,7 @@ Page({ @@ -730,7 +747,7 @@ Page({
730 747
731 console.log('initModify', res); 748 console.log('initModify', res);
732 //设置日期 749 //设置日期
733 - let obj = await this.setDateStr(res.data.ddate); 750 + let obj = await this.setDateStr(res.data.ddate,null,res.data.ddate_solt-1);
734 //设置时间 751 //设置时间
735 let nd = util.unixtoTime(res.data.ddate, 'HH:II'); 752 let nd = util.unixtoTime(res.data.ddate, 'HH:II');
736 let timePickerIndex = this.data.timePickerIndex 753 let timePickerIndex = this.data.timePickerIndex
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 <view class="section" style="height: 90rpx;"> 62 <view class="section" style="height: 90rpx;">
63 <view class="tab flex-lr"> 63 <view class="tab flex-lr">
64 <view class="tab flex-ll"> 64 <view class="tab flex-ll">
65 - <formids class="item-pnum {{form.pnum==item?'checked':''}}" wx:for="{{[6,7,8,9,10]}}" wx:key="pnum.key" 65 + <formids class="item-pnum {{form.pnum==item?'checked':''}}" wx:for="{{[6,7,8,9,10]}}" wx:key="pnumkey"
66 bindtap="selectedValue" data-key="pnum" data-value="{{item}}"> 66 bindtap="selectedValue" data-key="pnum" data-value="{{item}}">
67 <view class="pnum">{{item}}</view> 67 <view class="pnum">{{item}}</view>
68 </formids> 68 </formids>
@@ -129,7 +129,7 @@ @@ -129,7 +129,7 @@
129 </view> 129 </view>
130 </view> 130 </view>
131 <view class="advice-desk-detail flex-rr" wx:if="{{tables.length>0}}"> 131 <view class="advice-desk-detail flex-rr" wx:if="{{tables.length>0}}">
132 - <block wx:for="{{tablesed||tables}}" wx:key="tables.key"> 132 + <block wx:for="{{tablesed||tables}}" wx:key="tableskey">
133 <board width="160" height="180" board="{{item}}" 133 <board width="160" height="180" board="{{item}}"
134 style="margin: 20rpx 0 0 20rpx" 134 style="margin: 20rpx 0 0 20rpx"
135 event="boardChoose" className="noBottom" 135 event="boardChoose" className="noBottom"
@@ -167,7 +167,7 @@ @@ -167,7 +167,7 @@
167 bindblur="inputFocus" 167 bindblur="inputFocus"
168 data-key="rname"/> 168 data-key="rname"/>
169 <view class="book-info-grand flex-rr font28r gray-deep-font"> 169 <view class="book-info-grand flex-rr font28r gray-deep-font">
170 - <block wx:for="{{grand}}" wx:key="grand.key"> 170 + <block wx:for="{{grand}}" wx:key="grandkey">
171 <view class="book-grand flex-cc book-grand-border {{form.sex==item.sex ? 'book-grand-active white-font' : ''}}" 171 <view class="book-grand flex-cc book-grand-border {{form.sex==item.sex ? 'book-grand-active white-font' : ''}}"
172 bindtap="selectedValue" 172 bindtap="selectedValue"
173 data-value="{{item.sex}}" 173 data-value="{{item.sex}}"
@@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
36 </view> 36 </view>
37 <view class="book-list-cut flex-ll font26r black-font"> 37 <view class="book-list-cut flex-ll font26r black-font">
38 <text>已订 {{ReservesTotal}}</text> 38 <text>已订 {{ReservesTotal}}</text>
39 - <text wx:for="{{ReservesCountDay}}" wx:if="{{item>-1}}" wx:key="ReservesCountDay.key">{{timeStrLabel[index]}} {{item}}</text> 39 + <text wx:for="{{ReservesCountDay}}" wx:if="{{item>-1}}" wx:key="ReservesCountDaykey">{{timeStrLabel[index]}} {{item}}</text>
40 </view> 40 </view>
41 <block wx:if="{{!bookList}}"> 41 <block wx:if="{{!bookList}}">
42 <nothingBook height="{{listHeight}}"></nothingBook> 42 <nothingBook height="{{listHeight}}"></nothingBook>
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 </view> 53 </view>
54 <view class="book-list" style="padding-bottom:118rpx;"> 54 <view class="book-list" style="padding-bottom:118rpx;">
55 <view class="book-list-body"> 55 <view class="book-list-body">
56 - <block wx:for="{{bookList}}" wx:key="bookList.key"> 56 + <block wx:for="{{bookList}}" wx:key="bookListkey">
57 <bookList item="{{item}}" class="orderbook"></bookList> 57 <bookList item="{{item}}" class="orderbook"></bookList>
58 </block> 58 </block>
59 </view> 59 </view>
@@ -124,12 +124,19 @@ Page({ @@ -124,12 +124,19 @@ Page({
124 this.getTables(); 124 this.getTables();
125 } 125 }
126 }, 126 },
127 - /**  
128 - *  
129 - * @param d  
130 - *  
131 - */  
132 - async setDateStr(d = new Date() / 1000,hasUseDefDtime=false){ 127 +
  128 + hasInTimeSpace(hhii,timeIndex){
  129 + if(this.data.timePickerArray.length)return false
  130 + let timePickerArray=this.data.timePickerArray[timeIndex];
  131 + let tl=timePickerArray.length
  132 + if(tl<1) return false
  133 + console.log('hasInTimeSpace',hhii,timePickerArray[0],timePickerArray[tl-1],hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1])
  134 + if(hhii>=timePickerArray[0] && hhii<=timePickerArray[tl-1]) return true
  135 + return false
  136 + },
  137 + async setDateStr(d = new Date() / 1000,hasUseDefDtime=false,fouceTime=-1){
  138 + fouceTime=fouceTime>-1?fouceTime:this.data.form.time
  139 + hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[fouceTime],fouceTime)
133 if(hasUseDefDtime){// 140 if(hasUseDefDtime){//
134 let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time]) 141 let timestr=util.unixtoTime(d,'YYYY-MM-DD '+this.data.defDtime[this.data.form.time])
135 d=util.timetouUnix(timestr) 142 d=util.timetouUnix(timestr)
@@ -146,12 +153,18 @@ Page({ @@ -146,12 +153,18 @@ Page({
146 let form = this.data.form; 153 let form = this.data.form;
147 154
148 let timeObj = await comm.getTimeSpaceIndexData(d); 155 let timeObj = await comm.getTimeSpaceIndexData(d);
  156 + if(fouceTime!=timeObj.timeIndex && fouceTime>0){
  157 + timeObj.timeIndex=fouceTime
  158 + }
149 //form.time=await comm.getTimeSpaceIndex(d); 159 //form.time=await comm.getTimeSpaceIndex(d);
150 //如果小于默认时间,使用默认时间 160 //如果小于默认时间,使用默认时间
151 let mmii = util.unixtoTime(d,'HH:II') 161 let mmii = util.unixtoTime(d,'HH:II')
152 if (mmii < this.data.defDtime[timeObj.timeIndex]) { 162 if (mmii < this.data.defDtime[timeObj.timeIndex]) {
153 - let str=util.unixtoTime(d, 'YYYY-MM-DD '+this.data.defDtime[timeObj.timeIndex]+':00')  
154 - timeObj = await comm.getTimeSpaceIndexData(util.timetouUnix(str)); 163 + hasUseDefDtime=this.hasInTimeSpace(this.data.defDtime[timeObj.timeIndex],timeObj.timeIndex)
  164 + if(hasUseDefDtime) {
  165 + let str = util.unixtoTime(d, 'YYYY-MM-DD ' + this.data.defDtime[timeObj.timeIndex] + ':00')
  166 + timeObj = await comm.getTimeSpaceIndexData(util.timetouUnix(str));
  167 + }
155 } 168 }
156 169
157 form.time = timeObj.timeIndex; 170 form.time = timeObj.timeIndex;
@@ -170,6 +183,7 @@ Page({ @@ -170,6 +183,7 @@ Page({
170 form: form, 183 form: form,
171 timePickerIndex: timePickerIndex, 184 timePickerIndex: timePickerIndex,
172 timeOpt: timeObj.timeOpt, 185 timeOpt: timeObj.timeOpt,
  186 + hasUseDefDtime:hasUseDefDtime
173 }; 187 };
174 188
175 this.setData(obj) 189 this.setData(obj)
@@ -332,7 +346,7 @@ Page({ @@ -332,7 +346,7 @@ Page({
332 sobj.hasUseDefDtime=false 346 sobj.hasUseDefDtime=false
333 } 347 }
334 } 348 }
335 - this.setDateStr(xtime,sobj.hasUseDefDtime); 349 + this.setDateStr(xtime,sobj.hasUseDefDtime,sobj.form.time);
336 } 350 }
337 if (this.data.form.date == 0) {// 351 if (this.data.form.date == 0) {//
338 let mmii = util.unixtoTime(new Date() / 1000, 'HH:II'); 352 let mmii = util.unixtoTime(new Date() / 1000, 'HH:II');
@@ -731,7 +745,7 @@ Page({ @@ -731,7 +745,7 @@ Page({
731 this.is_set_ddate=res.data.is_set_ddate 745 this.is_set_ddate=res.data.is_set_ddate
732 console.log('initModify', res); 746 console.log('initModify', res);
733 //设置日期 747 //设置日期
734 - let obj = await this.setDateStr(res.data.ddate); 748 + let obj = await this.setDateStr(res.data.ddate,null,res.data.ddate_solt-1);
735 //设置时间 749 //设置时间
736 let nd = util.unixtoTime(res.data.ddate, 'HH:II'); 750 let nd = util.unixtoTime(res.data.ddate, 'HH:II');
737 let timePickerIndex = this.data.timePickerIndex 751 let timePickerIndex = this.data.timePickerIndex
@@ -534,7 +534,7 @@ @@ -534,7 +534,7 @@
534 "id": 65, 534 "id": 65,
535 "name": "pack-book/pages/book/online_update", 535 "name": "pack-book/pages/book/online_update",
536 "pathName": "pack-book/pages/book/online_update", 536 "pathName": "pack-book/pages/book/online_update",
537 - "query": "id=43762", 537 + "query": "id=45016",
538 "scene": null 538 "scene": null
539 }, 539 },
540 { 540 {
@@ -550,6 +550,13 @@ @@ -550,6 +550,13 @@
550 "pathName": "pack-book/pages/book/b_sms", 550 "pathName": "pack-book/pages/book/b_sms",
551 "query": "id=44178", 551 "query": "id=44178",
552 "scene": null 552 "scene": null
  553 + },
  554 + {
  555 + "id": -1,
  556 + "name": "新建内部预订",
  557 + "pathName": "pack-book/pages/book/b_addnew",
  558 + "query": "",
  559 + "scene": null
553 } 560 }
554 ] 561 ]
555 } 562 }
@@ -143,7 +143,13 @@ module.exports ={ @@ -143,7 +143,13 @@ module.exports ={
143 return 0; 143 return 0;
144 }, 144 },
145 //获得时间戳在早中晚的索引等 145 //获得时间戳在早中晚的索引等
146 - async getTimeSpaceIndexData(d=new Date()/1000,sc=null){ 146 + /**
  147 + * @param d
  148 + * @param sc
  149 + * @param fouceTime 强制使用timeIndex
  150 + * @returns {Promise.<{timeIndex: number, timeMatchIndex: number, timeOpt: [string,string,string]}>}
  151 + */
  152 + async getTimeSpaceIndexData(d=new Date()/1000,sc=null,fouceTime=0){
147 let day0 = new Date(new Date().setHours(0, 0, 0, 0)) / 1000 ; 153 let day0 = new Date(new Date().setHours(0, 0, 0, 0)) / 1000 ;
148 let day1 = day0 + 86400; 154 let day1 = day0 + 86400;
149 let isDay=false;//是否今天 155 let isDay=false;//是否今天
@@ -157,10 +163,10 @@ module.exports ={ @@ -157,10 +163,10 @@ module.exports ={
157 timeMatchIndex:0, 163 timeMatchIndex:0,
158 timeOpt:['','',''] 164 timeOpt:['','','']
159 }; 165 };
160 - for(let i=0;i<times.length;i++) { 166 + for(let i=fouceTime;i<times.length;i++) {
161 let flag = false; 167 let flag = false;
162 for (let j = 0; j < times[i].length; j++) { 168 for (let j = 0; j < times[i].length; j++) {
163 - //console.log('times', nd, times[i][j], i, j); 169 + console.log('times', nd, times[i][j], i, j);
164 if (nd <= times[i][j]) { 170 if (nd <= times[i][j]) {
165 obj.timeIndex = i; 171 obj.timeIndex = i;
166 obj.timeMatchIndex = j; 172 obj.timeMatchIndex = j;
@@ -176,7 +182,7 @@ module.exports ={ @@ -176,7 +182,7 @@ module.exports ={
176 obj.timeOpt[i] = 'disabled'; 182 obj.timeOpt[i] = 'disabled';
177 } 183 }
178 } 184 }
179 - //console.log('times',obj); 185 + console.log('times',obj);
180 return obj; 186 return obj;
181 }, 187 },
182 timeStrLabel:{'morning':'早市','noon':'午市','night':'晚市'}, 188 timeStrLabel:{'morning':'早市','noon':'午市','night':'晚市'},