Files
xk-client-wx/subPackages/shop/paied-detail.vue
2026-05-30 16:54:01 +08:00

526 lines
11 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="container safe-area-inset-bottom">
<MessageNotification />
<!-- 待付款 -->
<view class="p_state">
<view class="state">
<text>全部</text>
<text>待付款</text>
<text>待付款</text>
<text>待付款</text>
<text>待付款</text>
<text class="notice">请在{{orderDetailList.cancel_time| dateFormat}}内支付,逾期订单将自动取消</text>
</view>
<text class="iconfont icon-daifahuo"></text>
</view>
<!-- 收货地址 已添加地址 -->
<view class="head" v-if="isshow">
<view class="state">
<text>收货地址</text>
</view>
<view class="name">{{orderDetailList.express_name}} {{orderDetailList.express_mobile_tm || orderDetailList.express_mobile}}</view>
<view class="choose_area">{{orderDetailList.express_region}}{{orderDetailList.express_address}}</view>
</view>
<!-- 商品列表 -->
<view class="card">
<!-- 门店 -->
<view class="store"><text class="iconfont icon-mendian"></text>萧康诊所门店</view>
<!-- 商品 -->
<view class="list">
<view class="img">
<image :src="orderDetailList.items[0].drug_image" mode=""></image>
</view>
<view class="it">
<view class="it_name">{{orderDetailList.items[0].drug_name}}</view>
<view class="it_info">{{orderDetailList.items[0].small_info}}</view>
<view class="it_price">
<text>{{orderDetailList.items[0].price}}</text>
<view class="it_num">
x{{orderDetailList.items[0].number}}
</view>
</view>
</view>
</view>
<!-- 数量 -->
<view class="goods">
<view class="good_">
<text>商品总价</text>
<text class="price">{{orderDetailList.items_price}}</text>
</view>
<view class="good_">
<text>快递费</text>
<text class="price">{{orderDetailList.trans_expenses}}</text>
</view>
<view class="good_">
<text>{{orderDetailList.items[0].number}}</text>
<view class="total">
合计:
<text class="price">{{orderDetailList.total_pay_price}}</text>
</view>
</view>
</view>
</view>
<!-- 订单信息 -->
<view class="infos">
<view class="title">
订单信息
</view>
<view class="_info">
<text>订单号码</text>
<text class="info">{{orderDetailList.order_no}}</text>
</view>
<view class="_info">
<text>下单时间</text>
<text class="info">{{orderDetailList.updated_at| dateFormat}}</text>
</view>
<view class="_info">
<text>支付方式</text>
<text class="info">微信</text>
</view>
<view class="_info">
<text>配送方式</text>
<text class="info">快递配送</text>
</view>
</view>
<!-- 提醒 申请退款 -->
<view class="umode">
<u-modal v-model="show" :content="content" @confirm="confirm" @cancel="cancel"
:content-style="{color:'#1E293B',fontWeight: '500',fontSize: '34rpx'}" :show-cancel-button="true"
confirm-text="确认退款" cancel-text="取消" cancel-color="#FC3636" confirm-color="#1777FF" :show-title="false">
</u-modal>
<text>退款后订单将被取消</text>
</view>
<!-- 底部 取消订单 -->
<view class="footer">
<view class="to_cancle" @click="tosales">申请售后</view>
<view class="to_cancle" @click="tolook">查看物流</view>
<view class="to_pay">立即支付</view>
<!-- <view class="to_agin">再次购买</view> -->
</view>
</view>
</template>
<script>
// getOrdDetail
import {
getOrdDetail,getRefundBase
} from '../../request/api/api'
export default {
data() {
return {
isshow: true,
show: false,
content: '是否确认退款',
order_no:'',
orderDetailList:{},//订单详情信息,
order_id:''
}
},
onLoad(op) {
this.order_id=op.id
console.log(this.order_no);
this.getOrderDetailList()
},
//时间戳过滤器
filters: {
//过滤器 用于格式化时间
dateFormat: function(value) {
var date = new Date(value * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var sdate = ("0" + date.getDate()).slice(-2);
var hour = ("0" + date.getHours()).slice(-2);
var minute = ("0" + date.getMinutes()).slice(-2);
var second = ("0" + date.getSeconds()).slice(-2);
// 拼接
var result = year + "-" + month + "-" + sdate + ' ' + hour + ':' + minute + ':' + second
// 返回
return result;
},
},
methods: {
// 添加地址
toArea() {
uni.navigateTo({
url: '/subPackages/setup/area-list'
})
},
// 支付
toPay() {
uni.navigateTo({
url: '/subPackages/shop/paied?id='
})
},
// 售后
tosales() {
uni.navigateTo({
url: '/subPackages/shop/after-sales?id='+this.order_id
})
},
// 查看物流
tolook() {
uni.navigateTo({
url: '/subPackages/shop/logistics?id='+this.order_id
})
},
// 取消预约
cancel() {
this.show = false
},
// 暂不取消
confirm() {
this.show = false;
},
//获取订单详情列表
getOrderDetailList() {
getOrdDetail({
method: "post",
data: {
store_id:uni.getStorageSync('store_id') || '11001',
order_id:this.order_id
}
}).then((res) => {
// console.log(res, 'list');
if (res.data.code == 0){
// this.drugDetailsList=res.data.data
console.log(res.data.data)
this.orderDetailList=res.data.data
}
})
},
}
}
</script>
<style lang="scss" scoped>
.container {
width: 750rpx;
max-height: 100%;
min-height: 100vh;
padding-bottom: env(safe-area-inset-bottom);
background: #F5F5F5;
.umode {
font-size: 36rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #232323;
text-align: center;
text {
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
}
}
.p_state {
width: 750rpx;
height: 160rpx;
background: #1777FF;
margin: 20rpx auto;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40rpx;
.state {
font-family: PingFang SC-Bold, PingFang SC;
display: flex;
flex-direction: column;
text {
font-size: 36rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #FFFFFF;
}
.notice {
font-size: 24rpx;
font-weight: 400;
margin-top: 12rpx;
}
}
.iconfont {
font-size: 52rpx;
color: #fff;
}
}
.head {
width: 750rpx;
height: 168rpx;
margin: 20rpx auto;
background: #fff;
display: flex;
flex-direction: column;
justify-content: center;
padding: 0 40rpx;
.state {
font-size: 28rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #232323;
line-height: 0rpx;
text {
display: inline-block;
width: 116rpx;
height: 38rpx;
line-height: 38rpx;
text-align: center;
background: #1777FF;
border-radius: 30rpx 30rpx 30rpx 30rpx;
font-size: 20rpx;
color: #FFFFFF;
margin-right: 14rpx;
}
}
.name {
font-size: 28rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #232323;
margin: 10rpx 0;
}
.choose_area {
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #232323;
}
}
.card {
width: 750rpx;
margin: 0 auto;
padding: 20rpx 12rpx 20rpx 20rpx;
background: #FFFFFF;
.store {
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 500;
color: #232323;
margin-left: 20rpx;
.iconfont {
font-size: 39rpx;
color: #666666;
vertical-align: middle;
margin-right: 10rpx;
}
}
.list {
display: flex;
justify-content: space-around;
width: 100%;
height: 254rpx;
display: flex;
align-items: center;
.checkbox {
width: 44rpx;
height: 44rpx;
background: #1777FF;
border-radius: 50%;
}
.img {
width: 200rpx;
height: 200rpx;
margin-right: 10rpx;
image {
width: 200rpx;
height: 200rpx;
border-radius: 8rpx;
}
}
.it {
flex: 1;
padding: 16rpx 10rpx;
font-family: PingFang SC-Bold, PingFang SC;
.it_name {
font-size: 28rpx;
font-weight: bold;
color: #232323;
}
.it_info {
font-size: 24rpx;
font-weight: 400;
color: #666666;
margin: 20rpx 0 48rpx 10rpx;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
}
.it_price {
display: flex;
align-items: center;
justify-content: space-between;
text {
font-size: 28rpx;
font-weight: bold;
color: #232323;
}
}
}
}
.goods {
margin-top: 20rpx;
padding: 0 30rpx;
.good_ {
display: flex;
align-items: center;
justify-content: space-between;
height: 88rpx;
text {
font-size: 28rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #232323;
}
.total {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
.price {
font-size: 34rpx;
font-weight: 500;
}
}
.price {
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
}
}
}
}
.infos {
width: 750rpx;
margin: 20rpx auto 160rpx;
padding: 20rpx 32rpx;
background: #FFFFFF;
.title {
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #232323;
line-height: 44rpx;
}
._info {
display: flex;
justify-content: space-between;
align-items: center;
margin: 18rpx 0;
text {
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
}
.info {
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #232323;
}
}
}
.footer {
width: 750rpx;
height: 104rpx;
background: #fff;
position: fixed;
left: 0;
bottom: env(safe-area-inset-bottom);
display: flex;
justify-content: flex-end;
align-items: center;
padding: 0 24rpx;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
.to_cancle {
width: 196rpx;
height: 64rpx;
text-align: center;
line-height: 64rpx;
color: #1777FF;
background: #E7F1FF;
border-radius: 50rpx 50rpx 50rpx 50rpx;
margin-right: 20rpx;
}
.to_pay {
width: 196rpx;
height: 64rpx;
text-align: center;
line-height: 64rpx;
color: #fff;
background: #1777FF;
border-radius: 50rpx 50rpx 50rpx 50rpx;
}
.to_agin {
width: 196rpx;
height: 64rpx;
text-align: center;
line-height: 64rpx;
border-radius: 50rpx 50rpx 50rpx 50rpx;
border: 2rpx solid #999999;
color: #999999;
margin-left: 20rpx;
}
}
}
</style>