160 lines
3.6 KiB
Vue
160 lines
3.6 KiB
Vue
<template>
|
|
<view>
|
|
<globalPopup ref="globalPopup"></globalPopup>
|
|
<u-sticky bgColor="#0122C7" style="width: 100vw">
|
|
<u-tabs :list="tabLists" @change="sectionChange" lineColor="#fff" :scrollable="false" lineWidth="40"
|
|
inactiveStyle="color:#fff" activeStyle="color:#fff"></u-tabs>
|
|
</u-sticky>
|
|
<view class="content">
|
|
<u-search placeholder="搜索你的订单" @search="getOrderList" :show-action="false" bg-color="white"
|
|
v-model="keywords"></u-search>
|
|
<view v-if="!orderlist.length">
|
|
<u-empty mode="data" icon="../../static/img/empty/data.png"> </u-empty>
|
|
</view>
|
|
<view v-else @scroll='scrolling'>
|
|
<logistiCard ref="logistiCards" v-for="(item, index) in orderlist" @getlist="getOrderList"
|
|
@showTost="showToast" @showToast2="showToast2" :goodsInfo="item" :key="index">
|
|
</logistiCard>
|
|
<u-loadmore :status="status" />
|
|
</view>
|
|
<!-- -->
|
|
<u-toast ref="uToast"></u-toast>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getList
|
|
} from "@/api/logistics.js"
|
|
import globalPopup from "@/components/GlobalPopup/GlobalPopup.vue"
|
|
import {
|
|
informationAdd
|
|
} from "@/api/logistics.js"
|
|
import logistiCard from "@/components/logistiComptent/logistiCard/logistiCard.vue"
|
|
//#ifdef APP-PLUS
|
|
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
|
// #endif
|
|
export default {
|
|
components: {
|
|
logistiCard,
|
|
globalPopup
|
|
},
|
|
data() {
|
|
return {
|
|
is_captain: "",
|
|
notArr: [],
|
|
keywords: "",
|
|
tabLists: [{
|
|
name: '待配送',
|
|
}, {
|
|
name: '待送达'
|
|
}, {
|
|
name: '已送达'
|
|
}],
|
|
curNow: 0,
|
|
orderlist: [],
|
|
id: "",
|
|
status: "loadmore",
|
|
page_num: 1,
|
|
flag: false
|
|
|
|
}
|
|
},
|
|
methods: {
|
|
sectionChange(index) {
|
|
|
|
this.curNow = index.index;
|
|
this.getOrderList()
|
|
},
|
|
|
|
showToast() {
|
|
this.$refs.uToast.show({
|
|
type: 'success',
|
|
title: '成功主题(带图标)',
|
|
message: "操作成功",
|
|
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
|
|
})
|
|
},
|
|
showToast2() {
|
|
// 6
|
|
this.$refs.uToast.show({
|
|
type: 'error',
|
|
message: "取件码不能为空",
|
|
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png'
|
|
}, )
|
|
},
|
|
getOrderList() {
|
|
console.log("列表更新")
|
|
this.id = JSON.parse(uni.getStorageSync('USER_INFO')).id
|
|
getList({
|
|
status: this.curNow,
|
|
user_id: this.id,
|
|
keywords: this.keywords,
|
|
user_type: this.is_captain
|
|
}).then(res => {
|
|
this.orderlist = []
|
|
this.orderlist = res.data.data
|
|
if (this.orderlist.length < 15) {
|
|
this.status = 'nomore'
|
|
}
|
|
})
|
|
}
|
|
|
|
},
|
|
|
|
onLoad() {
|
|
|
|
this.is_captain = JSON.parse(uni.getStorageSync('USER_INFO')).is_captain
|
|
let that = this
|
|
//#ifdef APP-PLUS
|
|
jpushModule.addNotificationListener(function(result) {
|
|
if (!that.notArr.includes(result.messageID)) {
|
|
that.$refs.globalPopup.showPopu();
|
|
that.getOrderList()
|
|
|
|
}
|
|
that.notArr.push(result.messageID)
|
|
})
|
|
// #endif
|
|
// window.addEventListener("scroll", this.scrolling);
|
|
|
|
},
|
|
|
|
onShow() {
|
|
this.getOrderList()
|
|
|
|
},
|
|
|
|
onReachBottom() {
|
|
if (this.flag) return
|
|
this.status = "loading"
|
|
this.page_num += 1
|
|
this.flag = true
|
|
getList({
|
|
status: this.curNow,
|
|
user_id: this.id,
|
|
keywords: this.keywords,
|
|
user_type: this.is_captain,
|
|
page_num: this.page_num
|
|
}).then(res => {
|
|
this.orderlist = this.orderlist.concat(res.data.data)
|
|
this.flag = false
|
|
if (!res.data.data.length) {
|
|
this.status = "nomore"
|
|
this.flag = true
|
|
}
|
|
})
|
|
},
|
|
|
|
|
|
}
|
|
</script>
|
|
|
|
<style lang='scss'>
|
|
.content {
|
|
margin-top: 2vh;
|
|
background-color: #f5f5f5;
|
|
padding: 0vh 2vw;
|
|
}
|
|
</style> |