From cc98b6087b635d6a2feaaa7d06200f4b7c639546 Mon Sep 17 00:00:00 2001 From: wans <747101512@qq.com> Date: Thu, 2 Jul 2020 15:58:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 4 +- pages/book/book.js | 223 ++++++++++++++++++++++++++++- pages/book/book.wxml | 122 +++------------- pages/venueDetail/venueDetail.js | 59 +------- pages/venueDetail/venueDetail.wxml | 25 ++-- 5 files changed, 260 insertions(+), 173 deletions(-) diff --git a/app.json b/app.json index 397f712..d4c96db 100644 --- a/app.json +++ b/app.json @@ -1,6 +1,6 @@ { "pages": [ - "pages/book/book", + "pages/venue/venue", "pages/index/index", "pages/broadcast/broadcast", "pages/activityDialog/activityDialog", @@ -11,12 +11,12 @@ "pages/heritage/heritage", "pages/broadcastDetail/broadcastDetail", "pages/venueDetail/venueDetail", + "pages/book/book", "pages/register/register", "pages/login/login", "pages/newVolunteerActivity/newVolunteerActivity", "pages/newTeam/newTeam", "pages/volunteerTeam/volunteerTeam", - "pages/venue/venue", "pages/cultureDetail/cultureDetail", "pages/activitySign/activitySign", "pages/activityDetail/activityDetail", diff --git a/pages/book/book.js b/pages/book/book.js index c6b9688..6a7c503 100644 --- a/pages/book/book.js +++ b/pages/book/book.js @@ -1,3 +1,6 @@ +var app = getApp(); +//util.js 工具类 +var util = require('../../utils/util.js'); // pages/book/book.js Page({ @@ -5,23 +8,239 @@ Page({ * 页面的初始数据 */ data: { - checkOrder: false + checkOrder: false, + venuesInfoId: '', + selectVenuesProject:'', + venuesProjectList: [], + projectDetail:{}, + bookingOrderDateList:[], + bookingOrderDate: '', + selectGround:'', + groundList:[], + itemTimeList:[], + mySelectItem:[], + totalPrice:'0', + phoneNumber:'', + smsCode:'' }, + + //保存 + saveBookingInfo: function(){ + console.log(this.data.phoneNumber); + }, + + /** + * 获取项目列 + */ + listVenuesProject: function(){ + var self = this; + app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuesproject/listprojectinforelease/{venuesInfoId}', + [app.venueUrl,self.data.venuesInfoId]), {}, null, + function(code,data){ + self.setData({ + venuesProjectList: data + }); + if(self.data.venuesProjectList.length > 0){ + self.setData({ + selectVenuesProject: self.data.venuesProjectList[0].venuesProjectId + }); + self.getVenuesProjectDetail(); + self.getItemTimeList(); + }; + },function(code,data){ + app.dialog.msg(data.msg); + } + ); + }, + + //获取项目详情信息 + getVenuesProjectDetail: function(){ + var self = this; + app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuesproject/getvenuesprojectdetailrelease/{venuesProjectId}', + [app.venueUrl,self.data.selectVenuesProject]), {}, null, + function(code,data){ + self.setData({ + projectDetail:data.data + }); + // console.log(self.data.projectDetail); + },function(code,data){ + app.dialog.msg(data.msg); + } + ); + }, + + //获取预订时刻表 + getItemTimeList: function(){ + var self = this; + if(self.data.selectVenuesProject == ''){ + return false; + } + app.restAjax.get(app.restAjax.path('{venueUrl}/app/booking/listgrouninfoanditemrelease/{venuesProjectId}', + [app.venueUrl,self.data.selectVenuesProject]), {}, null, + function(code,data){ + if(data.data.length > 0 ){ + self.setData({ + groundList: data.data, + selectGround:data.data[0].groundInfoId, + itemTimeList:data.data[0].groundItemList + }); + } else { + self.setData({ + groundList: [], + selectGround:'', + itemTimeList:[] + }); + } + self.checkSelectType(); + // console.log(data.data); + },function(code,data){ + app.dialog.msg(data.msg); + } + ); + }, + + //用户点选时刻 + selectItemTime: function(options){ + var obj = options.currentTarget.dataset; + if(obj.data.checked == '0'){ + var item = { + bookingOrderDate: this.data.bookingOrderDate, + timeStr: obj.data.timeStr, + timeEnd: obj.data.timeEnd, + groundName: obj.data.groundName, + groundItemId: obj.data.groundItemId, + price: obj.data.price + } + var mySelectItem = this.data.mySelectItem; + mySelectItem.push(item) + this.setData({ + mySelectItem :mySelectItem + }) + } + if(obj.data.checked == '1'){ + var self = this; + var mySelectItem = self.data.mySelectItem; + for(var i = 0; i < mySelectItem.length; i++){ + if(mySelectItem[i]['groundItemId'] == obj.data.groundItemId && mySelectItem[i]['bookingOrderDate'] == self.data.bookingOrderDate){ + mySelectItem.splice(i,1); + self.setData({ + mySelectItem: mySelectItem + }) + break; + } + } + } + this.checkSelectType(); + this.checkPrice(); + }, + + //切换当前选择项目 + changeProject: function(options){ + var venuesProjectId = options.currentTarget.dataset.id; + if(this.data.selectVenuesProject == venuesProjectId){ + return false; + }; + this.setData({ + selectVenuesProject: venuesProjectId, + mySelectItem: [] + }); + this.getVenuesProjectDetail(); + this.getItemTimeList(); + this.getBookingDate() + this.setData({ + mySelectItem:[], + totalPrice : 0 + }); + }, + + //切换场地 + changeGround: function(options){ + var groundInfoId = options.currentTarget.dataset.id; + var index = options.currentTarget.dataset.index; + var groundList = this.data.groundList; + this.setData({ + selectGround: groundInfoId, + itemTimeList: groundList[index].groundItemList + }) + this.checkSelectType(); + }, + + //判断已选择的状态 + checkSelectType: function(){ + var self = this; + self.data.itemTimeList.forEach(element =>{ + element['checked'] = '0'; + self.data.mySelectItem.forEach(my =>{ + if(element['groundItemId'] == my['groundItemId'] && self.data.bookingOrderDate == my['bookingOrderDate']){ + element['checked'] = '1'; + } + }) + }); + // console.log(self.data.itemTimeList); + self.setData({ + itemTimeList: self.data.itemTimeList + }) + }, + + //预订日期 + getBookingDate: function(){ + var dateList = []; + var day = new Date(); + day.setTime(day.getTime() + 24*60*60*1000) + dateList.push(util.formatDate(day)); + day.setTime(day.getTime() + 24*60*60*1000) + dateList.push(util.formatDate(day)); + day.setTime(day.getTime() + 24*60*60*1000) + dateList.push(util.formatDate(day)); + this.setData({ + bookingOrderDate: dateList[0], + bookingOrderDateList: dateList + }) + }, + + //切换日期 + changeDate: function(options){ + this.setData({ + bookingOrderDate: options.currentTarget.dataset.date + }) + this.checkSelectType(); + }, + + //计算金额 + checkPrice: function(){ + var total = 0; + this.data.mySelectItem.forEach(element=>{ + total = total + Number(element['price']); + }) + this.setData({ + totalPrice: total + }) + }, + doCheckOrder: function () { + if(this.data.mySelectItem.length == 0){ + return false; + } this.setData({ checkOrder: true }) }, + closeCheckOrder: function () { this.setData({ checkOrder: false }) }, + /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { - + this.setData({ + venuesInfoId: options.venuesInfoId + }); + this.listVenuesProject(); + this.getBookingDate(); }, /** diff --git a/pages/book/book.wxml b/pages/book/book.wxml index bc786fa..4c52742 100644 --- a/pages/book/book.wxml +++ b/pages/book/book.wxml @@ -1,94 +1,34 @@ - + - 篮球 - - - - - 篮球 - - - - - 篮球 + {{item.projectName}} - 营业时间: - 暂无信息 - 项目描述: - 暂无信息 - 场地设置: - 暂无信息 + 简介: + {{projectDetail.projectDescription}} - 2020-01-01 - 2020-01-01 - 2020-01-01 + {{item}} - + - 场地1 - - - - - 场地1 - - - - - 场地1 + {{item.groundName}} - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 - - - 2020-01-01 - 12:00-13:00 - 15元 + + {{item.timeStr}}-{{item.timeEnd}} + {{item.price == '0' ? '免费' : item.price + '元'}} @@ -96,22 +36,22 @@ 手机号: - + 验证码: - + 获取验证码 - 订单金额:10元 + 订单金额:{{totalPrice == '0'? '-' : totalPrice + '元'}} - + 预定 @@ -120,34 +60,14 @@ 订单信息 - + - 2020-01-01 - 12:00-13:00 + {{item.bookingOrderDate}} + {{item.timeStr}}-{{item.timeEnd}} - 场地1 - 15元 - - - - - 2020-01-01 - 12:00-13:00 - - - 场地1 - 15元 - - - - - 2020-01-01 - 12:00-13:00 - - - 场地1 - 15元 + {{item.groundName}} + {{item.price == '0' ? '免费' : item.price + '元'}} diff --git a/pages/venueDetail/venueDetail.js b/pages/venueDetail/venueDetail.js index a0d2ebb..dfbc874 100644 --- a/pages/venueDetail/venueDetail.js +++ b/pages/venueDetail/venueDetail.js @@ -13,9 +13,7 @@ Page({ venuesDetail:{}, venuesProjectList: [], swiperImg:[], - venueCharge: '', - selectVenuesProject: '', - selectVenuesProjectDetail: {} + venueCharge: '' }, //场馆详情接口 @@ -43,54 +41,6 @@ Page({ ); }, - //获取项目列表 - listVenuesProject: function(){ - var self = this; - app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuesproject/listprojectinforelease/{venuesInfoId}', [app.venueUrl, self.data.venuesInfoId]), {}, null , - function(code,data){ - self.setData({ - venuesProjectList: data - }); - if(self.data.venuesProjectList.length > 0){ - self.setData({ - selectVenuesProject: self.data.venuesProjectList[0].venuesProjectId - }); - self.getVenuesProjectDetail(); - }; - }, function(code, data){ - app.dialog.msg(data.msg); - } - ); - }, - - //切换当前选择项目 - changeVenuesProject: function(options){ - var venuesProjectId = options.currentTarget.dataset.id; - if(this.data.selectVenuesProject == venuesProjectId){ - return false; - }; - this.setData({ - selectVenuesProject: venuesProjectId - }); - this.getVenuesProjectDetail(); - }, - - //获取项目详情信息 - getVenuesProjectDetail: function(){ - var self = this; - app.restAjax.get(app.restAjax.path('{venueUrl}/app/venuesproject/getvenuesprojectdetailrelease/{selectVenuesProject}', - [app.venueUrl, self.data.selectVenuesProject]), {}, null, - function(code,data){ - console.log(data); - self.setData({ - selectVenuesProjectDetail: data.data - }); - }, function(code,data){ - app.dialog.msg(data.msg); - } - ); - }, - //场馆地图导航 showMap: function(options){ var dataObj = options.currentTarget.dataset @@ -102,6 +52,12 @@ Page({ }); }, + goBooking: function(){ + wx.navigateTo({ + url: '../book/book?venuesInfoId=' + this.data.venuesInfoId, + }) + }, + /** * 生命周期函数--监听页面加载 */ @@ -110,7 +66,6 @@ Page({ venuesInfoId: options.venuesInfoId }); this.getVenuesDetail(); - this.listVenuesProject(); }, /** diff --git a/pages/venueDetail/venueDetail.wxml b/pages/venueDetail/venueDetail.wxml index 537a765..5b11291 100644 --- a/pages/venueDetail/venueDetail.wxml +++ b/pages/venueDetail/venueDetail.wxml @@ -24,20 +24,6 @@ 温馨提示:{{venuesDetail.bookingTips}} - - - - {{item.projectName}} - - - - 项目介绍: - {{selectVenuesProjectDetail.projectDescription}} - - - - 场馆服务: @@ -51,6 +37,13 @@ - - 预定 + + 直接到场 + + + 场次预订 + + + 门票预订 \ No newline at end of file