You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
257 lines
8.2 KiB
257 lines
8.2 KiB
<template>
|
|
<view class="reservation-order" @click="detailChange">
|
|
<view class="ro-header">
|
|
<view class="rh-view">{{orderInfo.stadium_name || '-'}}</view>
|
|
<text
|
|
:class="[ 'rh-text', orderInfo.pay_status == 1?'rh-active':'', orderInfo.pay_status == 4?'rh-red':'' ]"
|
|
>{{zh_order_status(orderInfo.pay_status)}}</text>
|
|
</view>
|
|
<view class="ro-section">
|
|
<view class="rs-line">
|
|
<view class="rl-view">订单编号:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view">{{orderInfo.order_no || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="rs-line">
|
|
<view class="rl-view">预订项目:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view"><text>{{ zh_type_name(orderInfo.order_type) }}</text></view>
|
|
</view>
|
|
</view>
|
|
<!-- 场次 -->
|
|
<block v-if="orderInfo.order_type == 0">
|
|
<view class="rs-line" >
|
|
<view class="rl-view">预订场数:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view">{{ orderInfo.number || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="rs-line">
|
|
<view class="rl-view">预订时间:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view" v-for="(e,i) in orderInfo.sessions" :key="i">{{e.date}} {{e.duration}}{{orderInfo.sessions.length>1?'等':''}}</view>
|
|
</view>
|
|
</view>
|
|
</block>
|
|
<!-- 人次 -->
|
|
<block v-if="orderInfo.order_type == 1">
|
|
<view class="rs-line">
|
|
<view class="rl-view">数量:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view">{{ orderInfo.number || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="rs-line">
|
|
<view class="rl-view">类型:</view>
|
|
<view class="rl-view">
|
|
<!-- <view class="rv-view" v-for="(e, i) in orderInfo.person_number_spec_names" :key="i"><text>{{ e || '-'}}</text></view> -->
|
|
<view class="rv-view" >{{ zh_spec_names || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
<!-- 人次+随时用 -->
|
|
<view class="rs-line" v-if="orderInfo.person_number_rule.order_method==1">
|
|
<view class="rl-view">有效期至:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view">{{orderInfo.end_time || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
<!-- 人次+指定日期 -->
|
|
<view class="rs-line" v-if="orderInfo.person_number_rule.order_method==2">
|
|
<view class="rl-view">使用日期:</view>
|
|
<view class="rl-view">
|
|
<view class="rv-view">{{orderInfo.date || '-'}}</view>
|
|
</view>
|
|
</view>
|
|
</block>
|
|
</view>
|
|
<view class="ro-bot">
|
|
<view class="rb-total">实付款 <text class="rt-txt"> ¥{{orderInfo.pay_amount || '0'}}</text></view>
|
|
</view>
|
|
<!-- <view class="ro-bot-line" v-if="orderInfo.verify_type!=0">核销方式:{{zh_verify_type(orderInfo.verify_type)}} {{orderInfo.verify_time || '-'}}</view>
|
|
<view class="ro-bot-line" v-if="orderInfo.pay_status == 4">退款时间:{{orderInfo.refund_time || '-'}}</view> -->
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import util from '@/utils/util';
|
|
export default {
|
|
props: {
|
|
orderInfo: {
|
|
type: Object,
|
|
default: ()=>({})
|
|
}
|
|
},
|
|
computed: {
|
|
zh_verify_type(){
|
|
// 核销方式 1/2/3/4 核销码核销/人脸核销/扫码核销/商家扫码
|
|
return status =>{
|
|
const _obj = {
|
|
'0': '未核销',
|
|
'1': '核销码核销',
|
|
'2': '人脸核销',
|
|
'3': '扫码核销',
|
|
'4': '商家扫码',
|
|
}
|
|
return _obj[`${status}`] || '-'
|
|
}
|
|
},
|
|
zh_pay_type(){
|
|
// 支付类型 0微信支付1支付宝支付2储值卡支付
|
|
return status =>{
|
|
const _obj = {
|
|
'0': '微信支付',
|
|
'1': '支付宝支付',
|
|
'2': '储值卡支付',
|
|
}
|
|
return _obj[`${status}`] || '-'
|
|
}
|
|
},
|
|
zh_order_status(){
|
|
// 订单状态 -1已作废0未支付1已支付待使用2已使用3已失效4已退款
|
|
return status =>{
|
|
if(status == 8)return '使用中'; // 20210528 新增状态
|
|
const _obj = {
|
|
'-1': '已作废',
|
|
'0': '未支付',
|
|
'1': '待使用',
|
|
'2': '已使用',
|
|
'3': '已失效',
|
|
'4': '已退款',
|
|
}
|
|
return _obj[`${status}`] || '-'
|
|
}
|
|
},
|
|
zh_type_name(){
|
|
// 预订项目 0场次 1人次
|
|
let { orderInfo } = this
|
|
return status =>{
|
|
const _obj = {
|
|
'0': orderInfo.venue_type_name,
|
|
'1': orderInfo.person_number_rule_name,
|
|
}
|
|
return _obj[`${status}`] || '-'
|
|
}
|
|
},
|
|
zh_spec_names(){
|
|
let { orderInfo } = this
|
|
if(!orderInfo.person_number_spec_names)return '';
|
|
let spec = orderInfo.person_number_spec_names.join('+')
|
|
return spec || '';
|
|
},
|
|
},
|
|
methods:{
|
|
detailChange(){
|
|
console.log("点击了吗")
|
|
let { orderInfo } = this
|
|
let _query = {}
|
|
_query["stadium_id"] = orderInfo.stadium_id
|
|
_query["order_no"] = orderInfo.order_no
|
|
_query["order_type"] = 3
|
|
util.routeTo(`/subpackage/device/pages/order_details/order_details?query=${util.jsonStr(_query)}`,'nT');
|
|
console.log("点击了吗444")
|
|
}
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" >
|
|
@import "../../style/public.scss";
|
|
.reservation-order{
|
|
padding: 0 24upx;
|
|
border-radius: 10upx;
|
|
background-color: #fff;
|
|
.ro-header{
|
|
margin-bottom: 18upx;
|
|
height: 98upx;
|
|
line-height: 96upx;
|
|
border-bottom: 2upx solid #D8D8D8;
|
|
@include centerFlex(space-between);
|
|
.rh-view{
|
|
flex-grow: 1;
|
|
font-size: 28upx;
|
|
color: #1a1a1a;
|
|
@include textHide(1);
|
|
}
|
|
.rh-text{
|
|
margin-left: 20upx;
|
|
flex-shrink: 0;
|
|
font-size: 28upx;
|
|
color: #9C9C9F;
|
|
}
|
|
.rh-active{
|
|
color: $themeColor;
|
|
}
|
|
.rh-red{
|
|
color: #EA5061;
|
|
}
|
|
}
|
|
.ro-section{
|
|
padding-bottom: 20upx;
|
|
.rs-line{
|
|
display: flex;
|
|
.rl-view,.rv-view{
|
|
line-height: 40upx;
|
|
font-size: 24upx;
|
|
color: #9c9c9f;
|
|
>text{
|
|
color: #333;
|
|
}
|
|
}
|
|
.rl-view{
|
|
&:first-child{
|
|
flex-shrink: 0;
|
|
}
|
|
&+.rl-view{
|
|
flex-grow: 1;
|
|
.rv-view{
|
|
@include textHide(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
.ro-bot{
|
|
padding-top: 20upx;
|
|
padding-bottom: 30upx;
|
|
border-top: 2upx solid #D8D8D8;
|
|
.rb-line{
|
|
@include centerFlex(space-between);
|
|
.rl-view{
|
|
line-height: 40upx;
|
|
font-size: 24upx;
|
|
color: #9c9c9f;
|
|
&:first-child{
|
|
margin-right: 20upx;
|
|
flex-shrink: 0;
|
|
}
|
|
&+.rl-view{
|
|
flex-grow: 1;
|
|
text-align: right;
|
|
@include textHide(1);
|
|
}
|
|
}
|
|
}
|
|
.rb-total{
|
|
line-height: 40upx;
|
|
text-align: right;
|
|
font-size: 24upx;
|
|
color: #9c9c9f;
|
|
.rt-txt{
|
|
color: #1A1A1A;
|
|
margin-left: 10rpx;
|
|
}
|
|
}
|
|
}
|
|
.ro-bot-line{
|
|
height: 90upx;
|
|
line-height: 90upx;
|
|
border-top: 2upx solid #D8D8D8;
|
|
font-size: 24upx;
|
|
color: #9c9c9f;
|
|
@include textHide(1);
|
|
}
|
|
}
|
|
</style>
|