| xqd
@@ -1,1140 +1,1156 @@
|
|
|
<template>
|
|
|
- <app-layout>
|
|
|
- <view v-if="is_show && orderDetail" class='order-detail-box'>
|
|
|
- <app-order-banner :title='orderDetail.status_text'></app-order-banner>
|
|
|
- <view>
|
|
|
- <template
|
|
|
- v-if='orderDetail.is_send == 1 && orderDetail.detailExpress.length == 1 && orderDetail.send_type != 2'>
|
|
|
- <view class='express-box'>
|
|
|
- <template v-if="orderDetail.detailExpress[0].send_type == 1">
|
|
|
- <app-order-express :pageUrl='getPageUrl' :express='orderDetail.detailExpress[0].express'
|
|
|
- :express_no='orderDetail.detailExpress[0].express_no'
|
|
|
- :merchant_remark='orderDetail.detailExpress[0].merchant_remark'>
|
|
|
- </app-order-express>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- 物流信息: 其它方式({{ orderDetail.detailExpress[0].express_content }})
|
|
|
- </template>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- <template
|
|
|
- v-else-if='orderDetail.detailExpress.length > 1 || (orderDetail.is_send == 0 && orderDetail.detailExpress.length >= 1)'>
|
|
|
- <app-jump-button :url="getPageUrl">
|
|
|
- <view class='e-box dir-left-nowrap cross-center'>
|
|
|
- <view class='dir-top-nowrap box-grow-1 text'>
|
|
|
- 该订单已拆成多个包裹发货,点击查看详情
|
|
|
- </view>
|
|
|
- <image class='box-grow-0 img' src='/static/image/icon/arrow-right.png'></image>
|
|
|
- </view>
|
|
|
- </app-jump-button>
|
|
|
- </template>
|
|
|
- <view v-if="orderDetail.sign !== 'vip_card'" class="order-label">配送信息</view>
|
|
|
- <view v-if="orderDetail.sign !== 'vip_card'" class='order-list dir-top-nowrap'>
|
|
|
- <view v-if="orderDetail.send_type != 3" class='dir-left-nowrap'>
|
|
|
- <view class='box-grow-0'>联系人:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.name }}</view>
|
|
|
- <view class='box-grow-0'>{{ orderDetail.mobile }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.goods_type === 'ecard' || orderDetail.goods_type === 'scan_code_pay'
|
|
|
- || (orderDetail.is_send && orderDetail.is_show_send_type == 1)">
|
|
|
- <block v-if="orderDetail.send_type == 0">发货方式:快递发货</block>
|
|
|
- <block v-if="orderDetail.send_type == 1">发货方式:上门自提</block>
|
|
|
- <block v-if="orderDetail.send_type == 2">发货方式:同城配送</block>
|
|
|
- <block v-if="orderDetail.send_type == 3">发货方式:自动发货</block>
|
|
|
- <!-- <block v-if="orderDetail.goods_type === 'ecard'">发货方式:自动发货</block>-->
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 快递 -->
|
|
|
- <view v-if="orderDetail.send_type != 1 && orderDetail.address" class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">收货地址:</view>
|
|
|
- <view class="box-grow-1 text">{{ orderDetail.address }}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 门店 -->
|
|
|
- <block v-if="orderDetail.send_type == 1 && orderDetail.goods_type === 'goods'">
|
|
|
- <view class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">门店名称:</view>
|
|
|
- <view class="box-grow-1 text">{{ orderDetail.store.name }}</view>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">联系方式:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.store.mobile }}</view>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">门店地址:</view>
|
|
|
- <view class="box-grow-1 text">{{ orderDetail.store.address }}</view>
|
|
|
- </view>
|
|
|
- <view @click="navigation(orderDetail.store)" class="order-list-btn">导航
|
|
|
- </view>
|
|
|
- </block>
|
|
|
-
|
|
|
- <!-- 同城配送 -->
|
|
|
- <block v-if="orderDetail.delivery_config">
|
|
|
- <view class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">发货地址:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.delivery_config.address.address }}</view>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap" v-if="orderDetail.delivery_config.contact_way">
|
|
|
- <view class="box-grow-0">联系方式:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.delivery_config.contact_way }}</view>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap" v-if="orderDetail.delivery_config.explain">
|
|
|
- <view class="box-grow-0">配送说明:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.delivery_config.explain }}</view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 电子卡密 -->
|
|
|
- <template
|
|
|
- v-if="orderDetail.type_data && orderDetail.type_data.ecard && orderDetail.type_data.ecard.length > 0">
|
|
|
- <view style="margin:24rpx 0;">
|
|
|
- <view class="preferential-box dir-left-nowrap main-between">
|
|
|
- <view>
|
|
|
- 卡密信息
|
|
|
- </view>
|
|
|
- <view @click="go_eCard">
|
|
|
- <text>使用说明</text>
|
|
|
- <image src="/static/image/icon/arrow-right.png" class="instructions"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="ecard dir-top-wrap" :style="{paddingBottom: ecard.length >= 1 ? '20rpx' : '0'}">
|
|
|
- <view class="item dir-top-nowrap" v-for="(item, key) in ecard" :key="key">
|
|
|
- <view style="margin-bottom: 10rpx;">【{{ key + 1 }}】</view>
|
|
|
- <view class="dir-left-nowrap cross-center">
|
|
|
- <view class='box-grow-1'>
|
|
|
- <view class="text" v-for="(n, d) in item" :key="d">{{ n.key }}:{{ n.value }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view @click='copyTextEcard(item)' class='box-grow-0 detail-btn' size='mini'>复制全部
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view @click="ecard = orderDetail.type_data.ecard"
|
|
|
- class="expand dir-left-nowrap main-center cross-center"
|
|
|
- v-if="ecard.length === 1 && orderDetail.type_data && orderDetail.type_data.ecard && orderDetail.type_data.ecard.length > 1">
|
|
|
- <text>点击展开</text>
|
|
|
- <image src="/static/image/icon/icon-down.png"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template v-if="orderDetail.send_type == 2
|
|
|
+ <app-layout>
|
|
|
+ <view v-if="is_show && orderDetail" class='order-detail-box'>
|
|
|
+ <app-order-banner :title='orderDetail.status_text'></app-order-banner>
|
|
|
+ <view>
|
|
|
+ <template v-if='orderDetail.is_send == 1 && orderDetail.detailExpress.length == 1 && orderDetail.send_type != 2'>
|
|
|
+ <view class='express-box'>
|
|
|
+ <template v-if="orderDetail.detailExpress[0].send_type == 1">
|
|
|
+ <app-order-express :pageUrl='getPageUrl' :express='orderDetail.detailExpress[0].express'
|
|
|
+ :express_no='orderDetail.detailExpress[0].express_no'
|
|
|
+ :merchant_remark='orderDetail.detailExpress[0].merchant_remark'>
|
|
|
+ </app-order-express>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ 物流信息: 其它方式({{ orderDetail.detailExpress[0].express_content }})
|
|
|
+ </template>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-else-if='orderDetail.detailExpress.length > 1 || (orderDetail.is_send == 0 && orderDetail.detailExpress.length >= 1)'>
|
|
|
+ <app-jump-button :url="getPageUrl">
|
|
|
+ <view class='e-box dir-left-nowrap cross-center'>
|
|
|
+ <view class='dir-top-nowrap box-grow-1 text'>
|
|
|
+ 该订单已拆成多个包裹发货,点击查看详情
|
|
|
+ </view>
|
|
|
+ <image class='box-grow-0 img' src='/static/image/icon/arrow-right.png'></image>
|
|
|
+ </view>
|
|
|
+ </app-jump-button>
|
|
|
+ </template>
|
|
|
+ <view v-if="orderDetail.sign !== 'vip_card'" class="order-label">配送信息</view>
|
|
|
+ <view v-if="orderDetail.sign !== 'vip_card'" class='order-list dir-top-nowrap'>
|
|
|
+ <view v-if="orderDetail.send_type != 3" class='dir-left-nowrap'>
|
|
|
+ <view class='box-grow-0'>联系人:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.name }}</view>
|
|
|
+ <view class='box-grow-0'>{{ orderDetail.mobile }}</view>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ v-if="orderDetail.goods_type === 'ecard' || orderDetail.goods_type === 'scan_code_pay'
|
|
|
+ || (orderDetail.is_send && orderDetail.is_show_send_type == 1)"
|
|
|
+ >
|
|
|
+ <block v-if="orderDetail.send_type == 0">发货方式:快递发货</block>
|
|
|
+ <block v-if="orderDetail.send_type == 1">发货方式:上门自提</block>
|
|
|
+ <block v-if="orderDetail.send_type == 2">发货方式:同城配送</block>
|
|
|
+ <block v-if="orderDetail.send_type == 3">发货方式:自动发货</block>
|
|
|
+<!-- <block v-if="orderDetail.goods_type === 'ecard'">发货方式:自动发货</block>-->
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 快递 -->
|
|
|
+ <view v-if="orderDetail.send_type != 1 && orderDetail.address" class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">收货地址:</view>
|
|
|
+ <view class="box-grow-1 text">{{ orderDetail.address }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 门店 -->
|
|
|
+ <block v-if="orderDetail.send_type == 1 && orderDetail.goods_type === 'goods'">
|
|
|
+ <view class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">门店名称:</view>
|
|
|
+ <view class="box-grow-1 text">{{ orderDetail.store.name }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">联系方式:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.store.mobile }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">门店地址:</view>
|
|
|
+ <view class="box-grow-1 text">{{ orderDetail.store.address }}</view>
|
|
|
+ </view>
|
|
|
+ <view @click="navigation(orderDetail.store)"
|
|
|
+ class="order-list-btn">导航
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+
|
|
|
+ <!-- 同城配送 -->
|
|
|
+ <block v-if="orderDetail.delivery_config">
|
|
|
+ <view class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">发货地址:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.delivery_config.address.address }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap" v-if="orderDetail.delivery_config.contact_way">
|
|
|
+ <view class="box-grow-0">联系方式:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.delivery_config.contact_way }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap" v-if="orderDetail.delivery_config.explain">
|
|
|
+ <view class="box-grow-0">配送说明:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.delivery_config.explain }}</view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 电子卡密 -->
|
|
|
+ <template v-if="orderDetail.type_data && orderDetail.type_data.ecard && orderDetail.type_data.ecard.length > 0">
|
|
|
+ <view style="margin:24rpx 0;">
|
|
|
+ <view class="preferential-box dir-left-nowrap main-between">
|
|
|
+ <view>
|
|
|
+ 卡密信息
|
|
|
+ </view>
|
|
|
+ <view @click="go_eCard">
|
|
|
+ <text>使用说明</text>
|
|
|
+ <image src="/static/image/icon/arrow-right.png" class="instructions"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="ecard dir-top-wrap" :style="{paddingBottom: ecard.length >= 1 ? '20rpx' : '0'}">
|
|
|
+ <view class="item dir-top-nowrap" v-for="(item, key) in ecard" :key="key">
|
|
|
+ <view style="margin-bottom: 10rpx;">【{{ key + 1 }}】</view>
|
|
|
+ <view class="dir-left-nowrap cross-center">
|
|
|
+ <view class='box-grow-1'>
|
|
|
+ <view class="text" v-for="(n, d) in item" :key="d">{{ n.key }}:{{ n.value }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view @click='copyTextEcard(item)' class='box-grow-0 detail-btn' size='mini'>复制全部
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view @click="ecard = orderDetail.type_data.ecard"
|
|
|
+ class="expand dir-left-nowrap main-center cross-center"
|
|
|
+ v-if="ecard.length === 1 && orderDetail.type_data && orderDetail.type_data.ecard && orderDetail.type_data.ecard.length > 1">
|
|
|
+ <text>点击展开</text>
|
|
|
+ <image src="/static/image/icon/icon-down.png"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template
|
|
|
+ v-if="orderDetail.send_type == 2
|
|
|
&& ((orderDetail.detailExpress.length == 1 || orderDetail.city_name)
|
|
|
&& orderDetail.is_send == 1)">
|
|
|
- <view class="order-info-box dir-top-nowrap delivery"
|
|
|
- style="margin-top: -20rpx;border-top: 1rpx solid #e2e2e2" v-if="orderDetail.send_type == 2">
|
|
|
- <view class="dir-left-nowrap cross-center city-service">
|
|
|
- <image class="head" src="/static/image/icon/deliveryman.png"></image>
|
|
|
- <template
|
|
|
- v-if="orderDetail.detailExpress[0].city_name && orderDetail.detailExpress[0].city_mobile">
|
|
|
- <view class="info-box dir-top-nowrap box-grow-1">
|
|
|
- <view class="info-label">配送员</view>
|
|
|
- <view class="info">
|
|
|
- {{
|
|
|
+ <view class="order-info-box dir-top-nowrap delivery"
|
|
|
+ style="margin-top: -20rpx;border-top: 1rpx solid #e2e2e2"
|
|
|
+ v-if="orderDetail.send_type == 2">
|
|
|
+ <view class="dir-left-nowrap cross-center city-service">
|
|
|
+ <image class="head" src="/static/image/icon/deliveryman.png"></image>
|
|
|
+ <template v-if="orderDetail.detailExpress[0].city_name && orderDetail.detailExpress[0].city_mobile">
|
|
|
+ <view class="info-box dir-top-nowrap box-grow-1">
|
|
|
+ <view class="info-label">配送员</view>
|
|
|
+ <view class="info">
|
|
|
+ {{
|
|
|
orderDetail.city_name ? orderDetail.city_name : orderDetail.detailExpress[0].city_name
|
|
|
}}
|
|
|
- {{
|
|
|
+ {{
|
|
|
orderDetail.city_mobile ? orderDetail.city_mobile : orderDetail.detailExpress[0].city_mobile
|
|
|
}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="icon-box">
|
|
|
- <app-jump-button open_type="tel"
|
|
|
- :number="orderDetail.city_mobile ? orderDetail.city_mobile : orderDetail.detailExpress[0].city_mobile">
|
|
|
- <image class="icon" src="/static/image/icon/store-tel.png"></image>
|
|
|
- </app-jump-button>
|
|
|
- </view>
|
|
|
- <!-- 第三方配送才有地图信息 -->
|
|
|
- <view v-if="orderDetail.detailExpress[0].send_type == 1" class="icon-box">
|
|
|
- <app-jump-button open_type="navigate"
|
|
|
- :url="'/pages/order/city-map/city-map?express_id=' + orderDetail.detailExpress[0].id">
|
|
|
- <image class="icon" src="/static/image/icon/shipping-address.png"></image>
|
|
|
- </app-jump-button>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <view class="await-man">等待分配骑手</view>
|
|
|
- </template>
|
|
|
- </view>
|
|
|
- <block v-if="orderDetail.detailExpress[0].status != 101">
|
|
|
- <view class="dir-left-wrap">
|
|
|
- <view class="goods-image" v-for="erItem in orderDetail.detailExpress[0].expressRelation"
|
|
|
- :key="erItem.id">
|
|
|
- <app-image width="120rpx" height="120rpx"
|
|
|
- :imgSrc="erItem.orderDetail.goods_info.goods_attr.cover_pic"></app-image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="goods-num">共{{ orderDetail.detailExpress[0].goods_num }}件商品</view>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
-
|
|
|
- <!--------------订单信息---------------->
|
|
|
- <view class="order-label">订单信息</view>
|
|
|
- <view class="order-list dir-top-nowrap">
|
|
|
- <view class="dir-left-nowrap cross-center">
|
|
|
- <view class="box-grow-0">订单编号:</view>
|
|
|
- <view class="box-grow-1">{{ orderDetail.order_no }}</view>
|
|
|
- <view @click="copyText(orderDetail.order_no)" style="position: absolute;right: 24rpx"
|
|
|
- class="box-grow-0 detail-btn">复制
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view>下单时间:{{ orderDetail.created_at }}</view>
|
|
|
- <view v-if="orderDetail.pay_type == 1">支付方式:线上支付</view>
|
|
|
- <view v-if="orderDetail.pay_type == 2">支付方式:货到付款</view>
|
|
|
- <view v-if="orderDetail.pay_type == 3">支付方式:余额支付</view>
|
|
|
- <view v-if="orderDetail.pay_type == 4">支付方式:现金</view>
|
|
|
- <view v-if="orderDetail.pay_type == 5">支付方式:pos机</view>
|
|
|
- <view v-if="orderDetail.sign == 'exchange'">兑换码:{{orderDetail.exchange_code.code}}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <template v-if="orderDetail.sign === 'advance'">
|
|
|
- <view class="preferential-box dir-top-nowrap">
|
|
|
- <view class='dir-left-nowrap item' style="margin-bottom: 28rpx;">
|
|
|
- <text class='box-grow-1' style="font-size: 28rpx;">
|
|
|
- 商品总价:¥{{
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="icon-box">
|
|
|
+ <app-jump-button open_type="tel"
|
|
|
+ :number="orderDetail.city_mobile ? orderDetail.city_mobile : orderDetail.detailExpress[0].city_mobile">
|
|
|
+ <image class="icon" src="/static/image/icon/store-tel.png"></image>
|
|
|
+ </app-jump-button>
|
|
|
+ </view>
|
|
|
+ <!-- 第三方配送才有地图信息 -->
|
|
|
+ <view v-if="orderDetail.detailExpress[0].send_type == 1" class="icon-box">
|
|
|
+ <app-jump-button open_type="navigate"
|
|
|
+ :url="'/pages/order/city-map/city-map?express_id=' + orderDetail.detailExpress[0].id">
|
|
|
+ <image class="icon" src="/static/image/icon/shipping-address.png"></image>
|
|
|
+ </app-jump-button>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <view class="await-man">等待分配骑手</view>
|
|
|
+ </template>
|
|
|
+ </view>
|
|
|
+ <block v-if="orderDetail.detailExpress[0].status != 101">
|
|
|
+ <view class="dir-left-wrap">
|
|
|
+ <view class="goods-image"
|
|
|
+ v-for="erItem in orderDetail.detailExpress[0].expressRelation" :key="erItem.id">
|
|
|
+ <app-image width="120rpx" height="120rpx"
|
|
|
+ :imgSrc="erItem.orderDetail.goods_info.goods_attr.cover_pic"
|
|
|
+ ></app-image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="goods-num">共{{ orderDetail.detailExpress[0].goods_num }}件商品</view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!--------------订单信息---------------->
|
|
|
+ <view class="order-label">订单信息</view>
|
|
|
+ <view class="order-list dir-top-nowrap">
|
|
|
+ <view class="dir-left-nowrap cross-center">
|
|
|
+ <view class="box-grow-0">订单编号:</view>
|
|
|
+ <view class="box-grow-1">{{ orderDetail.order_no }}</view>
|
|
|
+ <view @click="copyText(orderDetail.order_no)"
|
|
|
+ style="position: absolute;right: 24rpx"
|
|
|
+ class="box-grow-0 detail-btn">复制
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view>下单时间:{{ orderDetail.created_at }}</view>
|
|
|
+ <view v-if="orderDetail.pay_type == 1">支付方式:线上支付</view>
|
|
|
+ <view v-if="orderDetail.pay_type == 2">支付方式:货到付款</view>
|
|
|
+ <view v-if="orderDetail.pay_type == 3">支付方式:余额支付</view>
|
|
|
+ <view v-if="orderDetail.pay_type == 4">支付方式:现金</view>
|
|
|
+ <view v-if="orderDetail.pay_type == 5">支付方式:pos机</view>
|
|
|
+ <view v-if="orderDetail.sign == 'exchange'">兑换码:{{orderDetail.exchange_code.code}}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <template v-if="orderDetail.sign === 'advance'">
|
|
|
+ <view class="preferential-box dir-top-nowrap">
|
|
|
+ <view class='dir-left-nowrap item' style="margin-bottom: 28rpx;">
|
|
|
+ <text class='box-grow-1' style="font-size: 28rpx;">
|
|
|
+ 商品总价:¥{{
|
|
|
orderDetail.total_goods_original_price
|
|
|
}},定金¥{{
|
|
|
orderDetail.advance_order.deposit
|
|
|
}}抵扣¥{{ orderDetail.advance_order.swell_deposit }}
|
|
|
- </text>
|
|
|
- </view>
|
|
|
- <view class="item-box">
|
|
|
- <view class="dir-left-nowrap item ">
|
|
|
- <text class='box-grow-1' style="color: #ff4544;font-size: 24rpx;">阶段一</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 定金
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>¥{{ orderDetail.advance_order.deposit }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="item-box" style="margin-top:24rpx;">
|
|
|
- <view class="dir-left-nowrap item ">
|
|
|
- <text class='box-grow-1' style="color: #ff4544;font-size: 24rpx;">阶段二</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 尾款
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>¥{{ orderDetail.final_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 运费
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>¥{{ orderDetail.express_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
- v-if="orderDetail.member_discount_price > 0">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 会员折扣
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>-¥{{ orderDetail.member_discount_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
- v-if="orderDetail.integral_deduction_price > 0">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 积分抵扣
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>-¥{{ orderDetail.integral_deduction_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
- v-if="orderDetail.coupon_discount_price > 0">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 优惠券抵扣
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>-¥{{ orderDetail.coupon_discount_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
- v-if="orderDetail.advance_order.preferential_price > 0">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- 活动优惠
|
|
|
- </text>
|
|
|
- <text class='box-grow-0'>-¥{{ orderDetail.advance_order.preferential_price }}</text>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
- v-if="orderDetail.plugin_data.discount_list.vip_discount">
|
|
|
- <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
- {{orderDetail.plugin_data.discount_list.vip_discount.label}}
|
|
|
- </text>
|
|
|
- <text
|
|
|
- class='box-grow-0'>-¥{{ orderDetail.plugin_data.discount_list.vip_discount.value }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="dir-left-nowrap item main-right" style="margin:28rpx 0 ;">
|
|
|
- 合计:
|
|
|
- <span>
|
|
|
- <text v-if="orderDetail.plugin_data.exchange_count" class='price'>{{
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="item-box">
|
|
|
+ <view class="dir-left-nowrap item ">
|
|
|
+ <text class='box-grow-1' style="color: #ff4544;font-size: 24rpx;">阶段一</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 定金
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>¥{{ orderDetail.advance_order.deposit }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item-box" style="margin-top:24rpx;">
|
|
|
+ <view class="dir-left-nowrap item ">
|
|
|
+ <text class='box-grow-1' style="color: #ff4544;font-size: 24rpx;">阶段二</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 尾款
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>¥{{ orderDetail.final_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 运费
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>¥{{ orderDetail.express_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
+ v-if="orderDetail.member_discount_price > 0">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 会员折扣
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>-¥{{ orderDetail.member_discount_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
+ v-if="orderDetail.integral_deduction_price > 0">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 积分抵扣
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>-¥{{ orderDetail.integral_deduction_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
+ v-if="orderDetail.coupon_discount_price > 0">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 优惠券抵扣
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>-¥{{ orderDetail.coupon_discount_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
+ v-if="orderDetail.advance_order.preferential_price > 0">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ 活动优惠
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>-¥{{ orderDetail.advance_order.preferential_price }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item " style="margin-top: 20rpx;"
|
|
|
+ v-if="orderDetail.plugin_data.discount_list.vip_discount">
|
|
|
+ <text class='box-grow-1' style="color: #666666;font-size: 28rpx;">
|
|
|
+ {{orderDetail.plugin_data.discount_list.vip_discount.label}}
|
|
|
+ </text>
|
|
|
+ <text class='box-grow-0'>-¥{{ orderDetail.plugin_data.discount_list.vip_discount.value }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="dir-left-nowrap item main-right" style="margin:28rpx 0 ;">
|
|
|
+ 合计:
|
|
|
+ <span>
|
|
|
+ <text v-if="orderDetail.plugin_data.exchange_count"
|
|
|
+ class='price'>{{
|
|
|
orderDetail.plugin_data.exchange_count
|
|
|
}}{{ orderDetail.plugin_data.price_name }}+</text>
|
|
|
- <text class='box-grow-0'
|
|
|
- style="font-size: 28rpx;">¥{{ orderDetail.total_pay_price }}</text>
|
|
|
- </span>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
-
|
|
|
- <!-- ----------------退款状态--------- -->
|
|
|
- <view v-if="orderDetail.words!=''">
|
|
|
- <view class='order-label'>退款进度</view>
|
|
|
- <view class='order-list dir-top-nowrap'>
|
|
|
- <view v-if="orderDetail.status_text==='待发货'" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-0'>拒绝原因:</view>
|
|
|
- <view class='box-grow-1 becu'>{{ orderDetail.words }}</view>
|
|
|
- </view>
|
|
|
- <view v-else class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-0'>退款进度:</view>
|
|
|
- <view class='box-grow-1 becu'>{{ orderDetail.words }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!------------商品信息------------------>
|
|
|
- <view class="order-label">商品信息</view>
|
|
|
- <view class='preferential-box dir-top-wrap' v-if="orderDetail.sign !== 'advance'">
|
|
|
- <view v-if="orderDetail.plugin_data.exchange_count == null" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>商品总价</view>
|
|
|
- <view class='box-grow-0'>¥{{ orderDetail.total_goods_original_price }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.plugin_data.exchange_count" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>兑换{{ orderDetail.plugin_data.price_name }}</view>
|
|
|
- <view class='box-grow-0'>{{ orderDetail.plugin_data.exchange_count }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.plugin_data.exchange_count >= 0" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>兑换金额</view>
|
|
|
- <view class='box-grow-0'>¥{{ orderDetail.total_goods_original_price }}</view>
|
|
|
- </view>
|
|
|
- <view class='dir-left-nowrap item'
|
|
|
- v-if="orderDetail.sign !== 'advance' && orderDetail.goods_type === 'goods'">
|
|
|
- <view class='box-grow-1'>运费</view>
|
|
|
- <view class='box-grow-0'>¥{{ orderDetail.express_price }}</view>
|
|
|
- </view>
|
|
|
- <view class='dir-left-nowrap item'
|
|
|
- v-if="orderDetail.total_sku_tax_amount*1 > 0">
|
|
|
- <view class='box-grow-1'>综合税费</view>
|
|
|
- <view class='box-grow-0'>¥{{ orderDetail.total_sku_tax_amount }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.member_deduction_price_count > 0 && sign !== 'advance'"
|
|
|
- class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>会员折扣</view>
|
|
|
- <view class='box-grow-0'>-¥{{ orderDetail.member_deduction_price_count }}</view>
|
|
|
- </view>
|
|
|
- <view v-if='orderDetail.integral_deduction_price > 0' class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>积分抵扣</view>
|
|
|
- <view class='box-grow-0'>-¥{{ orderDetail.integral_deduction_price }}</view>
|
|
|
- </view>
|
|
|
- <view v-if='orderDetail.coupon_discount_price > 0' class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>优惠券抵扣</view>
|
|
|
- <view class='box-grow-0'>-¥{{ orderDetail.coupon_discount_price }}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 插件额外优惠 -->
|
|
|
- <view v-if="orderDetail.plugin_data && orderDetail.plugin_data.discount_list && sign !== 'advance'">
|
|
|
- <view v-for='item in orderDetail.plugin_data.discount_list' :key="item.id"
|
|
|
- class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>{{ item.label }}</view>
|
|
|
- <view class='box-grow-0' v-if="item.value > 0">-¥{{ item.value }}</view>
|
|
|
- <view class='box-grow-0' v-if="item.value < 0">+¥{{ -item.value }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.full_reduce_price > 0 && sign !== 'advance'" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>满减优惠</view>
|
|
|
- <view class='box-grow-0'>-¥{{orderDetail.full_reduce_price}}</view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.back_price > 0" class='dir-left-nowrap item'>
|
|
|
- <view class='box-grow-1'>订单改价</view>
|
|
|
- <view class='box-grow-0' v-if="orderDetail.back_price > 0">-¥{{ orderDetail.back_price }}</view>
|
|
|
- <view class='box-grow-0' v-if="orderDetail.back_price < 0">+¥{{ -orderDetail.back_price }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-if="orderDetail.remark && orderDetail.goods_type === 'goods'" class='dir-top-nowrap item'>
|
|
|
- <view class='box-grow-1'>买家留言:</view>
|
|
|
- <view style="word-break: break-all" class='box-grow-0 t-extra-small-color'>{{
|
|
|
+ <text class='box-grow-0'
|
|
|
+ style="font-size: 28rpx;">¥{{ orderDetail.total_pay_price }}</text>
|
|
|
+ </span>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- ----------------退款状态--------- -->
|
|
|
+ <view v-if="orderDetail.words!=''">
|
|
|
+ <view class='order-label'>退款进度</view>
|
|
|
+ <view class='order-list dir-top-nowrap'>
|
|
|
+ <view v-if="orderDetail.status_text==='待发货'" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-0'>拒绝原因:</view>
|
|
|
+ <view class='box-grow-1 becu'>{{ orderDetail.words }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-else class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-0'>退款进度:</view>
|
|
|
+ <view class='box-grow-1 becu'>{{ orderDetail.words }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!------------商品信息------------------>
|
|
|
+ <view class="order-label">商品信息</view>
|
|
|
+ <view class='preferential-box dir-top-wrap' v-if="orderDetail.sign !== 'advance'">
|
|
|
+ <view v-if="orderDetail.plugin_data.exchange_count == null" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>商品总价</view>
|
|
|
+ <view class='box-grow-0'>¥{{ orderDetail.total_goods_original_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.plugin_data.exchange_count" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>兑换{{ orderDetail.plugin_data.price_name }}</view>
|
|
|
+ <view class='box-grow-0'>{{ orderDetail.plugin_data.exchange_count }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.plugin_data.exchange_count >= 0" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>兑换金额</view>
|
|
|
+ <view class='box-grow-0'>¥{{ orderDetail.total_goods_original_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view class='dir-left-nowrap item' v-if="orderDetail.sign !== 'advance' && orderDetail.goods_type === 'goods'">
|
|
|
+ <view class='box-grow-1'>运费</view>
|
|
|
+ <view class='box-grow-0'>¥{{ orderDetail.express_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view class='dir-left-nowrap item'
|
|
|
+ v-if="orderDetail.total_sku_tax_amount*1 > 0">
|
|
|
+ <view class='box-grow-1'>综合税费</view>
|
|
|
+ <view class='box-grow-0'>¥{{ orderDetail.total_sku_tax_amount }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.member_deduction_price_count > 0 && sign !== 'advance'"
|
|
|
+ class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>会员折扣</view>
|
|
|
+ <view class='box-grow-0'>-¥{{ orderDetail.member_deduction_price_count }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if='orderDetail.integral_deduction_price > 0' class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>积分抵扣</view>
|
|
|
+ <view class='box-grow-0'>-¥{{ orderDetail.integral_deduction_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if='orderDetail.coupon_discount_price > 0' class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>优惠券抵扣</view>
|
|
|
+ <view class='box-grow-0'>-¥{{ orderDetail.coupon_discount_price }}</view>
|
|
|
+ </view>
|
|
|
+ <!-- 插件额外优惠 -->
|
|
|
+ <view v-if="orderDetail.plugin_data && orderDetail.plugin_data.discount_list && sign !== 'advance'">
|
|
|
+ <view v-for='item in orderDetail.plugin_data.discount_list' :key="item.id"
|
|
|
+ class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>{{ item.label }}</view>
|
|
|
+ <view class='box-grow-0' v-if="item.value > 0">-¥{{ item.value }}</view>
|
|
|
+ <view class='box-grow-0' v-if="item.value < 0">+¥{{ -item.value }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.full_reduce_price > 0 && sign !== 'advance'" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>满减优惠</view>
|
|
|
+ <view class='box-grow-0'>-¥{{orderDetail.full_reduce_price}}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.back_price > 0" class='dir-left-nowrap item'>
|
|
|
+ <view class='box-grow-1'>订单改价</view>
|
|
|
+ <view class='box-grow-0' v-if="orderDetail.back_price > 0">-¥{{ orderDetail.back_price }}</view>
|
|
|
+ <view class='box-grow-0' v-if="orderDetail.back_price < 0">+¥{{ -orderDetail.back_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="orderDetail.remark && orderDetail.goods_type === 'goods'" class='dir-top-nowrap item'>
|
|
|
+ <view class='box-grow-1'>买家留言:</view>
|
|
|
+ <view style="word-break: break-all" class='box-grow-0 t-extra-small-color'>{{
|
|
|
orderDetail.remark
|
|
|
}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class='order-price-box cross-center dir-right-nowrap' v-if="orderDetail.sign !== 'advance'">
|
|
|
- <view>
|
|
|
- 合计:
|
|
|
- <span>
|
|
|
- <text v-if="orderDetail.plugin_data.exchange_count" class='price'>{{
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class='order-price-box cross-center dir-right-nowrap' v-if="orderDetail.sign !== 'advance'">
|
|
|
+ <view>
|
|
|
+ 合计:
|
|
|
+ <span>
|
|
|
+ <text v-if="orderDetail.plugin_data.exchange_count"
|
|
|
+ class='price'>{{
|
|
|
orderDetail.plugin_data.exchange_count
|
|
|
}}{{ orderDetail.plugin_data.price_name }}+</text>
|
|
|
- <text class='price'>¥{{ orderDetail.total_pay_price }}</text>
|
|
|
- </span>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!--------------商品信息 end 商品列表---------------->
|
|
|
- <view v-if="orderDetail.platform" class="order-label"
|
|
|
- style="font-weight: normal;border-top: 1rpx solid #E2E2E2;padding: 30rpx 24rpx">
|
|
|
- {{ orderDetail.platform }}
|
|
|
- </view>
|
|
|
- <view class='goods-box composition' v-if="sign == 'composition'">
|
|
|
- <view class="composition-item" v-for='(list, idx) in orderDetail.composition_list' :key='idx'>
|
|
|
- <view class="main-between composition-title">
|
|
|
- <view class="composition-type" v-if="list.type == 1">固定套餐</view>
|
|
|
- <view class="composition-type" v-else>搭配套餐</view>
|
|
|
- <view>套餐总价 ¥{{ list.total_price }}</view>
|
|
|
- </view>
|
|
|
- <view class="goods-list" v-for='(item, index) in list.goods_list' :key='index'>
|
|
|
- <app-order-goods-info :plugin="list.type == 2 ?sign : ''" v-if="list.show || index == 0"
|
|
|
- :type="2" style="width:100%;" :goods='item' :plugin-data="orderDetail.plugin_data"
|
|
|
- :plugin-index="index"></app-order-goods-info>
|
|
|
- <block v-if='orderDetail.is_send == 1 && (list.show || index == 0)'>
|
|
|
- <view class='dir-left-nowrap sale-box'>
|
|
|
- <view class='box-grow-1'></view>
|
|
|
- <view class='box-grow-0 dir-top-nowrap'>
|
|
|
- <!-- 无售后记录 且 未超过售后时间 才可申请售后 -->
|
|
|
- <block
|
|
|
- v-if="orderDetail.detail[index].is_show_apply_refund && orderDetail.goods_type !== 'ecard'">
|
|
|
- <app-jump-button
|
|
|
- :url="`/pages/order/refund/select-refund-type?id=${orderDetail.detail[index].id}&sign=${orderDetail.sign}`">
|
|
|
- <view size='mini' class='sale-server detail-btn'>申请售后</view>
|
|
|
- </app-jump-button>
|
|
|
- </block>
|
|
|
- <block v-else-if="orderDetail.detail[index].refund">
|
|
|
- <text class='refund-status'>
|
|
|
- 已申请售后({{ orderDetail.detail[index].refund.status_text }})
|
|
|
- </text>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- <view class="composition-open main-center">
|
|
|
- <view @click="toggle(idx)" class="composition-btn">
|
|
|
- <text>{{ list.show ? '点击收起套餐详情' : '点击展开套餐详情' }}</text>
|
|
|
- <image v-if="!list.show" src="/static/image/icon/icon-down.png"></image>
|
|
|
- <image v-else src="/static/image/icon/icon-up.png"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class='goods-box' v-else>
|
|
|
- <view v-for='(item, index) in orderDetail.detail' :key='index'>
|
|
|
- <app-jump-button :url="item.goods_info.page_url">
|
|
|
- <app-order-goods-info style="width:100%;" :goods='item.goods_info' :type="2"
|
|
|
- :plugin-data="orderDetail.plugin_data" :plugin-index="index"></app-order-goods-info>
|
|
|
- </app-jump-button>
|
|
|
- <block v-if='orderDetail.is_send == 1'>
|
|
|
- <view class='dir-left-nowrap sale-box'>
|
|
|
- <view class='box-grow-1'></view>
|
|
|
- <view class='box-grow-0 dir-top-nowrap'>
|
|
|
- <!-- 无售后记录 且 未超过售后时间 才可申请售后 -->
|
|
|
- <block v-if="item.is_show_apply_refund && orderDetail.goods_type !== 'ecard'">
|
|
|
- <app-jump-button
|
|
|
- :url="`/pages/order/refund/select-refund-type?id=${item.id}&sign=${orderDetail.sign}`">
|
|
|
- <view size='mini' class='sale-server detail-btn'>申请售后</view>
|
|
|
- </app-jump-button>
|
|
|
- </block>
|
|
|
- <block v-else-if="item.refund">
|
|
|
- <text class='refund-status'>已申请售后({{ item.refund.status_text }})</text>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- -----------其他信息--------------- -->
|
|
|
- <block
|
|
|
- v-if="(orderDetail.sign === 'booking' || orderDetail.sign === 'vip_card') && orderDetail.order_form && orderDetail.order_form.length ">
|
|
|
- <view class="order-label">其他信息</view>
|
|
|
- <view class="order-form order-list">
|
|
|
- <view v-for="(formItem, k) in orderDetail.order_form" :key="k" class="order-form-box">
|
|
|
- <view v-if="formItem.key === 'img_upload'" class="dir-top-nowrap">
|
|
|
- <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
- <view class="dir-left-wrap">
|
|
|
- <block v-if="Array.isArray(formItem.value)">
|
|
|
- <image v-for="(img, l) in formItem.value" :key="l" v-if="img" @click="look(img)"
|
|
|
- :src="img" style="margin-right:16rpx;margin-bottom:16rpx"></image>
|
|
|
- </block>
|
|
|
- <image v-else-if="formItem.value" @click="look(formItem.value)"
|
|
|
- :src="formItem.value"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-else class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">{{ formItem.label ? formItem.label : formItem.key_name }}:
|
|
|
- </view>
|
|
|
- <view class="box-grow-1 text">{{ formItem.value ? formItem.value : '' }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- <block v-else-if="orderDetail.sign !== 'teller' && formList && formList.length">
|
|
|
- <view class="order-label">其他信息</view>
|
|
|
- <view v-for="(formAll, i) in formList" :key="i" class="order-form order-list">
|
|
|
- <app-order-goods-info v-if="isShowFormGoods" v-for="(goods,j) in formAll" :key="j"
|
|
|
- style="width:100%;" :goods='goods.goods_info' :plugin-data="orderDetail.plugin_data"
|
|
|
- :plugin-index="i"></app-order-goods-info>
|
|
|
- <view v-for="(formItem, k) in formAll[0]['form_data']" :key="k" class="order-form-box">
|
|
|
- <view v-if="formItem.key === 'img_upload'" class="dir-top-nowrap">
|
|
|
- <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
- <view class="dir-left-wrap">
|
|
|
- <block v-if="Array.isArray(formItem.value)">
|
|
|
- <image v-for="(img, l) in formItem.value" :key="l" v-if="img" @click="look(img)"
|
|
|
- :src="img" style="margin-right:16rpx;margin-bottom:16rpx"></image>
|
|
|
- </block>
|
|
|
- <image v-else-if="formItem.value" @click="look(formItem.value)"
|
|
|
- :src="formItem.value"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-else class="dir-left-nowrap">
|
|
|
- <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
- <view class="box-grow-1 text">{{ formItem.value ? formItem.value : '' }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- <block v-if="(orderDetail.is_pay == 1 || orderDetail.pay_type == 2)
|
|
|
+ <text class='price'>¥{{ orderDetail.total_pay_price }}</text>
|
|
|
+ </span>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!--------------商品信息 end 商品列表---------------->
|
|
|
+ <view v-if="orderDetail.platform" class="order-label"
|
|
|
+ style="font-weight: normal;border-top: 1rpx solid #E2E2E2;padding: 30rpx 24rpx">
|
|
|
+ {{ orderDetail.platform }}
|
|
|
+ </view>
|
|
|
+ <view class='goods-box composition' v-if="sign == 'composition'">
|
|
|
+ <view class="composition-item" v-for='(list, idx) in orderDetail.composition_list' :key='idx'>
|
|
|
+ <view class="main-between composition-title">
|
|
|
+ <view class="composition-type" v-if="list.type == 1">固定套餐</view>
|
|
|
+ <view class="composition-type" v-else>搭配套餐</view>
|
|
|
+ <view>套餐总价 ¥{{ list.total_price }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="goods-list" v-for='(item, index) in list.goods_list' :key='index'>
|
|
|
+ <app-order-goods-info :plugin="list.type == 2 ?sign : ''" v-if="list.show || index == 0"
|
|
|
+ :type="2"
|
|
|
+ style="width:100%;" :goods='item'
|
|
|
+ :plugin-data="orderDetail.plugin_data"
|
|
|
+ :plugin-index="index"></app-order-goods-info>
|
|
|
+ <block v-if='orderDetail.is_send == 1 && (list.show || index == 0)'>
|
|
|
+ <view class='dir-left-nowrap sale-box'>
|
|
|
+ <view class='box-grow-1'></view>
|
|
|
+ <view class='box-grow-0 dir-top-nowrap'>
|
|
|
+ <!-- 无售后记录 且 未超过售后时间 才可申请售后 -->
|
|
|
+ <block
|
|
|
+ v-if="orderDetail.detail[index].is_show_apply_refund && orderDetail.goods_type !== 'ecard'">
|
|
|
+ <app-jump-button
|
|
|
+ :url="`/pages/order/refund/select-refund-type?id=${orderDetail.detail[index].id}&sign=${orderDetail.sign}`">
|
|
|
+ <view size='mini' class='sale-server detail-btn'>申请售后</view>
|
|
|
+ </app-jump-button>
|
|
|
+ </block>
|
|
|
+ <block v-else-if="orderDetail.detail[index].refund">
|
|
|
+ <text class='refund-status'>
|
|
|
+ 已申请售后({{ orderDetail.detail[index].refund.status_text }})
|
|
|
+ </text>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ <view class="composition-open main-center">
|
|
|
+ <view @click="toggle(idx)" class="composition-btn">
|
|
|
+ <text>{{ list.show ? '点击收起套餐详情' : '点击展开套餐详情' }}</text>
|
|
|
+ <image v-if="!list.show" src="/static/image/icon/icon-down.png"></image>
|
|
|
+ <image v-else src="/static/image/icon/icon-up.png"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class='goods-box' v-else>
|
|
|
+ <view v-for='(item, index) in orderDetail.detail' :key='index'>
|
|
|
+ <app-jump-button :url="item.goods_info.page_url">
|
|
|
+ <app-order-goods-info style="width:100%;" :goods='item.goods_info'
|
|
|
+ :type="2"
|
|
|
+ :plugin-data="orderDetail.plugin_data"
|
|
|
+ :plugin-index="index"></app-order-goods-info>
|
|
|
+ </app-jump-button>
|
|
|
+ <block v-if='orderDetail.is_send == 1'>
|
|
|
+ <view class='dir-left-nowrap sale-box'>
|
|
|
+ <view class='box-grow-1'></view>
|
|
|
+ <view class='box-grow-0 dir-top-nowrap'>
|
|
|
+ <!-- 无售后记录 且 未超过售后时间 才可申请售后 -->
|
|
|
+ <block v-if="item.is_show_apply_refund && orderDetail.goods_type !== 'ecard'">
|
|
|
+ <app-jump-button
|
|
|
+ :url="`/pages/order/refund/select-refund-type?id=${item.id}&sign=${orderDetail.sign}`">
|
|
|
+ <view size='mini' class='sale-server detail-btn'>申请售后</view>
|
|
|
+ </app-jump-button>
|
|
|
+ </block>
|
|
|
+ <block v-else-if="item.refund">
|
|
|
+ <text class='refund-status'>已申请售后({{ item.refund.status_text }})</text>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-------------其他信息----------------->
|
|
|
+ <block v-if="(orderDetail.sign === 'booking' || orderDetail.sign === 'vip_card') && orderDetail.order_form && orderDetail.order_form.length ">
|
|
|
+ <view class="order-label">其他信息</view>
|
|
|
+ <view class="order-form order-list">
|
|
|
+ <view v-for="(formItem, k) in orderDetail.order_form" :key="k" class="order-form-box">
|
|
|
+ <view v-if="formItem.key === 'img_upload'" class="dir-top-nowrap">
|
|
|
+ <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
+ <view class="dir-left-wrap">
|
|
|
+ <block v-if="Array.isArray(formItem.value)">
|
|
|
+ <image v-for="(img, l) in formItem.value"
|
|
|
+ :key="l"
|
|
|
+ v-if="img"
|
|
|
+ @click="look(img)"
|
|
|
+ :src="img"
|
|
|
+ style="margin-right:16rpx;margin-bottom:16rpx"
|
|
|
+ ></image>
|
|
|
+ </block>
|
|
|
+ <image v-else-if="formItem.value"
|
|
|
+ @click="look(formItem.value)"
|
|
|
+ :src="formItem.value"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-else class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">{{ formItem.label ? formItem.label : formItem.key_name }}:</view>
|
|
|
+ <view class="box-grow-1 text">{{ formItem.value ? formItem.value : '' }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else-if="orderDetail.sign !== 'teller' && formList && formList.length">
|
|
|
+ <view class="order-label">其他信息</view>
|
|
|
+ <view v-for="(formAll, i) in formList" :key="i" class="order-form order-list">
|
|
|
+ <app-order-goods-info v-if="isShowFormGoods"
|
|
|
+ v-for="(goods,j) in formAll"
|
|
|
+ :key="j"
|
|
|
+ style="width:100%;"
|
|
|
+ :goods='goods.goods_info'
|
|
|
+ :plugin-data="orderDetail.plugin_data"
|
|
|
+ :plugin-index="i"
|
|
|
+ ></app-order-goods-info>
|
|
|
+ <view v-for="(formItem, k) in formAll[0]['form_data']" :key="k" class="order-form-box">
|
|
|
+ <view v-if="formItem.key === 'img_upload'" class="dir-top-nowrap">
|
|
|
+ <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
+ <view class="dir-left-wrap">
|
|
|
+ <block v-if="Array.isArray(formItem.value)">
|
|
|
+ <image v-for="(img, l) in formItem.value"
|
|
|
+ :key="l"
|
|
|
+ v-if="img"
|
|
|
+ @click="look(img)"
|
|
|
+ :src="img"
|
|
|
+ style="margin-right:16rpx;margin-bottom:16rpx"
|
|
|
+ ></image>
|
|
|
+ </block>
|
|
|
+ <image v-else-if="formItem.value"
|
|
|
+ @click="look(formItem.value)"
|
|
|
+ :src="formItem.value"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-else class="dir-left-nowrap">
|
|
|
+ <view class="box-grow-0">{{ formItem.label }}:</view>
|
|
|
+ <view class="box-grow-1 text">{{ formItem.value ? formItem.value : '' }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-if="(orderDetail.is_pay == 1 || orderDetail.pay_type == 2)
|
|
|
&& orderDetail.is_send == 0
|
|
|
&& orderDetail.status == 1
|
|
|
&& orderDetail.detailExpressRelation.length == 0
|
|
|
&& orderDetail.cancel_status != 1">
|
|
|
- <view v-if="orderDetail.sign !='gift'" class='action-box dir-left-nowrap main-right'>
|
|
|
- <view @click='cancel(orderDetail)' class='box-grow-0 btn'>申请退款</view>
|
|
|
- </view>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </app-layout>
|
|
|
+ <view v-if="orderDetail.sign !='gift'" class='action-box dir-left-nowrap main-right'>
|
|
|
+ <view @click='cancel(orderDetail)' class='box-grow-0 btn'>申请退款</view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </app-layout>
|
|
|
</template>
|
|
|
<script>
|
|
|
- import appOrderGoodsInfo from "../../../components/page-component/app-order-goods-info/app-order-goods-info.vue";
|
|
|
- import appOrderExpress from "../../../components/page-component/app-order-express/app-order-express.vue";
|
|
|
- import appOrderBanner from "../../../components/page-component/app-order-banner/app-order-banner.vue";
|
|
|
-
|
|
|
- export default {
|
|
|
- components: {
|
|
|
- "app-order-goods-info": appOrderGoodsInfo,
|
|
|
- "app-order-express": appOrderExpress,
|
|
|
- "app-order-banner": appOrderBanner,
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- order_id: null,
|
|
|
- orderDetail: {
|
|
|
- detailExpressRelation: [],
|
|
|
- detailExpress: [],
|
|
|
- },
|
|
|
- is_show: false,
|
|
|
- advance_order: {
|
|
|
- goods_num: 0
|
|
|
- },
|
|
|
- detail: [],
|
|
|
- sign: '',
|
|
|
- ecard: [],
|
|
|
- isShowFormGoods: false,
|
|
|
- }
|
|
|
- },
|
|
|
- computed: {
|
|
|
- formList() {
|
|
|
- const self = this;
|
|
|
- let orderDetail = self.orderDetail.detail;
|
|
|
- let newArr = {};
|
|
|
- let form_ids = [];
|
|
|
-
|
|
|
- if (orderDetail && orderDetail.length) {
|
|
|
- for (let goods of orderDetail) {
|
|
|
- if (goods.form_id == '0') {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (form_ids.indexOf(goods.form_id) === -1) {
|
|
|
- form_ids.push(goods.form_id);
|
|
|
- newArr[goods.form_id] = [goods];
|
|
|
- } else {
|
|
|
- newArr[goods.form_id].push(goods);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- self.isShowFormGoods = form_ids.length > 1;
|
|
|
- return Object.values(newArr);
|
|
|
- },
|
|
|
- getPageUrl() {
|
|
|
- let orderDetail = this.orderDetail;
|
|
|
- if (orderDetail.is_send == 1 && orderDetail.detailExpress.length == 0) {
|
|
|
- let coverPic = '';
|
|
|
- orderDetail.detail.forEach(function(item, index) {
|
|
|
- if (index === 0) {
|
|
|
- coverPic = item.goods_info.pic_url;
|
|
|
- }
|
|
|
- });
|
|
|
- return `/pages/order/express-detail/express-detail?express=${orderDetail.express}&customer_name=${orderDetail.customer_name}&express_no=${orderDetail.express_no}&cover_pic=${coverPic}`
|
|
|
- } else if (orderDetail.is_send == 1 && orderDetail.detailExpress.length == 1) {
|
|
|
- let express = orderDetail.detailExpress[0].express;
|
|
|
- let express_no = orderDetail.detailExpress[0].express_no;
|
|
|
- let customer_name = orderDetail.detailExpress[0].customer_name;
|
|
|
- let cover_pic = orderDetail.detailExpress[0].expressRelation[0].orderDetail.goods_info.goods_attr
|
|
|
- .cover_pic;
|
|
|
- return `/pages/order/express-detail/express-detail?express=` + express + `&customer_name=` +
|
|
|
- customer_name + `&express_no=` + express_no + `&cover_pic=` + cover_pic
|
|
|
- } else if (orderDetail.detailExpress.length >= 1) {
|
|
|
- return '/pages/order/express-list/express-list?order_id=' + orderDetail.id;
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- look(e) {
|
|
|
- uni.previewImage({
|
|
|
- current: e, // 当前显示图片的http链接
|
|
|
- urls: [e] // 需要预览的图片http链接列表
|
|
|
- })
|
|
|
- },
|
|
|
- toggle(index) {
|
|
|
- this.orderDetail.composition_list[index].show = !this.orderDetail.composition_list[index].show;
|
|
|
- this.$forceUpdate();
|
|
|
- },
|
|
|
- getOrderDetail() {
|
|
|
- let self = this;
|
|
|
- self.$showLoading();
|
|
|
- self.$request({
|
|
|
- url: self.$api.order.detail,
|
|
|
- data: {
|
|
|
- id: self.order_id,
|
|
|
- }
|
|
|
- }).then(response => {
|
|
|
- self.$hideLoading();
|
|
|
- self.is_show = true;
|
|
|
- if (response.code == 0) {
|
|
|
- self.orderDetail = response.data.detail;
|
|
|
- self.ecard = [self.orderDetail.type_data.ecard[0]];
|
|
|
- if (self.sign == 'composition') {
|
|
|
- for (let i in self.orderDetail.composition_list) {
|
|
|
- self.orderDetail.composition_list[i].show = false;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- uni.showModal({
|
|
|
- title: '',
|
|
|
- content: response.msg,
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
- }
|
|
|
- }).catch(() => {
|
|
|
- self.$hideLoading();
|
|
|
- });
|
|
|
- },
|
|
|
- copyText(orderNo) {
|
|
|
- this.$utils.uniCopy({
|
|
|
- data: orderNo,
|
|
|
- success: function() {
|
|
|
- uni.showToast({
|
|
|
- title: '复制成功',
|
|
|
- icon: 'none',
|
|
|
- })
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- copyTextEcard(item) {
|
|
|
- let str = ``;
|
|
|
- for (let i = 0; i < item.length; i++) {
|
|
|
- str += `${item[i].key}:${item[i].value}\n`
|
|
|
- }
|
|
|
- this.$utils.uniCopy({
|
|
|
- data: str,
|
|
|
- success: function() {
|
|
|
- uni.showToast({
|
|
|
- title: '复制成功',
|
|
|
- icon: 'none',
|
|
|
- })
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- navigation(store) {
|
|
|
- uni.openLocation({
|
|
|
- latitude: parseFloat(store.latitude),
|
|
|
- longitude: parseFloat(store.longitude),
|
|
|
- name: store.name,
|
|
|
- address: store.address,
|
|
|
- })
|
|
|
- },
|
|
|
- // 取消 | 申请退款
|
|
|
- cancel(e) {
|
|
|
- let self = this;
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/order/refund/order-refund?id=' + e.id
|
|
|
- });
|
|
|
- },
|
|
|
- cancelAction(e) {
|
|
|
- let self = this;
|
|
|
- uni.showLoading({
|
|
|
- title: '取消中'
|
|
|
- });
|
|
|
- self.$request({
|
|
|
- url: self.$api.order.cancel,
|
|
|
- data: {
|
|
|
- id: e.id
|
|
|
- }
|
|
|
- }).then(response => {
|
|
|
- uni.hideLoading();
|
|
|
- if (response.code === 0) {
|
|
|
- if (self.sign === 'advance') {
|
|
|
- self.$request({
|
|
|
- url: self.$api.advance.order_detail,
|
|
|
- method: 'get',
|
|
|
- data: {
|
|
|
- id: self.order_id,
|
|
|
- }
|
|
|
- }).then(response => {
|
|
|
- self.is_show = true;
|
|
|
- if (response.code === 0) {
|
|
|
- self.orderDetail = response.data.detail;
|
|
|
- } else {
|
|
|
- uni.showModal({
|
|
|
- title: '',
|
|
|
- content: response.msg,
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- self.getOrderDetail();
|
|
|
- }
|
|
|
- } else {
|
|
|
- uni.showModal({
|
|
|
- title: '',
|
|
|
- content: response.msg,
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
- }
|
|
|
- }).catch(() => {
|
|
|
- uni.hideLoading();
|
|
|
- });
|
|
|
- },
|
|
|
- mobile: function() {
|
|
|
- uni.makePhoneCall({
|
|
|
- phoneNumber: this.orderDetail.city.mobile,
|
|
|
- })
|
|
|
- },
|
|
|
- // 电子卡密使用说明
|
|
|
- go_eCard() {
|
|
|
- uni.navigateTo({
|
|
|
- url: `/pages/rules/index?url=${encodeURIComponent(this.$api.ecard.index)}&key=content&data=${JSON.stringify({
|
|
|
+import appOrderGoodsInfo from "../../../components/page-component/app-order-goods-info/app-order-goods-info.vue";
|
|
|
+import appOrderExpress from "../../../components/page-component/app-order-express/app-order-express.vue";
|
|
|
+import appOrderBanner from "../../../components/page-component/app-order-banner/app-order-banner.vue";
|
|
|
+
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ "app-order-goods-info": appOrderGoodsInfo,
|
|
|
+ "app-order-express": appOrderExpress,
|
|
|
+ "app-order-banner": appOrderBanner,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ order_id: null,
|
|
|
+ orderDetail: {
|
|
|
+ detailExpressRelation: [],
|
|
|
+ detailExpress: [],
|
|
|
+ },
|
|
|
+ is_show: false,
|
|
|
+ advance_order: {
|
|
|
+ goods_num: 0
|
|
|
+ },
|
|
|
+ detail: [],
|
|
|
+ sign: '',
|
|
|
+ ecard: [],
|
|
|
+ isShowFormGoods: false,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ formList() {
|
|
|
+ const self = this;
|
|
|
+ let orderDetail = self.orderDetail.detail;
|
|
|
+ let newArr = {};
|
|
|
+ let form_ids = [];
|
|
|
+
|
|
|
+ if (orderDetail && orderDetail.length) {
|
|
|
+ for (let goods of orderDetail) {
|
|
|
+ if (goods.form_id == '0') {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (form_ids.indexOf(goods.form_id) === -1) {
|
|
|
+ form_ids.push(goods.form_id);
|
|
|
+ newArr[goods.form_id] = [goods];
|
|
|
+ } else {
|
|
|
+ newArr[goods.form_id].push(goods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ self.isShowFormGoods = form_ids.length > 1;
|
|
|
+ return Object.values(newArr);
|
|
|
+ },
|
|
|
+ getPageUrl() {
|
|
|
+ let orderDetail = this.orderDetail;
|
|
|
+ if (orderDetail.is_send == 1 && orderDetail.detailExpress.length == 0) {
|
|
|
+ let coverPic = '';
|
|
|
+ orderDetail.detail.forEach(function (item, index) {
|
|
|
+ if (index === 0) {
|
|
|
+ coverPic = item.goods_info.pic_url;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return `/pages/order/express-detail/express-detail?express=${orderDetail.express}&customer_name=${orderDetail.customer_name}&express_no=${orderDetail.express_no}&cover_pic=${coverPic}`
|
|
|
+ } else if (orderDetail.is_send == 1 && orderDetail.detailExpress.length == 1) {
|
|
|
+ let express = orderDetail.detailExpress[0].express;
|
|
|
+ let express_no = orderDetail.detailExpress[0].express_no;
|
|
|
+ let customer_name = orderDetail.detailExpress[0].customer_name;
|
|
|
+ let cover_pic = orderDetail.detailExpress[0].expressRelation[0].orderDetail.goods_info.goods_attr.cover_pic;
|
|
|
+ return `/pages/order/express-detail/express-detail?express=` + express + `&customer_name=` + customer_name + `&express_no=` + express_no + `&cover_pic=` + cover_pic
|
|
|
+ } else if (orderDetail.detailExpress.length >= 1) {
|
|
|
+ return '/pages/order/express-list/express-list?order_id=' + orderDetail.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ look(e) {
|
|
|
+ uni.previewImage({
|
|
|
+ current: e, // 当前显示图片的http链接
|
|
|
+ urls: [e] // 需要预览的图片http链接列表
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toggle(index) {
|
|
|
+ this.orderDetail.composition_list[index].show = !this.orderDetail.composition_list[index].show;
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
+ getOrderDetail() {
|
|
|
+ let self = this;
|
|
|
+ self.$showLoading();
|
|
|
+ self.$request({
|
|
|
+ url: self.$api.order.detail,
|
|
|
+ data: {
|
|
|
+ id: self.order_id,
|
|
|
+ }
|
|
|
+ }).then(response => {
|
|
|
+ self.$hideLoading();
|
|
|
+ self.is_show = true;
|
|
|
+ if (response.code == 0) {
|
|
|
+ self.orderDetail = response.data.detail;
|
|
|
+ self.ecard = [self.orderDetail.type_data.ecard[0]];
|
|
|
+ if (self.sign == 'composition') {
|
|
|
+ for (let i in self.orderDetail.composition_list) {
|
|
|
+ self.orderDetail.composition_list[i].show = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showModal({
|
|
|
+ title: '',
|
|
|
+ content: response.msg,
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ self.$hideLoading();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ copyText(orderNo) {
|
|
|
+ this.$utils.uniCopy({
|
|
|
+ data: orderNo,
|
|
|
+ success: function () {
|
|
|
+ uni.showToast({
|
|
|
+ title: '复制成功',
|
|
|
+ icon: 'none',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ copyTextEcard(item) {
|
|
|
+ let str = ``;
|
|
|
+ for (let i = 0; i < item.length; i++) {
|
|
|
+ str += `${item[i].key}:${item[i].value}\n`
|
|
|
+ }
|
|
|
+ this.$utils.uniCopy({
|
|
|
+ data: str,
|
|
|
+ success: function () {
|
|
|
+ uni.showToast({
|
|
|
+ title: '复制成功',
|
|
|
+ icon: 'none',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ navigation(store) {
|
|
|
+ uni.openLocation({
|
|
|
+ latitude: parseFloat(store.latitude),
|
|
|
+ longitude: parseFloat(store.longitude),
|
|
|
+ name: store.name,
|
|
|
+ address: store.address,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 取消 | 申请退款
|
|
|
+ cancel(e) {
|
|
|
+ let self = this;
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/order/refund/order-refund?id=' + e.id
|
|
|
+ });
|
|
|
+ },
|
|
|
+ cancelAction(e) {
|
|
|
+ let self = this;
|
|
|
+ uni.showLoading({title: '取消中'});
|
|
|
+ self.$request({
|
|
|
+ url: self.$api.order.cancel,
|
|
|
+ data: {
|
|
|
+ id: e.id
|
|
|
+ }
|
|
|
+ }).then(response => {
|
|
|
+ uni.hideLoading();
|
|
|
+ if (response.code === 0) {
|
|
|
+ if (self.sign === 'advance') {
|
|
|
+ self.$request({
|
|
|
+ url: self.$api.advance.order_detail,
|
|
|
+ method: 'get',
|
|
|
+ data: {
|
|
|
+ id: self.order_id,
|
|
|
+ }
|
|
|
+ }).then(response => {
|
|
|
+ self.is_show = true;
|
|
|
+ if (response.code === 0) {
|
|
|
+ self.orderDetail = response.data.detail;
|
|
|
+ } else {
|
|
|
+ uni.showModal({
|
|
|
+ title: '',
|
|
|
+ content: response.msg,
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ self.getOrderDetail();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showModal({
|
|
|
+ title: '',
|
|
|
+ content: response.msg,
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ uni.hideLoading();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ mobile: function () {
|
|
|
+ uni.makePhoneCall({
|
|
|
+ phoneNumber: this.orderDetail.city.mobile,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 电子卡密使用说明
|
|
|
+ go_eCard() {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/rules/index?url=${encodeURIComponent(this.$api.ecard.index)}&key=content&data=${JSON.stringify({
|
|
|
order_id: this.orderDetail.id
|
|
|
})}`,
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- onLoad(options) {
|
|
|
- this.$commonLoad.onload(options);
|
|
|
- this.order_id = options.id;
|
|
|
- this.sign = options.sign;
|
|
|
- },
|
|
|
- onShow() {
|
|
|
- let self = this;
|
|
|
- let interval = setInterval(function() {
|
|
|
- if (self.sign === 'advance') {
|
|
|
- self.$request({
|
|
|
- url: self.$api.advance.order_detail,
|
|
|
- method: 'get',
|
|
|
- data: {
|
|
|
- id: self.order_id,
|
|
|
- }
|
|
|
- }).then(response => {
|
|
|
- self.is_show = true;
|
|
|
- if (response.code === 0) {
|
|
|
- self.orderDetail = response.data.detail;
|
|
|
- } else {
|
|
|
- uni.showModal({
|
|
|
- title: '',
|
|
|
- content: response.msg,
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- self.getOrderDetail();
|
|
|
- }
|
|
|
- clearInterval(interval);
|
|
|
- }, 300);
|
|
|
- }
|
|
|
- }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad(options) { this.$commonLoad.onload(options);
|
|
|
+ this.order_id = options.id;
|
|
|
+ this.sign = options.sign;
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ let self = this;
|
|
|
+ let interval = setInterval(function () {
|
|
|
+ if (self.sign === 'advance') {
|
|
|
+ self.$request({
|
|
|
+ url: self.$api.advance.order_detail,
|
|
|
+ method: 'get',
|
|
|
+ data: {
|
|
|
+ id: self.order_id,
|
|
|
+ }
|
|
|
+ }).then(response => {
|
|
|
+ self.is_show = true;
|
|
|
+ if (response.code === 0) {
|
|
|
+ self.orderDetail = response.data.detail;
|
|
|
+ } else {
|
|
|
+ uni.showModal({
|
|
|
+ title: '',
|
|
|
+ content: response.msg,
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ self.getOrderDetail();
|
|
|
+ }
|
|
|
+ clearInterval(interval);
|
|
|
+ }, 300);
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
- .order-detail-box {
|
|
|
- font-size: $uni-font-size-general-one;
|
|
|
- color: $uni-general-color-one;
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
-
|
|
|
- .order-label {
|
|
|
- padding: #{32rpx} #{24rpx};
|
|
|
- font-size: #{30rpx};
|
|
|
- color: #353535;
|
|
|
- font-weight: bold;
|
|
|
- background: #FFFFFF;
|
|
|
- border-bottom: #{1rpx} solid #e2e2e2;
|
|
|
- }
|
|
|
-
|
|
|
- .goods-image {
|
|
|
- margin-right: #{20rpx};
|
|
|
- margin-bottom: #{20rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .goods-num {
|
|
|
- font-size: #{24rpx};
|
|
|
- color: #999999;
|
|
|
- margin: #{20rpx} 0;
|
|
|
- }
|
|
|
-
|
|
|
- .order-form {
|
|
|
- background: #FFFFFF;
|
|
|
-
|
|
|
- .order-form-box {
|
|
|
- padding: #{5rpx} 0;
|
|
|
-
|
|
|
- span {}
|
|
|
-
|
|
|
- image {
|
|
|
- height: #{174rpx};
|
|
|
- width: #{174rpx};
|
|
|
- display: block;
|
|
|
- margin-top: #{15rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- .order-list {
|
|
|
- background: #FFFFFF;
|
|
|
- padding: #{32rpx} #{24rpx};
|
|
|
- margin-bottom: #{20rpx};
|
|
|
-
|
|
|
- >view {
|
|
|
- margin-bottom: #{10rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .text {
|
|
|
- word-wrap: break-word;
|
|
|
- }
|
|
|
-
|
|
|
- >view:last-child {
|
|
|
- margin-bottom: 0;
|
|
|
- }
|
|
|
-
|
|
|
- .order-list-btn {
|
|
|
- border: 1#{rpx} solid #bbbbbb;
|
|
|
- border-radius: 30#{rpx};
|
|
|
- padding: 10#{rpx} 30#{rpx};
|
|
|
- display: inline-block;
|
|
|
- margin-left: calc(100vw - #{170rpx});
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .order-form:last-child {
|
|
|
- border-bottom: none;
|
|
|
- }
|
|
|
-
|
|
|
- .express-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- margin-bottom: 20#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .address-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- margin-bottom: 20#{rpx};
|
|
|
-
|
|
|
- .address {
|
|
|
- word-wrap: break-word;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .address-box .text {
|
|
|
- margin-top: 10#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .delivery {
|
|
|
- .deliveryman {
|
|
|
- width: #{72rpx};
|
|
|
- height: #{72rpx};
|
|
|
- display: block;
|
|
|
- margin-right: #{24rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .delivery-tips {
|
|
|
- font-size: $uni-font-size-weak-one;
|
|
|
- color: $uni-general-color-two;
|
|
|
- margin-bottom: #{16rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .mr-16 {
|
|
|
- margin-right: #{16rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .delivery-mobile {
|
|
|
- width: #{96rpx};
|
|
|
- border-left: #{1rpx} solid #e2e2e2;
|
|
|
-
|
|
|
- .mobile {
|
|
|
- width: #{40rpx};
|
|
|
- height: #{40rpx};
|
|
|
- display: block;
|
|
|
- margin-right: #{16rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .content {
|
|
|
- width: #{500rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .order-info-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- margin-bottom: 20#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .store-info-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- margin-bottom: 20#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .preferential-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- border-bottom: 1#{rpx} solid $uni-weak-color-one;
|
|
|
- }
|
|
|
-
|
|
|
- .preferential-box .item {
|
|
|
- margin: 5#{rpx} 0;
|
|
|
- }
|
|
|
-
|
|
|
- .order-price-box {
|
|
|
- height: 100#{rpx};
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- //margin-bottom: 20#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .goods-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
- margin-bottom: 20#{rpx};
|
|
|
-
|
|
|
- &.composition {
|
|
|
- padding: 0;
|
|
|
- padding-bottom: #{8rpx};
|
|
|
- margin-bottom: 0;
|
|
|
- background-color: #f7f7f7;
|
|
|
- }
|
|
|
-
|
|
|
- .composition-item {
|
|
|
- margin-bottom: #{20rpx};
|
|
|
- background-color: #fff;
|
|
|
-
|
|
|
- .composition-open {
|
|
|
- text-align: center;
|
|
|
- background-color: #fff;
|
|
|
- height: #{84rpx};
|
|
|
-
|
|
|
- .composition-btn {
|
|
|
- display: inline-block;
|
|
|
- border: #{2rpx} solid #bbbbbb;
|
|
|
- font-size: #{24rpx};
|
|
|
- color: #999999;
|
|
|
- padding: 0 #{24rpx};
|
|
|
- margin: #{12rpx} 0 #{16rpx};
|
|
|
- height: #{56rpx};
|
|
|
- line-height: #{54rpx};
|
|
|
- border-radius: #{28rpx};
|
|
|
-
|
|
|
- image {
|
|
|
- width: #{22rpx};
|
|
|
- height: #{12rpx};
|
|
|
- margin-left: #{16rpx};
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .goods-list {
|
|
|
- padding: 0 #{24rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .composition-title {
|
|
|
- height: #{80rpx};
|
|
|
- line-height: #{80rpx};
|
|
|
- padding: 0 #{24rpx};
|
|
|
- font-size: #{28rpx};
|
|
|
- color: #353535;
|
|
|
- margin-bottom: #{24rpx};
|
|
|
- border-bottom: #{2rpx} solid #e2e2e2;
|
|
|
-
|
|
|
- .composition-type {
|
|
|
- color: #f39800;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .goods-box .sale-server {
|
|
|
- margin-top: 20#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .goods-box .sale-box {
|
|
|
- padding-bottom: 15#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .goods-box .refund-status {
|
|
|
- margin-top: 15#{rpx};
|
|
|
- color: $uni-important-color-black;
|
|
|
- }
|
|
|
-
|
|
|
- .action-box {
|
|
|
- background: #fff;
|
|
|
- padding: 32#{rpx} 24#{rpx};
|
|
|
-
|
|
|
- .cancel-text {
|
|
|
- font-size: $uni-font-size-import-two;
|
|
|
- }
|
|
|
-
|
|
|
- .btn {
|
|
|
- border: 1#{rpx} solid #bbbbbb;
|
|
|
- border-radius: 30#{rpx};
|
|
|
- padding: 10#{rpx} 30#{rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .detail-btn {
|
|
|
- border: 1#{rpx} solid #bbbbbb;
|
|
|
- border-radius: 30#{rpx};
|
|
|
- padding: 10#{rpx} 30#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .e-box {
|
|
|
- width: 100%;
|
|
|
- height: #{100rpx};
|
|
|
- padding: 0 #{24rpx};
|
|
|
- background: #ffffff;
|
|
|
- margin-bottom: #{20rpx};
|
|
|
-
|
|
|
- .img {
|
|
|
- width: 12#{rpx};
|
|
|
- height: 24#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .express-name {
|
|
|
- margin-bottom: 15#{rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .text {
|
|
|
- color: #353535;
|
|
|
- font-size: #{28rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .advance {
|
|
|
- width: #{702rpx};
|
|
|
- border-radius: #{16rpx};
|
|
|
- background-color: #f7f7f7;
|
|
|
- padding: #{32rpx 24rpx};
|
|
|
-
|
|
|
- .title {
|
|
|
- font-size: #{24rpx};
|
|
|
- color: #ff4544;
|
|
|
- margin-bottom: #{15rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .item-box {
|
|
|
- border: #{1rpx} solid #c2c2c2;
|
|
|
- padding: #{24rpx};
|
|
|
- border-radius: #{16rpx};
|
|
|
- width: #{702rpx};
|
|
|
- }
|
|
|
- .becu{
|
|
|
- overflow: hidden;
|
|
|
- white-space: normal;
|
|
|
- }
|
|
|
-
|
|
|
- .ecard {
|
|
|
- background-color: #ffffff;
|
|
|
-
|
|
|
- .item {
|
|
|
- padding: #{32upx 24upx 0 24upx};
|
|
|
-
|
|
|
- .text {
|
|
|
- font-size: #{23upx};
|
|
|
- line-height: 1.5;
|
|
|
- padding-left: #{15upx};
|
|
|
- word-break: break-all;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .expand {
|
|
|
- height: #{70upx};
|
|
|
- margin-top: #{20upx};
|
|
|
- border-top: #{1upx} solid #e2e2e2;
|
|
|
-
|
|
|
- >image {
|
|
|
- width: #{20upx};
|
|
|
- height: #{12upx};
|
|
|
- }
|
|
|
-
|
|
|
- >text {
|
|
|
- font-size: #{23upx};
|
|
|
- color: #919191;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .instructions {
|
|
|
- width: #{12upx};
|
|
|
- height: #{22upx};
|
|
|
- margin-left: #{18upx};
|
|
|
- }
|
|
|
-
|
|
|
- .ecard-info {
|
|
|
- height: #{90upx};
|
|
|
- line-height: #{90upx};
|
|
|
- background-color: #ffffff;
|
|
|
- padding: #{0 22upx};
|
|
|
- margin-bottom: #{13upx};
|
|
|
- }
|
|
|
-
|
|
|
- .city-service {
|
|
|
- width: 100%;
|
|
|
- margin-bottom: 10#{rpx};
|
|
|
-
|
|
|
- .await-man {
|
|
|
- margin-left: #{12rpx};
|
|
|
- font-size: #{28rpx};
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
-
|
|
|
- .info-box {
|
|
|
- margin-left: #{12rpx};
|
|
|
-
|
|
|
- .info-label {
|
|
|
- margin-bottom: #{10rpx};
|
|
|
- color: #999999;
|
|
|
- font-size: #{28rpx};
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .head {
|
|
|
- width: #{75rpx};
|
|
|
- height: #{75rpx};
|
|
|
- }
|
|
|
-
|
|
|
- .icon-box {
|
|
|
- padding: 0 #{30rpx};
|
|
|
- border-left: #{1rpx} solid #f7f7f7;
|
|
|
-
|
|
|
- .icon {
|
|
|
- width: #{45rpx};
|
|
|
- height: #{45rpx};
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-</style>
|
|
|
+.order-detail-box {
|
|
|
+ font-size: $uni-font-size-general-one;
|
|
|
+ color: $uni-general-color-one;
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+
|
|
|
+.order-label {
|
|
|
+ padding: #{32rpx} #{24rpx};
|
|
|
+ font-size: #{30rpx};
|
|
|
+ color: #353535;
|
|
|
+ font-weight: bold;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-bottom: #{1rpx} solid #e2e2e2;
|
|
|
+}
|
|
|
+
|
|
|
+.goods-image {
|
|
|
+ margin-right: #{20rpx};
|
|
|
+ margin-bottom: #{20rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.goods-num {
|
|
|
+ font-size: #{24rpx};
|
|
|
+ color: #999999;
|
|
|
+ margin: #{20rpx} 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-form {
|
|
|
+ background: #FFFFFF;
|
|
|
+
|
|
|
+ .order-form-box {
|
|
|
+ padding: #{5rpx} 0;
|
|
|
+
|
|
|
+ span {
|
|
|
+ }
|
|
|
+
|
|
|
+ image {
|
|
|
+ height: #{174rpx};
|
|
|
+ width: #{174rpx};
|
|
|
+ display: block;
|
|
|
+ margin-top: #{15rpx};
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+.order-list {
|
|
|
+ background: #FFFFFF;
|
|
|
+ padding: #{32rpx} #{24rpx};
|
|
|
+ margin-bottom: #{20rpx};
|
|
|
+
|
|
|
+ > view {
|
|
|
+ margin-bottom: #{10rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .text {
|
|
|
+ word-wrap: break-word;
|
|
|
+ }
|
|
|
+
|
|
|
+ > view:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .order-list-btn {
|
|
|
+ border: 1#{rpx} solid #bbbbbb;
|
|
|
+ border-radius: 30#{rpx};
|
|
|
+ padding: 10#{rpx} 30#{rpx};
|
|
|
+ display: inline-block;
|
|
|
+ margin-left: calc(100vw - #{170rpx});
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.order-form:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+}
|
|
|
+
|
|
|
+.express-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ margin-bottom: 20#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.address-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ margin-bottom: 20#{rpx};
|
|
|
+
|
|
|
+ .address {
|
|
|
+ word-wrap: break-word;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.address-box .text {
|
|
|
+ margin-top: 10#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.delivery {
|
|
|
+ .deliveryman {
|
|
|
+ width: #{72rpx};
|
|
|
+ height: #{72rpx};
|
|
|
+ display: block;
|
|
|
+ margin-right: #{24rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .delivery-tips {
|
|
|
+ font-size: $uni-font-size-weak-one;
|
|
|
+ color: $uni-general-color-two;
|
|
|
+ margin-bottom: #{16rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .mr-16 {
|
|
|
+ margin-right: #{16rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .delivery-mobile {
|
|
|
+ width: #{96rpx};
|
|
|
+ border-left: #{1rpx} solid #e2e2e2;
|
|
|
+
|
|
|
+ .mobile {
|
|
|
+ width: #{40rpx};
|
|
|
+ height: #{40rpx};
|
|
|
+ display: block;
|
|
|
+ margin-right: #{16rpx};
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .content {
|
|
|
+ width: #{500rpx};
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.order-info-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ margin-bottom: 20#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.store-info-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ margin-bottom: 20#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.preferential-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ border-bottom: 1#{rpx} solid $uni-weak-color-one;
|
|
|
+}
|
|
|
+
|
|
|
+.preferential-box .item {
|
|
|
+ margin: 5#{rpx} 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-price-box {
|
|
|
+ height: 100#{rpx};
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ //margin-bottom: 20#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.goods-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+ margin-bottom: 20#{rpx};
|
|
|
+
|
|
|
+ &.composition {
|
|
|
+ padding: 0;
|
|
|
+ padding-bottom: #{8rpx};
|
|
|
+ margin-bottom: 0;
|
|
|
+ background-color: #f7f7f7;
|
|
|
+ }
|
|
|
+
|
|
|
+ .composition-item {
|
|
|
+ margin-bottom: #{20rpx};
|
|
|
+ background-color: #fff;
|
|
|
+
|
|
|
+ .composition-open {
|
|
|
+ text-align: center;
|
|
|
+ background-color: #fff;
|
|
|
+ height: #{84rpx};
|
|
|
+
|
|
|
+ .composition-btn {
|
|
|
+ display: inline-block;
|
|
|
+ border: #{2rpx} solid #bbbbbb;
|
|
|
+ font-size: #{24rpx};
|
|
|
+ color: #999999;
|
|
|
+ padding: 0 #{24rpx};
|
|
|
+ margin: #{12rpx} 0 #{16rpx};
|
|
|
+ height: #{56rpx};
|
|
|
+ line-height: #{54rpx};
|
|
|
+ border-radius: #{28rpx};
|
|
|
+
|
|
|
+ image {
|
|
|
+ width: #{22rpx};
|
|
|
+ height: #{12rpx};
|
|
|
+ margin-left: #{16rpx};
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .goods-list {
|
|
|
+ padding: 0 #{24rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .composition-title {
|
|
|
+ height: #{80rpx};
|
|
|
+ line-height: #{80rpx};
|
|
|
+ padding: 0 #{24rpx};
|
|
|
+ font-size: #{28rpx};
|
|
|
+ color: #353535;
|
|
|
+ margin-bottom: #{24rpx};
|
|
|
+ border-bottom: #{2rpx} solid #e2e2e2;
|
|
|
+
|
|
|
+ .composition-type {
|
|
|
+ color: #f39800;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.goods-box .sale-server {
|
|
|
+ margin-top: 20#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.goods-box .sale-box {
|
|
|
+ padding-bottom: 15#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.goods-box .refund-status {
|
|
|
+ margin-top: 15#{rpx};
|
|
|
+ color: $uni-important-color-black;
|
|
|
+}
|
|
|
+
|
|
|
+.action-box {
|
|
|
+ background: #fff;
|
|
|
+ padding: 32#{rpx} 24#{rpx};
|
|
|
+
|
|
|
+ .cancel-text {
|
|
|
+ font-size: $uni-font-size-import-two;
|
|
|
+ }
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ border: 1#{rpx} solid #bbbbbb;
|
|
|
+ border-radius: 30#{rpx};
|
|
|
+ padding: 10#{rpx} 30#{rpx};
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.detail-btn {
|
|
|
+ border: 1#{rpx} solid #bbbbbb;
|
|
|
+ border-radius: 30#{rpx};
|
|
|
+ padding: 10#{rpx} 30#{rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.e-box {
|
|
|
+ width: 100%;
|
|
|
+ height: #{100rpx};
|
|
|
+ padding: 0 #{24rpx};
|
|
|
+ background: #ffffff;
|
|
|
+ margin-bottom: #{20rpx};
|
|
|
+
|
|
|
+ .img {
|
|
|
+ width: 12#{rpx};
|
|
|
+ height: 24#{rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .express-name {
|
|
|
+ margin-bottom: 15#{rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .text {
|
|
|
+ color: #353535;
|
|
|
+ font-size: #{28rpx};
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.advance {
|
|
|
+ width: #{702rpx};
|
|
|
+ border-radius: #{16rpx};
|
|
|
+ background-color: #f7f7f7;
|
|
|
+ padding: #{32rpx 24rpx};
|
|
|
+
|
|
|
+ .title {
|
|
|
+ font-size: #{24rpx};
|
|
|
+ color: #ff4544;
|
|
|
+ margin-bottom: #{15rpx};
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.item-box {
|
|
|
+ border: #{1rpx} solid #c2c2c2;
|
|
|
+ padding: #{24rpx};
|
|
|
+ border-radius: #{16rpx};
|
|
|
+ width: #{702rpx};
|
|
|
+}
|
|
|
+
|
|
|
+.ecard {
|
|
|
+ background-color: #ffffff;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ padding: #{32upx 24upx 0 24upx};
|
|
|
+
|
|
|
+ .text {
|
|
|
+ font-size: #{23upx};
|
|
|
+ line-height: 1.5;
|
|
|
+ padding-left: #{15upx};
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .expand {
|
|
|
+ height: #{70upx};
|
|
|
+ margin-top: #{20upx};
|
|
|
+ border-top: #{1upx} solid #e2e2e2;
|
|
|
+
|
|
|
+ > image {
|
|
|
+ width: #{20upx};
|
|
|
+ height: #{12upx};
|
|
|
+ }
|
|
|
+
|
|
|
+ > text {
|
|
|
+ font-size: #{23upx};
|
|
|
+ color: #919191;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.instructions {
|
|
|
+ width: #{12upx};
|
|
|
+ height: #{22upx};
|
|
|
+ margin-left: #{18upx};
|
|
|
+}
|
|
|
+
|
|
|
+.ecard-info {
|
|
|
+ height: #{90upx};
|
|
|
+ line-height: #{90upx};
|
|
|
+ background-color: #ffffff;
|
|
|
+ padding: #{0 22upx};
|
|
|
+ margin-bottom: #{13upx};
|
|
|
+}
|
|
|
+
|
|
|
+.city-service {
|
|
|
+ width: 100%;
|
|
|
+ margin-bottom: 10#{rpx};
|
|
|
+
|
|
|
+ .await-man {
|
|
|
+ margin-left: #{12rpx};
|
|
|
+ font-size: #{28rpx};
|
|
|
+ color:#666666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-box {
|
|
|
+ margin-left: #{12rpx};
|
|
|
+
|
|
|
+ .info-label {
|
|
|
+ margin-bottom: #{10rpx};
|
|
|
+ color: #999999;
|
|
|
+ font-size: #{28rpx};
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .head {
|
|
|
+ width: #{75rpx};
|
|
|
+ height: #{75rpx};
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-box {
|
|
|
+ padding: 0 #{30rpx};
|
|
|
+ border-left: #{1rpx} solid #f7f7f7;
|
|
|
+
|
|
|
+ .icon {
|
|
|
+ width: #{45rpx};
|
|
|
+ height: #{45rpx};
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|