<template>
|
|
<view class="content">
|
|
|
|
<view class="head flex-sb sticky box-shadow-light">
|
|
<view class="flex" @click="seacher">
|
|
<view class="mr5"><uni-icons type="search" size="18"/></view>
|
|
<view v-if="+seacht===0" style="font-size: 28rpx;">筛选</view>
|
|
<input v-model="input" :class="{'active':+seacht===1}" maxlength="10"
|
|
class="search-input" type="text" confirm-type="search" @confirm="loadPage"/>
|
|
</view>
|
|
<view class="flex status">
|
|
<view :class="{ 'active': +status===0 }" @click="status=0;this.loadPage()">待接单</view>
|
|
<view :class="{ 'active': +status===1 }" @click="status=1;this.loadPage()">进行中</view>
|
|
<view :class="{ 'active': +status===2 }" @click="status=2;this.loadPage()">已完成</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="m20" v-if="+status===0">
|
|
<view class="re-empty" v-if="waits.length<1">
|
|
<view>暂无数据</view>
|
|
</view>
|
|
<view v-for="e in waits" class="b-relative item-card mb20">
|
|
<view class="m10 flex-sb">
|
|
<view class="ellipsis">{{e.address}}</view>
|
|
<view class="item-time">{{ $timeUtils.formatTime(e.create_time) }}</view>
|
|
</view>
|
|
<view>到场时间:{{$timeUtils.formatTime2Day(e.in_time)}}</view>
|
|
<view>计划数量:{{e.mi}}m³/趟</view>
|
|
<view class="item-button" @click="clickDetail(e.id)">查看</view>
|
|
</view>
|
|
</view>
|
|
<view class="m20" v-if="+status===1">
|
|
<view class="re-empty" v-if="runns.length<1">
|
|
<view>暂无数据</view>
|
|
</view>
|
|
<view v-for="e in runns" class="b-relative item-card mb20">
|
|
<view class="m10 flex-sb">
|
|
<view class="ellipsis">{{e.address}}</view>
|
|
<view class="item-time">{{ $timeUtils.formatTime(e.create_time) }}</view>
|
|
</view>
|
|
<view>到场时间:{{$timeUtils.formatTime2Day(e.in_time)}}</view>
|
|
<view>计划数量:{{e.mi}}m³/趟</view>
|
|
<view class="item-button" @click="clickDetail(e.id)">查看</view>
|
|
</view>
|
|
</view>
|
|
<view class="m20" v-if="+status===2">
|
|
<view class="re-empty" v-if="endes.length<1">
|
|
<view>暂无数据</view>
|
|
</view>
|
|
<view v-for="e in endes" class="b-relative item-card mb20">
|
|
<view class="m10 flex-sb">
|
|
<view class="ellipsis">{{e.address}}</view>
|
|
<view class="item-time">{{ $timeUtils.formatTime(e.create_time) }}</view>
|
|
</view>
|
|
<view>到场时间:{{$timeUtils.formatTime2Day(e.in_time)}}</view>
|
|
<view>计划数量:{{e.mi}}m³/趟</view>
|
|
<view class="item-button btn1" @click="clickDetail(e.id)">查看</view>
|
|
<view class="item-button btn2" @click="clickStep(e.id)">进度</view>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
status: 0,
|
|
seacht: 0,
|
|
waits: [],
|
|
runns: [],
|
|
endes: [],
|
|
input: ''
|
|
}
|
|
},
|
|
mounted() {
|
|
this.seacht = 0
|
|
this.loadPage()
|
|
},
|
|
methods: {
|
|
clickDetail(id){ uni.navigateTo({ url: `/pages/user/orderd?id=${id}` }) },
|
|
clickStep(id){ uni.navigateTo({ url: `/pages/user/steps?id=${id}` }) },
|
|
seacher() { this.seacht = 1 },
|
|
loadPage(){
|
|
this.seacht = 0
|
|
uni.showLoading({})
|
|
let uri = "/api/order/enter";
|
|
let useridp = "";
|
|
if(uni.getStorageSync("role")==="1"){
|
|
useridp = uni.getStorageSync("userid")
|
|
} else if(uni.getStorageSync("role")==="2"){
|
|
|
|
} else {
|
|
uri = "/api/order/all";
|
|
}
|
|
this.$httpGet(uri, {
|
|
status: this.status,
|
|
seo: this.input,
|
|
useridp: useridp,
|
|
enter_id: uni.getStorageSync("enter_id")
|
|
}, (res) => {
|
|
console.log('[/order/enter]', res);
|
|
uni.hideLoading({})
|
|
this.waits = []
|
|
this.runns = []
|
|
this.endes = []
|
|
if(res.data){
|
|
if (+this.status === 0){
|
|
this.waits = this.$utils.toArray(res.data)
|
|
} else if (+this.status === 1){
|
|
this.runns = this.$utils.toArray(res.data)
|
|
} else if (+this.status === 2){
|
|
this.endes = this.$utils.toArray(res.data)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
page {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
.search-input{
|
|
font-size: 28rpx;
|
|
margin-top: 10rpx;
|
|
line-height: 32rpx;
|
|
border-bottom: 2rpx solid #999;
|
|
width: 0;
|
|
transition: .3s ease-in-out;
|
|
}
|
|
.active{
|
|
width: 70%;
|
|
padding-left: 10rpx;
|
|
}
|
|
|
|
.head{
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
padding: 0 40rpx;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.status{
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #9e9e9e;
|
|
padding: 20rpx 0 12rpx;
|
|
}
|
|
.status view{
|
|
padding-right: 5rpx;
|
|
margin-right: 5rpx;
|
|
border-right: 2rpx solid #9e9e9e;
|
|
width: 88rpx;
|
|
height: 28rpx;
|
|
line-height: 28rpx;
|
|
transition: .3s ease-in-out;
|
|
}
|
|
.status view:last-child{
|
|
padding-right: 0;
|
|
margin-right: 0;
|
|
border-right: none;
|
|
}
|
|
.status .active{
|
|
color: #f40000;
|
|
font-weight: 600;
|
|
text-decoration-line: underline;
|
|
}
|
|
|
|
|
|
|
|
|
|
.item-card{
|
|
width: calc(100vw - 60rpx);
|
|
height: calc(236rpx - 60rpx);
|
|
background: #ffffff;
|
|
padding: 30rpx;
|
|
|
|
font-size: 24rpx;
|
|
line-height: 42rpx;
|
|
color: #333333;
|
|
}
|
|
.item-button{
|
|
position: absolute;
|
|
left: 533rpx;
|
|
top: 134.42rpx;
|
|
width: 182rpx;
|
|
height: 52rpx;
|
|
line-height: 52rpx;
|
|
border-radius: 8rpx;
|
|
opacity: 1;
|
|
|
|
box-sizing: border-box;
|
|
border: 2rpx solid #F70303;
|
|
|
|
font-size: 28rpx;
|
|
font-weight: normal;
|
|
|
|
text-align: center;
|
|
letter-spacing: 0px;
|
|
color: #F70303;
|
|
}
|
|
.btn1{
|
|
left: 463rpx;
|
|
width: 122rpx;
|
|
}
|
|
.btn2{
|
|
left: 603rpx;
|
|
width: 122rpx;
|
|
}
|
|
.item-time{
|
|
color: #aaa;
|
|
width: 160rpx;
|
|
text-align: right;
|
|
}
|
|
</style>
|