360 lines
10 KiB
Vue
360 lines
10 KiB
Vue
|
<template>
|
|||
|
<view v-if="isPop">
|
|||
|
<view class="pop-bg" @click="closeFunc"></view>
|
|||
|
<view class="pop-box">
|
|||
|
<view class="order-detail">
|
|||
|
<view class="d-e-c"
|
|||
|
><u-icon
|
|||
|
@click="closeFunc"
|
|||
|
name="close"
|
|||
|
size="30rpx"
|
|||
|
color="#999"
|
|||
|
></u-icon
|
|||
|
></view>
|
|||
|
<view class="p-0-20 f32 fb tc">{{ $t("MY_ORD_5") }}</view>
|
|||
|
<!-- <view class="payload-box d-c d-a-s">
|
|||
|
<image class="payload-bg" src="/static/bg/order-bg.png" mode=""></image>
|
|||
|
<view class="d-s-c pr">
|
|||
|
<u-icon name="checkmark-circle" size="34rpx" color="#fff"></u-icon>
|
|||
|
<text class="white ml10">{{ detail.orderStatusVal }}</text>
|
|||
|
</view>
|
|||
|
<view class="white f24 pr" v-if="detail.orderStatus == 0 && payTime">请在{{ payTime }}内完成支付,否则订单将会被自动取消</view>
|
|||
|
</view> -->
|
|||
|
<!-- <view class="express-box d-b-c">
|
|||
|
<u-icon size="56rpx" name="/static/icon/order/express.png"></u-icon>
|
|||
|
<view class="flex-1 d-c d-a-s m-0-20">
|
|||
|
<view class="f24 gray3">共3个包裹,运送中</view>
|
|||
|
<view class="f20 gray9">邮政快递:71234567891</view>
|
|||
|
</view>
|
|||
|
<view class="icon iconfont icon-jiantou"></view>
|
|||
|
</view> -->
|
|||
|
<view
|
|||
|
class="product-box"
|
|||
|
v-if="serchStatus == 1 || serchStatus == 3 || serchStatus == 6"
|
|||
|
>
|
|||
|
<view class="product-title">{{ $t("w_0077") }}</view>
|
|||
|
<view class="product-list">
|
|||
|
<view
|
|||
|
v-for="(item, index) in detail.storeOutBiExtList"
|
|||
|
:key="index"
|
|||
|
class="product-item"
|
|||
|
>
|
|||
|
<image class="product-img" :src="item.cover" mode=""></image>
|
|||
|
<view class="product-info d-c d-b-s flex-1">
|
|||
|
<view class="text-ellipsis-2 f28 gray3 fb"
|
|||
|
>{{ item.productName }}
|
|||
|
</view>
|
|||
|
<view class="f24">
|
|||
|
<text class="">{{ item.specsName }}</text>
|
|||
|
</view>
|
|||
|
<view class="f24">
|
|||
|
<text class="">{{ item.productCode }}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="f24 gray3 ml20">X{{ item.quantity }}</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="product-box" v-if="serchStatus == -1 || serchStatus == ''">
|
|||
|
<view class="product-title">{{ $t("w_0077") }}</view>
|
|||
|
<view class="product-list">
|
|||
|
<view
|
|||
|
v-for="(item, index) in detail.itemList"
|
|||
|
:key="index"
|
|||
|
class="product-item"
|
|||
|
>
|
|||
|
<image class="product-img" :src="item.cover" mode=""></image>
|
|||
|
<view class="product-info d-c d-b-s flex-1">
|
|||
|
<view class="text-ellipsis-2 f28 gray3"
|
|||
|
>{{ item.productName }} {{ item.specsName }}
|
|||
|
</view>
|
|||
|
<view class="price-color f24">
|
|||
|
{{ currencyIcon() }}
|
|||
|
<text class="f32 fb">{{ formatNum(item.price) }}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="f24 grayD ml20">X{{ item.quantity }}</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<!-- <view class="d-b-s">
|
|||
|
<view style="width: 132rpx;" class="mr20 f28 domation">活动赠品</view>
|
|||
|
<view class="flex-1" style="line-height: 1.5;">
|
|||
|
<view class="d-b-c mb20">
|
|||
|
<view class="f28 gray3 text-ellipsis-2">海之圣超饱和富氢水杯(绿色</view>
|
|||
|
<view class="f24 grayD ml20">X1</view>
|
|||
|
</view>
|
|||
|
<view class="d-b-c mb20">
|
|||
|
<view class="f28 gray3 text-ellipsis-2">海之圣超饱和富氢水杯(绿色</view>
|
|||
|
<view class="f24 grayD ml20">X1</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="d-b-c mb20">
|
|||
|
<view class="f28 gray3 text-ellipsis-2">海之圣超饱和富氢水杯(绿色</view>
|
|||
|
<view class="f24 grayD ml20">X1</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view> -->
|
|||
|
</view>
|
|||
|
<view
|
|||
|
class="product-box"
|
|||
|
v-if="serchStatus == 1 || serchStatus == 3 || serchStatus == 6"
|
|||
|
>
|
|||
|
<view class="d-b-c mb10">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MY_ORD_3") }}:</text>
|
|||
|
<text class="f24 gray3">{{ detail.payTime }}</text>
|
|||
|
</view>
|
|||
|
<view class="d-b-c mb10" v-if="serchStatus == 6 || serchStatus == 1">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("fn_170") }}:</text>
|
|||
|
<text class="f24 gray3">{{ detail.storeName }}</text>
|
|||
|
</view>
|
|||
|
<view class="d-b-c mb10" >
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MN_F_T_1204") }}:</text>
|
|||
|
<text class="f24 gray3">{{ detail.bonusRatio || 0 }}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="product-box" v-if="serchStatus == -1 || serchStatus == ''">
|
|||
|
<view class="d-b-c mb10">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MY_ORD_6") }}:</text>
|
|||
|
<text class="f24 gray3">{{ formatNum(detail.orderAmount) }}</text>
|
|||
|
</view>
|
|||
|
<view class="d-b-c mb10" v-if="detail.orderType != 30">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MY_ORD_16") }}(PV):</text>
|
|||
|
<text class="f24 gray3">{{ formatNum(detail.orderAchieve) }}</text>
|
|||
|
</view>
|
|||
|
<view class="d-b-c mb10" v-if="opento">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MN_F_T_1204") }}:</text>
|
|||
|
<text class="f24 gray3">{{ detail.bonusRatio || 0 }}</text>
|
|||
|
</view>
|
|||
|
<!-- <view class="d-b-c mb10" v-if="detail.orderType != 30">
|
|||
|
<text class="f24 gray9 mr20">{{ $t("MY_ORD_16") }}(BV):</text>
|
|||
|
<text class="f24 gray3">{{
|
|||
|
formatNum(detail.orderAssAchieve)
|
|||
|
}}</text>
|
|||
|
</view> -->
|
|||
|
<!-- <view class="remark-box">
|
|||
|
<text class="f26 gray6 mr20">备注:</text>
|
|||
|
<text class="f26 gray3">zxczxczxczczczcxzxc</text>
|
|||
|
</view> -->
|
|||
|
</view>
|
|||
|
<view
|
|||
|
class="product-box border-t"
|
|||
|
style="padding-bottom: 0"
|
|||
|
v-if="
|
|||
|
detail.deliveryWay != 2 && (serchStatus == -1 || serchStatus == '')
|
|||
|
"
|
|||
|
>
|
|||
|
<view class="product-title">{{ $t("w_0065") }}</view>
|
|||
|
<view class="address-box d-b-c">
|
|||
|
<!-- <u-icon width="33rpx" height="40rpx" name="/static/icon/order/address.png"></u-icon> -->
|
|||
|
<view class="flex-1 d-c d-a-s">
|
|||
|
<view class="f28 mb10 gray3">
|
|||
|
<text class="mr20">{{ detail.recName }}</text>
|
|||
|
<text>{{ detail.recPhone }}</text>
|
|||
|
</view>
|
|||
|
<view class="f24 gray9"
|
|||
|
>{{ detail.recProvince }}{{ detail.recCity
|
|||
|
}}{{ detail.address }}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
type: 0,
|
|||
|
orderData: {},
|
|||
|
payTime: "",
|
|||
|
};
|
|||
|
},
|
|||
|
props: ["detail", "isPop", "serchStatus","opento"],
|
|||
|
methods: {
|
|||
|
closeFunc() {
|
|||
|
this.$emit("close");
|
|||
|
},
|
|||
|
getPayTime(time) {
|
|||
|
// 转换为式分秒
|
|||
|
let h = parseInt((time / 60 / 60) % 24);
|
|||
|
h = h < 10 ? "0" + h : h;
|
|||
|
let m = parseInt((time / 60) % 60);
|
|||
|
m = m < 10 ? "0" + m : m;
|
|||
|
let s = parseInt(time % 60);
|
|||
|
s = s < 10 ? "0" + s : s;
|
|||
|
// 作为返回值返回
|
|||
|
return h + ":" + m + ":" + s;
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss">
|
|||
|
.pop-box {
|
|||
|
width: 80%;
|
|||
|
box-sizing: border-box;
|
|||
|
position: fixed;
|
|||
|
top: 15%;
|
|||
|
// bottom: 0;
|
|||
|
left: 0;
|
|||
|
right: 0;
|
|||
|
margin: auto;
|
|||
|
background-color: #ffffff;
|
|||
|
border-radius: 15rpx;
|
|||
|
z-index: 100;
|
|||
|
}
|
|||
|
|
|||
|
.order-detail {
|
|||
|
padding: 23rpx;
|
|||
|
max-height: 80vh;
|
|||
|
overflow-y: auto;
|
|||
|
}
|
|||
|
|
|||
|
.payload-box {
|
|||
|
padding: 30rpx 22rpx;
|
|||
|
position: relative;
|
|||
|
height: 137rpx;
|
|||
|
box-sizing: border-box;
|
|||
|
margin: 0 auto;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
|
|||
|
.payload-bg {
|
|||
|
width: 564rpx;
|
|||
|
height: 137rpx;
|
|||
|
position: absolute;
|
|||
|
left: 0;
|
|||
|
top: 0;
|
|||
|
z-index: 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.express-box {
|
|||
|
width: 563;
|
|||
|
height: 124rpx;
|
|||
|
background: #ffffff;
|
|||
|
border-radius: 20rpx;
|
|||
|
margin: 0 auto;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
box-sizing: border-box;
|
|||
|
// padding: 34rpx 21rpx;
|
|||
|
padding: 0 21rpx;
|
|||
|
|
|||
|
.icon.icon-jiantou {
|
|||
|
font-size: 32rpx;
|
|||
|
color: #999;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.address-box {
|
|||
|
width: 563;
|
|||
|
// height: 124rpx;
|
|||
|
background: #ffffff;
|
|||
|
border-radius: 20rpx;
|
|||
|
margin: 0 auto;
|
|||
|
box-sizing: border-box;
|
|||
|
// padding: 34rpx 21rpx;
|
|||
|
padding: 20rpx 0;
|
|||
|
}
|
|||
|
|
|||
|
.product-box {
|
|||
|
padding: 26rpx 20rpx 0 20rpx;
|
|||
|
background: #ffffff;
|
|||
|
// border-radius: 20rpx;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
|
|||
|
.product-title {
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333;
|
|||
|
margin-bottom: 5rpx;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
|
|||
|
.product-item {
|
|||
|
display: flex;
|
|||
|
justify-content: center;
|
|||
|
align-items: flex-start;
|
|||
|
width: 100%;
|
|||
|
padding: 20rpx 0;
|
|||
|
border-bottom: 1rpx solid #eee;
|
|||
|
|
|||
|
.product-img {
|
|||
|
width: 132rpx;
|
|||
|
height: 132rpx;
|
|||
|
border-radius: 10rpx;
|
|||
|
display: block;
|
|||
|
margin-right: 20rpx;
|
|||
|
}
|
|||
|
|
|||
|
.product-info {
|
|||
|
height: 132rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.product-item:last-child {
|
|||
|
border: none;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.remark-box {
|
|||
|
width: 563;
|
|||
|
box-sizing: border-box;
|
|||
|
padding: 26rpx 20rpx 26rpx 20rpx;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
background: #ffffff;
|
|||
|
border-radius: 20rpx;
|
|||
|
word-break: break-all;
|
|||
|
line-height: 1.5;
|
|||
|
}
|
|||
|
|
|||
|
.order-btns-nav {
|
|||
|
position: fixed;
|
|||
|
bottom: 0;
|
|||
|
left: 0;
|
|||
|
width: 100%;
|
|||
|
height: 96rpx;
|
|||
|
box-sizing: border-box;
|
|||
|
display: flex;
|
|||
|
justify-content: flex-end;
|
|||
|
align-items: center;
|
|||
|
padding: 0 23rpx;
|
|||
|
background-color: #ffffff;
|
|||
|
z-index: 20;
|
|||
|
border-top: 1rpx solid #eee;
|
|||
|
}
|
|||
|
|
|||
|
.order-btn {
|
|||
|
min-width: 152rpx;
|
|||
|
padding: 0 28rpx;
|
|||
|
box-sizing: border-box;
|
|||
|
height: 56rpx;
|
|||
|
border-radius: 30rpx;
|
|||
|
line-height: 56rpx;
|
|||
|
background: #fb3024;
|
|||
|
font-size: 26rpx;
|
|||
|
font-weight: 400;
|
|||
|
color: #ffffff;
|
|||
|
border: 1rpx solid #fb3024;
|
|||
|
text-align: center;
|
|||
|
margin-left: 23rpx;
|
|||
|
}
|
|||
|
|
|||
|
.order-btn.border-btn {
|
|||
|
border: 1rpx solid #dddddd;
|
|||
|
color: #333333;
|
|||
|
background: none;
|
|||
|
}
|
|||
|
|
|||
|
.pop-bg {
|
|||
|
position: fixed;
|
|||
|
top: 0;
|
|||
|
left: 0;
|
|||
|
bottom: 0;
|
|||
|
right: 0;
|
|||
|
z-index: 98;
|
|||
|
background-color: rgba(0, 0, 0, 0.6);
|
|||
|
}
|
|||
|
</style>
|