Initial commit: 积分兑换电商平台多商户版 MER-2.2
Made-with: Cursor
This commit is contained in:
317
mer_uniapp/pages/admin/logistics/detail.vue
Normal file
317
mer_uniapp/pages/admin/logistics/detail.vue
Normal file
@@ -0,0 +1,317 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="w-full header_bg" :style="{'height': (174 + sysHeight) * 2 + 'rpx'}">
|
||||
<view class="w-full abs-lb white_jianbian"></view>
|
||||
</view>
|
||||
<!-- #ifdef MP -->
|
||||
<NavBar titleText="发货记录" :iconColor="iconColor" :textColor="iconColor" :isScrolling="isScrolling" showBack></NavBar>
|
||||
<!-- #endif -->
|
||||
<view class="relative px-24 z-20 express_box">
|
||||
<view class="h-66 borRadius14 light px-24 flex-between-center fs-22">
|
||||
<text>{{orderInfo.expName}} {{orderInfo.number}}</text>
|
||||
<text class="inline-block copy_btn fs-22 text--w111-333" @tap="copyOrderId">复制单号</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="px-24 mt-20 relative">
|
||||
<view class="bg--w111-fff borRadius14 pt-32 pr-24 pl-24 pb-32">
|
||||
<view class="flex-between-center">
|
||||
<view class="fs-32 fw-500 text--w111-333">
|
||||
<text>物流详情</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="logisticsCon mt-50 relative" v-if="expressList.length">
|
||||
<view class='item' v-for="(item,index) in logisticList" :key="index">
|
||||
<view class='circular' :class='index === 0 ? "on text-center":""'>
|
||||
<text class="iconfont icon-a-ic_CompleteSelect text--w111-fff fs-24" v-if="index == 0"></text>
|
||||
</view>
|
||||
<view class='text' :class='index===0 ? "on-font on":""'>
|
||||
<view>{{item.status}}</view>
|
||||
<view class='data' :class='index===0 ? "on-font on":""'>{{item.time}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="more-text fs-24" @tap="checkShowMore">
|
||||
<text>{{showMore ? '收起' : '查看更多物流信息'}}</text>
|
||||
<text class="iconfont fs-24 pl-8" :class="showMore ? 'icon-ic_uparrow' : 'icon-ic_downarrow'"></text>
|
||||
</view>
|
||||
</view>
|
||||
<emptyPage title="暂无物流信息" mTop="0" :imgSrc="urlDomain+'crmebimage/presets/nowuliu.png'" v-else></emptyPage>
|
||||
</view>
|
||||
<view class="safe-area-inset-bottom"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
let sysHeight = uni.getSystemInfoSync().statusBarHeight;
|
||||
import {
|
||||
express
|
||||
} from '@/api/order.js';
|
||||
import ClipboardJS from "@/plugin/clipboard/clipboard.js";
|
||||
import {
|
||||
toLogin
|
||||
} from '@/libs/login.js';
|
||||
import {
|
||||
mapGetters
|
||||
} from "vuex";
|
||||
import {
|
||||
HTTP_REQUEST_URL
|
||||
} from '@/config/app';
|
||||
// #ifdef MP
|
||||
import NavBar from '../components/NavBar.vue'
|
||||
// #endif
|
||||
import emptyPage from '@/components/emptyPage.vue'
|
||||
export default {
|
||||
components: {
|
||||
// #ifdef MP
|
||||
NavBar,
|
||||
// #endif
|
||||
emptyPage,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
urlDomain: this.$Cache.get("imgHost"),
|
||||
sysHeight: sysHeight,
|
||||
imgHost: HTTP_REQUEST_URL,
|
||||
orderId: '',
|
||||
type: '',
|
||||
product: [],
|
||||
orderInfo: {},
|
||||
expressList: [],
|
||||
hostProduct: [],
|
||||
isShowAuth: false,
|
||||
pageScrollStatus: false,
|
||||
showMore: true,
|
||||
// #ifdef MP
|
||||
iconColor: '#FFFFFF',
|
||||
isScrolling: false,
|
||||
// #endif
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['isLogin']),
|
||||
logisticList() {
|
||||
if (this.showMore) {
|
||||
return this.expressList
|
||||
} else {
|
||||
return this.expressList.slice(0, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isLogin: {
|
||||
handler: function(newV, oldV) {
|
||||
if (newV) {
|
||||
//#ifndef MP
|
||||
this.getExpress();
|
||||
// this.get_host_product();
|
||||
//#endif
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
onLoad: function(options) {
|
||||
this.orderId = options.invoiceId;
|
||||
if (this.isLogin) {
|
||||
this.getExpress();
|
||||
}
|
||||
},
|
||||
onReady: function() {
|
||||
// #ifdef H5
|
||||
this.$nextTick(function() {
|
||||
const clipboard = new ClipboardJS(".copy-data");
|
||||
clipboard.on("success", () => {
|
||||
this.$util.Tips({
|
||||
title: '复制成功'
|
||||
});
|
||||
});
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
onPageScroll(object) {
|
||||
if (object.scrollTop > 100) {
|
||||
this.pageScrollStatus = true;
|
||||
} else if (object.scrollTop < 100) {
|
||||
this.pageScrollStatus = false;
|
||||
}
|
||||
// #ifdef MP
|
||||
if (object.scrollTop > 50) {
|
||||
this.isScrolling = true;
|
||||
this.iconColor = '#333333';
|
||||
} else if (object.scrollTop < 50) {
|
||||
this.isScrolling = false;
|
||||
this.iconColor = '#FFFFFF';
|
||||
}
|
||||
// #endif
|
||||
uni.$emit('scroll');
|
||||
},
|
||||
onShow() {
|
||||
if (!this.isLogin) {
|
||||
toLogin()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 授权关闭
|
||||
authColse: function(e) {
|
||||
this.isShowAuth = e
|
||||
},
|
||||
/**
|
||||
* 授权回调
|
||||
*/
|
||||
onLoadFun: function() {
|
||||
this.getExpress();
|
||||
this.isShowAuth = false;
|
||||
},
|
||||
copyOrderId: function() {
|
||||
uni.setClipboardData({
|
||||
data: this.orderInfo.number
|
||||
});
|
||||
},
|
||||
getExpress: function() {
|
||||
let that = this;
|
||||
express(that.orderId).then(function(res) {
|
||||
that.$set(that, 'orderInfo', res.data);
|
||||
that.$set(that, 'expressList', res.data.list || []);
|
||||
}).catch((error) => {
|
||||
this.$util.Tips({
|
||||
title: error
|
||||
});
|
||||
});
|
||||
},
|
||||
checkShowMore() {
|
||||
this.showMore = !this.showMore
|
||||
},
|
||||
goPage(type, url) {
|
||||
if (type == 1) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
})
|
||||
} else if (type == 2) {
|
||||
uni.switchTab({
|
||||
url
|
||||
})
|
||||
} else if (type == 3) {
|
||||
uni.navigateBack();
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.safe-area-inset-bottom {
|
||||
height: calc(100rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
height: calc(100rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
padding-bottom: calc(0rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
padding-bottom: calc(0rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
}
|
||||
|
||||
.header_bg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 369rpx;
|
||||
background: linear-gradient(270deg, #01ABF8 0%, #2A7EFB 100%);
|
||||
}
|
||||
|
||||
.white_jianbian {
|
||||
height: 180rpx;
|
||||
background: linear-gradient(0deg, #F5F5F5 0%, rgba(245, 245, 245, 0) 100%);
|
||||
}
|
||||
|
||||
.light {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.express_box {
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.copy_btn {
|
||||
width: 112rpx;
|
||||
height: 34rpx;
|
||||
background: #fff;
|
||||
border-radius: 20rpx;
|
||||
text-align: center;
|
||||
line-height: 34rpx;
|
||||
}
|
||||
|
||||
.city-box {
|
||||
&:before {
|
||||
content: '';
|
||||
width: 1px;
|
||||
height: 64rpx;
|
||||
background-color: #eee;
|
||||
position: absolute;
|
||||
top: 40rpx;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.more-text {
|
||||
position: absolute;
|
||||
left: 40rpx;
|
||||
bottom: -12rpx;
|
||||
|
||||
&:before {
|
||||
content: '';
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #ddd;
|
||||
position: absolute;
|
||||
left: -26rpx;
|
||||
top: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.logisticsCon .item {
|
||||
padding: 0 20rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.logisticsCon .item .circular {
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 15rpx;
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.logisticsCon .item .circular.on {
|
||||
width: 0;
|
||||
height: 0;
|
||||
left: 6rpx;
|
||||
.icon-a-ic_CompleteSelect{
|
||||
color: #2A7EFB;
|
||||
}
|
||||
}
|
||||
|
||||
.logisticsCon .item .text {
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
width: 615rpx;
|
||||
border-left: 1rpx solid #e6e6e6;
|
||||
padding: 0 0 40rpx 38rpx;
|
||||
}
|
||||
|
||||
.logisticsCon .item .text .data {
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.logisticsCon .item .text .data .time {
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
|
||||
.z-99 {
|
||||
z-index: 99;
|
||||
}
|
||||
.product~.product {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
</style>
|
||||
236
mer_uniapp/pages/admin/logistics/index.vue
Normal file
236
mer_uniapp/pages/admin/logistics/index.vue
Normal file
@@ -0,0 +1,236 @@
|
||||
<template>
|
||||
<view :data-theme="theme">
|
||||
<view class="borderPad">
|
||||
<view v-if="InvoiceList.length" class="logistics-title bgcolor borRadius14">
|
||||
<text class="iconfont icon-icon_tip"></text>
|
||||
<text class="bgcolor-text">当前订单已发<text>{{deliveryNum}}</text>个包裹</text>
|
||||
</view>
|
||||
<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 w-500">
|
||||
<view class="line2 f-s-28">
|
||||
{{item.detailList[0].productName}}
|
||||
</view>
|
||||
<view class="f-s-24 color-999">
|
||||
{{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~2026 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';
|
||||
import navBar from '@/components/navBar';
|
||||
const app = getApp();
|
||||
export default {
|
||||
components: {
|
||||
easyLoadimage,
|
||||
navBar
|
||||
},
|
||||
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);
|
||||
},
|
||||
onShow() {
|
||||
this.getOrderInvoiceListInfo(this.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/admin/logistics/detail?invoiceId=${item.id}`
|
||||
})
|
||||
//商家送货-无需发货
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: `/pages/admin/logistics/record?orderNo=${this.orderNo}&index=${index}`
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.w-500{
|
||||
width: 500rpx;
|
||||
}
|
||||
.borderPad {
|
||||
padding-bottom: 50rpx;
|
||||
}
|
||||
|
||||
.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: 20rpx;
|
||||
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: 16rpx;
|
||||
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;
|
||||
|
||||
.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;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.bgcolor-text {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.icon-icon_tip {
|
||||
margin-right: 8rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.logistics-title {
|
||||
/* #ifdef MP||APP-PLUS */
|
||||
margin-top: 20rpx;
|
||||
/* #endif */
|
||||
}
|
||||
</style>
|
||||
224
mer_uniapp/pages/admin/logistics/record.vue
Normal file
224
mer_uniapp/pages/admin/logistics/record.vue
Normal file
@@ -0,0 +1,224 @@
|
||||
<template>
|
||||
<view class="record-box">
|
||||
<!-- #ifdef MP||APP-PLUS -->
|
||||
<view class="w-full header_bg" :style="{'height': (120 + sysHeight) * 2 + 'rpx'}">
|
||||
<view class="w-full abs-lb white_jianbian"></view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="w-full header_bg" :style="{'height': (100 + sysHeight) * 2 + 'rpx'}">
|
||||
<view class="w-full abs-lb white_jianbian"></view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP -->
|
||||
<NavBar titleText="发货记录" :iconColor="iconColor" :textColor="iconColor" :isScrolling="isScrolling" showBack></NavBar>
|
||||
<!-- #endif -->
|
||||
<view class="product-box">
|
||||
<view class="acea-row productInfo-box">
|
||||
<view class="acea-row productInfo-item" v-for="(item,index) in productInfo" :key="index">
|
||||
<span class="num">x{{item.num}}</span>
|
||||
<image class="wrapper-img rd-16rpx" :src="item.image" mode=""></image>
|
||||
<view class="acea-row row-column-between ml20">
|
||||
<view class="line1 line1-width f-s-28">
|
||||
{{item.productName}}
|
||||
</view>
|
||||
<view class="f-s-24 line1-width line2 color-999">
|
||||
{{item.sku}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info-box pos-rel">
|
||||
<view class="item acea-row row-between">
|
||||
<view>发货方式</view>
|
||||
<view v-if="!secodeType">{{deliveryInfo.deliveryType=='merchant'?'商家送货':'无需发货'}}</view>
|
||||
<view v-if="secodeType">虚拟发货</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between" v-if="deliveryInfo.deliveryType=='noNeed'">
|
||||
<view>发货备注</view>
|
||||
<view class="text-width">{{deliveryInfo.deliveryMark}}</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between" v-if="deliveryInfo.deliveryType=='merchant'">
|
||||
<view>配送人员</view>
|
||||
<view>{{deliveryInfo.deliveryCarrier}}</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between" v-if="deliveryInfo.deliveryType=='merchant'">
|
||||
<view>手机号码</view>
|
||||
<view>{{deliveryInfo.carrierPhone}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="footer">
|
||||
<view class="update" @click="toUpdate">编辑</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
orderInvoiceListInfo
|
||||
} from '@/api/order.js';
|
||||
// #ifdef MP
|
||||
import NavBar from '../components/NavBar.vue'
|
||||
// #endif
|
||||
let sysHeight = uni.getSystemInfoSync().statusBarHeight;
|
||||
export default{
|
||||
components: {
|
||||
// #ifdef MP
|
||||
NavBar,
|
||||
// #endif
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
sysHeight: sysHeight,
|
||||
// #ifdef MP
|
||||
iconColor: '#FFFFFF',
|
||||
isScrolling: false,
|
||||
// #endif
|
||||
pageScrollStatus: false,
|
||||
productInfo:[],
|
||||
deliveryInfo:{},
|
||||
orderNo:'',
|
||||
index:'',
|
||||
secodeType:null,
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.orderNo=options.orderNo
|
||||
this.index=options.index
|
||||
this.secodeType=options.secodeType
|
||||
this.getInfo(options.orderNo,options.index)
|
||||
},
|
||||
methods:{
|
||||
//编辑配送信息
|
||||
toUpdate(){
|
||||
uni.redirectTo({
|
||||
url:`/pages/admin/order/send?orderNo=${this.orderNo}&type=2&index=${this.index}`
|
||||
})
|
||||
},
|
||||
getInfo(orderNo,index){
|
||||
orderInvoiceListInfo(orderNo).then(res=>{
|
||||
this.deliveryInfo=res.data.invoiceList[index]
|
||||
this.productInfo=res.data.invoiceList[index]['detailList']
|
||||
})
|
||||
},
|
||||
onPageScroll(object) {
|
||||
if (object.scrollTop > 100) {
|
||||
this.pageScrollStatus = true;
|
||||
} else if (object.scrollTop < 100) {
|
||||
this.pageScrollStatus = false;
|
||||
}
|
||||
// #ifdef MP
|
||||
if (object.scrollTop > 50) {
|
||||
this.isScrolling = true;
|
||||
this.iconColor = '#333333';
|
||||
} else if (object.scrollTop < 50) {
|
||||
this.isScrolling = false;
|
||||
this.iconColor = '#FFFFFF';
|
||||
}
|
||||
// #endif
|
||||
uni.$emit('scroll');
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.header_bg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 369rpx;
|
||||
background: linear-gradient(270deg, #01ABF8 0%, #2A7EFB 100%);
|
||||
}
|
||||
|
||||
.white_jianbian {
|
||||
height: 160rpx;
|
||||
background: linear-gradient(0deg, #F5F5F5 0%, rgba(245, 245, 245, 0) 100%);
|
||||
}
|
||||
.wrapper-img {
|
||||
display: inline-block;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
.color-999{
|
||||
color: #999;
|
||||
}
|
||||
.f-s-28{
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.record-box{
|
||||
overflow: hidden;
|
||||
padding-bottom: 200rpx;
|
||||
.product-box{
|
||||
padding: 0 24rpx;
|
||||
/* #ifdef H5 */
|
||||
margin-top: 100rpx;
|
||||
/* #endif */
|
||||
/* #ifndef H5 */
|
||||
margin-top: 50rpx;
|
||||
/* #endif */
|
||||
.productInfo-box{
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
padding: 24rpx;
|
||||
border-radius: 24rpx;
|
||||
background: #fff;
|
||||
.productInfo-item{
|
||||
position: relative;
|
||||
padding: 10rpx 0;
|
||||
.wrapper-img{
|
||||
width: 130rpx;
|
||||
height: 130rpx;
|
||||
}
|
||||
.line1-width{
|
||||
width: 450rpx;
|
||||
}
|
||||
.num{
|
||||
position: absolute;
|
||||
right: -40rpx;
|
||||
top: 10rpx;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.info-box{
|
||||
padding:24rpx;
|
||||
margin-top: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 24rpx;
|
||||
.text-width{
|
||||
width: 400rpx;
|
||||
text-align: right;
|
||||
}
|
||||
.item{
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
}
|
||||
.footer{
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding: 0 24rpx;
|
||||
background: #fff;
|
||||
height: calc(100rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
height: calc(100rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
padding-bottom: calc(0rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
padding-bottom: calc(0rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
.update{
|
||||
background: #2A7EFB;
|
||||
width: 150rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 30rpx;
|
||||
line-height: 60rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user