Commit 0bd9aafeec3cc9939efafc8f62489dd859b06bb8

Authored by wangfan
1 parent 55ceadb1

moretable

<!--components/reserve/caixi.wxml-->
<cover-view class="mask" catchtap="hide" hidden="{{hidden}}">
<cover-view class="caixi" catchtap="">
<cover-view class="caixi-title flex-lr" catchtap="hide">
<cover-view class="close"></cover-view>
<cover-view class="title Semibold">选择菜系</cover-view>
<cover-view class="close">
<cover-image src="http://qn.colorcun.com/reserve/images/%E5%85%B3%20%20%E9%97%AD.png"></cover-image>
</cover-view>
</cover-view>
<cover-view class="caixi-view flex-auto-ll">
<cover-view class="item {{index==multiIndex[0]?'active':''}}"
bindtap="active" data-index="{{index}}"
wx:for="{{multiArray[0]}}" wx:key="multiArray.key">
{{item}}
<cover-image class="number" wx:if="{{index>=1 && index<4}}" src="http://qn.colorcun.com/reserve/images/cx{{index}}.png"></cover-image>
</cover-view>
</cover-view>
</cover-view>
</cover-view>
... ... @@ -2,7 +2,11 @@ var util = require('../../../../utils/util')
var uri = require('../../../../utils/uri');
Component({
properties: {
list: Array
list: Array,
checkedTids:{
type:String,
value:"",
},
},
data: {},
methods: {
... ... @@ -12,8 +16,11 @@ Component({
var list = this.data.list;
var pages = getCurrentPages();
var addnewPage=pages[pages.length - 2];
let checkedTids=this.data.checkedTids.split(',');
list.forEach(function (v, i) {
if (v.id == tebleid) {
console.log('click.board',v);
if(v.status_str && checkedTids._indexOf(v.id)<0) return util.toast('不能预订该桌位','none');
if (v.isselect == true) {
var thisindex = tables.indexOf(tebleid);
tables.splice(thisindex, 1)
... ...
... ... @@ -123,7 +123,7 @@
<view class="page" style="margin-top: 0">
<view class="title flex-lr">
<view>可订桌位<text wx:if="{{tables.length>0}}"> ({{tablesLength}})</text></view>
<view class="flex-rr advice-more" bindtap="selectdesk" wx:if="{{tablesLength>1}}">
<view class="flex-rr advice-more" bindtap="selectdesk">
<view style="padding-right:20rpx;" class="gray-deep-font font26r">更多</view>
<image src="http://qn.colorcun.com/custom/lite-yd/image/click.png" class="icon12-22"></image>
</view>
... ...
... ... @@ -3,77 +3,81 @@ import comm from '../../../utils/bookCommon';
import App from '../../../utils/api';
const {regeneratorRuntime} = global
Page({
data:{
menu_active_id:''
},
checked_tids:[],
desks:[],
onLoad:function(opt){
console.log('onLoad',opt)
util.setBarTitle('选择桌位');
var radio=750/util.getsystem().windowWidth;
var contentHeight=util.getsystem().windowHeight-Math.ceil(350/radio);
if(opt.tid==0){
delete opt.tid
}
if(opt.checked_tids){
this.checked_tids=opt.checked_tids.split(',')
util.cache('tableid',this.checked_tids)
}
this.setData({
sellerid:util.cache('sellerid'),
opt:opt,
hasCheckedTable:this.checked_tids.length>0
})
this.getdesklist();
},
onShow:function(){
this.setData({
height:getApp().system.windowHeight-55
})
},
changedesk:function(e){
let tableid=util.cache('tableid');
this.checked_tids= tableid && tableid.length>0?tableid:[];
this.setData({
hasCheckedTable:this.checked_tids.length>0
})
},
back:function(){
this.setData({
buttonClick:true
})
//wx.removeStorage({key:'tableid'})
wx.navigateBack();
},
getdesklist:function(){
var formdata=this.data.opt;
formdata.sid=this.data.sellerid;
var that=this;
App.Reserve.GetTableList(formdata).then(function (json) {
if(json.ret==200){
console.log('this.checked_tids',that.checked_tids);
that.desks=json.data
that.formatDesklist(true)
}
})
},
formatDesklist(hasFirst=true){
let desks=this.desks;
if(desks.length>0){
desks.forEach((v,i)=>{
v.list.forEach((r,n)=>{
r.isselect=false
if(this.checked_tids._indexOf(r.id)>-1){
r.isselect=true;
data: {
menu_active_id: ''
},
checked_tids: [],
desks: [],
sellerid:'',
options:null,
onLoad: function (opt) {
console.log('onLoad', opt)
this.options=opt;
var radio = 750 / util.getsystem().windowWidth;
var contentHeight = util.getsystem().windowHeight - Math.ceil(350 / radio);
if (opt.tid == 0) {
delete opt.tid
}
if (opt.checked_tids) {
this.checked_tids = opt.checked_tids.split(',')
util.cache('tableid', this.checked_tids)
}
this.sellerid=util.cache('sellerid');
this.setData({
sellerid: this.sellerid,
opt: opt,
hasCheckedTable: this.checked_tids.length > 0
})
//this.getdesklist();
this.getDeskList();
},
onShow: function () {
this.setData({
height: getApp().system.windowHeight - 55
})
},
changedesk: function (e) {
let tableid = util.cache('tableid');
this.checked_tids = tableid && tableid.length > 0 ? tableid : [];
this.setData({
hasCheckedTable: this.checked_tids.length > 0
})
},
back: function () {
this.setData({
buttonClick: true
})
//wx.removeStorage({key:'tableid'})
wx.navigateBack();
},
getdesklist: function () {
var formdata = this.data.opt;
formdata.sid = this.data.sellerid;
var that = this;
App.Reserve.GetTableList(formdata).then(function (json) {
if (json.ret == 200) {
console.log('this.checked_tids', that.checked_tids);
that.desks = json.data
that.formatDesklist(true)
}
})
},
formatDesklist(hasFirst = true){
let desks = this.desks;
if (desks.length > 0) {
desks.forEach((v, i) => {
v.list.forEach((r, n) => {
r.isselect = false
if (this.checked_tids._indexOf(r.id) > -1) {
r.isselect = true;
}
})
})
let param={
desklist:desks,
let param = {
desklist: desks,
}
if(hasFirst){
param.menu_active_id=desks[0].name
if (hasFirst) {
param.menu_active_id = desks[0].name
}
this.setData(param)
}
... ... @@ -83,7 +87,85 @@ Page({
this.formatDesklist(false)
this.setData({
menu_active_id:util.attr(e,'id')
menu_active_id: util.attr(e, 'id')
})
},
getDeskList(){
App.Tables.GetTableListsBySellerId({
sellerid:this.sellerid
}).then((res)=>{
this.desks=res.data[0];
this.getbooklist();
})
},
async getbooklist(){
let obj={};
let formdata={};
formdata.sid=this.sellerid;
formdata.x=1;
formdata.y=200;
formdata.rdate=this.options.rdate;
formdata.status='1,2';
let tids={};
let reserves=await App.Reserve.GetReserveList(formdata);
if(reserves.data.length>0){
reserves.data.forEach(r=>{
let ts=r.tid.split(',');
ts.forEach(tid=>{
let rname='';
if(r.sex==3){
rname=r.rname.substr(0,10)
}else{
rname=r.rname.substr(0,1)+(r.sex==1?'先生':'女士')
}
tids[tid]={
rdate:r.rdate,
id:r.id,
status:r.status,
rname:rname,
}
})
})
}
console.log('tids',tids);
let regions=[];
this.desks.forEach(region=>{
if(region.list.length>0){
let list_num=0;
region.list.forEach(tb=>{
tb.status_str='';
tb.status_classname='enabled'
tb.reserve_name=''
tb.reserve_id=''
if(tb.status!=0 && tb.status!=""){
tb.status_str='用餐中';
tb.status_classname='highlight';
tb.reserve_name=tb.spell==1?'拼桌':'堂食';
}else if(tids[tb.id]){
console.log('tids',region.name,tb.name);
tb.status_str=tids[tb.id].status==2?'用餐中':'已预订';
tb.status_classname='highlight';
tb.reserve_id=tids[tb.id].id;
tb.reserve_name=tids[tb.id].rname;
}
if(tb.enable!=1){
if(tb.status_str){
tb.status_classname='disabled-highlight';
}else{
tb.status_str='已停用';
tb.status_classname='disabled';
}
}
if(!tb.status_str){
list_num++;
}
region.list_num=list_num;
})
regions.push(region);
}
})
this.desks=regions
this.formatDesklist(true);
},
})
\ No newline at end of file
... ...
... ... @@ -11,7 +11,9 @@
</view>
<view style="height: {{height-80}}px;overflow-y: auto;padding-bottom: 160rpx;overflow-x: hidden;width: 100%;">
<block wx:for="{{desklist}}" wx:key="desklist.key">
<orderDesk list="{{item.list}}" bind:changedesk="changedesk" wx:if="{{item.name==menu_active_id}}"></orderDesk>
<orderDesk list="{{item.list}}" checkedTids="{{opt.checked_tids}}"
bind:changedesk="changedesk"
wx:if="{{item.name==menu_active_id}}"></orderDesk>
</block>
</view>
... ...
... ... @@ -44,7 +44,7 @@
"list": []
},
"miniprogram": {
"current": 52,
"current": 53,
"list": [
{
"id": 0,
... ... @@ -440,6 +440,13 @@
"pathName": "pages/reserve/indexList",
"query": "lat=34.21719&lng=108.89155&map={\"errMsg\":\"getMapRegion:ok\",\"southwest\":{\"longitude\":108.87545674591064,\"latitude\":34.204520114013846},\"northeast\":{\"longitude\":108.90764325408935,\"latitude\":34.229857981005225},\"scale\":15}&multiIndex=1&tags=1,2",
"scene": null
},
{
"id": 53,
"name": "选择更多桌位",
"pathName": "pack-book/pages/book/b_desk",
"query": "rdate=1559617200-1559631600&tid=0&pnum=6&checked_tids=760,761&rid=",
"scene": null
}
]
}
... ...