Showing
6 changed files
with
101 additions
and
79 deletions
| 1 | <view class="desk-list flex-rs"> | 1 | <view class="desk-list flex-rs"> |
| 2 | <block wx:for="{{list}}"> | 2 | <block wx:for="{{list}}"> |
| 3 | - <block wx:if="{{!item.r_status}}"> | ||
| 4 | - <view class="desk-single flex-vc green-deep-bg desk-can black-font" data-id="{{item.id}}" bindtap="selectdesk"> | ||
| 5 | - <view class="font38r font-bold desk-name flex-cc font-more">{{item.name}}</view> | ||
| 6 | - <view class="font34r desk-pnum flex-cc">{{item.table_pnum}}人桌</view> | ||
| 7 | - <view class="desk-mask {{item.isselect==true ? 'desk-mask-active white-font flex-vc font24r' : ''}}"> | ||
| 8 | - <icon type="success_no_circle" class="icon-success" color="#fff" size="13"></icon> | ||
| 9 | - </view> | ||
| 10 | - </view> | ||
| 11 | - </block> | ||
| 12 | - <block wx:if="{{item.r_status==1}}"> | ||
| 13 | - <view class="desk-single flex-vc gray-deep-bg desk-nocan black-font"> | ||
| 14 | - <view class="font38r desk-name flex-cc font-more">{{item.name}}</view> | 3 | + <view class="desk-single flex-vc green-deep-bg desk-can black-font" data-id="{{item.id}}" bindtap="selectdesk"> |
| 4 | + <view class="font38r font-bold desk-name flex-cc font-more">{{item.name}}</view> | ||
| 15 | <view class="font34r desk-pnum flex-cc">{{item.table_pnum}}人桌</view> | 5 | <view class="font34r desk-pnum flex-cc">{{item.table_pnum}}人桌</view> |
| 16 | - <view class="desk-status white-font flex-cc font32r">已预订</view> | ||
| 17 | - </view> | ||
| 18 | - </block> | ||
| 19 | - <!--<block wx:if="{{item.rstatus==2}}"> | ||
| 20 | - <view class="desk-single flex-vc green-light-bg desk-nocan black-font"> | ||
| 21 | - <view class="font38r desk-name flex-ll font-more">{{item.name}}</view> | ||
| 22 | - <view class="font34r desk-pnum flex-lr"> | ||
| 23 | - <view class="gray-deep-font font34r">{{item.pnum}}人</view> | ||
| 24 | - <view class="flex-rr"> | ||
| 25 | - <image class="desk-time" src="/pages/image/clock.png"></image> | ||
| 26 | - <view class="font24r gray-font">10</view> | ||
| 27 | - </view> | 6 | + <view class="desk-mask {{item.isselect==true ? 'desk-mask-active white-font flex-vc font24r' : ''}}"> |
| 7 | + <icon type="success_no_circle" class="icon-success" color="#fff" size="13"></icon> | ||
| 28 | </view> | 8 | </view> |
| 29 | - <view class="desk-status white-font flex-cc font32r">用餐中</view> | ||
| 30 | </view> | 9 | </view> |
| 31 | - </block>--> | ||
| 32 | </block> | 10 | </block> |
| 33 | </view> | 11 | </view> |
| @@ -58,15 +58,17 @@ Page({ | @@ -58,15 +58,17 @@ Page({ | ||
| 58 | /** | 58 | /** |
| 59 | * 生命周期函数--监听页面加载 | 59 | * 生命周期函数--监听页面加载 |
| 60 | */ | 60 | */ |
| 61 | + reserve_id:'', | ||
| 61 | onLoad: async function (options) { | 62 | onLoad: async function (options) { |
| 62 | - this.setDateStr(); | 63 | + this.reserve_id=options.id||''; |
| 64 | + this.setDateStr(); | ||
| 63 | this.sellerid=util.cache('sellerid'); | 65 | this.sellerid=util.cache('sellerid'); |
| 64 | let timePickerArray= await comm.getDayTimeSpace(); | 66 | let timePickerArray= await comm.getDayTimeSpace(); |
| 65 | this.setData({ | 67 | this.setData({ |
| 66 | timePickerArray: timePickerArray, | 68 | timePickerArray: timePickerArray, |
| 67 | }) | 69 | }) |
| 68 | - if(options.id>0){ | ||
| 69 | - this.initModify(options.id); | 70 | + if(this.reserve_id>0){ |
| 71 | + this.initModify(this.reserve_id); | ||
| 70 | } | 72 | } |
| 71 | }, | 73 | }, |
| 72 | /** | 74 | /** |
| @@ -101,7 +103,9 @@ Page({ | @@ -101,7 +103,9 @@ Page({ | ||
| 101 | * 生命周期函数--监听页面显示 | 103 | * 生命周期函数--监听页面显示 |
| 102 | */ | 104 | */ |
| 103 | onShow: function () { | 105 | onShow: function () { |
| 104 | - this.getTables(); | 106 | + if(!this.reserve_id || util.cache('tableid').length>0){ |
| 107 | + this.getTables(); | ||
| 108 | + } | ||
| 105 | setTimeout(()=>{ | 109 | setTimeout(()=>{ |
| 106 | this.setData({ | 110 | this.setData({ |
| 107 | calendarMaskLoad:true, | 111 | calendarMaskLoad:true, |
| @@ -145,7 +149,7 @@ Page({ | @@ -145,7 +149,7 @@ Page({ | ||
| 145 | 149 | ||
| 146 | }, | 150 | }, |
| 147 | selectedValue(e){ | 151 | selectedValue(e){ |
| 148 | - //console.log(e); | 152 | + console.log(e); |
| 149 | let key=util.attr(e,'key'); | 153 | let key=util.attr(e,'key'); |
| 150 | let val; | 154 | let val; |
| 151 | if(e.type=='input' || e.type=='confirm'){ | 155 | if(e.type=='input' || e.type=='confirm'){ |
| @@ -194,20 +198,27 @@ Page({ | @@ -194,20 +198,27 @@ Page({ | ||
| 194 | }else{ | 198 | }else{ |
| 195 | form[key]=val; | 199 | form[key]=val; |
| 196 | } | 200 | } |
| 201 | + console.log('ts',sobj.tables); | ||
| 197 | //console.log(e.type,key,val,form); | 202 | //console.log(e.type,key,val,form); |
| 198 | sobj.form=form; | 203 | sobj.form=form; |
| 199 | sobj.buttonhide=true; | 204 | sobj.buttonhide=true; |
| 200 | if(form.tid.length>0 && form.rname.length>0){ | 205 | if(form.tid.length>0 && form.rname.length>0){ |
| 201 | sobj.buttonhide=false; | 206 | sobj.buttonhide=false; |
| 202 | } | 207 | } |
| 203 | - this.setData(sobj) | ||
| 204 | - | ||
| 205 | if('date,time,pnum_str,tabid'.indexOf(key)>-1){ | 208 | if('date,time,pnum_str,tabid'.indexOf(key)>-1){ |
| 206 | - this.getTables(); | 209 | + sobj.form.tid=[]; |
| 210 | + this.getTables(); | ||
| 207 | } | 211 | } |
| 212 | + this.setData(sobj) | ||
| 208 | }, | 213 | }, |
| 209 | async getTables(){ | 214 | async getTables(){ |
| 210 | let form=this.data.form; | 215 | let form=this.data.form; |
| 216 | + let tableid=util.cache('tableid'); | ||
| 217 | + console.log('getTables-tableid',tableid.length,this.reserve_id); | ||
| 218 | + if(tableid.length<1 && this.reserve_id){ | ||
| 219 | + tableid=this.data.form.tid; | ||
| 220 | + } | ||
| 221 | + console.log('getTables-tableid',tableid,tableid.length); | ||
| 211 | try{ | 222 | try{ |
| 212 | let rdate=await comm.getTimeSpace(this.data.dateStr[this.data.form.date],this.data.form.time); | 223 | let rdate=await comm.getTimeSpace(this.data.dateStr[this.data.form.date],this.data.form.time); |
| 213 | console.log('rdate',this.data.dateStr[this.data.form.date],rdate); | 224 | console.log('rdate',this.data.dateStr[this.data.form.date],rdate); |
| @@ -216,17 +227,33 @@ Page({ | @@ -216,17 +227,33 @@ Page({ | ||
| 216 | pnum_str:form.pnum_str, | 227 | pnum_str:form.pnum_str, |
| 217 | rdate:rdate, | 228 | rdate:rdate, |
| 218 | tid:form.tabid, | 229 | tid:form.tabid, |
| 230 | + rid:this.reserve_id, | ||
| 219 | }).then(res=>{ | 231 | }).then(res=>{ |
| 220 | let tables=[]; | 232 | let tables=[]; |
| 221 | let tablesLength=0; | 233 | let tablesLength=0; |
| 222 | - res.data.forEach(p=>{ | ||
| 223 | - //if(tables.length>=3) return true; | ||
| 224 | - p.list.forEach(t=>{ | ||
| 225 | - tablesLength++; | ||
| 226 | - if(tables.length>=3) return true; | ||
| 227 | - tables.push(t); | ||
| 228 | - }) | ||
| 229 | - }) | 234 | + if(tableid.length>0){ |
| 235 | + res.data.forEach(p=>{ | ||
| 236 | + //if(tables.length>=3) return true; | ||
| 237 | + p.list.forEach(t=>{ | ||
| 238 | + tablesLength++; | ||
| 239 | + if(tables.length>=3) return true; | ||
| 240 | + if(tableid._indexOf(t.id)>-1){ | ||
| 241 | + t.isselect=true; | ||
| 242 | + tables.push(t); | ||
| 243 | + } | ||
| 244 | + }) | ||
| 245 | + }) | ||
| 246 | + wx.removeStorage({key:'tableid'}) | ||
| 247 | + }else{ | ||
| 248 | + res.data.forEach(p=>{ | ||
| 249 | + //if(tables.length>=3) return true; | ||
| 250 | + p.list.forEach(t=>{ | ||
| 251 | + tablesLength++; | ||
| 252 | + if(tables.length>=3) return true; | ||
| 253 | + tables.push(t); | ||
| 254 | + }) | ||
| 255 | + }) | ||
| 256 | + } | ||
| 230 | this.tablesLength=tablesLength; | 257 | this.tablesLength=tablesLength; |
| 231 | this.setData({ | 258 | this.setData({ |
| 232 | tables:tables, | 259 | tables:tables, |
| @@ -319,6 +346,8 @@ Page({ | @@ -319,6 +346,8 @@ Page({ | ||
| 319 | console.log(this.data.form) | 346 | console.log(this.data.form) |
| 320 | wx.navigateTo({ | 347 | wx.navigateTo({ |
| 321 | url:'b_desk?rdate='+rdate+'&tid='+this.data.form.tabid+'&pnum_str='+this.data.form.pnum_str | 348 | url:'b_desk?rdate='+rdate+'&tid='+this.data.form.tabid+'&pnum_str='+this.data.form.pnum_str |
| 349 | + +'&checked_tids='+this.data.form.tid | ||
| 350 | + +'&rid='+this.reserve_id | ||
| 322 | }) | 351 | }) |
| 323 | }, | 352 | }, |
| 324 | conditionInfo:function(){ | 353 | conditionInfo:function(){ |
| @@ -374,16 +403,18 @@ Page({ | @@ -374,16 +403,18 @@ Page({ | ||
| 374 | obj.form.tid=[]; | 403 | obj.form.tid=[]; |
| 375 | let tablesed=[]; | 404 | let tablesed=[]; |
| 376 | res.data.tables.forEach((t,ti)=>{ | 405 | res.data.tables.forEach((t,ti)=>{ |
| 406 | + obj.form.tid.push(t.id) | ||
| 377 | if(ti>=3) return; | 407 | if(ti>=3) return; |
| 378 | t.isselect=true | 408 | t.isselect=true |
| 379 | - obj.form.tid.push(t.id) | 409 | + t["isselected"]=1 |
| 380 | tablesed.push(t); | 410 | tablesed.push(t); |
| 381 | }) | 411 | }) |
| 382 | this.setData({ | 412 | this.setData({ |
| 383 | timePickerIndex:timePickerIndex, | 413 | timePickerIndex:timePickerIndex, |
| 384 | form:obj.form, | 414 | form:obj.form, |
| 385 | - tablesed:tablesed, | 415 | + //tablesed:tablesed, |
| 386 | }) | 416 | }) |
| 417 | + this.getTables(); | ||
| 387 | }catch (e){ | 418 | }catch (e){ |
| 388 | console.log('initModify',e) | 419 | console.log('initModify',e) |
| 389 | } | 420 | } |
| @@ -88,36 +88,36 @@ | @@ -88,36 +88,36 @@ | ||
| 88 | 88 | ||
| 89 | <view class="page-full tables"> | 89 | <view class="page-full tables"> |
| 90 | <view class="page"> | 90 | <view class="page"> |
| 91 | - <view class="title">可订桌位<text wx:if="{{tables.length>0}}"> ({{tablesLength}})</text></view> | ||
| 92 | - <view class="advice-desk-detail flex-lr" wx:if="{{tables.length>0}}"> | ||
| 93 | - <view class="flex-ll"> | ||
| 94 | - <block wx:for="{{tablesed||tables}}" wx:key="tables.key"> | ||
| 95 | - <view class="order-desk-info" | ||
| 96 | - bindtap="selectedValue" | ||
| 97 | - data-value="{{index}}" | ||
| 98 | - data-key="tid"> | ||
| 99 | - <block wx:if="{{item.tid==2}}"> | ||
| 100 | - <view class="flex-vc order-desk-detail" style="margin-top: 24rpx;"> | ||
| 101 | - <view class="font28r black-font smooth">{{item.name}}</view> | ||
| 102 | - <view class="font26r black-font" style="margin-top:6rpx;">{{item.table_pnum}}人</view> | ||
| 103 | - </view> | ||
| 104 | - <view class="order-desk-type flex-cc white-font">包间</view> | ||
| 105 | - </block> | ||
| 106 | - <block wx:else> | ||
| 107 | - <view class="flex-vc order-desk-detail" style="height:100%;"> | ||
| 108 | - <view class="font28r black-font smooth">{{item.name}}</view> | ||
| 109 | - <view class="font26r black-font" style="margin-top:6rpx;">{{item.table_pnum}}人</view> | ||
| 110 | - </view> | ||
| 111 | - </block> | ||
| 112 | - <icon type="success" size="20" color="#199095" class="desk-active" wx:if="{{item.isselect==true}}"/> | ||
| 113 | - </view> | ||
| 114 | - </block> | ||
| 115 | - </view> | ||
| 116 | - <view class="flex-rr advice-more" bindtap="selectdesk" wx:if="{{tablesLength>3 || form.rid>0}}"> | ||
| 117 | - <view style="padding-right:30rpx;" class="gray-deep-font font26r">更多</view> | 91 | + <view class="title flex-lr"> |
| 92 | + <view>可订桌位<text wx:if="{{tables.length>0}}"> ({{tablesLength}})</text></view> | ||
| 93 | + <view class="flex-rr advice-more" bindtap="selectdesk" wx:if="{{tablesLength>1}}"> | ||
| 94 | + <view style="padding-right:20rpx;" class="gray-deep-font font26r">更多</view> | ||
| 118 | <image src="../image/click.png" class="icon12-22"></image> | 95 | <image src="../image/click.png" class="icon12-22"></image> |
| 119 | </view> | 96 | </view> |
| 120 | </view> | 97 | </view> |
| 98 | + <view class="advice-desk-detail flex-rr" wx:if="{{tables.length>0}}"> | ||
| 99 | + <block wx:for="{{tablesed||tables}}" wx:key="tables.key"> | ||
| 100 | + <view class="order-desk-info" | ||
| 101 | + bindtap="selectedValue" | ||
| 102 | + data-value="{{index}}" | ||
| 103 | + data-key="tid"> | ||
| 104 | + <block wx:if="{{item.tid==2}}"> | ||
| 105 | + <view class="flex-vc order-desk-detail" style="margin-top: 24rpx;"> | ||
| 106 | + <view class="font28r black-font smooth">{{item.name}}</view> | ||
| 107 | + <view class="font26r black-font" style="margin-top:6rpx;">{{item.table_pnum}}人</view> | ||
| 108 | + </view> | ||
| 109 | + <view class="order-desk-type flex-cc white-font">包间</view> | ||
| 110 | + </block> | ||
| 111 | + <block wx:else> | ||
| 112 | + <view class="flex-vc order-desk-detail" style="height:100%;"> | ||
| 113 | + <view class="font28r black-font smooth">{{item.name}}</view> | ||
| 114 | + <view class="font26r black-font" style="margin-top:6rpx;">{{item.table_pnum}}人</view> | ||
| 115 | + </view> | ||
| 116 | + </block> | ||
| 117 | + <icon type="success" size="20" color="#199095" class="desk-active" wx:if="{{item.isselect==true}}"/> | ||
| 118 | + </view> | ||
| 119 | + </block> | ||
| 120 | + </view> | ||
| 121 | <view class="advice-desk-detail flex-cc" wx:else=""> | 121 | <view class="advice-desk-detail flex-cc" wx:else=""> |
| 122 | 没有符合条件的桌位! | 122 | 没有符合条件的桌位! |
| 123 | </view> | 123 | </view> |
| @@ -6,33 +6,40 @@ Page({ | @@ -6,33 +6,40 @@ Page({ | ||
| 6 | data:{ | 6 | data:{ |
| 7 | 7 | ||
| 8 | }, | 8 | }, |
| 9 | + checked_tids:[], | ||
| 9 | onLoad:function(opt){ | 10 | onLoad:function(opt){ |
| 10 | - console.log(opt) | 11 | + console.log('onLoad',opt) |
| 11 | util.setBarTitle('选择桌位'); | 12 | util.setBarTitle('选择桌位'); |
| 12 | var radio=750/util.getsystem().windowWidth; | 13 | var radio=750/util.getsystem().windowWidth; |
| 13 | var contentHeight=util.getsystem().windowHeight-Math.ceil(350/radio); | 14 | var contentHeight=util.getsystem().windowHeight-Math.ceil(350/radio); |
| 14 | if(opt.tid==0){ | 15 | if(opt.tid==0){ |
| 15 | delete opt.tid | 16 | delete opt.tid |
| 16 | } | 17 | } |
| 18 | + if(opt.checked_tids){ | ||
| 19 | + this.checked_tids=opt.checked_tids.split(',') | ||
| 20 | + util.cache('tableid',this.checked_tids) | ||
| 21 | + } | ||
| 17 | this.setData({ | 22 | this.setData({ |
| 18 | sellerid:util.cache('sellerid'), | 23 | sellerid:util.cache('sellerid'), |
| 19 | - opt:opt | 24 | + opt:opt, |
| 25 | + hasCheckedTable:this.checked_tids.length>0 | ||
| 20 | }) | 26 | }) |
| 21 | this.getdesklist(); | 27 | this.getdesklist(); |
| 22 | }, | 28 | }, |
| 23 | onShow:function(){ | 29 | onShow:function(){ |
| 24 | }, | 30 | }, |
| 25 | changedesk:function(e){ | 31 | changedesk:function(e){ |
| 26 | - var tableid=e.detail; | ||
| 27 | - this.setData({ | ||
| 28 | - tableid:util.cache('tableid') && util.cache('tableid').length>0 ? util.cache('tableid') :null | ||
| 29 | - }) | 32 | + let tableid=util.cache('tableid'); |
| 33 | + this.checked_tids= tableid && tableid.length>0?tableid:[]; | ||
| 34 | + this.setData({ | ||
| 35 | + hasCheckedTable:this.checked_tids.length>0 | ||
| 36 | + }) | ||
| 30 | }, | 37 | }, |
| 31 | back:function(){ | 38 | back:function(){ |
| 32 | this.setData({ | 39 | this.setData({ |
| 33 | buttonClick:true | 40 | buttonClick:true |
| 34 | }) | 41 | }) |
| 35 | - wx.removeStorage({key:'tableid'}) | 42 | + //wx.removeStorage({key:'tableid'}) |
| 36 | wx.navigateBack(); | 43 | wx.navigateBack(); |
| 37 | }, | 44 | }, |
| 38 | getdesklist:function(){ | 45 | getdesklist:function(){ |
| @@ -41,10 +48,14 @@ Page({ | @@ -41,10 +48,14 @@ Page({ | ||
| 41 | var that=this; | 48 | var that=this; |
| 42 | App.Reserve.GetTableList(formdata).then(function (json) { | 49 | App.Reserve.GetTableList(formdata).then(function (json) { |
| 43 | if(json.ret==200){ | 50 | if(json.ret==200){ |
| 51 | + console.log('this.checked_tids',that.checked_tids); | ||
| 44 | if(json.data.length>0){ | 52 | if(json.data.length>0){ |
| 45 | json.data.forEach(function(v,i){ | 53 | json.data.forEach(function(v,i){ |
| 46 | v.list.forEach(function(r,n){ | 54 | v.list.forEach(function(r,n){ |
| 47 | r.isselect=false | 55 | r.isselect=false |
| 56 | + if(that.checked_tids._indexOf(r.id)>-1){ | ||
| 57 | + r.isselect=true; | ||
| 58 | + } | ||
| 48 | }) | 59 | }) |
| 49 | }) | 60 | }) |
| 50 | } | 61 | } |
| @@ -7,4 +7,4 @@ | @@ -7,4 +7,4 @@ | ||
| 7 | </block> | 7 | </block> |
| 8 | </view> | 8 | </view> |
| 9 | 9 | ||
| 10 | -<view class="confirm-button white-font flex-vc font34r {{tableid ? 'confirm-button-active' : ''}}" bindtap="back">确定</view> | ||
| 10 | +<view class="confirm-button white-font flex-vc font34r {{hasCheckedTable ? 'confirm-button-active' : ''}}" bindtap="back">确定</view> |
-
Please register or login to post a comment