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.
|
|
<template> <view> <!-- <mescroll-body ref="mescrollRef" @down="downCallback" :down="downOpt"> -->
<!-- 商品信息 --> <self-line/> <view class="bg-white padding-tb-sm"> <skeleton :loading="skeletonLoading" :row="2" :showAvatar="false" :showTitle="true">
<view class="flex justify-between align-start padding-top-sm padding-lr"> <image v-if="orderDetails.goods.cover" :src="orderDetails.goods.cover" mode="aspectFill" style="width: 150rpx; height: 150rpx;"></image> <view class="flex-sub padding-left-sm"> <view class="bref-box margin-top-xs" v-if="orderDetails.goods.name"> {{orderDetails.goods.name}} </view> <text class="block margin-top-sm text-gray text-sm">数量 <text class="margin-left margin-right-xs text-gray">x</text>{{orderDetails.number}}</text> <view class="flex justify-between margin-top-sm"> <view class="text-red text-price text-lg"> <amount :value="Number(orderDetails.selling_price || 0)" :is-round-up="false" :precision="2" :duration="800" transition></amount> </view> <view> <button v-if="orderDetails.state == 2" class="cu-btn line-orange round margin-left-sm text-sm" @tap="$routerGo('/pages/order/apply-refund')">申请退款</button> <button v-if="orderDetails.state == 5" class="cu-btn line-gray bg-white border round margin-left-sm text-sm">退款中</button> </view> </view> </view> </view>
</skeleton> </view> <self-line/> <!-- 表单 --> <skeleton :loading="skeletonLoading" :row="16" :showAvatar="false" :showTitle="true"> <view class="bg-white"> <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center"> <text class="text-gray">订单编号</text> <view> <text class="margin-right">{{orderDetails.order_sn}}</text> <text class="text-orange text-sm" @click="copy(orderDetails.order_sn)">复制</text> </view> </view> <view class="cu-bar padding-lr solid-bottom"> <text class="text-gray">下单时间</text> <text>{{orderDetails.created_at_text}}</text> </view> <view class="cu-bar padding-lr solid-bottom" v-if="orderDetails.payment_at_text != ''"> <text class="text-gray">付款时间</text> <text>{{orderDetails.payment_at_text}}</text> </view> <view class="cu-bar padding-lr solid-bottom" v-if="orderDetails.payment_type != ''"> <text class="text-gray">支付方式</text> <text>{{orderDetails.payment_type}}</text> </view> </view> <self-line/> <view class="bg-white"> <view class="cu-bar padding-lr solid-bottom"> <text class="text-gray">优惠</text> <text v-if="orderDetails.coupons == null">暂无优惠</text> </view> </view> <view v-if="orderDetails.state!=1"> <self-line/> <view class="bg-white flex flex-direction justify-around align-center text-center padding-tb"> <view> <tki-qrcode ref="qrcode" @result="qrR" :val="checkArea" :size="140" unit="px" background="#fff" foreground="#000" pdground="#000" :onval="true" :loadMake="true" /> <!-- :icon="require('@/static/images/system/user-default.jpg')" --> </view> <view class="flex justify-around align-center text-center margin-top-sm"> <view @tap="refreshCode()"> <image class="margin-right" src="@/static/images/system/refresh.png" mode="widthFix" style="width: 20px;height: 20px;"></image> </view> <view class="text-lg">{{checkArea}}</view> <view class="text-orange text-sm margin-left" @tap="copy('SP738644872')">复制</view> </view> <view class="margin-top-sm text-green text-sm"> 待使用 </view> </view> <view class="padding-lr padding-tb-sm bg-white flex justify-between align-center solid-top"> <view class="flex align-center"> <text class="text-gray text-sm">已付款:</text> <view class="text-lg text-price text-red"> <amount :value="Number(orderDetails.amount || 0)" :is-round-up="false" :precision="2" :duration="800" transition></amount> </view> </view> <view> {{orderDetails.state_text.text}} </view> </view> </view> </skeleton> <!-- </mescroll-body> --> </view></template>
<script> import tkiQrcode from "tki-qrcode" // 二维码生成器
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js"; export default { mixins: [MescrollMixin], // 使用mixin
components: { tkiQrcode }, data() { return { base64Img: '', //
skeletonLoading: true, loading: false, orderId:1, orderDetails: {}, checkArea: '0' } }, computed: { total(){ return this.num * this.price } }, onLoad(e) { this.orderId = e.orderid if(this.orderId) { this.getOrderDetails() } }, methods: { refreshCode() { this.getOrderDetails() }, //二维码回调
qrR(data) { this.base64Img = data; }, getOrderDetails() { this.$http(this.API.API_ORDER_DETAILS, {order_id: this.orderId}).then(res => { if(res.code == 0) { this.orderDetails = res.data this.checkArea = res.data.confirm_code this.skeletonLoading = false } }).catch(err => { }); }, // 点击复制
copy(text) { uni.setClipboardData({ data: text }); }, submit(){ this.$routerGo('/pages/order/order?type=all') }, }, created() { } }</script>
<style lang="scss" scoped> .address-box { // background-image: url(../../static/images/shop/envelope.png);
background-repeat: repeat-x; background-position: left bottom; background-size: auto 8rpx; }
.self-img-sm { width: 40rpx; height: 40rpx; }
.bref-box { text-overflow: -o-ellipsis-lastline; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.order-bottom { position: relative;
.cuIcon-fold { position: absolute; right: 50rpx; top: -19rpx; color: rgba(0, 0, 0, 0.1) } }</style>
|