|
|
- <template>
- <view class="orderDetails">
- <Navbar title="订单详情" :autoBack="true" :bgColor="bgColor" leftIconSize="18px" height="100rpx"
- :leftIconColor="leftIconColor" :titleStyle="{color:fontColor}" />
- <view class="content">
- <view class="baseInfo cardBackground_">
- <view class="statusBox">
- <i></i>
- <view class="status">{{orderStatus}}</view>
- </view>
- <view class="info grayBg cardStyle_">
- <view class="left">
- <image :src="images" >
- </view>
- <view class="right">
- <view class="detailed">
- <view class="title">{{dataInfo.title}}</view>
- <view class="date">{{dataInfo.startTime}}</view>
- <view class="address">{{dataInfo.address}}</view>
- </view>
- <view class="price"><text>总计</text>¥{{dataInfo.payPrice}}</view>
- </view>
- </view>
- </view>
- <view class="orderInfo">
- <view class="title">订单信息</view>
- <view class="details">
- <uv-cell :border="false" titleStyle="{color: 'red'}" title="订单编号" :value="showOrderId"></uv-cell>
- <uv-cell :border="false" titleStyle="{color: 'red'}" title="下单时间" :value="dataInfo.createTime"></uv-cell>
- <uv-cell :border="false" titleStyle="{color: 'red'}" title="订单金额" :value="'¥' + dataInfo.payPrice"></uv-cell>
- <uv-cell :border="false" titleStyle="{color: 'red'}" title="订单状态" :value="orderStatus"></uv-cell>
- </view>
-
- </view>
- <view class="tips">
- <view class="title">支付须知</view>
- <view class="details">
- <uv-parse :content="configList.recharge_instructions"></uv-parse>
- </view>
- </view>
- <view class="tips" v-if="dataInfo.type == 0">
- <view class="title">活动须知</view>
- <view class="details">
- <uv-parse :content="configList.huodong_text"></uv-parse>
- </view>
- </view>
- <view class="tips" v-else-if="dataInfo.type == 1">
- <view class="title">旅行须知</view>
- <view class="details">
- <uv-parse :content="configList.withdrawal_instructions"></uv-parse>
- </view>
- </view>
- </view>
- <view style="padding: 65rpx 35rpx;"
- @click="open"
- v-if="dataInfo.state == 1">
- <uv-button :custom-style="customStyle" type="primary" shape="circle" color="#381615" text="活动签到"></uv-button>
- </view>
-
- <signInQrcodePopup ref="signInQrcodePopup"/>
- </view>
- </template>
-
- <script>
- import Navbar from '@/pages/components/Navbar.vue'
- import signInQrcodePopup from '@/components/cart/signInQrcodePopup.vue'
- import {
- globalMixin
- } from '../pages/mixins/globalMixin';
-
- export default {
- mixins: [globalMixin],
- components: {
- Navbar,
- signInQrcodePopup,
- },
- data() {
- return {
- orderId:'',
- dataInfo: {},
- customStyle:{
- color:'#FF5858'
- }
- }
- },
- onLoad(e) {
- this.orderId = e.id
- this.getorderInfo()
- },
- computed:{
- orderStatus() {
- let text = ""
- let state = this.dataInfo.state
- if( state == 0) {
- text = '未付款'
- }else if(state == 1) {
- text = '待参加'
- }else if(state == 2) {
- text = '已完成'
- }else{
- text = '已取消'
- }
- return text
- },
- showOrderId() {//0活动 1旅行
- let id = ""
- if(this.dataInfo.type == 0) {
- id = this.dataInfo.activityOrderId
- }else{
- id = this.dataInfo.travelOrderId
- }
- return id
- },
- images(){
- return this.dataInfo.image && this.dataInfo.image.split(',')[0]
- },
- },
- methods:{
- getorderInfo() {
- this.$api('orderInfo',{orderId:this.orderId},res=>{
- if(res.code == 200) {
- this.dataInfo = res.result.orderDetails
- }
- })
- },
- open(){
- this.$refs.signInQrcodePopup.open(this.orderId)
- },
- }
- }
- </script>
- <style scoped lang="scss">
- .orderDetails {
- padding-bottom: 80rpx;
- }
- .details {
- padding: 50rpx 40rpx;
-
- /deep/.uv-cell {
- .uv-cell__body {
- padding: 0rpx;
- padding-bottom: 30rpx;
- }
-
- &:last-child {
- .uv-cell__body {
- padding-bottom: 0rpx;
- }
- }
-
- .uv-cell__body__content {
- .uv-cell__title-text {
- color: $uni-text-color-grey !important;
- font-size: 28rpx
- }
- }
-
- .uv-cell__value {
- color: #DCDCDC !important;
- font-size: 28rpx
- }
-
- }
- }
-
- .orderDetails {
- margin-top: 40rpx;
-
- /deep/.uv-navbar__content__title {
- color: #fff;
- }
-
- .content {
- padding: 0 35rpx;
- color: #fff;
- padding-top: calc(var(--status-bar-height) + 110rpx);
-
- .baseInfo {
- .statusBox {
- display: flex;
- align-items: center;
- padding: 33rpx 47rpx 24rpx;
-
- i {
- background: url('@/static/image/cart/U-status.png') no-repeat;
- background-size: 100% 100%;
- display: block;
- width: 39rpx;
- height: 34rpx;
- margin-right: 15rpx;
- }
-
- .status {
- font-size: 32rpx;
- }
- }
- }
-
- .orderInfo,
- .tips {
- .title {
- font-size: 29rpx;
- padding-bottom: 26rpx;
- margin-top: 36rpx;
- }
-
- .details {
- background-color: $uni-color-card-background;
- border-radius: 26rpx;
- }
- }
-
- .tips {
- .details {
- p {
- color: #CCC;
- font-size: 25rpx;
- line-height: 50rpx;
- }
- }
- }
- }
- }
- </style>
|