208 lines
5.5 KiB
Vue
208 lines
5.5 KiB
Vue
![]() |
<template>
|
|||
|
<view :data-theme="theme">
|
|||
|
<view v-if="InvoiceList.length" class="logistics-title">
|
|||
|
<text></text>
|
|||
|
<text>当前订单已发{{deliveryNum}}个包裹</text>
|
|||
|
</view>
|
|||
|
<view class="borderPad">
|
|||
|
<view v-for="(item,index) in InvoiceList" :key="item.id" class='wrapper borRadius14'>
|
|||
|
<view class='bnt cancel' hover-class='none' @click="toLogistics(item,index)">
|
|||
|
<view v-if="item.deliveryType ==='express'" class="acea-row mb30 row-between">
|
|||
|
<text class="wrapper-title colorSize">快递配送</text>
|
|||
|
<view class="wrapper-title colorSize color-999">{{item.expressName}}:{{item.trackingNumber}}</view>
|
|||
|
</view>
|
|||
|
<view v-else-if="item.deliveryType ==='noNeed'" class="acea-row mb30 row-between">
|
|||
|
<text class="wrapper-title colorSize">无需发货</text>
|
|||
|
<view class="wrapper-title colorSize color-999 text-right line1" style="width: 80%;" :title="item.deliveryMark">{{item.deliveryMark}}</view>
|
|||
|
</view>
|
|||
|
<view v-else class="acea-row mb30 row-between">
|
|||
|
<text class="wrapper-title colorSize">商家送货</text>
|
|||
|
<view class="wrapper-title colorSize color-999">{{item.deliveryCarrier}} {{item.carrierPhone}}</view>
|
|||
|
</view>
|
|||
|
<view class="wrapper-pro acea-row">
|
|||
|
<scroll-view scroll-x="true" class="scroll_view" v-if="item.detailList.length>1">
|
|||
|
<view v-for="j in item.detailList" :key="j.id" class="wrapper-img">
|
|||
|
<easy-loadimage mode="widthFix" :image-src="j.image"></easy-loadimage>
|
|||
|
</view>
|
|||
|
</scroll-view>
|
|||
|
<view v-else class="acea-row">
|
|||
|
<image class="wrapper-img" :src="item.detailList[0].image" mode=""></image>
|
|||
|
<view class="acea-row row-column-between ml20">
|
|||
|
<view class="line2 line2-width f-s-28">
|
|||
|
{{item.detailList[0].productName}}
|
|||
|
</view>
|
|||
|
<view class="f-s-24 color-999 line2-width">
|
|||
|
{{item.detailList[0].sku}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="wrapper-num">共{{item.totalNum}}件商品</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class='noCommodity' v-if="!InvoiceList.length">
|
|||
|
<view class='pictrue text-center'>
|
|||
|
<image :src="urlDomain+'crmebimage/presets/nowuliu.png'"></image>
|
|||
|
<view class="default_txt">暂无物流信息~</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
import {
|
|||
|
orderInvoiceListInfo
|
|||
|
} from '@/api/order.js';
|
|||
|
import easyLoadimage from '@/components/base/easy-loadimage.vue';
|
|||
|
const app = getApp();
|
|||
|
export default {
|
|||
|
components: {
|
|||
|
easyLoadimage
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
urlDomain: this.$Cache.get("imgHost"),
|
|||
|
theme: app.globalData.theme,
|
|||
|
orderNo: '',
|
|||
|
InvoiceList: [],
|
|||
|
num: 0,
|
|||
|
deliveryNum: 0
|
|||
|
}
|
|||
|
},
|
|||
|
onLoad: function(options) {
|
|||
|
this.$set(this, 'orderNo', options.orderNo);
|
|||
|
this.getOrderInvoiceListInfo(options.orderNo);
|
|||
|
},
|
|||
|
methods: {
|
|||
|
getOrderInvoiceListInfo(orderNo) {
|
|||
|
uni.showLoading({
|
|||
|
title: "正在加载中"
|
|||
|
});
|
|||
|
orderInvoiceListInfo(orderNo).then(res => {
|
|||
|
uni.hideLoading();
|
|||
|
let data = res.data;
|
|||
|
this.deliveryNum = data.deliveryNum;
|
|||
|
this.num = data.num;
|
|||
|
this.$set(this, 'InvoiceList', data.invoiceList);
|
|||
|
}).catch(err => {
|
|||
|
this.$util.Tips({
|
|||
|
title: err
|
|||
|
});
|
|||
|
});
|
|||
|
},
|
|||
|
//跳转
|
|||
|
toLogistics(item,index){
|
|||
|
//快递配送
|
|||
|
if(item.deliveryType=='express'){
|
|||
|
uni.navigateTo({
|
|||
|
url: `/pages/goods/goods_logistics/index?invoiceId=${item.id}&expressName=${item.expressName}`
|
|||
|
})
|
|||
|
//商家送货-无需发货
|
|||
|
}else{
|
|||
|
uni.navigateTo({
|
|||
|
url: `/pages/goods/send_record/index?orderNo=${this.orderNo}&index=${index}`
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style scoped lang="scss">
|
|||
|
.noCommodity{
|
|||
|
padding-top: 50% !important;
|
|||
|
}
|
|||
|
.logistics {
|
|||
|
&-title {
|
|||
|
height: 62rpx;
|
|||
|
line-height: 62rpx;
|
|||
|
background: #FCFBE7;
|
|||
|
padding: 0 30rpx;
|
|||
|
color: #9F560C;
|
|||
|
font-size: 24rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.wrapper {
|
|||
|
background-color: #fff;
|
|||
|
margin-top: 14rpx;
|
|||
|
padding: 20rpx 24rpx;
|
|||
|
|
|||
|
&-num {
|
|||
|
|
|||
|
font-size: 20rpx;
|
|||
|
color: #999999;
|
|||
|
}
|
|||
|
|
|||
|
&-title {
|
|||
|
|
|||
|
color: #666666;
|
|||
|
font-size: 24rpx;
|
|||
|
}
|
|||
|
|
|||
|
&-img {
|
|||
|
width: 120rpx;
|
|||
|
height: 120rpx;
|
|||
|
margin-right: 20rpx;
|
|||
|
border-radius: 14rpx;
|
|||
|
overflow: hidden;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
|
|||
|
image {
|
|||
|
width: 100%;
|
|||
|
height: 100%;
|
|||
|
}
|
|||
|
|
|||
|
&:nth-child(5n) {
|
|||
|
margin-right: 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
.default_txt {
|
|||
|
font-size: 26rpx;
|
|||
|
color: #999;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
.scroll_view {
|
|||
|
white-space: nowrap;
|
|||
|
padding-top: 10rpx;
|
|||
|
border-top:1rpx solid #F0F0F0;
|
|||
|
.wrapper-img {
|
|||
|
display: inline-block;
|
|||
|
margin-right: 10rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
.colorSize{
|
|||
|
font-size: 28rpx !important;
|
|||
|
}
|
|||
|
.color-999{
|
|||
|
color: #999;
|
|||
|
}
|
|||
|
.bgcolor{
|
|||
|
background-color: #E5EFFE !important;
|
|||
|
color: #2A7EFB;
|
|||
|
height: 80rpx;
|
|||
|
line-height: 80rpx;
|
|||
|
border-radius: 14rpx;
|
|||
|
}
|
|||
|
.icon-shuoming2{
|
|||
|
margin-top: 10rpx !important;
|
|||
|
margin-right: 8rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
}
|
|||
|
.line2-width{
|
|||
|
width: 450rpx;
|
|||
|
}
|
|||
|
</style>
|