Commit cfa619c6 by 严立

订单列表,活动列表状态重构。

parent f2931965
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<view class="member-power row cc ac" wx:if="{{winPowerInfoEnter}}"> <view class="member-power row cc ac" wx:if="{{winPowerInfoEnter}}">
<view class="member-power-info column cc ac"> <view class="member-power-info column cc ac">
<text>权限提醒</text> <text>权限提醒</text>
<text>该俱乐部为业主专享,仅面向业主。如果您是业主,可前往【我的】页面进行业主认证。</text> <text>该俱乐部为业主专享,仅面向业主。如果您是业主,可前往【我的】页面进行业主认证。</text>
<button class="row cc ac" bindtap="onCloseTip">我知道了</button> <button class="row cc ac" bindtap="onCloseTip">我知道了</button>
</view> </view>
</view> </view>
......
...@@ -13,14 +13,11 @@ Page({ ...@@ -13,14 +13,11 @@ Page({
fromPage: '', fromPage: '',
codeInfo: {}, codeInfo: {},
isFromUse: false,
winCode: false, winCode: false,
residuePayTime: "", //剩余支付时间 residuePayTime: '', //剩余支付时间
codeList: [], codeList: [],
shopAppId: "",
activityId: '', activityId: '',
shopInfo: {}, shopInfo: {},
...@@ -40,9 +37,7 @@ Page({ ...@@ -40,9 +37,7 @@ Page({
options: options, options: options,
activityId: options.activityId, activityId: options.activityId,
orderInfo: { 'id': options.id }, orderInfo: { 'id': options.id },
shopAppId: options.shopAppId,
fromPage: options.fromPage === 'order' ? 'order' : '', fromPage: options.fromPage === 'order' ? 'order' : '',
isFromUse: options.showCode === 'true' ? true : false,
}) })
this.queryOrderDetail() this.queryOrderDetail()
}, },
...@@ -90,8 +85,12 @@ Page({ ...@@ -90,8 +85,12 @@ Page({
'instructions': funcResponse.particulars, 'instructions': funcResponse.particulars,
'expireTime': funcResponse.expireTime.replace(/-/g, '.').replace('~', '-'), //订单有效期 'expireTime': funcResponse.expireTime.replace(/-/g, '.').replace('~', '-'), //订单有效期
'wxRequest': funcResponse.wxRequest, 'wxRequest': funcResponse.wxRequest,
'isRefund': Boolean(Number(funcResponse.enableRefund)) 'isRefund': Boolean(Number(funcResponse.enableRefund)),
'viewButton': [],
} }
this.setActivityDetailView(funcOrderInfo)
console.log(funcOrderInfo)
// 电影 // 电影
if (funcOrderInfo.goodsType === -2 && funcOrderInfo.expireTime) { if (funcOrderInfo.goodsType === -2 && funcOrderInfo.expireTime) {
...@@ -128,18 +127,75 @@ Page({ ...@@ -128,18 +127,75 @@ Page({
goodsList: funcGoodsList, goodsList: funcGoodsList,
}) })
this.setData({
orderInfo: funcOrderInfo,
shopInfo: funcShopInfo,
userInfo: funcUserInfo,
goodsList: funcGoodsList,
})
// 等待支付时间计时 // 等待支付时间计时
if (funcOrderInfo.state == 0) this.setPayCountdown(funcOrderInfo.submitTime) if (funcOrderInfo.state == 0) this.setPayCountdown(funcOrderInfo.submitTime)
}).catch(() => {}) }).catch(() => {})
}, },
// +----------+----------+---------+-----------+------------------+------------------+-------------------------------+
// | 状态码 | 订单状态 | 状态码 | 活动状态 |   列表按钮   |   详情按钮   |       备注        |
// +----------+----------+---------+-----------+------------------+------------------+-------------------------------+
// |  0   | 待付款  |     |      | 取消报名 去支付 | 取消报名 去支付 |                 |
// |  1   | 未发货  |     |      |          |          | 不考虑。            |
// |  2   | 待使用  |  0   | 未开始  | 申请退款 去使用 | 申请退款     | 先判断订单状态,再判断活动状态。|
// |  2   | 待使用  |  1   | 进行中  | 申请退款 去使用 | 申请退款     | 先判断订单状态,再判断活动状态。|
// |  2   | 待使用  |  2   | 已结束  |          |          | 视为已过期。          |
// |  3   | 待评价  |     |      | 去评价      | 去评价      | 无视活动状态。         |
// |  4   | 已过期  |     |      | 删除报名     | 删除报名     | 无视活动状态。         |
// |  5   | 已发货  |     |      |          |          | 不考虑。            |
// |  6   | 已评价  |     |      | 删除报名     | 删除报名     | 无视活动状态。         |
// |  7   | 退款审核 |     |      |          |          | 无视活动状态。         |
// |  8   | 退款成功 |     |      | 删除报名 再次报名| 删除报名 再次报名| 无视活动状态。         |
// |  -1   | 已取消  |     |      | 删除报名 再次报名| 删除报名 再次报名| 无视活动状态。         |
// +----------+----------+---------+-----------+------------------+------------------+-------------------------------+
setActivityDetailView: function (funcItem) {
let funcButtonTypePredefined = {
cancel: { buttonId: 1, text: '取消报名', style: 'invalid'},
pay: { buttonId: 2, text: '去支付', style: 'tip'},
refund: { buttonId: 3, text: '申请退款', style: 'invalid'},
use: { buttonId: 4, text: '去使用', style: 'tip'},
evaluate: { buttonId: 5, text: '去评价', style: 'tip'},
delete: { buttonId: 6, text: '删除报名', style: 'invalid'},
again: { buttonId: 7, text: '再次报名', style: 'tip'},
}
switch (funcItem.state) {
case 0:
funcItem.viewButton.push(funcButtonTypePredefined.cancel)
funcItem.viewButton.push(funcButtonTypePredefined.pay)
break
case 2:
if (funcItem.isRefund) funcItem.viewButton.push(funcButtonTypePredefined.refund)
break
case 3:
funcItem.viewButton.push(funcButtonTypePredefined.evaluate)
break
case 4:
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 6:
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 7:
break
case 8:
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
case -1:
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
}
},
setPayCountdown: function (funcSubmitTime) { setPayCountdown: function (funcSubmitTime) {
let doTime = 15 * 60 * 1000 let doTime = 15 * 60 * 1000
let timeInter = setInterval(() => { let timeInter = setInterval(() => {
...@@ -207,62 +263,6 @@ Page({ ...@@ -207,62 +263,6 @@ Page({
} else { } else {
wx.navigateTo({ url: '/pages/play/activity/activity' }) wx.navigateTo({ url: '/pages/play/activity/activity' })
} }
return
let funcUrl = ''
let funcGoodsType = this.data.orderInfo.goodsType
let funcShopAppId = App.getShopInfo(this.data.shopInfo.id).appId
App.setShopInfo(this.data.shopInfo.id, funcGoodsType)
switch (funcShopAppId) {
case 0:
funcUrl = '/pages/club/home/home'
break
// 海错图
case 1:
if (funcGoodsType === -1) funcUrl = '/pages/play/activity/activity'
if (funcGoodsType === 1) funcUrl = '/pages/commodity/project-detail/project-detail'
if (funcGoodsType === 3) funcUrl = '/pages/commodity/project-detail/project-detail'
break
// 星空影院
case 2:
if (funcGoodsType === -2) funcUrl = '/pages/play/movie/movie'
break
// 儿童营地
case 3:
if (funcGoodsType === 1) funcUrl = '/pages/commodity/project-detail/project-detail'
if (funcGoodsType === 2) funcUrl = '/pages/commodity/menu-food/menu-food'
if (funcGoodsType === 3) funcUrl = '/pages/commodity/project-detail/project-detail'
break
// 原野MOJITO
case 4:
if (funcGoodsType === 5) funcUrl = '/pages/commodity/menu-food/menu-food'
break
// 拾光花坊
case 5:
if (funcGoodsType === -1) funcUrl = '/pages/play/activity/activity'
if (funcGoodsType === 5) funcUrl = '/pages/commodity/menu-food/menu-food'
break
// 原味舒食
case 6:
if (funcGoodsType === 5) funcUrl = '/pages/commodity/menu-food/menu-food'
break
// 元养水韵SPA
case 7:
if (funcGoodsType === 2) funcUrl = '/pages/commodity/project-detail/project-detail'
break
}
console.log(funcUrl)
wx.navigateTo({ url: funcUrl })
}, },
// 去支付 // 去支付
onOrderPay: function (event) { onOrderPay: function (event) {
...@@ -298,7 +298,7 @@ Page({ ...@@ -298,7 +298,7 @@ Page({
}, },
// 删除订单&取消订单 // 删除订单&取消订单
// type :1删除0取消 // type :1删除0取消
onDelOrCancelOrder: function (event) { doCancel: function (event) {
let funcItem = this.data.orderInfo let funcItem = this.data.orderInfo
let type = event.currentTarget.dataset.type let type = event.currentTarget.dataset.type
......
...@@ -293,13 +293,15 @@ ...@@ -293,13 +293,15 @@
<!-- 底部按钮 --> <!-- 底部按钮 -->
<view class="footer-btn row ce ac"> <view class="footer-btn row ce ac">
<!-- 状态(-1已取消,0未付款,1未发货,2待使用,3已使用,4已过期,5已发货,6已关闭/已评价) --> <block wx:for="{{orderInfo.viewButton}}" wx:for-item="itemButton" wx:for-index="indexButton" wx:key="indexButton">
<view class="delete-btn" bindtap="onDelOrCancelOrder" data-type='0' wx:if="{{orderInfo.state === 0}}">取消订单</view> <button wx:if="{{itemButton.buttonId === 1}}" class="operation-invalid row cc ac" data-type="0" catchtap="doCancel">取消报名</button>
<view class="order-btn" bindtap="onOrderPay" wx:if="{{orderInfo.state===0}}">去支付</view> <button wx:if="{{itemButton.buttonId === 2}}" class="operation-tip row cc ac" catchtap="onOrderPay">去支付</button>
<view class="delete-btn" bindtap="onOrderRefund" data-type='0' wx:if="{{orderInfo.state === 2 && orderInfo.goodsType === -1 && orderInfo.isRefund}}">申请退款</view> <button wx:if="{{itemButton.buttonId === 3}}" class="operation-invalid row cc ac" catchtap="onOrderRefund">申请退款</button>
<view class="order-btn" bindtap="onOrderEvaluate" wx:if="{{orderInfo.state===3}}">去评价</view> <button wx:if="{{itemButton.buttonId === 4}}" class="operation-tip row cc ac" catchtap="onOrderUse">去使用</button>
<view class="delete-btn" bindtap="onDelOrCancelOrder" data-type='1' wx:if="{{orderInfo.state === 4 || orderInfo.state === -1 || orderInfo.state === 6 || orderInfo.state === 8 || orderInfo.state === 9}}">删除订单</view> <button wx:if="{{itemButton.buttonId === 5}}" class="operation-tip row cc ac" catchtap="onOrderEvaluate">去评价</button>
<view class="order-btn" wx:if="{{orderInfo.state === -1}}" bindtap="onOrderAgain">再次报名</view> <button wx:if="{{itemButton.buttonId === 6}}" class="operation-invalid row cc ac" data-type="1" catchtap="doCancel">删除报名</button>
<button wx:if="{{itemButton.buttonId === 7}}" class="operation-tip row cc ac" catchtap="onOrderAgain">再次报名</button>
</block>
</view> </view>
<!-- 二维码弹窗 --> <!-- 二维码弹窗 -->
......
...@@ -797,7 +797,7 @@ ...@@ -797,7 +797,7 @@
border-top: 1px solid #e2e7ef; border-top: 1px solid #e2e7ef;
} }
.delete-btn, .order-btn { .operation-invalid {
width: 200rpx; width: 200rpx;
line-height: 96rpx; line-height: 96rpx;
margin: 32rpx 24rpx 32rpx 0; margin: 32rpx 24rpx 32rpx 0;
...@@ -805,15 +805,21 @@ ...@@ -805,15 +805,21 @@
font-size: 30rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;
}
.delete-btn {
color: #656e7b; color: #656e7b;
background: #FFFFFF; background: #FFFFFF;
border: 1px solid #c2c7cf; border: 1px solid #c2c7cf;
} }
.order-btn { .operation-tip {
width: 200rpx;
line-height: 96rpx;
margin: 32rpx 24rpx 32rpx 0;
border-radius: 4rpx;
font-size: 30rpx;
font-weight: 600;
text-align: center;
color: #FFFFFF; color: #FFFFFF;
background: #86c5e1; background: #86c5e1;
} }
......
...@@ -152,22 +152,21 @@ ...@@ -152,22 +152,21 @@
border-radius: 4rpx; border-radius: 4rpx;
} }
.appintment-activity-status { .appintment-activity-status-tip {
color: #86C5E1; color: #86C5E1;
text-align: right; text-align: right;
font-size: 26; font-size: 26;
line-height: 36rpx; line-height: 36rpx;
} }
.appintment-activity-status-pay { .appintment-activity-status-warning {
color: #E66060; color: #E66060;
font-size: 26; font-size: 26;
text-align: right; text-align: right;
line-height: 36rpx; line-height: 36rpx;
} }
.appintment-activity-status-invalid {
.appintment-activity-status-cancel {
color: #C2C7CF; color: #C2C7CF;
font-size: 26; font-size: 26;
text-align: right; text-align: right;
...@@ -231,18 +230,36 @@ ...@@ -231,18 +230,36 @@
font-size: 30rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
} }
.cancel-btn {
.operation-tip {
z-index: 4; z-index: 4;
width: 120rpx; width: 120rpx;
height: 56rpx; height: 56rpx;
color: #656E7B; margin-left: 20rpx;
border-radius: 2px;
background: #86C5E1;
line-height: 56rpx;
font-size: 22rpx; font-size: 22rpx;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;
line-height: 56rpx; color: #fff;
border-radius: 4rpx; }
.operation-invalid {
z-index: 4;
width: 120rpx;
height: 56rpx;
border-radius: 2px;
border: 1px solid #C2C7CF; border: 1px solid #C2C7CF;
line-height: 56rpx;
font-size: 22rpx;
font-weight: 600;
text-align: center;
color: #656E7B;
} }
.cancel { .cancel {
position: absolute; position: absolute;
right: 172rpx; right: 172rpx;
...@@ -260,24 +277,6 @@ ...@@ -260,24 +277,6 @@
color: #656e7b; color: #656e7b;
} }
.confirm-btn {
z-index: 4;
width: 120rpx;
height: 56rpx;
margin-left: 20rpx;
color: #fff;
font-size: 22rpx;
font-weight: 600;
text-align: center;
line-height: 56rpx;
background: #86C5E1;
border-radius: 4rpx;
}
.confirm-once {
position: absolute;
right: 32rpx;
bottom: 40rpx;
}
.mask-cancel { .mask-cancel {
position: absolute; position: absolute;
z-index: 3; z-index: 3;
......
...@@ -28,7 +28,7 @@ Page({ ...@@ -28,7 +28,7 @@ Page({
icon: './image/order-1.png', icon: './image/order-1.png',
name: '门票', name: '门票',
quantity: 0, quantity: 0,
type: '3', type: '1',
}, { }, {
icon: './image/order-2.png', icon: './image/order-2.png',
name: '餐饮', name: '餐饮',
...@@ -249,7 +249,7 @@ Page({ ...@@ -249,7 +249,7 @@ Page({
/** /**
* 查询我的订单分类统计数量 * 查询我的订单分类统计数量
* -2 - 电影,2 - SPA,3 - 门票,4 - 文创,5 - 餐饮 * -2 - 电影,1 - 门票,2 - SPA,4 - 文创,5 - 餐饮
* @function * @function
* @param * @param
* @returns * @returns
......
...@@ -57,7 +57,8 @@ Page({ ...@@ -57,7 +57,8 @@ Page({
onCatchNewEvent: function (funcEvent) { onCatchNewEvent: function (funcEvent) {
console.log('page', funcEvent) console.log('page', funcEvent)
switch (funcEvent.type) { switch (funcEvent.type) {
case 'onReload': this.onReload() case 'onReload':
this.onReload()
} }
}, },
...@@ -86,9 +87,9 @@ Page({ ...@@ -86,9 +87,9 @@ Page({
App.request({ App.request({
url: 'v1/order/getOrderList', url: 'v1/order/getOrderList',
params: { params: {
'goodType': this.data.orderTypeActive ? this.data.orderType[this.data.orderTypeActive].value : '', 'goodType': this.data.orderTypeActive ? this.data.orderType[this.data.orderTypeActive].value : this.data.orderType[0].value,
'status': this.data.tabItem[this.data.statusActive].value, 'status': this.data.tabItem[this.data.statusActive].value,
'pageSize': 10, 'pageSize': 20,
'pageNo': this.data.orderPages, 'pageNo': this.data.orderPages,
} }
}) })
...@@ -111,9 +112,16 @@ Page({ ...@@ -111,9 +112,16 @@ Page({
'commodityType': Number(funcResponse[i].goodType), 'commodityType': Number(funcResponse[i].goodType),
'wxRequest': funcResponse[i].wxRequest, 'wxRequest': funcResponse[i].wxRequest,
'total': funcResponse[i].smOrderDetails.length, 'total': funcResponse[i].smOrderDetails.length,
'isRefund': Boolean(Number(funcResponse[i].enableRefund)) 'isRefund': Boolean(Number(funcResponse[i].enableRefund)),
'viewStateTip': '',
'viewStateWarning': '',
'viewStateInvalid': '',
'viewButton': [],
} }
this.setActivityItemView(funcItem)
// 添加订单商品列表 // 添加订单商品列表
let funcTotal = 0 let funcTotal = 0
let funcCommodity = funcResponse[i].smOrderDetails let funcCommodity = funcResponse[i].smOrderDetails
...@@ -154,12 +162,83 @@ Page({ ...@@ -154,12 +162,83 @@ Page({
funcList.push(funcItem) funcList.push(funcItem)
} }
console.log('funcList', funcList)
this.setData({ this.setData({
orderList: this.data.orderPages === 1 ? funcList : this.data.orderList.concat(funcList) orderList: this.data.orderPages === 1 ? funcList : this.data.orderList.concat(funcList)
}) })
}) })
}, },
// +----------+----------+------------------+------------------+-------------------------------+
// | 状态码 | 订单状态 |   列表按钮   |   详情按钮   |       备注        |
// +----------+----------+------------------+------------------+-------------------------------+
// |  0   | 待付款  | 取消订单 去支付 | 取消订单 去支付 |                 |
// |  1   | 未发货  |          |          | 不考虑。            |
// |  2   | 待使用  | 申请退款 去使用 | 申请退款     |                 |
// |  3   | 待评价  | 去评价      | 去评价      |                 |
// |  4   | 已过期  | 删除订单     | 删除订单     |                 |
// |  5   | 已发货  |          |          | 不考虑。            |
// |  6   | 已评价  | 删除订单     | 删除订单     |                 |
// |  7   | 退款审核 |          |          |                 |
// |  8   | 退款成功 | 删除订单 再次下单| 删除订单 再次下单|                 |
// |  -1   | 已取消  | 删除订单 再次下单| 删除订单 再次下单|                 |
// +----------+----------+------------------+------------------+-------------------------------+
setActivityItemView: function (funcItem) {
let funcButtonTypePredefined = {
cancel: { buttonId: 1, text: '取消订单', style: 'invalid'},
pay: { buttonId: 2, text: '去支付', style: 'tip'},
refund: { buttonId: 3, text: '申请退款', style: 'invalid'},
use: { buttonId: 4, text: '去使用', style: 'tip'},
evaluate: { buttonId: 5, text: '去评价', style: 'tip'},
delete: { buttonId: 6, text: '删除订单', style: 'invalid'},
again: { buttonId: 7, text: '再次下单', style: 'tip'},
}
switch (funcItem.status) {
case 0:
funcItem.viewStateWarning = '待付款'
funcItem.viewButton.push(funcButtonTypePredefined.cancel)
funcItem.viewButton.push(funcButtonTypePredefined.pay)
break
case 2:
funcItem.viewStateWarning = '待使用'
if (funcItem.isRefund) funcItem.viewButton.push(funcButtonTypePredefined.refund)
funcItem.viewButton.push(funcButtonTypePredefined.use)
break
case 3:
funcItem.viewStateTip = '待评价'
funcItem.viewButton.push(funcButtonTypePredefined.evaluate)
break
case 4:
funcItem.viewStateInvalid = '已过期'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 6:
funcItem.viewStateInvalid = '已评价'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 7:
funcItem.viewStateWarning = '退款审核中'
break
case 8:
funcItem.viewStateTip = '退款成功'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
case -1:
funcItem.viewStateInvalid = '已取消'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
}
},
/** /**
* 初始化订单类型数据字典 * 初始化订单类型数据字典
* @function * @function
...@@ -180,26 +259,26 @@ Page({ ...@@ -180,26 +259,26 @@ Page({
'name': '全部分类' 'name': '全部分类'
}] }]
for (let i = 0, l = funcResponse.length; i < l; i++) { for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem ={ let funcItem = {
'value': funcResponse[i].value, 'value': funcResponse[i].value,
} }
if(funcResponse[i].value==3 ){ if (funcResponse[i].value == 3) {
//门票 //门票
funcItem.name = "门票" funcItem.name = "门票"
funcList.push(funcItem) funcList.push(funcItem)
} else if( funcResponse[i].value==5 ){ } else if (funcResponse[i].value == 5) {
// 餐饮 // 餐饮
funcItem.name = "餐饮" funcItem.name = "餐饮"
funcList.push(funcItem) funcList.push(funcItem)
}else if( funcResponse[i].value==-2 ){ } else if (funcResponse[i].value == -2) {
// 影票 // 影票
funcItem.name = "影票" funcItem.name = "影票"
funcList.push(funcItem) funcList.push(funcItem)
}else if( funcResponse[i].value==2 ){ } else if (funcResponse[i].value == 2) {
// SPA // SPA
funcItem.name = "SPA" funcItem.name = "SPA"
funcList.push(funcItem) funcList.push(funcItem)
}else if( funcResponse[i].value==4 ){ } else if (funcResponse[i].value == 4) {
// 文创 // 文创
funcItem.name = "文创" funcItem.name = "文创"
funcList.push(funcItem) funcList.push(funcItem)
...@@ -207,7 +286,6 @@ Page({ ...@@ -207,7 +286,6 @@ Page({
} }
let typeTitle = '全部分类' // let typeTitle = '全部分类' //
let orderTypeActive = 0 // let orderTypeActive = 0 //
let aVal = ''
funcList.forEach((item, index) => { funcList.forEach((item, index) => {
if (item.value == this.data.optionsGoodType) { if (item.value == this.data.optionsGoodType) {
typeTitle = item.name typeTitle = item.name
...@@ -309,7 +387,7 @@ Page({ ...@@ -309,7 +387,7 @@ Page({
* @param * @param
* @returns * @returns
*/ */
onOrderCancel: function (event) { doCancel: function (event) {
App.ui.showDialog({ App.ui.showDialog({
type: 'confirm', type: 'confirm',
title: '是否确认取消订单', title: '是否确认取消订单',
...@@ -346,7 +424,7 @@ Page({ ...@@ -346,7 +424,7 @@ Page({
this.queryOrder() this.queryOrder()
}) })
}, },
fail: () => { }, fail: () => {},
}) })
}, },
...@@ -356,7 +434,7 @@ Page({ ...@@ -356,7 +434,7 @@ Page({
* @param * @param
* @returns * @returns
*/ */
onOrderRemove: function (event) { doCancel: function (event) {
App.ui.showDialog({ App.ui.showDialog({
type: 'confirm', type: 'confirm',
title: '是否确认删除订单?', title: '是否确认删除订单?',
...@@ -532,7 +610,9 @@ Page({ ...@@ -532,7 +610,9 @@ Page({
let funcItem = event.currentTarget.dataset.item let funcItem = event.currentTarget.dataset.item
console.log(funcItem) console.log(funcItem)
if (funcItem.commodityType === -3) { if (funcItem.commodityType === -3) {
wx.navigateTo({ url: '/pages/club/home/home' }) wx.navigateTo({
url: '/pages/club/home/home'
})
return return
} }
......
...@@ -57,14 +57,9 @@ ...@@ -57,14 +57,9 @@
<text>{{item.shopName}}</text> <text>{{item.shopName}}</text>
</view> </view>
<view> <view>
<text class="warning" wx:if="{{item.status === 0}}">待付款</text> <text class="warning" wx:if="{{item.viewStateTip}}">{{item.viewStateTip}}</text>
<text class="warning" wx:if="{{item.status === 2}}">待使用</text> <text class="warning" wx:if="{{item.viewStateWarning}}">{{item.viewStateWarning}}</text>
<text class="warning" wx:if="{{item.status === 3}}">待评价</text> <text class="message" wx:if="{{item.viewStateInvalid}}">{{item.viewStateInvalid}}</text>
<text class="message" wx:if="{{item.status === -1}}">已取消</text>
<text class="message" wx:if="{{item.status === 4}}">已过期</text>
<text class="message" wx:if="{{item.status === 6}}">已评价</text>
<text class="warning" wx:if="{{item.status === 7}}">退款审核中</text>
<text class="message" wx:if="{{item.status === 8}}">退款成功</text>
</view> </view>
</view> </view>
...@@ -97,13 +92,15 @@ ...@@ -97,13 +92,15 @@
<text class="amount">¥{{item.amount}}</text> <text class="amount">¥{{item.amount}}</text>
</view> </view>
<view class="row ac"> <view class="row ac">
<button wx:if="{{item.isRefund && item.status !== 7}}" class="delete row cc ac" data-item="{{item}}" catchtap="onOrderRefund">申请退款</button> <block wx:for="{{item.viewButton}}" wx:for-item="itemButton" wx:for-index="indexButton" wx:key="indexButton">
<button wx:if="{{item.status === 0}}" class="delete row cc ac" data-index="{{index}}" data-item="{{item}}" catchtap="onOrderCancel" disabled="{{isDoing}}">取消订单</button> <button wx:if="{{itemButton.buttonId === 1}}" class="operation-invalid row cc ac" data-item="{{item}}" data-type="0" catchtap="doCancel">取消订单</button>
<button disabled="{{isDoing}}" wx:if="{{item.status === -1 || item.status === 4 || item.status === 6 || item.status === 8}}" class="delete row cc ac" data-item="{{item}}" catchtap="onOrderRemove">删除订单</button> <button wx:if="{{itemButton.buttonId === 2}}" class="operation-tip row cc ac" data-item="{{item}}" catchtap="onOrderPay">去支付</button>
<button disabled="{{isDoing}}" wx:if="{{item.status === 0}}" class="again row cc ac" data-item="{{item}}" catchtap="onOrderPay">去支付</button> <button wx:if="{{itemButton.buttonId === 3}}" class="operation-invalid row cc ac" data-item="{{item}}" catchtap="onOrderRefund">申请退款</button>
<button disabled="{{isDoing}}" wx:if="{{item.status === 2}}" class="again row cc ac" data-item="{{item}}" catchtap="onOrderUse">去使用</button> <button wx:if="{{itemButton.buttonId === 4}}" class="operation-tip row cc ac" data-item="{{item}}" catchtap="onOrderUse">去使用</button>
<button disabled="{{isDoing}}" wx:if="{{item.status === 3}}" class="again row cc ac" data-item="{{item}}" catchtap="onOrderEvaluate">去评价</button> <button wx:if="{{itemButton.buttonId === 5}}" class="operation-tip row cc ac" data-item="{{item}}" catchtap="onOrderEvaluate">去评价</button>
<button disabled="{{isDoing}}" wx:if="{{item.status === -1 || item.status === 8}}" class="again row cc ac" data-item="{{item}}" catchtap="onOrderAgain">再次下单</button> <button wx:if="{{itemButton.buttonId === 6}}" class="operation-invalid row cc ac" data-item="{{item}}" data-type="1" catchtap="doCancel">删除订单</button>
<button wx:if="{{itemButton.buttonId === 7}}" class="operation-tip row cc ac" data-item="{{item}}" catchtap="onOrderAgain">再次订单</button>
</block>
</view> </view>
</view> </view>
</view> </view>
......
/* 订单分类 */ /* 订单分类 */
.order-category { .order-category {
z-index: 3; z-index: 5;
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
/* 订单类型选择 */ /* 订单类型选择 */
.order-type-selection { .order-type-selection {
z-index: 7; z-index: 6;
position: fixed; position: fixed;
top: 176rpx; top: 176rpx;
left: 0; left: 0;
...@@ -125,6 +125,11 @@ ...@@ -125,6 +125,11 @@
color: #c2c7cf; color: #c2c7cf;
} }
.order-list-item-title .tip {
font-weight: 800;
color: #86c5e1;
}
.order-list-item-title image { .order-list-item-title image {
/* display: block; /* display: block;
max-width: 100rpx; max-width: 100rpx;
...@@ -169,27 +174,33 @@ ...@@ -169,27 +174,33 @@
color: #15191f; color: #15191f;
} }
.order-list-item-operation .delete { .operation-tip {
z-index: 4;
width: 120rpx; width: 120rpx;
height: 56rpx; height: 56rpx;
border-radius: 4rpx; margin-left: 20rpx;
border: 1px solid #c2c7cf; border-radius: 2px;
background: #86C5E1;
line-height: 56rpx;
font-size: 22rpx; font-size: 22rpx;
font-weight: 500; font-weight: 600;
line-height: 32rpx; text-align: center;
color: #656e7b; color: #fff;
} }
.order-list-item-operation .again { .operation-invalid {
z-index: 4;
width: 120rpx; width: 120rpx;
height: 56rpx; height: 56rpx;
margin-left: 20rpx; border-radius: 2px;
border-radius: 4rpx; border: 1px solid #C2C7CF;
background: #86c5e1;
line-height: 56rpx;
font-size: 22rpx; font-size: 22rpx;
font-weight: 500; font-weight: 600;
line-height: 32rpx; text-align: center;
color: #fff; color: #656E7B;
} }
/* 券码 */ /* 券码 */
......
...@@ -284,7 +284,7 @@ Page({ ...@@ -284,7 +284,7 @@ Page({
iconType: 'success', iconType: 'success',
title: '评价成功', title: '评价成功',
ending: () => { ending: () => {
if (pageFrom === 'activityList' || pageFrom === 'orderList') { if (this.data.pageFrom === 'activityList' || this.data.pageFrom === 'orderList') {
wx.navigateBack({ wx.navigateBack({
event: { event: {
'type': 'onReload', 'type': 'onReload',
...@@ -292,7 +292,7 @@ Page({ ...@@ -292,7 +292,7 @@ Page({
}) })
} }
if (pageFrom == 'orderDetail') { if (this.data.pageFrom == 'orderDetail') {
wx.navigateBack({ wx.navigateBack({
delta: 2, delta: 2,
event: { event: {
......
...@@ -80,8 +80,11 @@ Page({ ...@@ -80,8 +80,11 @@ Page({
'instructions': funcResponse.particulars, 'instructions': funcResponse.particulars,
'expireTime': funcResponse.expireTime.replace(/-/g, '.').replace('~', '-'), //订单有效期 'expireTime': funcResponse.expireTime.replace(/-/g, '.').replace('~', '-'), //订单有效期
'wxRequest': funcResponse.wxRequest, 'wxRequest': funcResponse.wxRequest,
'isRefund': Boolean(Number(funcResponse.enableRefund)) 'isRefund': Boolean(Number(funcResponse.enableRefund)),
'viewButton': [],
} }
this.setActivityItemView(funcOrderInfo)
console.log(funcOrderInfo)
// 电影 // 电影
if (funcOrderInfo.goodsType === -2 && funcOrderInfo.expireTime) { if (funcOrderInfo.goodsType === -2 && funcOrderInfo.expireTime) {
...@@ -122,6 +125,75 @@ Page({ ...@@ -122,6 +125,75 @@ Page({
}) })
}, },
// +----------+----------+------------------+------------------+-------------------------------+
// | 状态码 | 订单状态 |   列表按钮   |   详情按钮   |       备注        |
// +----------+----------+------------------+------------------+-------------------------------+
// |  0   | 待付款  | 取消订单 去支付 | 取消订单 去支付 |                 |
// |  1   | 未发货  |          |          | 不考虑。            |
// |  2   | 待使用  | 申请退款 去使用 | 申请退款     |                 |
// |  3   | 待评价  | 去评价      | 去评价      |                 |
// |  4   | 已过期  | 删除订单     | 删除订单     |                 |
// |  5   | 已发货  |          |          | 不考虑。            |
// |  6   | 已评价  | 删除订单     | 删除订单     |                 |
// |  7   | 退款审核 |          |          |                 |
// |  8   | 退款成功 | 删除订单 再次下单| 删除订单 再次下单|                 |
// |  -1   | 已取消  | 删除订单 再次下单| 删除订单 再次下单|                 |
// +----------+----------+------------------+------------------+-------------------------------+
setActivityItemView: function (funcItem) {
let funcButtonTypePredefined = {
cancel: { buttonId: 1, text: '取消订单', style: 'invalid'},
pay: { buttonId: 2, text: '去支付', style: 'tip'},
refund: { buttonId: 3, text: '申请退款', style: 'invalid'},
use: { buttonId: 4, text: '去使用', style: 'tip'},
evaluate: { buttonId: 5, text: '去评价', style: 'tip'},
delete: { buttonId: 6, text: '删除订单', style: 'invalid'},
again: { buttonId: 7, text: '再次下单', style: 'tip'},
}
switch (funcItem.state) {
case 0:
funcItem.viewStateWarning = '待付款'
funcItem.viewButton.push(funcButtonTypePredefined.cancel)
funcItem.viewButton.push(funcButtonTypePredefined.pay)
break
case 2:
funcItem.viewStateTip = '待使用'
if (funcItem.isRefund) funcItem.viewButton.push(funcButtonTypePredefined.refund)
break
case 3:
funcItem.viewStateTip = '待评价'
funcItem.viewButton.push(funcButtonTypePredefined.evaluate)
break
case 4:
funcItem.viewStateInvalid = '已过期'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 6:
funcItem.viewStateInvalid = '已评价'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
break
case 7:
funcItem.viewStateWarning = '退款审核中'
break
case 8:
funcItem.viewStateTip = '退款成功'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
case -1:
funcItem.viewStateInvalid = '已取消'
funcItem.viewButton.push(funcButtonTypePredefined.delete)
funcItem.viewButton.push(funcButtonTypePredefined.again)
break
}
},
setPayCountdown: function (funcSubmitTime) { setPayCountdown: function (funcSubmitTime) {
let doTime = 15 * 60 * 1000 let doTime = 15 * 60 * 1000
let timeInter = setInterval(() => { let timeInter = setInterval(() => {
...@@ -271,7 +343,7 @@ Page({ ...@@ -271,7 +343,7 @@ Page({
// 删除订单&取消订单 // 删除订单&取消订单
// type :1删除0取消 // type :1删除0取消
onDelOrCancelOrder: function (event) { doCancel: function (event) {
let type = event.currentTarget.dataset.type let type = event.currentTarget.dataset.type
App.ui.showDialog({ App.ui.showDialog({
type: 'confirm', type: 'confirm',
......
...@@ -296,14 +296,16 @@ ...@@ -296,14 +296,16 @@
</view> </view>
<!-- 底部按钮 --> <!-- 底部按钮 -->
<view class="footer-btn row ce ac" wx:if="{{orderInfo.state !== 7}}"> <view class="footer-btn row ce ac">
<!-- 状态(-1已取消,0未付款,1未发货,2待使用,3已使用,4已过期,5已发货,6已关闭/已评价) --> <block wx:for="{{orderInfo.viewButton}}" wx:for-item="itemButton" wx:for-index="indexButton" wx:key="indexButton">
<view class="delete-btn" bindtap="onDelOrCancelOrder" data-type='0' wx:if="{{orderInfo.state === 0}}">取消订单</view> <button wx:if="{{itemButton.buttonId === 1}}" class="operation-invalid row cc ac" data-type="0" catchtap="doCancel">取消订单</button>
<view class="order-btn" bindtap="onOrderPay" wx:if="{{orderInfo.state === 0}}">去支付</view> <button wx:if="{{itemButton.buttonId === 2}}" class="operation-tip row cc ac" catchtap="onOrderPay">去支付</button>
<view class="delete-btn" bindtap="onOrderRefund" wx:if="{{orderInfo.state === 2 && orderInfo.isRefund}}">申请退款</view> <button wx:if="{{itemButton.buttonId === 3}}" class="operation-invalid row cc ac" catchtap="onOrderRefund">申请退款</button>
<view class="order-btn" bindtap="onOrderEvaluate" wx:if="{{orderInfo.state === 3}}">去评价</view> <button wx:if="{{itemButton.buttonId === 4}}" class="operation-tip row cc ac" catchtap="onOrderUse">去使用</button>
<view class="delete-btn" bindtap="onDelOrCancelOrder" data-type='1' wx:if="{{orderInfo.state === 4 || orderInfo.state === -1 || orderInfo.state === 6 || orderInfo.state === 8 || orderInfo.state === 9}}">删除订单</view> <button wx:if="{{itemButton.buttonId === 5}}" class="operation-tip row cc ac" catchtap="onOrderEvaluate">去评价</button>
<view class="order-btn" bindtap="onOrderAgain" wx:if="{{orderInfo.state === -1 || orderInfo.state === 8}}">再次下单</view> <button wx:if="{{itemButton.buttonId === 6}}" class="operation-invalid row cc ac" data-type="1" catchtap="doCancel">删除订单</button>
<button wx:if="{{itemButton.buttonId === 7}}" class="operation-tip row cc ac" catchtap="onOrderAgain">再次下单</button>
</block>
</view> </view>
<!-- 二维码弹窗 --> <!-- 二维码弹窗 -->
......
...@@ -847,6 +847,33 @@ ...@@ -847,6 +847,33 @@
background: #86c5e1; background: #86c5e1;
} }
.operation-invalid {
width: 200rpx;
line-height: 96rpx;
margin: 32rpx 24rpx 32rpx 0;
border-radius: 4rpx;
font-size: 30rpx;
font-weight: 600;
text-align: center;
color: #656e7b;
background: #FFFFFF;
border: 1px solid #c2c7cf;
}
.operation-tip {
width: 200rpx;
line-height: 96rpx;
margin: 32rpx 24rpx 32rpx 0;
border-radius: 4rpx;
font-size: 30rpx;
font-weight: 600;
text-align: center;
color: #FFFFFF;
background: #86c5e1;
}
.logo-box { .logo-box {
width: 100rpx; width: 100rpx;
height: 80rpx; height: 80rpx;
......
...@@ -558,7 +558,7 @@ Page({ ...@@ -558,7 +558,7 @@ Page({
*/ */
onEntryComplete: function () { onEntryComplete: function () {
wx.reLaunch({ wx.reLaunch({
url: '/pages/mine/appointment/appointment?fromPage=pay' url: '/pages/mine/appointment/appointment?fromPage=pay&tab=activity'
}) })
}, },
...@@ -1181,7 +1181,7 @@ Page({ ...@@ -1181,7 +1181,7 @@ Page({
}) })
} else { } else {
wx.reLaunch({ wx.reLaunch({
url: '/pages/mine/appointment/appointment?fromPage=pay' url: '/pages/mine/appointment/appointment?fromPage=pay&tab=activity'
}) })
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment