13 changed files with 737 additions and 351 deletions
-
40package.json
-
5src/manifest.json
-
11src/pages.json
-
292src/pages/order/detail.vue
-
43src/styles/iconfonts.scss
-
99src/subpackage/order/components/detail/contact.vue
-
97src/subpackage/order/components/detail/goods.vue
-
0src/subpackage/order/components/detail/text_line.vue
-
118src/subpackage/order/components/detail/venue.vue
-
97src/subpackage/order/components/detail/verify.vue
-
212src/subpackage/order/pages/detail.vue
-
4vite.config.js
@ -1,292 +0,0 @@ |
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app'; |
|||
import { reactive, ref } from "vue"; |
|||
import textLine from "./modules/text_line.vue"; |
|||
const isShowSpecificTime = ref(false); |
|||
onLoad(() => { |
|||
|
|||
}); |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<view class="order-detail"> |
|||
<view class="od-box od-header"> |
|||
<view class="oh-stadium"> |
|||
<image class="os-logo"></image> |
|||
<view class="os-name">MJ体育(天空篮球从云店)</view> |
|||
<view class="os-status">已核销</view> |
|||
</view> |
|||
<view class="oh-line">订单编号:123456789012</view> |
|||
<view class="oh-line">创建时间:2019-06-06 12:00:06</view> |
|||
</view> |
|||
<!-- 场次信息 --> |
|||
<view class="od-box od-venue-info"> |
|||
<view class="od-title">场次信息</view> |
|||
<text-line label="预定项目:">羽毛球</text-line> |
|||
<text-line label="预定日期:">2019年05月17日(周五)</text-line> |
|||
<view class="soi-booking-info"> |
|||
<view class="sbi-name">预定场次:</view> |
|||
<view class="sbi-time-range"> |
|||
<block v-for="(e, i) in 3" :key=i> |
|||
<view class="str-item">{{ e.name || '几号馆' }} {{ e.time || '时间段' }}</view> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
<view class="vmm-line" v-if='isShowSpecificTime'> |
|||
<view>具体场次:</view> |
|||
<view> |
|||
<view v-for="(e,i) in 3" :key="i">{{ 'venue_name' }} {{ 'duration' }} ({{ 0 }}元)</view> |
|||
</view> |
|||
</view> |
|||
<view class="soi-fold-btn" @click="isShowSpecificTime = !isShowSpecificTime"> |
|||
<view class="sfb-txt">{{ isShowSpecificTime ? '收起' : '查看具体场次' }}</view> |
|||
<text class="sfb-icon" :class="[ isShowSpecificTime ? 'rotate' :'' ]"></text> |
|||
</view> |
|||
<view class="vvm-total"> |
|||
<view>小计(共{{0}}场)</view> |
|||
<view>¥{{ 0}}</view> |
|||
</view> |
|||
</view> |
|||
<!-- 二维码 --> |
|||
<view class="od-box od-code"> |
|||
<image class="oc-code-img"></image> |
|||
<view class="oc-tip">点击二维码可放大查看</view> |
|||
</view> |
|||
<!-- 支付信息 --> |
|||
<view class="od-box od-payment"> |
|||
<view class="od-title">支付信息</view> |
|||
<text-line label="支付方式:">抖音支付</text-line> |
|||
<text-line label="支付时间:">2019年6月18日 10:30:40</text-line> |
|||
<text-line label="交易号:">3532463457445848657</text-line> |
|||
</view> |
|||
<!-- 抖音商品信息 --> |
|||
<view class="od-box od-goods"> |
|||
<view class="og-title">抖音商品信息</view> |
|||
<view class="og-info"> |
|||
<image class="oi-pic"></image> |
|||
<view class="oi-desc"> |
|||
<view class="od-name">羽毛球订场200元代金券【欧轩运营】</view> |
|||
<view class="od-price">¥ 9.9</view> |
|||
</view> |
|||
<text class="oi-icon"></text> |
|||
</view> |
|||
<view class="og-bottom"> |
|||
<view class="ob-lines"> |
|||
<view class="ol-item"> |
|||
<text-line label="订单编号:">3107858392102658852</text-line> |
|||
</view> |
|||
<view class="ol-item"> |
|||
<text-line label="核销券码:">3107858392102658852</text-line> |
|||
</view> |
|||
</view> |
|||
<view class="ob-status">已核销</view> |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
.order-detail{ |
|||
padding: 24upx; |
|||
.od-box{ |
|||
background-color: #fff; |
|||
border-radius: 20upx; |
|||
&+ .od-box{ |
|||
margin-top: 24upx; |
|||
} |
|||
} |
|||
.od-title{ |
|||
@include flcw(28upx, 40upx, #9A9A9D); |
|||
} |
|||
.od-header{ |
|||
padding: 28upx 28upx 32upx; |
|||
.oh-stadium{ |
|||
margin-bottom: 14upx; |
|||
@include ctf; |
|||
.os-logo{ |
|||
flex-shrink: 0; |
|||
margin-right: 10upx; |
|||
width: 34upx; |
|||
height: 34upx; |
|||
background: skyblue; |
|||
} |
|||
.os-name{ |
|||
flex-grow: 1; |
|||
@include flcw(28upx, 40upx, #333, 500); |
|||
@include tHide; |
|||
} |
|||
.os-status{ |
|||
flex-shrink: 0; |
|||
margin-left: 10upx; |
|||
max-width: 160upx; |
|||
@include tHide; |
|||
@include flcw(28upx, 40upx, $mColor); |
|||
} |
|||
} |
|||
.oh-line{ |
|||
@include flcw(24upx, 34upx, #9A9A9D); |
|||
@include tHide; |
|||
} |
|||
} |
|||
.od-code{ |
|||
padding-top: 26upx; |
|||
font-size: 0; |
|||
.oc-code-img{ |
|||
display: block; |
|||
margin: 0 auto; |
|||
width: 278upx; |
|||
height: 278upx; |
|||
background: skyblue; |
|||
} |
|||
.oc-tip{ |
|||
text-align: center; |
|||
@include flcw(24upx, 56upx, #666666); |
|||
} |
|||
} |
|||
.od-goods{ |
|||
padding: 28upx 16upx 30upx 28upx; |
|||
.og-title{ |
|||
@include flcw(28upx, 40upx, #333, 500); |
|||
} |
|||
.og-info{ |
|||
margin-top: 24upx; |
|||
@include ctf; |
|||
.oi-pic{ |
|||
flex-shrink: 0; |
|||
margin-right: 24upx; |
|||
width: 136upx; |
|||
height: 136upx; |
|||
background: skyblue; |
|||
} |
|||
.oi-desc{ |
|||
flex-grow: 1; |
|||
align-self: stretch; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
flex-direction: column; |
|||
justify-content: space-between; |
|||
.od-name{ |
|||
@include flcw(26upx, 36upx, #333, 500); |
|||
@include tHide(2); |
|||
} |
|||
.od-price{ |
|||
@include flcw(26upx, 36upx, #333, 500); |
|||
@include tHide; |
|||
} |
|||
} |
|||
|
|||
@include rightArrow; |
|||
.oi-icon{ |
|||
margin-left: 20upx; |
|||
flex-shrink: 0; |
|||
font-size: 40upx; |
|||
font-family: rightArrow; |
|||
color: #333; |
|||
} |
|||
} |
|||
.og-bottom{ |
|||
margin-top: 36upx; |
|||
@include ctf(space-between); |
|||
.ob-lines{ |
|||
flex-grow: 1; |
|||
.ol-item + .ol-item{ |
|||
margin-top: 24upx; |
|||
} |
|||
} |
|||
.ob-status{ |
|||
flex-shrink: 0; |
|||
margin-left: 10upx; |
|||
max-width: 160upx; |
|||
@include flcw(28upx, 40upx, $mColor); |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
.od-payment{ |
|||
padding: 30upx; |
|||
.od-title{ |
|||
margin-bottom: 20upx; |
|||
} |
|||
} |
|||
.od-venue-info{ |
|||
padding: 30upx; |
|||
.od-title{ |
|||
margin-bottom: 20upx; |
|||
} |
|||
.soi-booking-info{ |
|||
display: flex; |
|||
.sbi-name{ |
|||
flex-shrink: 0; |
|||
flex-grow: 0; |
|||
@include flcw(28upx, 52upx, #9A9A9D); |
|||
} |
|||
.sbi-time-range{ |
|||
flex-grow: 1; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
.str-item{ |
|||
flex-shrink: 0; |
|||
margin-right: 12upx; |
|||
max-width: 500upx; |
|||
@include flcw(28upx, 52upx, #333); |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
.vmm-line{ |
|||
display: flex; |
|||
>view{ |
|||
font-size: 28upx; |
|||
line-height: 52upx; |
|||
&:first-child{ |
|||
flex-shrink: 0; |
|||
color: #9a9a9d; |
|||
} |
|||
&+view{ |
|||
flex-grow: 1; |
|||
>view{ |
|||
width: 100%; |
|||
@include flcw(28upx, 52upx, #333); |
|||
@include tHide; |
|||
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
.soi-fold-btn{ |
|||
padding-bottom: 20upx; |
|||
margin: 20upx auto 0; |
|||
@include ctf(center); |
|||
.sfb-txt{ |
|||
margin-right: 12upx; |
|||
flex-grow: 0; |
|||
flex-shrink: 0; |
|||
@include flcw(24upx, 34upx, #9a9a9d); |
|||
} |
|||
@include rightArrow; |
|||
.sfb-icon{ |
|||
flex-shrink: 0; |
|||
font-family: rightArrow; |
|||
font-size: 20upx; |
|||
color: #9A9A9D; |
|||
&.rotate{ |
|||
transform: rotateZ(-90deg); |
|||
} |
|||
} |
|||
} |
|||
.vvm-total{ |
|||
margin-top: 16upx; |
|||
padding-top: 28upx; |
|||
border-top: 1px solid #D8D8D8; |
|||
@include ctf(space-between); |
|||
>view{ |
|||
max-width: 50%; |
|||
@include tHide; |
|||
@include flcw(28upx, 40upx, #333); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,99 @@ |
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app'; |
|||
import { reactive, ref } from "vue"; |
|||
onLoad(() => { |
|||
|
|||
}); |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<view class="detail-contact"> |
|||
<view class="dc-left"> |
|||
<view class="dl-line"> |
|||
<view class="dl-icon"></view> |
|||
<view class="dl-txt">周一、周日09:05-12:00,14:30-24;周二、周四、周五...</view> |
|||
</view> |
|||
<view class="dl-line"> |
|||
<view class="dl-icon"></view> |
|||
<view class="dl-txt">白云区从云路822号城市像素6楼(电梯5楼走到6楼)></view> |
|||
</view> |
|||
</view> |
|||
<view class="dc-line"></view> |
|||
<view class="dc-right"> |
|||
<view class="dr-icons"> |
|||
<view class="di-item"></view> |
|||
<view class="di-item"></view> |
|||
</view> |
|||
<view class="dr-txt">距离23m</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
.detail-contact{ |
|||
padding: 30upx; |
|||
@include ctf(space-between); |
|||
.dc-left{ |
|||
flex-grow: 1; |
|||
.dl-line{ |
|||
display: flex; |
|||
&+ .dl-line{ |
|||
margin-top: 16upx; |
|||
} |
|||
@include locationIcon; |
|||
@include clockIcon; |
|||
.dl-icon{ |
|||
margin-right: 12upx; |
|||
flex-shrink: 0; |
|||
flex-grow: 0; |
|||
width: 34upx; |
|||
height: 34upx; |
|||
font-family: locationIcon, clockIcon; |
|||
font-size: 28upx; |
|||
color: #9A9A9D; |
|||
} |
|||
.dl-txt{ |
|||
@include flcw(24upx, 34upx, #9A9A9D); |
|||
} |
|||
} |
|||
} |
|||
.dc-line{ |
|||
align-self: stretch; |
|||
margin-left: 30upx; |
|||
margin-right: 12upx; |
|||
flex-shrink: 0; |
|||
flex-grow: 0; |
|||
width: 1px; |
|||
background: #EAEAEA; |
|||
} |
|||
.dc-right{ |
|||
flex-shrink: 0; |
|||
flex-grow: 0; |
|||
width: 136upx; |
|||
.dr-icons{ |
|||
@include ctf(center); |
|||
@include phoneIcon; |
|||
@include navigationIcon; |
|||
.di-item{ |
|||
margin: 0 12upx; |
|||
width: 36upx; |
|||
height: 36upx; |
|||
text-align: center; |
|||
line-height: 36upx; |
|||
border-radius: 50%; |
|||
font-family: phoneIcon, navigationIcon; |
|||
font-size: 24upx; |
|||
background-color: rgba($color: $mColor, $alpha: .05); |
|||
color: $mColor; |
|||
} |
|||
} |
|||
.dr-txt{ |
|||
margin-top: 18upx; |
|||
text-align: center; |
|||
@include flcw(24upx, 34upx, #9A9A9D); |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,97 @@ |
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app'; |
|||
import { reactive, ref } from "vue"; |
|||
import textLine from "./text_line.vue"; |
|||
onLoad(() => { |
|||
|
|||
}); |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<!-- 抖音商品信息 --> |
|||
<view class="od-goods"> |
|||
<view class="og-title">抖音商品信息</view> |
|||
<view class="og-info"> |
|||
<image class="oi-pic"></image> |
|||
<view class="oi-desc"> |
|||
<view class="od-name">羽毛球订场200元代金券【欧轩运营】</view> |
|||
<view class="od-price">¥ 9.9</view> |
|||
</view> |
|||
<text class="oi-icon"></text> |
|||
</view> |
|||
<view class="og-bottom"> |
|||
<view class="ob-lines"> |
|||
<view class="ol-item"> |
|||
<text-line label="订单编号:">3107858392102658852</text-line> |
|||
</view> |
|||
<view class="ol-item"> |
|||
<text-line label="核销券码:">3107858392102658852</text-line> |
|||
</view> |
|||
</view> |
|||
<view class="ob-status">已核销</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
.od-goods{ |
|||
padding: 28upx 16upx 30upx 28upx; |
|||
.og-title{ |
|||
@include flcw(28upx, 40upx, #333, 500); |
|||
} |
|||
.og-info{ |
|||
margin-top: 24upx; |
|||
@include ctf; |
|||
.oi-pic{ |
|||
flex-shrink: 0; |
|||
margin-right: 24upx; |
|||
width: 136upx; |
|||
height: 136upx; |
|||
background: skyblue; |
|||
} |
|||
.oi-desc{ |
|||
flex-grow: 1; |
|||
align-self: stretch; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
flex-direction: column; |
|||
justify-content: space-between; |
|||
.od-name{ |
|||
@include flcw(26upx, 36upx, #333, 500); |
|||
@include tHide(2); |
|||
} |
|||
.od-price{ |
|||
@include flcw(26upx, 36upx, #333, 500); |
|||
@include tHide; |
|||
} |
|||
} |
|||
|
|||
@include rightArrow; |
|||
.oi-icon{ |
|||
margin-left: 20upx; |
|||
flex-shrink: 0; |
|||
font-size: 40upx; |
|||
font-family: rightArrow; |
|||
color: #333; |
|||
} |
|||
} |
|||
.og-bottom{ |
|||
margin-top: 36upx; |
|||
@include ctf(space-between); |
|||
.ob-lines{ |
|||
flex-grow: 1; |
|||
.ol-item + .ol-item{ |
|||
margin-top: 24upx; |
|||
} |
|||
} |
|||
.ob-status{ |
|||
flex-shrink: 0; |
|||
margin-left: 10upx; |
|||
max-width: 160upx; |
|||
@include flcw(28upx, 40upx, $mColor); |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,118 @@ |
|||
<script setup> |
|||
import { reactive, ref } from "vue"; |
|||
import textLine from "./text_line.vue"; |
|||
const isShowSpecificTime = ref(false); |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<view class="detail-venue-info"> |
|||
<view class="od-title">场次信息</view> |
|||
<text-line label="预定项目:">羽毛球</text-line> |
|||
<text-line label="预定日期:">2019年05月17日(周五)</text-line> |
|||
<view class="soi-booking-info"> |
|||
<view class="sbi-name">预定场次:</view> |
|||
<view class="sbi-time-range"> |
|||
<block v-for="(e, i) in 3" :key=i> |
|||
<view class="str-item">{{ e.name || '几号馆' }} {{ e.time || '时间段' }}</view> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
<view class="vmm-line" v-if='isShowSpecificTime'> |
|||
<view>具体场次:</view> |
|||
<view> |
|||
<view v-for="(e,i) in 3" :key="i">{{ 'venue_name' }} {{ 'duration' }} ({{ 0 }}元)</view> |
|||
</view> |
|||
</view> |
|||
<view class="soi-fold-btn" @click="isShowSpecificTime = !isShowSpecificTime"> |
|||
<view class="sfb-txt">{{ isShowSpecificTime ? '收起' : '查看具体场次' }}</view> |
|||
<text class="sfb-icon" :class="[ isShowSpecificTime ? 'rotate' :'' ]"></text> |
|||
</view> |
|||
<view class="vvm-total"> |
|||
<view>小计(共{{0}}场)</view> |
|||
<view>¥{{ 0}}</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
.detail-venue-info{ |
|||
padding: 30upx; |
|||
.od-title{ |
|||
margin-bottom: 20upx; |
|||
@include flcw(28upx, 40upx, #9A9A9D); |
|||
} |
|||
.soi-booking-info{ |
|||
display: flex; |
|||
.sbi-name{ |
|||
flex-shrink: 0; |
|||
flex-grow: 0; |
|||
@include flcw(28upx, 52upx, #9A9A9D); |
|||
} |
|||
.sbi-time-range{ |
|||
flex-grow: 1; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
.str-item{ |
|||
flex-shrink: 0; |
|||
margin-right: 12upx; |
|||
max-width: 500upx; |
|||
@include flcw(28upx, 52upx, #333); |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
.vmm-line{ |
|||
display: flex; |
|||
>view{ |
|||
font-size: 28upx; |
|||
line-height: 52upx; |
|||
&:first-child{ |
|||
flex-shrink: 0; |
|||
color: #9a9a9d; |
|||
} |
|||
&+view{ |
|||
flex-grow: 1; |
|||
>view{ |
|||
width: 100%; |
|||
@include flcw(28upx, 52upx, #333); |
|||
@include tHide; |
|||
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
.soi-fold-btn{ |
|||
padding-bottom: 20upx; |
|||
margin: 20upx auto 0; |
|||
@include ctf(center); |
|||
.sfb-txt{ |
|||
margin-right: 12upx; |
|||
flex-grow: 0; |
|||
flex-shrink: 0; |
|||
@include flcw(24upx, 34upx, #9a9a9d); |
|||
} |
|||
@include rightArrow; |
|||
.sfb-icon{ |
|||
flex-shrink: 0; |
|||
font-family: rightArrow; |
|||
font-size: 20upx; |
|||
color: #9A9A9D; |
|||
&.rotate{ |
|||
transform: rotateZ(-90deg); |
|||
} |
|||
} |
|||
} |
|||
.vvm-total{ |
|||
margin-top: 16upx; |
|||
padding-top: 28upx; |
|||
border-top: 1px solid #D8D8D8; |
|||
@include ctf(space-between); |
|||
>view{ |
|||
max-width: 50%; |
|||
@include tHide; |
|||
@include flcw(28upx, 40upx, #333); |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,97 @@ |
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app'; |
|||
import { reactive, ref } from "vue"; |
|||
import textLine from "./text_line.vue"; |
|||
onLoad(() => { |
|||
|
|||
}); |
|||
</script> |
|||
|
|||
<template> |
|||
<view class="detail-verify"> |
|||
<view class="dv-tit">验证信息</view> |
|||
<text-line label="使用日期">2020-12-25(周五)</text-line> |
|||
<view class="dv-codes"> |
|||
<view class="dc-item" :class="{ gray: i === 1 }" v-for="i in 2" :key="i"> |
|||
<view class="di-status">待使用</view> |
|||
<view class="di-bottom"> |
|||
<view class="db-code">验证码 12234 45455 </view> |
|||
<view class="db-txt-btn">查看个人入场码 </view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="vci-share-bar"> |
|||
<text class="vsb-add-icon"></text> |
|||
<text class="vv-text">分享给好友领取入场码</text> |
|||
<text class="vsb-arrow"></text> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
@include rightArrow; |
|||
.detail-verify{ |
|||
padding: 30upx; |
|||
.dv-tit{ |
|||
@include flcw(28upx, 40upx, #9A9A9D); |
|||
} |
|||
.dv-codes{ |
|||
margin-top: 18upx; |
|||
.dc-item{ |
|||
padding: 20upx; |
|||
background-color: rgba($color: $mColor, $alpha: .1); |
|||
&.gray{ |
|||
background-color: rgba($color: #9A9A9D, $alpha: .1); |
|||
} |
|||
&+.dc-item{ |
|||
margin-top: 12upx; |
|||
} |
|||
.di-status{ |
|||
@include flcw(28upx, 40upx, $mColor, 500); |
|||
} |
|||
.di-bottom{ |
|||
margin-top: 22upx; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: baseline; |
|||
.db-code{ |
|||
@include flcw(30upx, 42upx, #1A1A1A); |
|||
@include tHide; |
|||
} |
|||
.db-txt-btn{ |
|||
flex-shrink: 0; |
|||
font-family: rightArrow; |
|||
@include flcw(24upx, 34upx, #9A9A9D); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.vci-share-bar{ |
|||
margin-top: 16upx; |
|||
padding: 40upx 10upx 20upx; |
|||
border-top: 1px solid #D8D8D8; |
|||
@include ctf; |
|||
@include addFriend; |
|||
.vsb-add-icon{ |
|||
flex-grow: 0; |
|||
flex-shrink: 0; |
|||
margin-right: 20upx; |
|||
font-size: 40upx; |
|||
font-family: addFriend; |
|||
color: $mColor; |
|||
} |
|||
.vv-text{ |
|||
flex-grow: 1; |
|||
@include flcw(28upx, 40upx, #333); |
|||
} |
|||
.vsb-arrow{ |
|||
flex-grow: 0; |
|||
flex-shrink: 0; |
|||
margin-left: 20upx; |
|||
font-size: 28upx; |
|||
font-family: rightArrow; |
|||
color: #9a9a9d; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,212 @@ |
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app'; |
|||
import { reactive, ref } from "vue"; |
|||
import textLine from "../components/detail/text_line.vue"; |
|||
import detailVenueInfo from "../components/detail/venue.vue"; |
|||
import detailGoods from "../components/detail/goods.vue"; |
|||
import detailVerify from "../components/detail/verify.vue"; |
|||
import detailContact from "../components/detail/contact.vue"; |
|||
onLoad(() => { |
|||
|
|||
}); |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<view class="order-detail"> |
|||
<view class="od-box od-header"> |
|||
<view class="oh-stadium"> |
|||
<image class="os-logo"></image> |
|||
<view class="os-name">MJ体育(天空篮球从云店)</view> |
|||
<view class="os-status">已核销</view> |
|||
</view> |
|||
<view class="oh-line">订单编号:123456789012</view> |
|||
<view class="oh-line">创建时间:2019-06-06 12:00:06</view> |
|||
</view> |
|||
<view class="od-box od-product"> |
|||
<view class="od-title">产品信息</view> |
|||
<text-line label="预定项目:">羽毛球</text-line> |
|||
<text-line label="数量:">1</text-line> |
|||
<text-line label="类型:">llasd</text-line> |
|||
<view class="op-bottom"> |
|||
<view class="op-val">小计</view> |
|||
<view class="op-val">¥300</view> |
|||
</view> |
|||
</view> |
|||
<view class="od-box od-total"> |
|||
<view class="ot-line"> |
|||
<view class="ol-val">金额小计</view> |
|||
<view class="ol-val">¥300</view> |
|||
</view> |
|||
<view class="ot-line"> |
|||
<view class="ol-val">团购券抵扣</view> |
|||
<view class="ol-val">¥300</view> |
|||
</view> |
|||
<view class="ot-amount"><text class="oa-txt">合计支付:</text>¥0.00</view> |
|||
</view> |
|||
<view class="od-box"> |
|||
<!-- 联系方式/地址 --> |
|||
<detail-contact></detail-contact> |
|||
</view> |
|||
<view class="od-box"> |
|||
<!-- 验证信息 --> |
|||
<detail-verify></detail-verify> |
|||
</view> |
|||
<view class="od-box"> |
|||
<!-- 场次信息 --> |
|||
<detail-venue-info></detail-venue-info> |
|||
</view> |
|||
<view class="od-box od-code"> |
|||
<!-- 二维码 --> |
|||
<image class="oc-code-img"></image> |
|||
<view class="oc-tip">点击二维码可放大查看</view> |
|||
</view> |
|||
<view class="od-box od-payment"> |
|||
<!-- 支付信息 --> |
|||
<view class="od-title">支付信息</view> |
|||
<text-line label="支付方式:">抖音支付</text-line> |
|||
<text-line label="支付时间:">2019年6月18日 10:30:40</text-line> |
|||
<text-line label="交易号:">3532463457445848657</text-line> |
|||
</view> |
|||
<view class="od-box"> |
|||
<!-- 抖音商品信息 --> |
|||
<detail-goods></detail-goods> |
|||
</view> |
|||
<view class="od-fixed"> |
|||
<view class="of-refund">申请退款</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<style lang="scss" scoped> |
|||
.order-detail{ |
|||
padding: 24upx; |
|||
@include isPd(140upx); |
|||
.od-box{ |
|||
background-color: #fff; |
|||
border-radius: 20upx; |
|||
&+ .od-box{ |
|||
margin-top: 24upx; |
|||
} |
|||
} |
|||
.od-title{ |
|||
@include flcw(28upx, 40upx, #9A9A9D); |
|||
} |
|||
.od-header{ |
|||
padding: 28upx 28upx 32upx; |
|||
.oh-stadium{ |
|||
margin-bottom: 14upx; |
|||
@include ctf; |
|||
.os-logo{ |
|||
flex-shrink: 0; |
|||
margin-right: 10upx; |
|||
width: 34upx; |
|||
height: 34upx; |
|||
background: skyblue; |
|||
} |
|||
.os-name{ |
|||
flex-grow: 1; |
|||
@include flcw(28upx, 40upx, #333, 500); |
|||
@include tHide; |
|||
} |
|||
.os-status{ |
|||
flex-shrink: 0; |
|||
margin-left: 10upx; |
|||
max-width: 160upx; |
|||
@include tHide; |
|||
@include flcw(28upx, 40upx, $mColor); |
|||
} |
|||
} |
|||
.oh-line{ |
|||
@include flcw(24upx, 34upx, #9A9A9D); |
|||
@include tHide; |
|||
} |
|||
} |
|||
.od-code{ |
|||
padding-top: 26upx; |
|||
font-size: 0; |
|||
.oc-code-img{ |
|||
display: block; |
|||
margin: 0 auto; |
|||
width: 278upx; |
|||
height: 278upx; |
|||
background: skyblue; |
|||
} |
|||
.oc-tip{ |
|||
text-align: center; |
|||
@include flcw(24upx, 56upx, #666666); |
|||
} |
|||
} |
|||
.od-payment{ |
|||
padding: 30upx; |
|||
.od-title{ |
|||
margin-bottom: 20upx; |
|||
} |
|||
} |
|||
.od-total{ |
|||
padding: 30upx; |
|||
.ot-line{ |
|||
@include ctf(space-between); |
|||
.ol-val{ |
|||
@include flcw(24upx, 60upx, #333); |
|||
&:first-child{ |
|||
margin-right: 20upx; |
|||
flex-shrink: 0; |
|||
} |
|||
&+.ol-val{ |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
.ot-amount{ |
|||
margin-top: 30upx; |
|||
text-align: right; |
|||
@include flcw(28upx, 50upx, #FF873D, 500); |
|||
@include tHide; |
|||
.oa-txt{ |
|||
@include flcw(28upx, 50upx, #333333, 400); |
|||
} |
|||
} |
|||
} |
|||
.od-product{ |
|||
padding: 30upx; |
|||
.od-title{ |
|||
margin-bottom: 20upx; |
|||
} |
|||
.op-bottom{ |
|||
padding-top: 24upx; |
|||
margin-top: 18upx; |
|||
border-top: 1px solid #D8D8D8; |
|||
@include ctf(space-between); |
|||
.op-val{ |
|||
@include flcw(24upx, 40upx, #333); |
|||
&:first-child{ |
|||
margin-right: 20upx; |
|||
flex-shrink: 0; |
|||
} |
|||
&+.op-val{ |
|||
@include tHide; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.od-fixed{ |
|||
position: fixed; |
|||
left: 0; |
|||
bottom: 0; |
|||
width: 100%; |
|||
padding: 18upx 24upx; |
|||
background: #fff; |
|||
@include isPd(18upx); |
|||
.of-refund{ |
|||
margin-left: auto; |
|||
margin-right: 0; |
|||
width: 168upx; |
|||
text-align: center; |
|||
border-radius: 72upx; |
|||
border: 2upx solid $mColor; |
|||
@include flcw(28upx, 68upx, $mColor); |
|||
} |
|||
} |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue