You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
yanzong_qianduan/pages/order/detail.vue

1415 lines
31 KiB

<template>
<view class="detail">
<view>
<u-navbar title="订单详情" back-icon-color="#fff" :border-bottom="false" title-color="#333"
:background="background"></u-navbar>
</view>
<view class="send">
<!-- 进行中的订单 -->
<block v-if="order.order_status == OrderStatusEnum.NORMAL.value">
<!-- 待支付 -->
<block v-if="order.pay_status == PayStatusEnum.PENDING.value">
<image class="car" src="/static/order/status/wait_pay.png" mode="aspectFit"></image>
</block>
<!-- 待发货 -->
<block v-else-if="order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
<image class="car" src="/static/order/status/wait_deliver.png" mode="aspectFit"></image>
</block>
<!-- 待收货 -->
<block v-else-if="order.receipt_status == ReceiptStatusEnum.NOT_RECEIVED.value">
<image class="car" src="/static/order/status/wait_receipt.png" mode="aspectFit"></image>
</block>
</block>
<!-- 已完成 -->
<block v-if="order.order_status == OrderStatusEnum.COMPLETED.value">
<image class="car" src="/static/order/status/received.png" mode="aspectFit"></image>
</block>
<!-- 已取消/待取消 -->
<block
v-if="order.order_status == OrderStatusEnum.CANCELLED.value || order.order_status == OrderStatusEnum.APPLY_CANCEL.value">
<image class="car" src="/static/order/status/close.png" mode="aspectFit"></image>
</block>
<view class="sendInfo">
<view class="shopInfo">
<text>{{order.state_text}}</text>
</view>
<view class="sendTime">
{{order.create_time}}
</view>
</view>
</view>
<view class="consignee" v-if="order.delivery_type == DeliveryTypeEnum.EXTRACT.value">
<view class="conLeft">
<view class="thr">
<view class="peo">提货人</view>
<view class="name">{{ order.extract_shop.linkman }}</view>
</view>
<view class="thr">
<view class="peo">手机号</view>
<view class="name">{{ order.extract_shop.phone }}</view>
</view>
<!-- <view class="thr">
<view class="peo">预计到店时间</view>
<view class="name">2023-12-20 09:15</view>
</view> -->
</view>
<view class="conRight" @click="openCode">
<view class="code">
核销码
</view>
<view class="codeNum">
<image :src="qrcodeImage" @click="clickImg" mode=""></image>
</view>
<view class="openCode">
点击放大核销码
</view>
</view>
</view>
<view class="sendHome"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == DeliveryStatusEnum.DELIVERED.value">
<view class="fline">
<view class="leftInfo">
<image src="/static/order/am.png" mode="" class="am"></image>
<view class="gp">
<text>{{ order.address.name }}</text>
{{ order.address.phone }}
</view>
</view>
<view class="up" @click="onAdress(order.goods_id)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
修改
</view>
</view>
<view class="sl">
<text v-for="(region, idx) in order.address.region" :key="idx">{{ region }}</text>
{{order.address.detail}}
</view>
<view class="fline">
<view class="leftInfo">
<image src="/static/order/cd.png" mode="" class="am"></image>
<view class="gp">
<text>收货方式</text>
{{order.delivery_type==10?'快递配送':'门店自提'}}
</view>
</view>
<view class="up" @click="onCdDia(order.goods_id)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
我要催单
</view>
</view>
</view>
<view class="goodsDetail">
<view class="goodsType">
<image v-if="order.storeInfo" :src="order.storeInfo.image_url" mode="" class="bag"></image>
<text v-if="order.storeInfo">{{order.storeInfo.store_name}}</text>
</view>
<view class="goods" v-for="(goods, idx) in order.goods" :key="idx"
@click="handleTargetGoods(goods.goods_id)">
<view class="goodsImg">
<image :src="goods.goods_image" mode="aspectFill"></image>
</view>
<view class="goodsInfo">
<view class="goodsName">{{ goods.goods_name }}</view>
<view class="goodsPrice">
<text>¥{{ goods.is_user_grade ? goods.grade_goods_price : goods.goods_price }}</text>
</view>
</view>
<view class="">
<view class="goodsNum">
x{{ goods.total_num }}
</view>
<view class="up2" style="margin-top: 20rpx;" @tap.stop="onRefund(goods.order_id,goods,order)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.receipt_status == ReceiptStatusEnum.NOT_RECEIVED.value && order.delivery_status == DeliveryStatusEnum.DELIVERED.value">
退款
</view>
<view class="up2" style="margin-top: 20rpx;" @tap.stop="onRefund(goods.order_id,goods,order)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.receipt_status == ReceiptStatusEnum.RECEIVED.value && order.delivery_status == DeliveryStatusEnum.DELIVERED.value">
换货
</view>
</view>
</view>
<view class="fd">
共{{ order.total_num }}件商品,实付款¥<text>{{ order.pay_price }}</text>
</view>
<view class="line" v-if="order.pay_status == PayStatusEnum.PENDING.value">
</view>
<view class="cancel" @click="onCancel(order.order_id)"
v-if="order.pay_status == PayStatusEnum.PENDING.value">
取消订单
</view>
</view>
<view class="orderTips">
<view class="orderTitle">
<view class="total">
订单编号:
</view>
<view class="price">
{{ order.order_no }}
</view>
<view class="copy" @click="handleCopy(order.order_no)">
复制
</view>
</view>
<view class="orderTitle" v-if="order.pay_status == PayStatusEnum.SUCCESS.value">
<view class="total">
支付方式:
</view>
<view class="price">
{{order.pay_method}}
</view>
</view>
<view class="orderTitle">
<view class="total">
商品快照:
</view>
<view class="price">
核对交易细节时,可作为判断依据
</view>
<view class="copy">
查看
</view>
</view>
<view class="orderTitle" v-if="order.delivery_status == DeliveryStatusEnum.DELIVERED.value">
<view class="total" v-if="order.delivery[0].delivery_method != DeliveryMethodEnum.UNWANTED.value">
物流公司:
</view>
<view class="price">
{{order.delivery[0].express ? order.delivery[0].express.express_name : '--' }}
</view>
</view>
<view class="orderTitle">
<view class="total">
下单时间:
</view>
<view class="price">
{{ order.create_time }}
</view>
</view>
<view class="orderTitle" v-if="order.pay_status == PayStatusEnum.SUCCESS.value">
<view class="total">
支付时间:
</view>
<view class="price">
{{order.pay_time}}
</view>
</view>
<view class="orderTitle">
<view class="total">
期待配送时间:
</view>
<view class="price">
{{order.receipt_time}}
</view>
</view>
<view class="line">
</view>
<view class="amount">
<view class="share">
<image src="/static/order/share.png" mode=""></image>
分享
</view>
<view class="sp">
</view>
<view class="callShop" @click="callStore(order.storeInfo.phone)">
<image src="/static/order/share.png" mode=""></image>
联系商家
</view>
</view>
</view>
<view class="pickedUp" v-if="order.delivery_type == DeliveryTypeEnum.EXTRACT.value">
<view class="orderTitle">
<view class="total">
提货状态:
</view>
<view class="price">
{{order.ziti_status==0?'没提':'已提货'}}
</view>
</view>
<view class="orderTitle">
<view class="total">
提货日期:
</view>
<view class="price">
{{order.ziti_time}}
</view>
</view>
<view class="orderTitle">
<view class="total">
提货照片:
</view>
<view class="price" v-if="order.ziti_image.length">
<image v-for="(img, idx) in order.ziti_image" :key="idx" :src="img" mode="" class="goodsImag">
</image>
</view>
</view>
</view>
<view v-if="menushow" class="menuarea">
<view class="menulist">
<view class="" @click="onInvoicing(order.order_id)" v-if="order.order_status == OrderStatusEnum.COMPLETED.value">
申请开票
</view>
<view class="" @click="onDelete(order.order_id)"
v-if="order.order_status == OrderStatusEnum.COMPLETED.value">
删除订单
</view>
<view class="" v-if="order.pay_status == PayStatusEnum.PENDING.value" @click="onCancel(order.order_id)">
取消订单
</view>
</view>
<view class="trangle"></view>
</view>
<view class="footer">
<view class="meetPrice" @click="changeMenu"
v-if="order.order_status == OrderStatusEnum.COMPLETED.value || order.pay_status == PayStatusEnum.PENDING.value">
更多
</view>
<view v-else style="color: #fff;">-</view>
<view class="fooRight">
<view class="buyAgain" @click="handleTargetGoods(order.goods[0].goods_id)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == ReceiptStatusEnum.NOT_RECEIVED.value">
再次购买
</view>
<view class="buyAgain" @click="onPay(order.order_id)"
v-if="order.pay_status == PayStatusEnum.PENDING.value">
继续付款
</view>
<view class="buyAgain" @click="onExtractQRCode(order.order_id)" v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_type == DeliveryTypeEnum.EXTRACT.value
&& order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
核销码
</view>
<view class="buyAgain" @click="handleTargetExpress(order.order_id)"
v-if="order.delivery_status == DeliveryStatusEnum.DELIVERED.value">
查看物流
</view>
<view class="buyAgain" @click="onReceipt(order.order_id)"
v-if="order.delivery_status == DeliveryStatusEnum.DELIVERED.value && order.receipt_status == ReceiptStatusEnum.NOT_RECEIVED.value">
确认收货
</view>
<view class="buyAgain" @click="onCdDia(order.order_id)"
v-if="order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
催发货
</view>
<view class="buyAgain" @click="onCancel(order.order_id)"
v-if="order.order_status == OrderStatusEnum.NORMAL.value && order.pay_status == PayStatusEnum.SUCCESS.value && order.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value">
取消订单
</view>
<!-- <view class="buyAgain"
v-if="order.order_status == OrderStatusEnum.COMPLETED.value && order.is_comment == 0"
@click="handleTargetComment(order.order_id)">
评价
</view> -->
</view>
</view>
<!-- 催单弹框 -->
<view class="dia" v-if="cdDia">
<view class="diaMain">
<image src="/static/order/ld.png" mode="" class="ld"></image>
<view class="cdTitle">
催单成功
</view>
<view class="cdInfo">
商家已收到您的催单提醒,您精心挑选的商品正在配送中,属于正常配送时效内,请您耐心等待,谢谢!
</view>
<view class="iKnow" @click="meKone()">
我知道了
</view>
</view>
</view>
<view class="bigCode" v-if="showQRCodePopup" style="display: none;">
<view class="cm">
<view class="cm_text">
核销码
</view>
<view class="txm">
<image src="" mode="" class="codeImg"></image>
</view>
<view class="cline">
<u-line border-style="dashed" color="#D0D0D0" />
</view>
<view class="sm">
可前往门店扫码完成操作
</view>
</view>
</view>
</view>
</template>
<script>
import img from "@/static/home/top.png"
import {
OrderTypeEnum,
DeliveryStatusEnum,
DeliveryTypeEnum,
OrderStatusEnum,
PayStatusEnum,
ReceiptStatusEnum
} from '@/common/enum/order'
import {
DeliveryMethodEnum
} from '@/common/enum/order/delivery'
import * as OrderApi from '@/api/order'
export default {
data() {
return {
background: {
background: 'url(' + img + ') center top no-repeat',
backgroundSize: '100% auto',
},
// 枚举类
OrderTypeEnum,
DeliveryStatusEnum,
DeliveryTypeEnum,
OrderStatusEnum,
PayStatusEnum,
ReceiptStatusEnum,
DeliveryMethodEnum,
// 当前订单ID
orderId: null,
// 加载中
isLoading: true,
// 当前订单详情
order: {},
// 当前设置
setting: {},
// 核销二维码弹窗
showQRCodePopup: false,
// 核销二维码图片url (通过后端获取)
qrcodeImage: '',
// 控制onShow事件是否刷新订单信息
canReset: false,
cdDia: false,
menushow: false,
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad({
orderId
}) {
// 当前订单ID
this.orderId = orderId
// 获取当前订单信息
this.getOrderDetail()
// 注册全局事件订阅: 是否刷新当前订单数据
uni.$on('syncRefresh', (val, isCur) => {
if (!isCur) {
this.canReset = val
}
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.canReset && this.getOrderDetail()
this.canReset = false
},
methods: {
// 联系商家
callStore(phone) {
uni.makePhoneCall({
phoneNumber: phone
});
},
changeMenu() {
this.menushow = !this.menushow
},
meKone() {
this.cdDia = false
},
onCdDia(orderId) {
const app = this
OrderApi.orderfast(orderId)
.then(result => {
if (result.status == 200) {
this.cdDia = true
}
})
},
clickImg() {
uni.previewImage({
urls: [this.qrcodeImage], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
current: '', // 当前显示图片的http链接,默认是第一个
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
// 获取当前订单信息
getOrderDetail(canReset = false) {
const app = this
app.isLoading = true
OrderApi.detail(app.orderId)
.then(result => {
app.order = result.data.order
app.setting = result.data.setting
app.isLoading = false
})
// 相应全局事件订阅: 刷新上级页面数据
canReset && uni.$emit('syncRefresh', true, true)
},
// 复制指定内容
handleCopy(value) {
const app = this
uni.setClipboardData({
data: value,
success: () => app.$toast('复制成功'),
fail: ({
errMsg
}) => app.$toast('复制失败 ' + errMsg)
})
},
// 跳转到门店详情页
handleTargetExtract(shopId) {
this.$navTo('pages/shop/detail', {
shopId
})
},
// 跳转到物流跟踪页面
handleTargetExpress() {
this.$navTo('pages/order/express/index', {
orderId: this.orderId
})
},
// 跳转到商品详情页面
handleTargetGoods(goodsId) {
this.$navTo('pages/goods/detail', {
goodsId
})
},
// 修改地址
onAdress(orderId) {
this.$navTo('pages/address/index', {
orderId
})
},
// 点击去开票
onInvoicing(orderId) {
uni.navigateTo({
url: '/pages/invoice/edit?orderId=' + orderId + '&source=' + 0 + "&order=" + JSON.stringify(this
.order)
})
},
// 取消订单
onCancel(orderId) {
const app = this
uni.showModal({
title: '友情提示',
content: '确认要取消该订单吗?',
success(o) {
if (o.confirm) {
OrderApi.cancel(orderId)
.then(result => {
// 显示成功信息
app.$toast(result.message)
setTimeout(() => {
// 刷新当前订单数据
app.getOrderDetail(true)
}, 1500)
})
}
}
});
},
// 删除订单
onDelete(orderId) {
const app = this
uni.showModal({
title: '友情提示',
content: '删除之后订单无法恢复,无法处理您的售后问题 ,请慎重考虑,确认要删除该订单吗?',
success(o) {
if (o.confirm) {
OrderApi.del(orderId)
.then(result => {
// 显示成功信息
app.$toast(result.message)
uni.$emit('syncRefresh');
uni.navigateBack(1)
})
}
}
});
},
// 确认收货
onReceipt(orderId) {
const app = this
uni.showModal({
title: '友情提示',
content: '确认收到商品了吗?',
success(o) {
if (o.confirm) {
OrderApi.receipt(orderId)
.then(result => {
// 显示成功信息
app.$success(result.message)
setTimeout(() => {
// 刷新当前订单数据
app.getOrderDetail(true)
}, 1500)
})
}
}
});
},
// 获取核销二维码
onExtractQRCode(orderId) {
const app = this
OrderApi.extractQrcode(orderId, {
channel: app.platform
})
.then(result => {
app.qrcodeImage = result.data.qrcode
app.showQRCodePopup = true
})
},
// 点击去退款
onRefund(orderId, order, item) {
uni.navigateTo({
url: '/pages/order/refund/index?orderId=' + orderId + '&order=' + JSON.stringify(order) +
"&deliveryStatus=" + item.delivery_status + '&receiptStatus=' + item.receipt_status
})
},
// 点击去支付
onPay(orderId) {
this.$navTo('pages/checkout/cashier/index', {
orderId
})
},
// 跳转到订单评价页
handleTargetComment(orderId) {
this.$navTo('pages/order/comment/index', {
orderId
})
},
},
}
</script>
<style lang="scss" scoped>
.detail {
width: 750rpx;
padding-bottom: 150rpx;
background-image: url('../../static/home/homeback.png');
background-size: 100% 100%;
}
.menuarea {
width: 100%;
height: 100%;
}
.menulist {
background-color: #FFF;
border: 1rpx solid #F4F4F4;
width: 150rpx;
min-height: 50rpx;
position: fixed;
left: 28rpx;
bottom: 90rpx;
border-radius: 14rpx;
text-align: center;
padding: 10rpx 0;
z-index: 99999;
}
.menulist view {
width: 100%;
height: 50rpx;
color: #333;
font-size: 24rpx;
font-family: PingFangSC-Medium, PingFang SC;
line-height: 50rpx;
}
.trangle {
width: 0px;
height: 0px;
position: absolute;
border: 10rpx solid #FFF;
border-top-color: #FFF;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
left: 16rpx;
bottom: 60rpx;
}
.leftText {
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #F21A1C;
line-height: 28rpx;
}
.address {
margin-left: 26rpx;
background-image: url('../../static/order/map.png');
width: 694rpx;
height: 154rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 52rpx 0 32rpx;
.addAddress {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #F32E2E;
}
.leftImg {
width: 18rpx;
height: 18rpx;
image {
width: 100%;
height: 100%;
}
}
}
.send {
width: 694rpx;
height: 154rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 12rpx 0 0 26rpx;
display: flex;
padding: 32rpx 46rpx 32rpx 38rpx;
.car {
width: 42rpx;
height: 35rpx;
margin-right: 40rpx;
margin-top: 20rpx;
}
.sendInfo {
.shopInfo {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #000000;
line-height: 40rpx;
}
.sendTime {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #606060;
line-height: 34rpx;
margin-top: 16rpx;
}
}
.sendIcon {
width: 18rpx;
height: 18rpx;
margin: 40rpx 0 0 150rpx;
}
}
.sendHome {
width: 694rpx;
height: 218rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 14rpx 0 0 26rpx;
padding: 18rpx 16rpx 16rpx 34rpx;
.fline {
width: 100%;
display: flex;
justify-content: space-between;
.leftInfo {
display: flex;
}
.up {
width: 114rpx;
height: 50rpx;
background: #FFFFFF;
border-radius: 88rpx 88rpx 88rpx 88rpx;
opacity: 1;
border: 1rpx solid #D9D9D9;
text-align: center;
line-height: 50rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #676767;
}
.am {
width: 40rpx;
height: 40rpx;
margin-right: 24rpx;
}
.gp {
height: 28rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #838383;
line-height: 28rpx;
text {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 40rpx;
margin-right: 8rpx;
}
}
}
.sl {
width: 474rpx;
height: 68rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #838383;
line-height: 28rpx;
margin-top: 6rpx;
margin-left: 60rpx;
}
}
.consignee {
width: 694rpx;
height: 200rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 12rpx 0 0 26rpx;
display: flex;
justify-content: space-between;
padding: 24rpx 36rpx 6rpx 32rpx;
.conLeft {
.thr {
display: flex;
width: 474rpx;
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #838383;
line-height: 34rpx;
margin-bottom: 20rpx;
.peo {
width: 160rpx;
}
.name {
color: #333333;
}
}
}
.conRight {
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #F21A1C;
display: flex;
flex-direction: column;
align-items: center;
.code {
height: 34rpx;
font-size: 24rpx;
line-height: 34rpx;
margin-bottom: 8rpx;
}
.codeNum {
width: 80rpx;
height: 78rpx;
image {
width: 100%;
height: 100%;
}
}
.openCode {
height: 28rpx;
font-size: 20rpx;
font-weight: 400;
color: #848484;
line-height: 23rpx;
margin-top: 4rpx;
}
}
}
.goodsDetail {
width: 694rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 12rpx 0 0 26rpx;
padding: 32rpx 24rpx 24rpx 38rpx;
.goodsType {
display: flex;
align-items: center;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #333333;
.bag {
width: 30rpx;
height: 30rpx;
margin-right: 20rpx;
}
.leftIcon {
width: 18rpx;
height: 18rpx;
margin-left: 20rpx;
}
}
.goods {
display: flex;
align-items: center;
margin-top: 28rpx;
.goodsImg {
width: 162rpx;
height: 148rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
opacity: 1;
image {
width: 100%;
height: 100%;
}
}
.goodsInfo {
margin-left: 20rpx;
.goodsName {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #1E1E1E;
line-height: 40rpx;
margin-bottom: 4rpx;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
width: 420rpx;
}
.goodsPrice {
height: 50rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #F21A1C;
line-height: 50rpx;
text {
font-size: 36rpx;
}
}
}
.goodsNum {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #1E1E1E;
margin-left: 100rpx;
}
}
.serve {
display: flex;
justify-content: space-between;
.serveTitle {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #1E1E1E;
line-height: 34rpx;
}
.chose {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #9E9E9E;
line-height: 34rpx;
image {
width: 18rpx;
height: 18rpx;
}
}
}
.line {
width: 100%;
height: 0rpx;
opacity: 1;
border: 2rpx solid #F4F4F4;
margin: 32rpx 0 20rpx 0;
}
.up {
width: 114rpx;
height: 50rpx;
background: #FFFFFF;
border-radius: 88rpx 88rpx 88rpx 88rpx;
opacity: 1;
border: 1rpx solid #D9D9D9;
text-align: center;
line-height: 50rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #676767;
}
.cancel {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #1E1E1E;
line-height: 34rpx;
text-align: center;
}
}
.orderTips {
width: 694rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 12rpx 0 0 26rpx;
padding: 22rpx 36rpx 50rpx 24rpx;
.orderTitle {
position: relative;
margin-bottom: 24rpx;
display: flex;
height: 34rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #2D2D2D;
line-height: 34rpx;
.total {
font-size: 24rpx;
color: #7E7E7E;
}
.price {
.couponNum {
font-size: 28rpx;
color: #F42B17;
}
font-size: 28rpx;
image {
width: 18rpx;
height: 18rpx;
margin-left: 18rpx;
}
}
.copy {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #F63016;
line-height: 34rpx;
position: absolute;
right: 0;
}
}
.amount {
display: flex;
justify-content: space-around;
align-items: center;
margin-top: 20rpx;
.share {
image {
width: 26rpx;
height: 26rpx;
margin-right: 14rpx;
}
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC,
PingFang SC;
font-weight: 400;
color: #1E1E1E;
line-height: 34rpx;
}
.sp {
width: 0rpx;
height: 38rpx;
opacity: 1;
border: 2rpx solid #ECECEC;
}
.callShop {
image {
width: 26rpx;
height: 26rpx;
margin-right: 14rpx;
}
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC,
PingFang SC;
font-weight: 400;
color: #1E1E1E;
line-height: 34rpx;
}
}
}
.line {
width: 100%;
height: 0rpx;
opacity: 1;
border: 2rpx solid #F1F1F1;
}
.pickedUp {
width: 694rpx;
height: 310rpx;
background: #FFFFFF;
border-radius: 10rpx 10rpx 10rpx 10rpx;
opacity: 1;
margin: 14rpx 0 0 26rpx;
padding: 32rpx 50rpx 0 42rpx;
.orderTitle {
position: relative;
margin-bottom: 24rpx;
display: flex;
height: 34rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #2D2D2D;
line-height: 34rpx;
.total {
font-size: 24rpx;
color: #7E7E7E;
margin-right: 10rpx;
}
.price {
.couponNum {
font-size: 28rpx;
color: #F42B17;
}
font-size: 28rpx;
image {
width: 18rpx;
height: 18rpx;
margin-left: 18rpx;
}
.goodsImag {
width: 144rpx;
height: 132rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
opacity: 1;
margin-right: 26rpx;
}
}
.copy {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #F63016;
line-height: 34rpx;
position: absolute;
right: 0;
}
}
}
.footer {
width: 100%;
height: 120rpx;
position: fixed;
background-color: #FFF;
bottom: 0;
display: flex;
justify-content: space-between;
align-items: center;
.meetPrice {
margin-left: 26rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #000000;
.type {
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #F42B17;
margin-left: 12rpx;
}
.price {
font-size: 40rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #F42B17;
}
}
.fooRight {
display: flex;
align-items: center;
}
.buyAgain {
width: 146rpx;
height: 68rpx;
background: #FFFFFF;
border-radius: 76rpx 76rpx 76rpx 76rpx;
opacity: 1;
border: 2rpx solid #D9D9D9;
text-align: center;
line-height: 68rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #333;
margin-right: 14rpx;
}
.btn {
width: 214rpx;
height: 74rpx;
background: linear-gradient(180deg, #FD5D06 0%, #F3211A 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
opacity: 1;
text-align: center;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 74rpx;
margin-right: 20rpx;
}
}
.dia {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
z-index: 99;
display: flex;
align-items: center;
justify-content: center;
.diaMain {
width: 560rpx;
height: 432rpx;
background: linear-gradient(180deg, #FFE4E4 0%, #FFFFFF 100%);
border-radius: 12rpx 12rpx 12rpx 12rpx;
opacity: 1;
position: relative;
.ld {
width: 100rpx;
height: 100rpx;
position: absolute;
top: -50rpx;
left: 230rpx;
}
.cdTitle {
width: 128rpx;
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #000000;
line-height: 44rpx;
margin: 80rpx 0 0 216rpx;
}
.cdInfo {
width: 498rpx;
height: 120rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #727272;
line-height: 33rpx;
margin-left: 48rpx;
margin-top: 28rpx;
}
.iKnow {
width: 412rpx;
height: 72rpx;
background: #F55349;
border-radius: 8rpx 8rpx 8rpx 8rpx;
opacity: 1;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 72rpx;
margin: 36rpx 0 0 74rpx;
text-align: center;
}
}
}
.bigCode {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(65, 65, 65, 0.46);
display: flex;
align-items: center;
justify-content: center;
.cm {
width: 560rpx;
height: 714rpx;
background: #FFFFFF;
border-radius: 16rpx 16rpx 16rpx 16rpx;
opacity: 1;
padding-top: 44rpx;
.cm_text {
width: 100%;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
color: #424242;
line-height: 42rpx;
text-align: center;
}
.txm {
.codeImg {
width: 394rpx;
height: 458rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
opacity: 1;
}
}
.cline {
padding: 0 34rpx;
margin: 46rpx 0 30rpx 0;
}
.sm {
width: 100%;
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #979797;
line-height: 28rpx;
text-align: center;
}
}
}
.up2 {
width: 114rpx;
height: 50rpx;
background: #FFFFFF;
border-radius: 88rpx 88rpx 88rpx 88rpx;
opacity: 1;
border: 1rpx solid #D9D9D9;
text-align: center;
line-height: 50rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #676767;
}
.fd {
display: flex;
align-items: baseline;
justify-content: flex-end;
font-size: 24rpx;
font-weight: 500;
color: #1E1E1E;
text {
font-size: 36rpx;
}
}
</style>