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.
144 lines
3.7 KiB
144 lines
3.7 KiB
<template> |
|
<view class="order-body flex column"> |
|
<!-- 顶部筛选 --> |
|
<view class="order-search-container"> |
|
<view class="order-filterGroups-container flex"> |
|
<view @click="select(item)" v-for=" (item,index) in filterGroups" :key="index" |
|
:class=" searchParams.params.status==item.value? 'order-filter-item-is' : 'order-filter-item'"> |
|
{{item.label}} |
|
</view> |
|
</view> |
|
</view> |
|
<!-- 是否上传/共计 --> |
|
<view class="order-other-search flex ac"> |
|
<view class="order-other-search-left "> |
|
<uni-data-select placeholder='是否上传费用' v-model="searchParams.params.uploadFlag" :localdata="range" |
|
@change="change"></uni-data-select> |
|
</view> |
|
<view class="order-other-search-right">共计: <text>{{currentCount}}单</text> </view> |
|
</view> |
|
<!-- 列表 --> |
|
<view class="order-list oneflex"> |
|
<scroll-view v-if="orderList.length" class="scroll" @refresherrefresh='refresherrefresh' |
|
:refresher-enabled='true' :refresher-triggered='refresherTriggered' |
|
style="height: 100%;padding-bottom: 50px;" scroll-y="true" @scrolltolower='scrolltolower'> |
|
<order-item @orderItemCenterClick='orderItemCenterClick' @orderItemFooterClick='orderItemFooterClick' |
|
:order-data="item" :key="index" v-for="(item,index) in orderList"></order-item> |
|
</scroll-view> |
|
|
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import orderApi from '@/api/order.js' |
|
import orderItem from "@/components/orderItem/orderItem.vue" |
|
export default { |
|
components: { |
|
orderItem |
|
}, |
|
options: { |
|
styleIsolation: 'shared' |
|
}, |
|
data() { |
|
return { |
|
currentCount:0, |
|
range: [{ |
|
value: 1, |
|
text: "未上传" |
|
}, |
|
{ |
|
value: 2, |
|
text: "已上传" |
|
} |
|
], |
|
orderList: [], |
|
searchParams: { |
|
"pageSize": 10, |
|
"currentPage": 1, |
|
"params": { |
|
"driverId": uni.getStorageSync('user')?.driverId || "", |
|
"status": "", //1 :已下单 2:已发货; 3:已卸货; 4已取消; |
|
"uploadFlag": "" //上传费用标识:1:未上传;2:已上传; |
|
} |
|
}, |
|
refresherTriggered: false, |
|
filterGroups: [{ |
|
label: "全部", |
|
value: "" |
|
}, |
|
{ |
|
label: "待发货", |
|
value: "1" |
|
}, |
|
{ |
|
label: "待卸货", |
|
value: "2" |
|
}, |
|
{ |
|
label: "已卸货", |
|
value: "3" |
|
}, |
|
{ |
|
label: "已取消", |
|
value: "4" |
|
} |
|
] |
|
} |
|
}, |
|
created() { |
|
this.getList(); |
|
}, |
|
onShow() {}, |
|
methods: { |
|
change() { |
|
this.refresherrefresh(false) |
|
}, |
|
orderItemFooterClick(e) { |
|
if (e.status == '4') return |
|
uni.navigateTo({ |
|
url: `/Enter/pages/${this.tool.orderStatus(e.status).router}/index?orderData=${encodeURIComponent(JSON.stringify(e))}` |
|
}) |
|
}, |
|
orderItemCenterClick(e) { |
|
uni.navigateTo({ |
|
url:`/Order/pages/details/index?orderData=${encodeURIComponent(JSON.stringify(e))}` |
|
}) |
|
}, |
|
getList() { |
|
orderApi.getOwnFleetOrders(this.searchParams).then(res => { |
|
({currentCount:this.currentCount=0} = res.data); |
|
if (res.code == 20000) { |
|
if (this.searchParams.currentPage !== 1) { |
|
this.orderList = this.orderList.concat(res.data.list) |
|
} else { |
|
this.orderList = res.data.list |
|
} |
|
} |
|
this.refresherTriggered = false |
|
}) |
|
}, |
|
scrolltolower() { |
|
this.searchParams.currentPage += 1; |
|
this.getList() |
|
}, |
|
refresherrefresh(isRefresherTriggered=true) { |
|
if(isRefresherTriggered) this.refresherTriggered = true; |
|
this.searchParams.currentPage = 1; |
|
this.getList() |
|
}, |
|
select(e) { |
|
this.searchParams.params.status = e.value; |
|
this.searchParams.currentPage = 1; |
|
this.getList(); |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
::v-deep .uni-select{ |
|
border: none !important; |
|
} |
|
@import 'index.scss'; |
|
</style> |