cashier_weapp/pagesOrder/components/orderInfoAfter.vue

967 lines
27 KiB
Vue

<template>
<view>
<view class="card_box">
<view class="card_head_box">
<view class="card_head_item" v-for="(item,index) in 8" :key="index"></view>
</view>
<view class="card">
<!-- 订单头部 -->
<view class="card_item" v-for="(item,index) in listinfo.detailList" :key="index">
<view class="head">
<view class="head_left">
<text class="placeNum">第{{item.placeNum}}次下单</text>
<text class="placeTime">{{item.placeTime}}</text>
</view>
</view>
<!-- 订单详情 -->
<view class="shop-info">
<view class="item" v-for="(items,indexs) in item.info" :key="indexs">
<view class="cover">
<u-image width="152" height="152" radius="16" :src="items.productImg" v-if="items.productId!=-999"></u-image>
<u-image width="152" height="152" radius="16" :src="'https://czg-qr-order.oss-cn-beijing.aliyuncs.com/confirmOrder/table.png'" mode="heightFix" v-else></u-image>
</view>
<view class="info">
<text class="productName">{{items.productName}}</text>
<text class="productSkuName" v-if="items.productSkuName">{{items.productSkuName}}</text>
</view>
<view class="price">
<view class="priceAmount">¥{{items.priceAmount}}</view>
<view class="num">x{{items.num}}</view>
</view>
</view>
</view>
<view class="status" v-if="listinfo.status == 'unpaid' || listinfo.status == 'paying'">未付款</view>
<view class="totalAmount">
<view class="label">小计¥</view>
<view class="price"> {{item.totalAmount}} </view>
</view>
<view class="semicircle_icon" v-if="index > 0">
<view class="semicircle_left_icon"></view>
<view class="semicircle_right_icon"></view>
</view>
</view>
<view class="cell-item" v-if="listinfo.orderInfo.seatCount > 0">
<view class="label">餐位费</view>
<view class="val">
<view>X{{listinfo.orderInfo.seatCount}}</view>
<view style="font-size: 28rpx;">¥</view>
<view>{{listinfo.orderInfo.seatAmount}}</view>
</view>
</view>
<block v-if="listinfo.status == 'unpaid' || listinfo.status == 'paying'">
<view v-for="(item,indexe) in favorable" :key="indexe" >
<view v-if="!rechargeFreeChecked" class="favorable" :class="{column:item.value.length>0&&item.type=='product'}" @click="goUrl(item)">
<view class="favorable_left">
<!-- <image class="icon" :src="item.url" mode="aspectFill"/> -->
<text class="name"> {{ item.name }} </text>
</view>
<view class="favorable_right" v-if="item.type=='coupon'">
<text class="favorable_right_text">{{item.value}}</text>
<u-icon name="arrow-right" color="#575B66" size="28" v-if="listinfo.status == 'unpaid' || listinfo.status == 'paying'"></u-icon>
</view>
<view class="favorable_right" :class="{column:item.value.length>0}" v-if="item.type=='product'">
<view :class="{column:item.value.length>0}">
<view class="favorable_right_text" v-for="(items,indexs) in item.value" :key="indexs">
<text>{{items.name}}</text>
<text>X{{items.num}}</text>
<text>-¥{{items.discountAmount || 0}}</text>
</view>
</view>
<u-icon name="arrow-right" color="#575B66" size="28" style="margin-top: 5rpx;"></u-icon>
</view>
<view class="favorable_right" v-if="item.type=='points'" @click.stop="pointsChange">
<text class="favorable_right_text" style="color: #666;margin-right: 16rpx;" v-if="calcUsablePointsData.usable">
使用 {{ calcUsablePointsData.pointsNum}} 积分抵扣¥{{calcUsablePointsData.pointsNum/calcUsablePointsData.equivalentPoints}}
</text>
<text class="favorable_right_text" style="color: #666;margin-right: 16rpx;color: #DE4D3A;" v-else>
{{calcUsablePointsData.unusableReason||''}}
</text>
<u-checkbox-group iconPlacement="right" @change="pointsChange">
<u-checkbox v-model="isPointsChecked" :disabled="freeCheck||!calcUsablePointsData.usable" :checked="isPointsChecked" activeColor="#E8AD7B" shape="circle" icon-size="36" size="36">
</u-checkbox>
</u-checkbox-group>
</view>
</view>
</view>
</block>
<block v-else>
<block v-for="(item,index) in listinfo.orderInfo.couponInfoList.fullReductionCoupon" :key="index">
<view class="cell-item" v-if="item.type == 1">
<view class="label">优惠券</view>
<view class="val">
<view></view>
<view style="font-size: 28rpx;">-¥</view>
<view>{{item.discountAmount}}</view>
</view>
</view>
</block>
<view class="cell-item column" v-if="listinfo.orderInfo.couponInfoList.productCoupon.length > 0">
<view class="label">商品券</view>
<view class="val column">
<view class="productCoupon" v-for="(item,index) in listinfo.orderInfo.couponInfoList.productCoupon" :key="index">
<view class="name">{{item.name}}</view>
<view class="num">X{{item.finalUseNum}}</view>
<view class="amount">-{{item.finalDiscountAmount}}</view>
</view>
</view>
</view>
<view class="cell-item" v-if="listinfo.orderInfo && listinfo.orderInfo.pointsDiscountAmount && listinfo.orderInfo.pointsDiscountAmount > 0">
<view class="label">积分抵扣</view>
<view class="val">
<view></view>
<view style="font-size: 28rpx;">¥</view>
<view>{{listinfo.orderInfo.pointsDiscountAmount.toFixed(2)}}</view>
</view>
</view>
</block>
<view class="total-wrap">
<view>总计¥</view>
<view class="price"> {{listinfo.payAmount}} </view>
</view>
</view>
</view>
<view class="orderInfo">
<view class="row" @click="copyHandle(listinfo.orderNo)">
<text class="t">订单编号:</text>
<text class="info">{{listinfo.orderNo}}(点击复制)</text>
</view>
<view class="row">
<text class="t">下单时间:</text>
<text class="info">{{$u.timeFormat(listinfo.time, 'yyyy-mm-dd hh:MM:ss')}}</text>
</view>
<view class="row">
<text class="t">下单门店:</text>
<text class="info">{{listinfo.name}}</text>
</view>
<view class="row">
<text class="t">订单类型:</text>
<text class="info" v-if="listinfo.sendType == 'post'">快递</text>
<text class="info" v-if="listinfo.sendType == 'takeaway'">外卖</text>
<text class="info" v-if="listinfo.sendType == 'takeself'">自提</text>
<text class="info" v-if="listinfo.sendType == 'table'">堂食</text>
</view>
<view class="row">
<text class="t">备注:</text>
<text class="info">{{ listinfo.orderInfo.remark || ""}}</text>
</view>
<view class="row">
<text class="t">就餐人数:</text>
<text class="info">{{ listinfo.orderInfo.seatCount || ""}}</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
favorable: [
{ name: "优惠券", type: "coupon",value: "", url: "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/confirmOrder/coupon.png"},
{ name: "商品券", type: "product",value: [], url: "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/confirmOrder/coupon.png"},
// { name: "团购优惠", type: "group",value: "", url: "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/confirmOrder/groupOffer.png"},
{ name: "积分抵扣", type: "points",value: "", url: "https://czg-qr-order.oss-cn-beijing.aliyuncs.com/confirmOrder/points.png" }
],
calcUsablePointsData: null,
isShow: false,
payAmount: 0,
isPointsChecked: false,
userCouponInfos: [],
selectCouponData: [],
}
},
props:{
rechargeFreeChecked: {
type: Boolean
},
freeCheck: {
type: Boolean
},
listinfo:{
type: Object
},
amountVIP:{
type: Object
},
},
watch :{
listinfo:{
immediate: true,
handler (newVal) {
console.log(newVal)
this.$forceUpdate()
}
},
rechargeFreeChecked:{
immediate: true,
handler (newVal) {
console.log(this.isPointsChecked)
if ( newVal ) {
// let couponList = this.userCouponInfos.filter(v => v.type == 1);
// this.listinfo.payAmount = (couponList.length > 0 ? Number(this.listinfo.payAmount) + couponList[0].discountAmount : this.listinfo.payAmount)
// let productList = this.userCouponInfos.filter(v => v.type == 2);
// productList.map(item=> {
// this.listinfo.payAmount += item.productPayAmount
// })
this.isPointsChecked = false
this.$emit("setPayAmount",{
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
})
}
// this.userCouponInfos = []
}
},
},
mounted() {
this.payAmount = this.listinfo.payAmount;
uni.cache.set('selectCouponData',[])
this.isShow = true;
console.log(this.listinfo.orderInfo.couponInfoList)
if ( this.listinfo.orderInfo.couponInfoList ) {
if ( this.listinfo.orderInfo.couponInfoList.fullReductionCoupon.length > 0) {
let couponData = this.listinfo.orderInfo.couponInfoList.fullReductionCoupon[0]
this.favorable[0].value = '-¥'+couponData.discountAmount
this.payAmount = this.payAmount + couponData.discountAmount
this.userCouponInfos.push({
userCouponId: couponData.id,
type: couponData.type,
discountAmount: couponData.discountAmount,
num: couponData.num,
})
let selectCouponData = uni.cache.get('selectCouponData') || [];
selectCouponData.push(couponData)
uni.cache.set('selectCouponData',selectCouponData)
}
if ( this.listinfo.orderInfo.couponInfoList.productCoupon.length > 0) {
this.listinfo.orderInfo.couponInfoList.productCoupon.map(item=>{
this.userCouponInfos.push({
userCouponId: item.id,
type: item.type,
productId: item.proId,
discountAmount: item.finalDiscountAmount,
num: item.finalUseNum,
})
this.favorable[1].value.push({
userCouponId: item.id,
name: item.name,
type: item.type,
productId: item.proId,
discountAmount: item.finalDiscountAmount,
num: item.finalUseNum,
})
this.payAmount = this.payAmount + item.finalDiscountAmount
let selectCouponData = uni.cache.get('selectCouponData') || [];
selectCouponData.push(item)
uni.cache.set('selectCouponData',selectCouponData)
})
}
}
let calcUsablePointsData = {}
if ( this.listinfo.orderInfo.pointsDiscountAmount ) {
this.payAmount = this.payAmount + this.listinfo.orderInfo.pointsDiscountAmount
this.isPointsChecked = true;
calcUsablePointsData.pointsNum = this.listinfo.orderInfo.pointsDiscountAmount
}
this.$emit("setPayAmount",{
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeCheck: this.freeCheck,
isPointsChecked: this.isPointsChecked,
calcUsablePointsData: calcUsablePointsData,
})
},
methods: {
childOnShow() {
console.log('isShow==',this.isShow)
if (!this.isShow ) {
this.getCalcUsablePoints()
return;
}
// uni.$on('couponItem',this.changeCoupon)
this.userCouponInfos = [];
this.favorable[0].value = ""
this.favorable[1].value = []
this.listinfo.payAmount = this.payAmount
this.selectCouponData = uni.cache.get('selectCouponData') || []
this.changeCoupon();
},
/**
* 监听优惠券/商品券选择
* @param {Object} data
*/
changeCoupon ( data ) {
// 优惠券数据
let couponList = this.selectCouponData.filter(v => v.type == 1);
// 商品券列表
let productList = this.selectCouponData.filter(v => v.type == 2);
// 优惠券处理
if ( couponList.length > 0 ) {
let couponData = couponList[0]
//不包含优惠券的金额
let currentPayAmount = (this.userCouponInfos.filter(v => v.type == 1).length > 0 ? Number(this.listinfo.payAmount) + couponData.discountAmount : this.listinfo.payAmount)
// 判断优惠金额不能大于支付金额
if ( couponData.discountAmount <= currentPayAmount) {
// if ( this.isPointsChecked && this.calcUsablePointsData) {
// this.listinfo.payAmount = (this.listinfo.payAmount-(this.calcUsablePointsData.pointsNum/this.calcUsablePointsData.equivalentPoints)).toFixed(2);
// } else {
// this.listinfo.payAmount = (Number(this.listinfo.payAmount)+(this.calcUsablePointsData.pointsNum/this.calcUsablePointsData.equivalentPoints)).toFixed(2);
// }
this.listinfo.payAmount = ( currentPayAmount - couponData.discountAmount).toFixed(2)
this.favorable[0].value = ('-¥'+couponData.discountAmount)
this.userCouponInfos.push({
userCouponId: couponData.id,
type: couponData.type,
discountAmount: couponData.discountAmount,
num: couponData.type == 1 ? 1 : couponData.num,
})
this.$emit("setPayAmount",{
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
})
} else {
uni.showToast({
title: "优惠券满减金额大于订单金额不可使用",
icon: "none",
})
}
}
// 商品券处理
if ( productList.length > 0 ) {
//商品券使用数量
let payAmount = this.listinfo.payAmount
productList.map((item,index)=>{
// 筛选选中商品券商品列表
let productDetails = this.listinfo.details.filter(v => v.productId == item.proId);
//金额从小到大排序
let minCouponList = productDetails.sort((a, b) => (a.memberPrice > 0 ? a.memberPrice : a.salePrice) - (b.memberPrice > 0 ? b.memberPrice : b.salePrice))
// 商品数量
let productAllNum = 0;
let productNum = 0
let productPayAmount = 0
minCouponList.map((v,indexs) => {
productNum = 0;
productPayAmount = 0;
let productDetailsNum = 0;
productDetails.map((v,indexs) => {
productDetailsNum += v.num;
})
for (let i = 0; i < v.num; i++){
if ( productAllNum < productDetailsNum && productNum < item.num && ((v.memberPrice > 0 ? v.memberPrice : v.price) <= (payAmount - productPayAmount) )) {
productNum++
productAllNum++
productPayAmount += v.memberPrice > 0 ? v.memberPrice : v.price
}
}
payAmount = payAmount - productPayAmount
})
if ( productNum > 0 ) {
this.userCouponInfos.push({
userCouponId: item.id,
type: item.type,
productId: item.proId,
discountAmount: productPayAmount,
num: productNum ,
})
this.favorable[1].value.push({
userCouponId: item.id,
name: item.name,
type: item.type,
productId: item.proId,
discountAmount: productPayAmount,
num: productNum,
})
}
})
}
this.setPayAmount()
},
setPayAmount ( cartLists ) {
let tableFee;
// this.storeInfo.registerType == 'munchies'
if ( this.userCouponInfos.length > 0 ) {
console.log(this.userCouponInfos)
this.userCouponInfos.forEach(item => {
if ( item.type == 2 ) {
if ( item.discountAmount && item.discountAmount > 0 ) {
this.listinfo.payAmount = (this.listinfo.payAmount - item.discountAmount).toFixed(2)
}
}
})
}
this.isPointsChecked = false;
this.getCalcUsablePoints()
this.$emit("setPayAmount",{
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
})
},
/**
* 积分状态监听
*/
pointsChange (){
if ( this.freeCheck || !this.calcUsablePointsData.usable) {
return;
}
this.isPointsChecked = !this.isPointsChecked
if ( this.isPointsChecked ) {
this.listinfo.payAmount = (this.listinfo.payAmount-(this.calcUsablePointsData.pointsNum/this.calcUsablePointsData.equivalentPoints)).toFixed(2);
} else {
this.listinfo.payAmount = (Number(this.listinfo.payAmount)+(this.calcUsablePointsData.pointsNum/this.calcUsablePointsData.equivalentPoints)).toFixed(2);
}
this.$emit("setPayAmount",{
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeDisabled: this.freeDisabled,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
})
},
goUrl(item){
if ( this.listinfo.status == 'unpaid' || this.listinfo.status == 'paying') {
let couopnInfo;
switch (item.type){
case 'coupon':
let payAmount = this.listinfo.payAmount;
let couponList = this.userCouponInfos.filter(v => v.type == 1);
if ( couponList.length > 0 ) {
payAmount = payAmount + couponList.discountAmount;
}
couopnInfo = {
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeDisabled: this.freeDisabled,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
}
uni.pro.navigateTo('/pages/user/coupon', {
type: "orderInfo_coupon",
shopId: this.listinfo.shopId,
orderId: this.listinfo.orderInfo.id,
couopnInfo: JSON.stringify(couopnInfo),
payAmount: payAmount,
shoppingCart: JSON.stringify(this.listinfo.details),
productList: JSON.stringify(couponList)
})
break;
case 'product':
let productList = this.userCouponInfos.filter(v => v.type == 2);
couopnInfo = {
payAmount: this.listinfo.payAmount,
userCouponInfos: this.userCouponInfos,
freeDisabled: this.freeDisabled,
freeCheck: this.freeCheck,
calcUsablePointsData: this.calcUsablePointsData,
isPointsChecked: this.isPointsChecked,
}
uni.pro.navigateTo('/pages/user/coupon', {
type: "orderInfo_product",
shopId: this.listinfo.shopId,
orderId: this.listinfo.orderInfo.id,
couopnInfo: JSON.stringify(couopnInfo),
payAmount: this.listinfo.payAmount,
shoppingCart: JSON.stringify(this.listinfo.details),
productList: JSON.stringify(productList)
})
break;
}
}
},
/**
* 获取积分相关信息
*/
async getCalcUsablePoints() {
let params = {
memberId: this.listinfo.orderInfo.memberId,
}
if ( this.listinfo.orderInfo.pointsDiscountAmount ) {
params.orderAmount = this.listinfo.payAmount + this.listinfo.orderInfo.pointsDiscountAmount
} else {
params.orderAmount = this.listinfo.payAmount
}
let res = await this.api.calcUsablePoints(params)
this.calcUsablePointsData = res.data;
if ( this.calcUsablePointsData.usable && params.orderAmount >= this.calcUsablePointsData.minPaymentAmount) {
this.calcUsablePointsData.pointsNum = this.calcUsablePointsData.accountPoints >= this.calcUsablePointsData.maxUsablePoints ? this.calcUsablePointsData.maxUsablePoints : this.calcUsablePointsData.accountPoints
}
},
/**
* 复制订单号
* @param {Object} e
*/
copyHandle(e) {
uni.setClipboardData({
data: e,
success() {
uni.showToast({
title: '复制成功',
icon: 'none'
});
}
});
},
}
}
</script>
<style lang="scss">
.card_box{
background-color: #fff;
// box-shadow: 0rpx 8rpx 12rpx 2rpx rgba(87,86,86,0.35);
position: relative;
width: 100%;
height: 100%;
// box-shadow: 0rpx 4rpx 12rpx 2rpx rgba(87,86,86,0.35);
border-radius: 18rpx;
padding-bottom: 32rpx;
.card_head_box{
width: 100%;
display: flex;
justify-content: space-between;
position: absolute;
top: -22.5rpx;
padding: 0 44rpx;
.card_head_item{
width: 45rpx;
height: 45rpx;
background-color: #f9f9f9;
border-radius: 50%;
// box-shadow: inset 0rpx -13rpx 18rpx -16rpx rgba(87, 86, 86, 0.35);
}
}
.card {
// background-color: #fff;
border-radius: 20upx;
margin-bottom: 28upx;
position: relative;
.card_item{
display: flex;
flex-direction: column;
position: relative;
padding: 0 34rpx;
.head {
display: flex;
justify-content: space-between;
padding: 32rpx 0;
.head_left{
display: flex;
align-items: center;
.placeNum{
font-weight: bold;
font-size: 32rpx;
color: #333333;
margin-right: 32rpx;
flex-shrink: 0;
}
.placeTime{
font-weight: 400;
font-size: 32rpx;
color: #666666;
flex-shrink: 0;
}
}
}
.shop-info {
border-bottom: 2rpx dashed #e5e5e5;
.item:nth-child(1) {
margin-top: 0;
}
.item {
margin-bottom: 32rpx;
display: flex;
.cover{
}
.info {
flex: 1;
display: flex;
flex-direction: column;
padding-left: 16upx;
.productName{
font-weight: bold;
font-size: 28rpx;
color: #333333;
margin-top: 20rpx;
}
.productSkuName{
font-weight: 400;
font-size: 24rpx;
color: #999999;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}
.n {
font-size: 24upx;
color: #999;
}
}
.price{
display: flex;
flex-direction: column;
align-items: flex-end;
padding-left: 68rpx;
.priceAmount{
font-weight: 500;
font-size: 28rpx;
color: #333333;
margin-top: 26rpx;
}
.num{
font-weight: 400;
font-size: 24rpx;
color: #999999;
margin-top: 22rpx;
}
}
}
}
.status{
align-self: flex-end;
width: 92rpx;
height: 40rpx;
line-height: 40rpx;
text-align: center;
background: #999999;
border-radius: 10rpx 10rpx 10rpx 10rpx;
font-weight: 400;
font-size: 22rpx;
color: #FFFFFF;
margin-top: 32rpx;
}
.totalAmount {
width: 100%;
display: flex;
justify-content: flex-end;
align-items: flex-end;
padding: 32rpx 0;
border-bottom: 2rpx dashed #e5e5e5;
.label{
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
.price{
font-weight: bold;
font-size: 36rpx;
color: #333333;
}
}
.semicircle_icon{
width: 100%;
position: absolute;
top: -22.5rpx;
left: 0;
display: flex;
justify-content: space-between;
.semicircle_left_icon{
width: 45rpx;
height: 45rpx;
margin-left: -22.5rpx;
background-color: #f9f9f9;
border-radius: 50%;
// box-shadow: inset -20rpx 0rpx 22rpx -20rpx rgba(87, 86, 86, 0.35);
}
.semicircle_right_icon{
width: 45rpx;
height: 45rpx;
margin-right: -22.5rpx;
background-color: #f9f9f9;
border-radius: 50%;
// box-shadow: inset 13rpx 0rpx 16rpx -9rpx rgba(87, 86, 86, 0.35);
}
}
}
.cell-item{
display: flex;
align-items: center;
justify-content: space-between;
padding: 32rpx 34rpx 0 34rpx;
.label{
font-weight: bold;
font-size: 32rpx;
color: #333333;
padding-bottom: 32rpx;
}
.val{
display: flex;
align-items: flex-end;
padding-bottom: 32rpx;
border-bottom: 2rpx dashed #e5e5e5;
view:nth-child(1){
font-weight: 400;
font-size: 24rpx;
color: #999999;
margin-right: 42rpx;
}
view:nth-child(2){
display: flex;
align-items: flex-end;
font-weight: bold;
font-size: 36rpx;
color: #333333;
}
}
.val.column{
display: flex;
flex-direction: column;
.productCoupon{
display: flex;
align-items: flex-end;
margin: 0 0 10rpx 0;
.name{
font-weight: 400;
font-size: 26rpx;
color: #999;
margin: 0;
}
.num{
font-weight: 400;
font-size: 26rpx;
color: #999;
margin: 0 30rpx;
line-height: 20rpx;
}
.amount{
font-weight: bold;
font-size: 26rpx;
color: #333;
}
}
}
}
.favorable{
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 30rpx;
box-sizing: border-box;
padding-bottom: 26rpx;
padding-top: 26rpx;
border-bottom: 2rpx solid #E5E5E5;
.favorable_left{
display: flex;
align-items: center;
.icon{
width: 40rpx;
height: 40rpx;
margin-right: 16rpx;
}
.name{
font-size: 28rpx;
font-weight: 400rpx;
color: #333;
}
}
.favorable_right{
display: flex;
align-items: center;
.favorable_right_text{
font-size: 24rpx;
color: #999;
font-weight: 400rpx;
}
}
.favorable_right{
.column{
display: flex;
flex-direction: column;
align-items: flex-end;
.favorable_right_text{
margin-bottom: 10rpx;
text:nth-child(1){
font-size: 26rpx;
color: #999;
}
text:nth-child(2){
font-size: 26rpx;
color: #999;
margin: 0 30rpx;
}
text:nth-child(3){
font-size: 26rpx;
color: #333;
}
}
}
}
.favorable_right.column{
align-items: flex-start;
}
}
.favorable.column{
align-items: flex-start;
}
.cell-item.column{
align-items: flex-start;
}
.total-wrap {
width: 100%;
display: flex;
justify-content: flex-end;
align-items: flex-end;
padding: 0 34rpx;
font-weight: bold;
font-size: 28rpx;
color: #333333;
margin-top: 64rpx;
.price{
font-weight: bold;
font-size: 36rpx;
}
}
.order_footer{
display: flex;
flex-direction: column;
padding: 34rpx;
position: relative;
}
}
}
.orderInfo{
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
margin-top: 32rpx;
padding: 32rpx 34rpx;
// box-shadow: 0rpx 4rpx 12rpx 2rpx rgba(87,86,86,0.35);
.row {
display: flex;
justify-content: space-between;
margin-bottom: 32rpx;
.t {
font-weight: bold;
font-size: 28rpx;
color: #333333;
flex-shrink: 0;
}
.info {
font-weight: 400;
font-size: 28rpx;
color: #666666;
}
}
.row:last-child{
margin-bottom: none;
}
}
.fixedview {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
.flex-between {
width: 100%;
padding: 36rpx 54rpx 102rpx 54rpx;
background: #FFFFFF;
.fixedview_one {
display: flex;
align-items: flex-end;
.fixedview_oneone {
font-weight: 400;
font-size: 28rpx;
color: #666666;
}
.fixedview_onetow {
font-weight: bold;
font-size: 32rpx;
color: #333333;
text {
font-size: 24rpx;
}
}
}
.fixedview_tow {
width: 140rpx;
height: 56rpx;
line-height: 56rpx;
text-align: center;
background: #E3AD7F;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
}
}
}
</style>