Merge refs/remotes/origin/master into refs/heads/master

This commit is contained in:
wenc000 2020-07-10 16:36:24 +08:00
commit c2850f2ea6
28 changed files with 881 additions and 217 deletions

View File

@ -1,13 +1,11 @@
{
"pages": [
"pages/venue/venue",
"pages/index/index",
"pages/center/center",
"pages/friendCircle/friendCircle",
"pages/venue/venue",
"pages/broadcastList/broadcastList",
"pages/orderDetail/orderDetail",
"pages/myVenueOrder/myVenueOrder",
"pages/book/book",
"pages/broadcast/broadcast",
"pages/activityDialog/activityDialog",
"pages/teamDetail/teamDetail",
@ -16,6 +14,7 @@
"pages/heritage/heritage",
"pages/broadcastDetail/broadcastDetail",
"pages/venueDetail/venueDetail",
"pages/book/book",
"pages/register/register",
"pages/login/login",
"pages/newVolunteerActivity/newVolunteerActivity",
@ -26,8 +25,7 @@
"pages/activityDetail/activityDetail",
"pages/activity/activity",
"pages/newsDetail/newsDetail",
"pages/newsList/newsList",
"pages/userAgree/userAgree"
"pages/newsList/newsList"
],
"window": {
"backgroundTextStyle": "light",

BIN
images/delete-photo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/friend.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
images/new.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

BIN
images/order.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

View File

@ -8,7 +8,11 @@ Page({
* 页面的初始数据
*/
data: {
token: '',
timer: '',
gotCode: false,
checkOrder: false,
restTime:120,
venuesInfoId: '',
selectVenuesProject:'',
venuesProjectList: [],
@ -26,7 +30,49 @@ Page({
//保存
saveBookingInfo: function(){
console.log(this.data.phoneNumber);
var self = this;
if(self.data.mySelectItem.length == 0){
wx.showToast({
title: '请先选择您的预订信息',
icon: 'none',
})
return false;
}
if(!self.checkPhoneNumber()){
return false;
}
if(self.data.smsCode == ''){
wx.showToast({
title: '请填写验证码',
icon: 'none',
})
return false;
}
var param = {
smsCode : self.data.smsCode,
phoneNumber : self.data.phoneNumber,
venuesProjectId : self.data.selectVenuesProject,
bookingItemList : self.data.mySelectItem
}
wx.showLoading({
title: '请稍等',
});
app.restAjax.post(app.restAjax.path('{venueUrl}/app/booking/savebookinginfo',[app.venueUrl]), param, {headers : {token:self.data.token}}, function(code,data){
if(code == 200){
wx.showToast({
title: '预订成功',
});
setTimeout( () =>{
wx.navigateBack({
delta: 1,
})
},1500);
}
},function(code,data){
app.dialog.msg(data.msg);
},function(){
wx.hideLoading();
});
},
/**
@ -217,6 +263,64 @@ Page({
})
},
checkPhoneNumber: function(){
if(this.data.phoneNumber == ''){
wx.showToast({
title: '请填写手机号',
icon: 'none',
})
return false;
}
if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.data.phoneNumber)) {
wx.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1500
})
return false;
}
return true;
},
//获取验证码
getSmsCoce: function (){
var self = this;
if(!self.checkPhoneNumber()){
return false;
}
app.restAjax.get(app.restAjax.path('{venueUrl}/api/sms/getverificationcode/' + self.data.phoneNumber, [app.venueUrl]), {}, null,
function (code, data) {
if (code == 200) {
console.log(data)
self.setData({
gotCode: true
})
self.data.timer = setInterval(function () {
var cur = self.data.restTime - 1
console.log(cur)
if (cur == 0) {
clearInterval(self.data.timer)
self.setData({
restTime: 120,
gotCode: false
})
} else {
self.setData({
restTime: cur
})
}
}, 1000)
}
},
function (code, data) {
wx.showToast({
title: data.msg,
icon: 'none',
duration: 1500
})
})
},
doCheckOrder: function () {
if(this.data.mySelectItem.length == 0){
return false;
@ -236,6 +340,14 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.getStorage({
key: 'token',
success: (result) => {
this.setData({
token : result.data
})
}
})
this.setData({
venuesInfoId: options.venuesInfoId
});

View File

@ -43,7 +43,8 @@
<view class="row-title">验证码:</view>
<view class="row-input">
<input placeholder="请输入验证码" class="code-input" model:value="{{smsCode}}"></input>
<view class="get-code">获取验证码</view>
<view class="get-code" bindtap="getSmsCoce" wx:if="{{!gotCode}}">获取验证码</view>
<view class="got-code" wx:else>{{restTime}}</view>
</view>
</view>
</view>

View File

@ -220,4 +220,18 @@
.top{
background: #9F1512;
color: #fff;
}
.get-code, .got-code{
font-size: 28rpx;
background: rgba(159,21,18,.1);
color: #9F1512;
width: 28%;
line-height: 55rpx;
text-align: center;
border-radius: 10rpx;
}
.got-code{
background: #fff;
color: #4a4d52;
border: 1px solid #eaeaea;
}

View File

@ -104,6 +104,14 @@ Page({
},
})
},
/**
* 跳转到我的预订列表
*/
toMyOrder: function() {
wx.navigateTo({
url: '../order/order',
})
},
/**
* 跳转到我的志愿团队页面
*/
@ -120,6 +128,22 @@ Page({
url: '../myVolunteerActivity/myVolunteerActivity',
})
},
/**
* 跳转到我发布的朋友圈页面
*/
toMyFirend: function () {
wx.navigateTo({
url: '../myFriendCircle/myFriendCircle',
})
},
/**
* 跳转到我预定的场馆页面
*/
toMyOrder: function () {
wx.navigateTo({
url: '../order/order',
})
},
/**
* 生命周期函数--监听页面加载
*/

View File

@ -11,6 +11,14 @@
<view class="main">
<view class="main-title">常用功能</view>
<view class="main-container">
<view class="main-box" bindtap="toMyOrder">
<image src="../../images/my-sign.png"></image>
<view class="title">我的预订</view>
</view>
<view class="main-box" bindtap="toMyFirend">
<image src="../../images/friend.png"></image>
<view class="title">我的发布</view>
</view>
<view class="main-box">
<image src="../../images/my-sign.png"></image>
<view class="title">我的报名</view>

View File

@ -55,6 +55,7 @@
text-align: center;
padding: 0 15rpx;
box-sizing: border-box;
margin-bottom: 15rpx;
}
.main-box image{
width: 65rpx;

View File

@ -53,6 +53,16 @@ Page({
wx.hideLoading();
});
},
newFriendCircle: function () {
wx.navigateTo({
url: '../newFriendCircle/newFriendCircle',
})
},
toMyFriendCircle: function () {
wx.navigateTo({
url: '../myFriendCircle/myFriendCircle',
})
},
/**
* 生命周期函数--监听页面加载
*/

View File

@ -48,4 +48,8 @@
<view class="date">{{item.gmtCreate}}</view>
</view>
</view>
</view>
<view class="new-friend-circle">
<view class="box new" bindtap="newFriendCircle">发布</view>
<view class="box" bindtap="toMyFriendCircle">我的</view>
</view>

View File

@ -49,4 +49,23 @@
}
.video video{
width: 100%;
}
.new-friend-circle{
position: fixed;
right: 30rpx;
bottom: 30rpx;
}
.box{
width: 100rpx;
height: 100rpx;
display: flex;
justify-content: center;
align-items: center;
background: #9F1512;
color: #fff;
font-size: 32rpx;
border-radius: 50%;
}
.new{
margin-bottom: 10rpx;
}

View File

@ -4,11 +4,6 @@ Page({
* 页面的初始数据
*/
data: {
randomName: '',
showPhone: true,
gotCode: false,
restTime: 120,
timer: '',
indicatorDots: true,
autoplay: true,
token: '',
@ -31,8 +26,7 @@ Page({
live: {
liveUrl: app.liveUrl,
liveList: []
},
usercenterUrl: app.usercenterUrl
}
},
doLogin: function () {
var self = this;
@ -65,9 +59,6 @@ Page({
page: 1,
rows: 5
}, null, function(code, data) {
for(var i = 0, item; item = data.rows[i++];) {
item.cover = item.libraryCover.split(',')[0];
}
self.setData({
'library.bannerLibrary': data.rows
});
@ -127,11 +118,6 @@ Page({
app.dialog.msg(data.msg);
});
},
goCultureDetail: function(event) {
wx.navigateTo({
url: '../cultureDetail/cultureDetail?libraryId='+ event.currentTarget.dataset.libraryId,
})
},
goNewsDetail: function (event) {
wx.navigateTo({
url: '../newsDetail/newsDetail?templateRecordUrl='+ event.currentTarget.dataset.templateRecordUrl,
@ -172,128 +158,6 @@ Page({
url: '../heritage/heritage',
})
},
// 获取输入的手机号
phoneNum: function (res) {
this.setData({
phone: res.detail.value
})
console.log(this.data.phone)
},
// 校验手机号
testPhone: function () {
var self = this
if (self.data.phone) {
if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.data.phone)) {
wx.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1500
})
} else {
self.getCode()
}
} else {
wx.showToast({
title: '手机号不能为空',
icon: 'none',
duration: 1500
})
}
},
// 获取验证码
getCode: function () {
var self = this
app.restAjax.get(app.restAjax.path('{usercenterUrl}/api/sms/getverificationcode/' + self.data.phone, [app.usercenterUrl]), {}, null,
function (code, data) {
if (code == 200) {
console.log(data)
self.setData({
gotCode: true
})
self.data.timer = setInterval(function () {
var cur = self.data.restTime - 1
if (cur == 0) {
clearInterval(self.data.timer)
self.setData({
restTime: 120,
gotCode: false
})
} else {
self.setData({
restTime: cur
})
}
}, 1000)
}
},
function (code, data) {
wx.showToast({
title: data.msg,
icon: 'none',
duration: 1500
})
} )
},
// 提交绑定手机
submitPhone: function () {
var self = this
app.restAjax.put(app.restAjax.path('{usercenterUrl}/app/user/updateminiappdefaultusername', [app.usercenterUrl]), {
phone: self.data.phone,
verificationCode: self.data.code
}, {
headers: {
token: self.data.token
}
}, function (code, data) {
wx.showTabBar();
wx.setStorageSync('token', data.data);
wx.setStorageSync('isRandomUsername', 0)
clearInterval(self.data.timer)
self.setData({
showPhone: false,
restTime: 120
})
self.getUserInfo();
}, function (code, data) {
console.log(data)
})
},
// 验证码
inputCode: function (e) {
this.setData({
code: e.detail.value
})
},
// 判断用户是否为随机名称
isRandomName: function () {
var self = this
wx.getStorage({
key: 'isRandomUsername',
success: function (res) {
if (res.data == 1) {
wx.hideTabBar()
self.setData({
randomName: true
})
}
}
})
},
// 获取用户信息
getUserInfo: function () {
var self = this
app.restAjax.get(app.restAjax.path('{usercenterUrl}/app/user/getappuser', [app.usercenterUrl]), {}, {
headers: {
token: self.data.token
}
}, function (code, data) {
self.setData({
userInfo: data
})
}, function (code, data) {
console.log(data)
})
},
/**
* 生命周期函数--监听页面加载
*/
@ -305,14 +169,13 @@ Page({
self.doGetLiveList();
self.doGetVenueList();
self.doGetActivityList();
self.isRandomName();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**

View File

@ -0,0 +1,116 @@
// pages/friendCircle/friendCircle.js
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
usercenterUrl: app.usercenterUrl,
socialUrl: app.socialUrl,
momentsList: [],
currentPage: 1,
rows: 20
},
doGetMomentsList: function(page) {
var self = this;
app.dialog.loading('正在加载');
app.restAjax.get(app.restAjax.path('{socialUrl}/app/moments/listpagemomentsofpublicrelease', [self.data.socialUrl]), {
page: page,
rows: self.data.rows
}, null, function(code, data) {
if(data.rows.length == 0) {
app.dialog.msg('暂无数据');
return;
}
for(var i = 0, item; item = data.rows[i++];) {
if(item.type === 'photo') {
var photos = item.photos.split(',');
var photoArray = [];
for(var j = 0, jItem; jItem = photos[j++];) {
if(jItem.length != 0) {
photoArray.push(jItem);
}
}
item.photoArray = photoArray;
}
}
var momentsArray;
if(page <= 1) {
momentsArray = data.rows;
} else {
momentsArray = self.data.news.newsList;
momentsArray = momentsArray.concat(data.rows);
}
self.setData({
currentPage: page,
momentsList: momentsArray
})
}, function(code, data) {
app.dialog.msg(data.msg);
}, function() {
wx.stopPullDownRefresh();
wx.hideLoading();
});
},
newFriendCircle: function () {
wx.navigateTo({
url: '../newFriendCircle/newFriendCircle',
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.doGetMomentsList(1);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
this.doGetMomentsList(1);
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.doGetMomentsList(this.data.currentPage + 1);
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,54 @@
<view class="friend-circle" wx:for="{{momentsList}}" wx:for-item="item" wx:for-index="index" wx:key="momentsList">
<view class="friend-circle-box" wx:if="{{item.type === 'text'}}">
<view class="avatar">
<image src="{{usercenterUrl}}/app/user/downloadavatar/{{item.creator}}"></image>
</view>
<view class="content">
<view class="name">{{item.creatorName}}</view>
<view class="text">{{item.content}}</view>
<view class="date">{{item.gmtCreate}}</view>
</view>
</view>
<view class="friend-circle-box" wx:if="{{item.type === 'photo' && item.photoArray.length === 1}}">
<view class="avatar">
<image src="{{usercenterUrl}}/app/user/downloadavatar/{{item.creator}}"></image>
</view>
<view class="content">
<view class="name">{{item.creatorName}}</view>
<view class="text">{{item.content}}</view>
<view class="photo-one">
<image src="{{socialUrl}}/route/file/downloadfile/true/{{item.photoArray[0]}}"></image>
</view>
<view class="date">{{item.gmtCreate}}</view>
</view>
</view>
<view class="friend-circle-box" wx:if="{{item.type === 'photo' && item.photoArray.length > 1}}">
<view class="avatar">
<image src="{{usercenterUrl}}/app/user/downloadavatar/{{item.creator}}"></image>
</view>
<view class="content">
<view class="name">{{item.creatorName}}</view>
<view class="text">{{item.content}}</view>
<view class="photo-more">
<image src="{{socialUrl}}/route/file/downloadfile/true/{{photo}}" wx:for="{{item.photoArray}}" wx:for-item="photo" wx:for-index="photoIndex" wx:key="photoArray"></image>
</view>
<view class="date">{{item.gmtCreate}}</view>
</view>
</view>
<view class="friend-circle-box" wx:if="{{item.type === 'video'}}">
<view class="avatar">
<image src="{{usercenterUrl}}/app/user/downloadavatar/{{item.creator}}"></image>
</view>
<view class="content">
<view class="name">{{item.creatorName}}</view>
<view class="text">{{item.content}}</view>
<view class="video">
<video src="{{socialUrl}}/route/file/downloadfile/true/{{item.video}}"></video>
</view>
<view class="date">{{item.gmtCreate}}</view>
</view>
</view>
</view>
<view class="new-friend-circle">
<view class="box new" bindtap="newFriendCircle">发布</view>
</view>

View File

@ -0,0 +1,68 @@
.friend-circle{
padding: 15rpx 30rpx;
border-bottom: 1px solid #DEDEDE;
}
.friend-circle:last-child {
border-bottom: none;
}
.friend-circle-box{
display: flex;
justify-content: space-between;
padding-bottom: 10rpx;
}
.avatar{
width: 8%;
}
.avatar image{
width: 100%;
height: 50rpx;
border-radius: 50rpx;
}
.content{
width: 90%;
}
.name{
font-size: 30rpx;
color: #949494;
}
.text{
font-size: 32rpx;
color: #000;
margin: 10rpx 0;
}
.date{
font-size: 28rpx;
color: #949494;
}
.photo-one image{
width: 100%;
}
.photo-more image{
width: 32%;
height: 150rpx;
margin-right: 2%;
margin-bottom: 10rpx;
}
.photo-more image:nth-child(3n){
margin-right: 0;
}
.video video{
width: 100%;
}
.new-friend-circle{
position: fixed;
right: 30rpx;
bottom: 30rpx;
}
.box{
width: 100rpx;
height: 100rpx;
display: flex;
justify-content: center;
align-items: center;
background: #9F1512;
color: #fff;
font-size: 32rpx;
border-radius: 50%;
}

View File

@ -0,0 +1,130 @@
// pages/newFriendCircle/newFriendCircle.js
Page({
/**
* 页面的初始数据
*/
data: {
showAdd: true,
selectedType: '',
selectedList: [],
isPublic: '' //朋友圈是否公开
},
changepublic: function (e) {
this.setData({
isPublic: e.detail.value
})
},
selectContent: function () {
var self = this
wx.chooseMedia({
count: 9 - self.data.selectedList.length,
mediaType: ['image','video'],
sourceType: ['album', 'camera'],
success: function (res) {
console.log(res)
if (res.type == 'image') {
self.setData({
selectedType: res.type,
selectedList: self.data.selectedList.concat(res.tempFiles)
})
} else {
self.setData({
selectedType: res.type,
selectedList: self.data.selectedList.concat(res.tempFiles)
})
}
self.isShowAdd()
console.log(self.data.selectedList)
}
})
},
deletePhoto: function (e) {
var self = this
var now = e.currentTarget.dataset.idx
var result = self.data.selectedList
result.splice(now, 1)
this.setData({
selectedList: result
})
self.isShowAdd('delete')
},
isShowAdd: function (from) {
if (this.data.selectedType == 'image') {
if (this.data.selectedList.length < 9) {
this.setData({
showAdd: true
})
} else {
this.setData({
showAdd: false
})
}
} else {
if (from) {
this.setData({
showAdd: true
})
} else {
this.setData({
showAdd: false
})
}
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,30 @@
<view class="new-friend-circle">
<view class="text">
<textarea placeholder="请输入内容"></textarea>
</view>
<view class="select">
<view class="photo" wx:for="{{selectedList}}" wx:key="index" wx:if="{{selectedList.length > 0}}">
<view class="type-box" wx:if="{{selectedType == 'image'}}">
<image src="{{item.tempFilePath}}"></image>
<image src="../../images/delete-photo.png" class="delete" bindtap="deletePhoto" data-idx="{{index}}"></image>
</view>
<view class="type-box" wx:else>
<video src="{{item.tempFilePath}}"></video>
<image src="../../images/delete-photo.png" class="delete" bindtap="deletePhoto" data-idx="{{index}}"></image>
</view>
</view>
<view class="add" bindtap="selectContent" wx:if="{{showAdd}}">
<image src="../../images/new.png"></image>
</view>
</view>
<view class="is-public">
是否公开:
<radio-group bindchange="changepublic">
<radio value="true" color="#9F1512">公开</radio>
<radio value="false" color="#9F1512">不公开</radio>
</radio-group>
</view>
</view>
<view class="submit">
发布
</view>

View File

@ -0,0 +1,79 @@
.new-friend-circle{
padding: 30rpx;
margin-bottom: 100rpx;
}
.text{
width: 100%;
height: 250rpx;
margin-bottom: 30rpx;
}
.text textarea{
width: 100%;
height: 100%;
border: 1px solid #DEDEDE;
padding: 15rpx;
box-sizing: border-box;
font-size: 32rpx;
}
.add{
width: 32%;
height: 200rpx;
background: #DEDEDE;
display: inline-flex;
justify-content: center;
align-items: center;
vertical-align: top;
}
.add image{
width: 100rpx;
height: 100rpx;
}
.is-public{
margin-top: 20rpx;
font-size: 30rpx;
}
.is-public radio-group{
display: inline-block;
}
.is-public radio-group radio{
margin-right: 20rpx;
}
.photo{
display: inline-block;
width: 32%;
height: 200rpx;
margin-right: 2%;
position: relative;
margin-bottom: 20rpx;
}
.photo:nth-child(3n){
margin-right: 0;
}
.photo image{
width: 100%;
height: 100%;
}
.photo image.delete{
width: 30rpx;
height: 30rpx;
position: absolute;
top: -15rpx;
right: -15rpx;
}
.type-box, .type-box video{
width: 100%;
height: 100%;
}
.submit{
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #9F1512;
height: 100rpx;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 32rpx;
}

View File

@ -1,3 +1,4 @@
var app = getApp();
// pages/order/order.js
Page({
@ -5,14 +6,62 @@ Page({
* 页面的初始数据
*/
data: {
venueUrl : app.venueUrl,
imgRoute : '/route/file/downloadfile/true/',
token: '',
orderList:[],
page: 1,
rows: 10,
total: 0
},
//查询订单列表
listOrderList: function() {
var self = this;
app.dialog.loading('请稍等');
app.restAjax.get(app.restAjax.path('{venueUrl}/app/booking/listpagemyticket', [app.venueUrl]),
{page: self.data.page,rows: self.data.rows}, {headers:{token : self.data.token}},
function (code, data) {
data.rows.forEach(element => {
element.venuePanorama = element.venuePanorama.split(',')[0]
});
self.setData({
orderList: data.rows,
page: data.page,
total: data.total
});
},
function (code, data) {
app.dialog.msg(data.msg);
},function(){
wx.hideLoading();
})
},
//订单详情页
toOrderDetail: function(options){
var groundBookingId = options.currentTarget.dataset.id;
if(!groundBookingId){
return false;
}
wx.navigateTo({
url: '../orderDetail/orderDetail?groundBookingId=' + groundBookingId,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.getStorage({
key: 'token',
success: (result) => {
this.setData({
token : result.data
})
this.listOrderList();
}
})
},
/**
@ -47,14 +96,12 @@ Page({
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**

View File

@ -1,30 +1,25 @@
<view class="order">
<view class="order-box">
<view class="order-box" wx:for="{{orderList}}" wx:key="inedx" bindtap="toOrderDetail" data-id="{{item.groundBookingId}}">
<view class="order-img">
<image src="../../images/center-bg.png"></image>
<image src="{{venueUrl}}{{imgRoute}}{{item.venuePanorama}}"></image>
</view>
<view class="order-info">
<view class="venue-project">
<view class="venue">场馆场馆场馆场馆</view>
<view class="project">篮球</view>
<view class="venue">{{item.venuesName}}</view>
<view class="project">{{item.projectName}}</view>
</view>
<view class="order-text">订单编号01010101</view>
<view class="order-text">下单时间2020-01-01</view>
<view class="price">¥15元</view>
</view>
</view>
<view class="order-box">
<view class="order-img">
<image src="../../images/center-bg.png"></image>
</view>
<view class="order-info">
<view class="venue-project">
<view class="venue">场馆场馆场馆场馆</view>
<view class="project">篮球</view>
<view class="order-text">订单编号:{{item.serial}}</view>
<view class="order-text">下单时间:{{item.gmtCreate}}</view>
<view wx:if="{{item.orderType == '0'}}">
<view class="price" wx:if="{{item.price == '0' || item.price == ''}}">¥15元</view>
<view class="price" wx:else>¥{{item.price}}元</view>
</view>
<view wx:if="{{item.orderType == '1'}}">
<view class="status">已取消</view>
</view>
<view wx:if="{{item.orderType == '2'}}">
<view class="status">已过期</view>
</view>
<view class="order-text">订单编号01010101</view>
<view class="order-text">下单时间2020-01-01</view>
<view class="price">¥15元</view>
</view>
</view>
</view>

View File

@ -45,4 +45,11 @@
.price{
font-size: 32rpx;
color:#9F1512;
}
.status{
display: inline-block;
padding: 0 10rpx;
background: #DEDEDE;
color: #FFF;
font-size: 30rpx;
}

View File

@ -1,3 +1,4 @@
var app = getApp();
// pages/orderDetail/orderDetail.js
Page({
@ -5,14 +6,118 @@ Page({
* 页面的初始数据
*/
data: {
venueUrl : app.venueUrl,
imgRoute : '/route/file/downloadfile/true/',
token:'',
groundBookingId: '',
serial: '',
venuesName: '',
projectName: '',
venuePanorama: '',
gmtCreate: '',
price: '',
itemList:[],
cancelType: false,
},
//查询订单详情
getDetail: function(){
var self = this;
app.dialog.loading('请稍等');
app.restAjax.get(app.restAjax.path('{venueUrl}/app/booking/getmyticketdetail/{groundBookingId}', [app.venueUrl,self.data.groundBookingId]),
{}, {headers:{token : self.data.token}},
function (code, data) {
self.setData({
serial: data.data.serial,
venuesName: data.data.venuesName,
projectName: data.data.projectName,
venuePanorama: data.data.venuePanorama.split(',')[0],
gmtCreate: data.data.gmtCreate.substring(0,19),
itemList: data.data.itemDTOList,
cancelType: false
})
var totalPrice = 0;
self.data.itemList.forEach(element => {
if(element.orderType != '1'){
totalPrice += Number(element.price);
}
if(element.orderType == '0'){
self.setData({
cancelType: true
})
}
});
self.setData({
price: totalPrice
})
},
function (code, data) {
app.dialog.msg(data.msg);
},function(){
wx.hideLoading();
})
},
//取消预订场次
cancelItem: function(options){
var self = this;
var bookingItemId = options.currentTarget.dataset.id;
var unCancelNum = 0;
self.data.itemList.forEach(element => {
if(element.orderType == '0'){
unCancelNum++;
}
});
//取消一个
if(unCancelNum > 1){
app.dialog.loading('请稍等');
app.restAjax.delete(app.restAjax.path('{venueUrl}/app/booking/removemyticketitem/{groundBookingId}/{bookingItemId}',
[app.venueUrl,self.data.groundBookingId,bookingItemId]), {}, {headers:{token : self.data.token}},
function (code, data) {
self.getDetail();
},
function (code, data) {
app.dialog.msg(data.msg);
},function(){
wx.hideLoading();
})
}
//取消全部
if(unCancelNum <= 1){
self.cancelAll();
}
},
//全部取消
cancelAll: function(){
var self = this;
app.dialog.loading('请稍等');
app.restAjax.delete(app.restAjax.path('{venueUrl}/app/booking/removemyticket/{groundBookingId}',
[app.venueUrl,self.data.groundBookingId]), {}, {headers:{token : self.data.token}},
function (code, data) {
self.getDetail();
},
function (code, data) {
app.dialog.msg(data.msg);
},function(){
wx.hideLoading();
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.getStorage({
key: 'token',
success: (result) => {
this.setData({
token : result.data,
groundBookingId: options.groundBookingId
})
this.getDetail();
}
})
},
/**

View File

@ -1,67 +1,40 @@
<view class="venue">
<view class="venue-img">
<image src="../../images/center-bg.png"></image>
<image wx:if="{{venuePanorama}}" src="{{venueUrl}}{{imgRoute}}{{venuePanorama}}"></image>
</view>
<view class="venue-info">
<view class="venue-title">场馆</view>
<view class="venue-title">{{venuesName}}</view>
<view class="time-number">
<text>订单编号:</text>123456789
<text>订单编号:</text>{{serial}}
</view>
<view class="time-number">
<text>下单时间:</text>10:10:10
<text>下单时间:</text>{{gmtCreate}}
</view>
<view class="time-number">
<text>价  格:</text>15元
<view class="time-number" wx:if="{{price == '0' || price == ''}}">
<text>价  格:</text> -
</view>
<view class="time-number" wx:else>
<text>价  格:</text> {{price}}元
</view>
</view>
</view>
<view class="book">
<view class="book-title">预定详情</view>
<view class="book-title">{{projectName}}-预定详情</view>
<view class="order">
<view class="order-box">
<view class="order-box" wx:for="{{itemList}}" wx:key="index">
<view class="top">
<view>2020-01-01</view>
<view>12:00-13:00</view>
<view>{{item.bookingOrderDate}}</view>
<view>{{item.timeStr}}-{{item.timeEnd}}</view>
</view>
<view class="bottom">
<view>场地1</view>
<view>15元</view>
<view class="cancel">取消预定</view>
</view>
</view>
<view class="order-box">
<view class="top">
<view>2020-01-01</view>
<view>12:00-13:00</view>
</view>
<view class="bottom">
<view>场地1</view>
<view>15元</view>
<view class="time-out">已过期</view>
</view>
</view>
<view class="order-box">
<view class="top">
<view>2020-01-01</view>
<view>12:00-13:00</view>
</view>
<view class="bottom">
<view>场地1</view>
<view>15元</view>
<view class="time-out">已取消</view>
</view>
</view>
<view class="order-box">
<view class="top">
<view>2020-01-01</view>
<view>12:00-13:00</view>
</view>
<view class="bottom">
<view>场地1</view>
<view>15元</view>
<view class="cancel">取消预定</view>
<view>{{item.groundName}}</view>
<view wx:if="{{item.price == '' || item.price == '0'}}">免费</view>
<view wx:else>{{item.price}}元</view>
<view class="cancel" wx:if="{{item.orderType == '0'}}" bindtap="cancelItem" data-id="{{item.bookingItemId}}">取消预定</view>
<view class="time-out" wx:if="{{item.orderType == '1'}}">已取消</view>
<view class="time-out" wx:if="{{item.orderType == '2'}}">已过期</view>
</view>
</view>
</view>
</view>
<view class="cancel-all">全部取消</view>
<view class="cancel-all" wx:if="{{cancelType}}" bindtap="cancelAll">全部取消</view>