Files
xiuhuwangqiu/pages/plus/giftpackage/order_detail.vue
wangxiaowei 90c54df48b first commit
2025-10-22 22:56:36 +08:00

430 lines
9.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="order-datail pb100" v-if="!loadding">
<!--购物列表-->
<view class="shops group bg-white">
<view class="group-hd border-b-e">
<view class="left"><text class="min-name">商品</text></view>
</view>
<view class="list">
<view class="gift-package-main">
<view class="p-0-30">
<view class="integral" v-if="detail.point != 0">
<view class="title">{{ points_name() }}礼包</view>
<view class="integral_btom d-s-c">
<image src="/static/gift.png" mode="widthFix"></image>
<view class="info">
<view class="num">{{ parseFloat(detail.point) }}{{ points_name() }}</view>
<view>无门槛 全品类</view>
</view>
</view>
</view>
</view>
<view class="p-0-30" v-if="detail.coupon_ids != ''">
<view class="cuopon-title">优惠券礼包</view>
<view class="cuopon-group borbox" v-if="detail.coupon_list != ''">
<view class="body">
<view class="item" v-for="(item, index) in detail.coupon_list" :key="index">
<view class="cuopon_item">
<view><image class="cuopon_img" src="../../../static/youhuiquan2.png" mode=""></image></view>
<view class="d-s-c">
<view class="d-s-c item_cuopon">
<view class="price">
<view class="">
<text class="f22"></text>
<text class="f34">{{ parseFloat(item.reduce_price) }}</text>
</view>
<view class="f22">优惠券</view>
</view>
<view class="des">
<view class="des_t">{{ item.name }}</view>
<view class="des_b" v-if="item.expire_type == 20">有效期至{{ item.end_time.text }}</view>
<view class="des_b" v-if="item.expire_type == 10">领取后{{ item.expire_day }}天内有效</view>
</view>
</view>
</view>
<view class="cuopon_num">
<text class="f12">x</text>
{{ item.coupon_num }}
</view>
</view>
</view>
</view>
</view>
</view>
<view class="p-0-30" v-if="detail.product_list && detail.product_list.length > 0">
<view class="cuopon-group">
<view class="title f30"><view>商品礼包</view></view>
<view class="body">
<view class="item mb30 borbox bg-white" v-for="(item, index) in detail.product_list" :key="index" @click="choosePro(item.product_id)">
<view class="d-s-c">
<view><image class="product_img" :src="item.image[0].file_path" mode="aspectFill"></image></view>
<view class="pro">
<view class="pro_t">{{ item.product_name }}</view>
<view class="pro_c">{{ item.product_sku.product_attr }}</view>
<view class="pro_b">
<text class="f18"></text>
{{ item.product_price }}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<!--订单信息-->
<view class="group bg-white f28">
<view class="p-20-0">
<text class="gray9">订单编号</text>
<text>{{ detail.order_no }}</text>
</view>
<view class="p-20-0">
<text class="gray9">下单时间</text>
<text>{{ detail.create_time }}</text>
</view>
<view class="p-20-0">
<text class="gray9">支付方式</text>
<text>{{ detail.pay_type.text }}</text>
</view>
<view class="p-20-0">
<text class="gray9">配送方式</text>
<text v-if="detail.delivery_type == 10">快递配送</text>
<text v-if="detail.delivery_type == 20">自提上门</text>
</view>
</view>
<view class="group bg-white f28">
<view class="p-20-0 d-b-c">
<text class="gray9">订单金额</text>
<text>¥ {{ detail.order_price }}</text>
</view>
</view>
</view>
</template>
<script>
import Popup from '@/components/uni-popup.vue';
import { pay } from '@/common/pay.js';
export default {
data() {
return {
/*是否加载完成*/
loadding: true,
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 500,
/*是否显示支付类别弹窗*/
isPayPopup: false,
/*订单id*/
order_id: 0,
/*订单详情*/
detail: {
point: '',
product_list: [],
pay_price: '',
coupon_list: [],
order_status: [],
address: {
region: []
},
product: [],
pay_type: [],
delivery_type: [],
pay_status: []
},
extractStore: {},
/*是否显示拼团*/
is_fightgroup: false
};
},
components: {
Popup
},
onLoad(e) {
this.order_no = e.order_no;
},
mounted() {
uni.showLoading({
title: '加载中'
});
/*获取订单详情*/
this.getData();
},
methods: {
/*获取数据*/
getData() {
let self = this;
let order_no = self.order_no;
self._get(
'plus.package.Order/orderDetail',
{
order_no: order_no
},
function(res) {
self.detail = res.data.detail;
self.extractStore = res.data.detail.extract;
self.loadding = false;
console.log(self.detail);
uni.hideLoading();
}
);
},
/*显示支付方式*/
hidePopupFunc() {
this.isPayPopup = false;
},
/*查看物流*/
gotoExpress(order_id) {
this.gotoPage('/pages/order/express/express?order_id=' + order_id);
}
}
};
</script>
<style scoped>
.order-express {
background: #ffffff;
}
.order-express .icon-box .iconfont {
font-size: 50rpx;
}
.order-datail {
padding-bottom: 90 rpx;
}
.order-datail .fight-users {
margin: 0 auto;
}
.order-datail .fight-users .user-box {
width: 80rpx;
height: 80rpx;
margin: 10rpx;
border-radius: 50%;
border: 1px dashed #cccccc;
}
.order-datail .fight-users {
padding: 30rpx;
}
.order-datail .fight-users .user-box image {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.order-datail .fight-users .user-box .leader {
position: absolute;
top: -20rpx;
left: 50%;
margin-left: -30rpx;
width: 60rpx;
height: 30rpx;
line-height: 30rpx;
text-align: center;
color: #ffffff;
border-radius: 30rpx;
border: 1px solid #ffffff;
background: red;
}
.order-datail .fight-users .user-box.user-who {
font-size: 50rpx;
color: #999999;
}
.state-cont .countdown-datetime {
margin-top: 16rpx;
}
.state-cont .countdown-datetime text {
padding: 4rpx 8rpx;
border-radius: 4rpx;
background: rgba(0, 0, 0, 0.4);
}
.gift-package-main .integral {
background-color: #ffffff66;
padding-bottom: 60rpx;
border-radius: 15rpx;
}
.gift-package-main .integral .title {
color: #919191;
font-size: 35rpx;
margin-bottom: 20rpx;
}
.gift-package-main .integral_btom {
border: 1rpx solid #cacaca;
height: 193rpx;
background-color: #ffffff;
margin-top: 20rpx;
border-radius: 15rpx;
}
.gift-package-main .integral .info {
margin-left: 30rpx;
width: 300rpx;
color: #f0510e;
}
.gift-package-main .integral image {
width: 135rpx;
height: 135rpx;
margin-left: 40rpx;
}
.gift-package-main .integral .num {
font-size: 50rpx;
}
.gift-package-main .btns {
margin-top: 92rpx;
margin-bottom: 120rpx;
float: right;
}
.gift-package-main .order_price {
text-align: right;
color: #fd0000;
font-size: 30rpx;
margin-bottom: 68rpx;
}
.gift-package-main .btns button {
width: 266rpx;
height: 54rpx;
background-color: #ee1413;
color: #ffffff;
text-align: center;
line-height: 54rpx;
border-radius: 15rpx;
}
.rule {
overflow: hidden;
position: absolute;
right: 0;
top: 480rpx;
z-index: 100;
}
.rule_btn {
margin-top: 27rpx;
width: 183rpx;
height: 62rpx;
line-height: 62rpx;
text-align: center;
background-color: #e83514;
border: 1rpx solid #ffffff;
border-top-left-radius: 32rpx;
border-bottom-left-radius: 32rpx;
color: #ffffff;
font-size: 26rpx;
}
.add {
font-size: 73rpx;
font-weight: 900;
text-align: center;
color: #ffffff;
}
.cuopon_num {
display: inline-block;
width: 40rpx;
height: 40rpx;
border: 1rpx solid #939393;
margin-left: 150rpx;
text-align: center;
line-height: 40rpx;
font-size: 18rpx;
border-radius: 10rpx;
position: absolute;
top: 40px;
right: 15px;
color: #000000;
}
.product_img {
width: 140rpx;
height: 140rpx;
}
.pro {
margin-left: 12rpx;
text-align: left;
}
.pro_t {
font-size: 24rpx;
color: #000000;
margin-bottom: 15rpx;
}
.pro_c {
font-size: 20rpx;
color: #686868;
}
.pro_b {
font-size: 28rpx;
color: #fd0000;
margin-left: 252rpx;
}
.f18 {
font-size: 18rpx;
}
.pro_choose {
width: 33rpx;
height: 33rpx;
position: absolute;
right: 10rpx;
top: 6rpx;
}
.borbox {
border: 1rpx solid #cacaca;
}
.cuopon-group {
color: #ffffff;
text-align: center;
font-size: 30rpx;
background-color: #ffffff30;
border-radius: 15rpx;
padding: 35rpx 0;
}
.cuopon-title {
color: #919191;
font-size: 35rpx;
margin-bottom: 20rpx;
}
.cuopon-group .title {
color: #919191;
font-size: 35rpx;
margin-bottom: 20rpx;
}
.cuopon-group .body {
}
.cuopon_item {
position: relative;
}
.item_cuopon {
z-index: 50;
}
.cuopon-group .body .item {
padding: 20rpx;
display: flex;
flex-direction: column;
border-radius: 20rpx;
position: relative;
}
.cuopon_img {
width: 493rpx;
height: 123rpx;
position: absolute;
top: 0;
left: 0;
}
.cuopon-group .body .item .price {
z-index: 50;
font-size: 18rpx;
margin-left: 26rpx;
}
.cuopon-group .body .item .des {
color: #000000;
z-index: 50;
padding: 26rpx 0;
font-size: 24rpx;
text-align: left;
margin-left: 50rpx;
}
</style>