Files
bai_cha_hui/pages/order/confirm-order.vue
2025-06-11 10:21:51 +08:00

933 lines
26 KiB
Vue
Raw Permalink 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="wrap" :data-theme='theme()' :class="theme() || ''" v-if="!loading">
<Myinfo :dis="options.order_type == 'retainage'" :Address="Address" :exist_address="exist_address"></Myinfo>
<!--购买的产品-->
<view class="vender">
<view class="list">
<view v-for="(supplier_item, supplier_index) in ProductData" :key="supplier_index">
<view class="sup_itemtit" v-if="store_open">
<i class="icon iconfont icon-dianpu1"></i>
<view class="f26 gray3">
{{supplier_item.supplier.name}}
</view>
</view>
<view class="item" v-for="(item, index) in supplier_item.productList" :key="index">
<view class="d-f">
<view class="cover">
<image :src="item.product_image" mode="aspectFit"></image>
</view>
<view class="info">
<view class="d-b-s">
<view class="flex-1">
<view class="title f32 gray3">{{ item.product_name }}</view>
<view class="theme-price mt10 f18">
¥<text class="f26">{{ item.product_price }}</text>
</view>
<view class="describe mt10 f24" v-if="options.order_type=='deposit'">
{{ item.advance_sku.product_attr }}</view>
<view class="describe mt10 f24" v-else-if="options.order_type=='retainage'">
{{ item.product_attr }}</view>
<view class="describe mt10 f24" v-else>{{ item.product_sku.product_attr }}
</view>
</view>
<view>
<view class=" count_choose">
<view class="num-wrap">
<view class="f22 tr">×{{ item.total_num }}</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="mt10 tr f28" v-if="item.is_user_grade==true">
<text class="f26">会员折扣价:</text>
<text class="theme-price f32">¥{{item.grade_product_price}}</text>
</view>
<view class="mt10 tr f28" v-if="item.product_reduce_money > 0">
<text class="f26">立减:</text>
<text class="theme-price f32">¥{{item.product_reduce_money}}</text>
</view>
</view>
<view class="d-f-c" @tap="DistUp(supplier_item)">
<view v-if="supplier_item.orderData.delivery==10">
配送方式 <text class="extp">普通快递</text>
</view>
<view v-if="supplier_item.orderData.delivery==20">
<view class="info d-s-s" style="padding-left: 0;">
<text class="zt theme-btn">当前自提点</text>
<view class="province-c-a d-s-s flex-1">
<text>{{ store_list[supplier_item.shop_supplier_id]}}</text>
</view>
</view>
</view>
<view v-if="supplier_item.orderData.delivery==30">
虚拟商品:无需物流
</view>
<view class="dfjac" v-if="supplier_item.orderData.delivery!=30">
<view v-if="supplier_item.orderData.delivery==10">
{{supplier_item.orderData.express_price != 0?"¥ "+supplier_item.orderData.express_price:"快递 免费"}}
</view>
<i class='iconfont icon-jiantou'></i>
</view>
</view>
<template v-if="options.order_type == 'deposit'">
<view class="d-f-c">
<text class="key f26">定金:</text>
<view class="f24">¥{{ OrderData.order_total_front_price }}</view>
</view>
<view class="d-f-c">
<text class="key f26">尾款:</text>
<view class="f24">
¥{{ OrderData.order_total_pay_price }}</view>
</view>
<view class="f-d-c p30">
<view class="ww100 d-e-c red">(单件商品尾款已减{{OrderData.reduce_money}}元)
</view>
<view class="ww100 d-e-c gray9">
{{supplier_item.productList[0].advance.active_time[0]}}-{{supplier_item.productList[0].advance.active_time[1]}}支付尾款
</view>
</view>
</template>
<template v-else>
<view class="d-f-c" v-if="!OrderData.force_points">
<view class="">优惠券</view>
<block v-if="objKeys(supplier_item.orderData.couponList,1) > 0">
<text class="vlaue theme-price" v-if="supplier_item.orderData.coupon_money> 0"
@tap="onTogglePopupCoupon(supplier_item.orderData.couponList,supplier_item)">-¥{{supplier_item.orderData.coupon_money}}</text>
<text v-else class="vlaue theme-price"
@tap="onTogglePopupCoupon(supplier_item.orderData.couponList,supplier_item)">有{{ objKeys(supplier_item.orderData.couponList,1)}}张优惠券可用<i
class='iconfont icon-jiantou'></i></text>
</block>
<text v-else class="f24 gray9">无优惠券可用</text>
</view>
<view class="d-f-c" v-if="supplier_item.orderData.reduce">
<view>店铺{{supplier_item.orderData.reduce.active_name}}</view>
<view class="theme-price f24">
-¥{{supplier_item.orderData.reduce.reduced_price}}
</view>
</view>
<view class="d-f-c" v-if="supplier_item.orderData.reduce_money">
<view>尾款抵扣:</view>
<view class="theme-price f24">
-¥{{supplier_item.orderData.reduce_money}}
</view>
</view>
<view v-if="is_use_points==1&&!OrderData.force_points&&supplier_item.orderData.points_money>0">
<view class="d-f-c">
<view>{{points_name()}}抵扣金额</view>
<view class="theme-price f24">-¥{{supplier_item.orderData.points_money}}</view>
</view>
</view>
<view class="d-f-c">
<view class="ww100">
<view class="mb20">订单备注</view>
<view class="ww100"><textarea
v-model="store_data[supplier_item.shop_supplier_id].remark"
placeholder="选填,请先和商家协商一致" class="text_area" /></view>
</view>
</view>
<!--总数-->
<view class="total-box vthl">
<view>
<text class="f26 gray3">共{{supplier_item.productList.length}}件商品,总价:</text>
<text class="f20 gray3">¥</text>
<text class="f26 gray3">{{ supplier_item.orderData.order_total_price }}</text>
</view>
<view class="d-f">
<view class="f26" v-if="!OrderData.force_points">
实付款:<text class="theme-price f20">¥</text><text class="price theme-price"
style="font-size: 32rpx;">{{toDecimal2(supplier_item.orderData.order_pay_price)}}</text>
</view>
</view>
</view>
</template>
</view>
</view>
</view>
<!--其它费用-->
<view class="buy-checkout" v-if="options.order_type != 'deposit'">
<view class="item">
<text class="key f26">订单总金额:</text>
<view>
<text class="theme-price f24">¥{{ OrderData.order_total_price }}</text>
</view>
</view>
<view class="item f26" v-if="OrderData.is_coupon">
<text class="key">平台优惠券:</text>
<block v-if="coupon_num > 0">
<text class="f24 theme-price" v-if="OrderData.coupon_money_sys > 0"
@tap="onTogglePopupCoupon(coupon_list,0)">-¥{{OrderData.coupon_money_sys}}</text>
<text v-else class="f24 theme-price"
@tap="onTogglePopupCoupon(coupon_list,0)">有{{ coupon_num }}张优惠券可用</text>
</block>
<text v-else class="f24 gray9">无优惠券可用</text>
</view>
<view class="item" v-if="OrderData.product_reduce_money > 0">
<text class="key">商品立减:</text>
<view>
<text class="theme-price f24">-¥{{ OrderData.product_reduce_money }}</text>
</view>
</view>
<view class="item" v-if="OrderData.reduce_money">
<text class="key">尾款抵扣:</text>
<view>
<text class="theme-price f24">-¥{{ OrderData.reduce_money }}</text>
</view>
</view>
<view class="item"
v-if="OrderData.is_allow_points && OrderData.force_points == false &&OrderData.points_money != 0">
<text class="key">可用{{points_name()}}抵扣:</text>
<view class="">
<text class="theme-price f24">-¥{{toDecimal2(OrderData.points_money)}}</text>
<switch style="transform: scale(0.7); margin-right: -10rpx;" checked=true @change="onShowPoints" />
</view>
</view>
</view>
<!--底部支付-->
<view class="foot-pay-btns">
<template v-if="options.order_type=='deposit'">
<view>
应付
<text class="fb theme-price">¥</text>
<text class="num theme-price fb f38">{{ OrderData.order_total_front_price }}</text>
</view>
</template>
<template v-else>
<view class="price" v-if="!OrderData.force_points">
¥
<text class="num">{{ OrderData.order_pay_price }}</text>
</view>
<view class="price" v-if="OrderData.force_points">
<text class="gray9">所需{{points_name()}}</text>
<text class="num theme-price fb">{{ ProductData[0].orderData.points_num }}</text>
</view>
</template>
<button type="primary" @tap="SubmitOrder">提交订单</button>
</view>
<!--优惠券-->
<Coupon :isCoupon="isCoupon" :couponList="couponList" @close="closeCouponFunc"></Coupon>
<Dist :isDist="isDist" :chooseSotr="chooseSotr" @close="closeDistFunc" :extract_store="extract_store"
:last_extract="last_extract" :deliverySetting="deliverySetting"></Dist>
</view>
</template>
<script>
import uniPopup from '@/components/uni-popup.vue';
import Myinfo from './confirm-order/my-info';
import Coupon from './confirm-order/coupon';
import Dist from './confirm-order/distr';
import {
pay
} from '@/common/pay.js';
export default {
components: {
Myinfo,
Coupon,
Dist
},
data() {
return {
/*是否加载完成*/
loading: true,
options: {},
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 500,
/*商品id*/
product_id: '',
/*商品数量*/
product_num: '',
/*商品数据*/
ProductData: [],
/*订单数据数据*/
OrderData: [],
// 是否存在收货地址
exist_address: false,
/*默认地址*/
Address: {
region: []
},
extract_store: [],
last_extract: {},
product_sku_id: 0,
/*配送方式*/
delivery: 10,
/*自提店id*/
store_id: 0,
/*优惠券id*/
coupon_id: -1,
/*是否使用积分,默认使用*/
is_use_points: 1,
remark: '',
/*支付方式*/
pay_type: 20,
/*是否显示优惠券*/
isCoupon: false,
/*优惠券列表*/
coupon_list: {},
couponList: [],
/*优惠券数量*/
coupon_num: 0,
/* 是否显示配送方式 */
isDist: false,
/*消息模板*/
temlIds: [],
/* 选择的地址 */
// chooseAd:''
product_couponid: 0,
chooseSotr: 0,
/* 支持的配送方式 */
deliverySetting: [],
choose_delivery: 10,
store_data: {},
// 当前店铺选择的门店
choose_store_id: 0,
store_list: {},
room_id: '',
/*是否显示支付宝支付只有在h5非微信内打开才显示*/
showAlipay: false,
balance: '',
store_open: 1
};
},
onLoad(options) {
let self = this;
self.options = options;
self.room_id = options.room_id ? options.room_id : 0;
console.log(self.room_id)
self.$fire.on('selectStoreId', function(e) {
self.extract_store = e;
self.choose_store_id = e.store_id;
});
self.$fire.on('checkedfir', function(n) {
self.choose_delivery = n;
})
},
onShow() {
this.getData();
},
mounted() {},
methods: {
init() {
let key = '';
let value = "";
let self = this;
self.ProductData.forEach((item, index) => {
key = item.shop_supplier_id;
value = {
coupon_id: item.orderData.coupon_id,
delivery: item.orderData.delivery,
store_id: 0,
remark: ""
}
self.store_data = {
...self.store_data,
[key]: value
}
})
},
/**/
hasType(e) {
if (this.deliverySetting.indexOf(e) != -1) {
return true;
} else {
return false;
}
},
/*支付方式选择*/
payTypeFunc(e) {
this.pay_type = e;
},
/*是否使用积分选择*/
onShowPoints: function(e) {
let self = this;
if (e.target.value == true) {
self.is_use_points = 1;
} else {
self.is_use_points = 0;
}
self.getData();
},
/*选择优惠卷*/
onTogglePopupCoupon(e, id) {
let self = this;
if (id != 0) {
self.chooseSotr = id.shop_supplier_id;
} else {
self.chooseSotr = 0;
}
self.isCoupon = true;
self.couponList = e;
},
/*关闭优惠券*/
closeCouponFunc(e) {
let self = this;
if (e && typeof e != 'number') {
self.isCoupon = false;
return;
}
if (self.chooseSotr != 0) {
let storid = self.chooseSotr;
if (e > 0) {
self.store_data[storid].coupon_id = e;
} else {
self.store_data[storid].coupon_id = 0;
}
self.chooseSotr = 0;
} else {
if (e > 0) {
self.coupon_id = e;
} else {
self.coupon_id = 0;
}
}
self.isCoupon = false;
self.getData();
},
/*获取数据*/
getData() {
let self = this;
uni.showLoading({
title: '加载中'
});
let callback = function(res) {
self.OrderData = res.data.orderInfo.orderData;
self.temlIds = res.data.template_arr;
self.ProductData = res.data.orderInfo.supplierList;
self.exist_address = self.OrderData.exist_address;
self.Address = self.OrderData.address;
self.last_extract = self.OrderData.last_extract;
if (self.options.order_type != 'deposit') {
self.coupon_list = self.OrderData.coupon_list;
self.coupon_id = self.OrderData.coupon_id_sys;
self.coupon_num = Object.keys(self.coupon_list).length;
}
self.balance = res.data.balance;
//#ifdef MP-WEIXIN
self.store_open = res.data.store_open;
//#endif
if (self.OrderData.order_pay_price == 0) {
self.pay_type = 10;
}
if (JSON.stringify(self.store_data) == "{}") {
self.init()
}
if (res.data.show_alipay) {
self.showAlipay = true;
}
self.loading = false;
};
// 请求的参数
let params = {
delivery: self.delivery,
store_id: self.store_id,
coupon_id: self.coupon_id,
is_use_points: self.is_use_points,
// pay_source: self.getPlatform()
pay_source: 'android'
};
if (JSON.stringify(self.store_data) == "{}") {
params = params;
} else {
params = {
...params,
supplier: self.store_data
};
}
//直接购买
if (self.options.order_type === 'buy') {
self._get(
'order.order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
product_id: self.options.product_id,
product_num: self.options.product_num,
product_sku_id: self.options.product_sku_id,
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
//定金
else if (self.options.order_type === 'deposit') {
let test = Object.assign({}, params, {
product_id: self.options.product_id,
product_num: self.options.product_num,
product_sku_id: self.options.product_sku_id,
advance_product_sku_id: self.options.advance_product_sku_id,
advance_product_id: self.options.advance_product_id
})
console.log(test)
self._get(
'plus.advance.Order/frontBuy', {
params: JSON.stringify(
Object.assign({}, params, {
product_id: self.options.product_id,
product_num: self.options.product_num,
product_sku_id: self.options.product_sku_id,
advance_product_sku_id: self.options.advance_product_sku_id,
advance_product_id: self.options.advance_product_id
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
//尾款
else if (self.options.order_type === 'retainage') {
self._get(
'plus.advance.Order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
order_id: self.options.order_id,
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
// 购物车结算
else if (self.options.order_type === 'cart') {
self._get(
'order.order/cart', {
params: JSON.stringify(
Object.assign({}, params, {
cart_ids: self.options.cart_ids || 0
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
// 积分兑换结算
else if (self.options.order_type == 'points') {
console.log(self.options);
self._get(
'plus.points.order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
point_product_id: self.options.point_product_id,
product_sku_id: self.options.product_sku_id,
point_product_sku_id: self.options.point_product_sku_id,
product_num: self.options.product_num
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
// 限时秒杀
else if (self.options.order_type === 'seckill') {
params.num = self.options.num;
self._get(
'plus.seckill.order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
seckill_product_id: self.options.seckill_product_id,
product_sku_id: self.options.product_sku_id,
seckill_product_sku_id: self.options.seckill_product_sku_id,
product_num: self.options.product_num
}))
}
,
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
//砍价
else if (self.options.order_type === 'bargain') {
self._get(
'plus.bargain.order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
bargain_product_id: self.options.bargain_product_id,
product_sku_id: self.options.product_sku_id,
bargain_product_sku_id: self.options.bargain_product_sku_id,
bargain_task_id: self.options.bargain_task_id
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
//拼团
else if (self.options.order_type === 'assemble') {
self._get(
'plus.assemble.order/buy', {
params: JSON.stringify(
Object.assign({}, params, {
assemble_product_id: self.options.assemble_product_id,
product_sku_id: self.options.product_sku_id,
assemble_product_sku_id: self.options.assemble_product_sku_id,
product_num: self.options.product_num,
assemble_bill_id: self.options.assemble_bill_id,
})
)
},
function(res) {
callback(res);
},err=>{
uni.navigateBack()
}
);
}
},
toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return "0.00";
}
var f = Math.round(x * 100)
var n = Math.round(x * 1000)
var r = n.toString().split("");
r = r[r.length - 1];
if (r >= 5) {
f = (f - 1) / 100
} else {
f = f / 100
}
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
},
/* 配送选择 */
DistUp(item) {
if (item.orderData.delivery == 30) {
return
}
let self = this;
self.store_id = item.shop_supplier_id;
self.chooseSotr = item.shop_supplier_id;
self.choose_delivery = item.orderData.delivery;
let storid = self.chooseSotr;
self.getData();
self.deliverySetting = item.orderData.deliverySetting;
self.extract_store = item.orderData.extract_store;
this.isDist = true;
},
/* 关闭配送选择 */
closeDistFunc(e) {
let self = this;
self.choose_delivery = e;
self.isDist = false;
let storname = '';
if (self.extract_store.region) {
storname = self.extract_store.region.province + self.extract_store.region.city + self.extract_store
.region.region + self.extract_store.store_name;
}
let storid = self.chooseSotr;
let choose_store_id = self.choose_store_id;
self.delivery = self.choose_delivery;
self.store_id = storid;
self.store_data[storid].store_id = choose_store_id;
self.store_data[storid].delivery = self.choose_delivery;
self.store_list[storid] = storname;
self.chooseSotr = 0;
self.getData();
},
objKeys(obj, n) {
if (obj) {
if (n == 1) {
return Object.keys(obj).length
} else {
return Object.keys(obj)
}
}
},
/*提交订单*/
SubmitOrder() {
let self = this;
if (self.exist_address) {
uni.showLoading({
title: '加载中',
mask: true
});
let params = {
pay_type: self.pay_type,
room_id: self.room_id,
coupon_id: self.coupon_id,
is_use_points: self.is_use_points,
// pay_source: self.getPlatform()
};
params = Object.assign(params, {
supplier: self.store_data
});
// 创建订单-直接下单
let url = '';
if (self.options.order_type === 'buy') {
url = 'order.order/buy';
params = Object.assign(params, {
product_id: self.options.product_id,
product_num: self.options.product_num,
product_sku_id: self.options.product_sku_id,
room_id: self.options.room_id || 0
});
params = JSON.stringify(params)
}
if (self.options.order_type === 'deposit') {
url = 'plus.advance.Order/frontBuy';
params = Object.assign(params, {
product_id: self.options.product_id,
product_num: self.options.product_num,
product_sku_id: self.options.product_sku_id,
advance_product_sku_id: self.options.advance_product_sku_id,
advance_product_id: self.options.advance_product_id
});
params = JSON.stringify(params)
}
if (self.options.order_type === 'retainage') {
url = 'plus.advance.Order/buy';
params = Object.assign(params, {
order_id: self.options.order_id,
});
params = JSON.stringify(params)
}
// 创建订单-购物车结算
if (self.options.order_type === 'cart') {
url = 'order.order/cart';
params = Object.assign(params, {
cart_ids: self.options.cart_ids || 0,
// video_id: self.options.video_id || 0,
room_id: self.options.room_id || 0
});
params = JSON.stringify(params)
}
// 创建订单-积分兑换
if (self.options.order_type === 'points') {
url = 'plus.points.order/buy';
params = Object.assign(params, {
point_product_id: self.options.point_product_id,
product_sku_id: self.options.product_sku_id,
point_product_sku_id: self.options.point_product_sku_id,
product_num: self.options.product_num
});
params = JSON.stringify(params)
}
// 创建订单-限时秒杀
if (self.options.order_type === 'seckill') {
url = 'plus.seckill.order/buy';
params.num = self.options.num;
params = Object.assign(params, {
seckill_product_id: self.options.seckill_product_id,
product_sku_id: self.options.product_sku_id,
seckill_product_sku_id: self.options.seckill_product_sku_id,
product_num: self.options.product_num
});
params = JSON.stringify(params)
}
// 创建订单-砍价
if (self.options.order_type === 'bargain') {
url = 'plus.bargain.order/buy';
params = Object.assign(params, {
bargain_product_id: self.options.bargain_product_id,
product_sku_id: self.options.product_sku_id,
bargain_product_sku_id: self.options.bargain_product_sku_id,
bargain_task_id: self.options.bargain_task_id
});
params = JSON.stringify(params)
}
// 创建订单-限时拼团
if (self.options.order_type === 'assemble') {
url = 'plus.assemble.order/buy';
params = Object.assign(params, {
assemble_product_id: self.options.assemble_product_id,
product_sku_id: self.options.product_sku_id,
assemble_product_sku_id: self.options.assemble_product_sku_id,
assemble_bill_id: self.options.assemble_bill_id,
product_num: self.options.product_num,
});
params = JSON.stringify(params)
}
let callback = function() {
self._post(url, {
params
}, function(res) {
let ids = '';
let pages = '';
if (self.options.order_type == 'deposit') {
pages = '/pages/order/cashier?order_type=50&order_id=' + res.data.order_id;
} else if (self.options.order_type == 'retainage') {
ids = res.data.order_id;
pages = '/pages/order/cashier?order_type=10&order_id=' + ids;
} else {
ids = encodeURIComponent(res.data.order_id.join(','));
pages = '/pages/order/cashier?order_type=10&order_id=' + ids;
}
console.log(pages)
self.gotoPage(pages,'reLaunch');
});
};
self.subMessage(self.temlIds, callback);
} else {
uni.showToast({
title: '请选择配送地址'
})
}
},
}
};
</script>
<style lang="scss">
page {
background-color: #F2F2F2;
}
.f-d-c {
flex-direction: column;
}
.wrap {
padding-bottom: 110rpx;
}
.d-f-c {
display: flex;
justify-content: space-between;
align-items: center;
overflow: hidden;
padding: 30rpx 0;
margin: 0 30rpx;
font-size: 24rpx;
border-bottom: 1rpx solid #EEEEEE;
}
.dfjac {
display: flex;
align-items: center;
}
.d-txar {
white-space: nowrap;
width: 200px;
margin-right: 34rpx;
}
.extp {
color: #9e9e9e;
margin-left: 34rpx;
}
.vender .list .item {
border-bottom: none;
}
.icon-jiantou {
margin-left: 15rpx;
}
.icon-dianpu1 {
margin-right: 15rpx;
font-size: 28rpx;
color: #333333;
}
.sup_itemtit {
padding: 40rpx 30rpx;
display: flex;
align-items: center;
}
.vender .total-box {
height: 87rpx;
line-height: 87rpx;
border-bottom: 16rpx solid #f2f2f2;
}
.d-f {
display: flex;
}
.zt {
padding: 2rpx 10rpx;
margin-right: 10rpx;
border-radius: 8rpx;
font-size: 22rpx;
}
.icon-box .icon-zhifubao {
color: #1296db;
font-size: 50rpx;
}
.icon-dianpu1 {}
.text_area {
width: 100%;
height: 120rpx;
background: #f2f2f2;
border-radius: 6rpx;
padding: 20rpx;
box-sizing: border-box;
font-size: 24rpx;
}
.icon-xuanze {
font-size: 38rpx;
}
.buy-checkout .item {
padding: 30rpx 0;
margin: 0 30rpx;
}
</style>