<template>  
 | 
    <view class="main_app">  
 | 
        <!--  -->  
 | 
        <view class="box_list">  
 | 
            <view class="box_list_item" v-for="(item, index) in datalist" :key="index" @click="handleDetail(item.id)">  
 | 
                <view class="box_list_item_head">  
 | 
                    <text>{{item.driverName}}的入园预约</text>  
 | 
                    <text class="loading" :class="{red: item.status == 3}">{{ statusMap[item.status] }}</text>  
 | 
                </view>  
 | 
                <view class="box_list_item_nr">  
 | 
                    <view class="box_list_item_nr_item">  
 | 
                        <text>合同编号:</text>  
 | 
                        <text>{{item.contractNum}}</text>  
 | 
                    </view>  
 | 
                    <view class="box_list_item_nr_item">  
 | 
                        <text>到场时间:</text>  
 | 
                        <text v-if="item.arriveDate">{{item.arriveDate.slice(5,16)}}</text>  
 | 
                    </view>  
 | 
                    <view class="box_list_item_nr_item">  
 | 
                        <text>司机姓名:</text>  
 | 
                        <text>{{item.driverName}} {{item.driverPhone}}</text>  
 | 
                    </view>  
 | 
                    <view class="box_list_item_nr_item">  
 | 
                        <text>车辆信息:</text>  
 | 
                        <text>{{item.carCodeFront}}</text>  
 | 
                    </view>  
 | 
                    <view class="box_list_item_nr_item">  
 | 
                        <text class="placeholder9" v-if="item.createDate">{{item.createDate.slice(0,16)}}提交</text>  
 | 
                    </view>  
 | 
                </view>  
 | 
            </view> 
 | 
            <view v-if="datalist.length === 0" style="text-align: center"> 
 | 
              <image 
 | 
                src="@/static/empty.png" 
 | 
                style="width: 320rpx; margin: 120px auto 0" 
 | 
                mode="widthFix" 
 | 
              /> 
 | 
              <view class="placeholder9 fs24">暂无数据</view> 
 | 
            </view>  
 | 
        </view>  
 | 
    </view>  
 | 
</template>  
 | 
  
 | 
<script>  
 | 
    import {  
 | 
        driverApplyRecord  
 | 
    } from "@/api"  
 | 
    export default {  
 | 
        data() {  
 | 
            return {  
 | 
                isShowCar: false,  
 | 
                isShowDate: false,  
 | 
                param: {},  
 | 
                page: 1,  
 | 
                capacity: 20,  
 | 
                total: 0,  
 | 
                datalist: [],  
 | 
                statusMap: {  
 | 
                    0: '待审批',  
 | 
                    1: '审批中',  
 | 
                    2: '已通过',  
 | 
                    3: '已拒绝',  
 | 
                    4: '已取消',  
 | 
                }  
 | 
            }  
 | 
        },  
 | 
        onShow() {  
 | 
            this.page = 1 
 | 
            this.datalist = []  
 | 
            this.getList()  
 | 
        },  
 | 
        onReachBottom() {  
 | 
            const {  
 | 
                total,  
 | 
                datalist  
 | 
            } = this  
 | 
            if (datalist.length < total) {  
 | 
                this.page = this.page + 1  
 | 
                this.getList()  
 | 
            } else {  
 | 
                this.showToast('暂无更多数据')  
 | 
            }  
 | 
        },  
 | 
        methods: {  
 | 
            getList() {  
 | 
                const {  
 | 
                    page,  
 | 
                    capacity  
 | 
                } = this  
 | 
                driverApplyRecord({  
 | 
                    page,  
 | 
                    capacity,  
 | 
                    model: {}  
 | 
                }).then(res => {  
 | 
                    this.datalist = [...this.datalist, ...res.data.records]  
 | 
                    this.total = res.data.total  
 | 
                })  
 | 
            },  
 | 
            handleDetail(id) {  
 | 
                uni.navigateTo({  
 | 
                    url: `/pages/driver/reservedDetail?id=${id}`  
 | 
                })  
 | 
            },  
 | 
            confirmDate(e) {  
 | 
                console.log(e.value)  
 | 
                this.param.aa = dayjs(e.value).format('YYYY-MM-DD')  
 | 
                this.isShowDate = false  
 | 
            },  
 | 
            seletedCar(e) {  
 | 
                console.log(e.value)  
 | 
                this.param.aa = dayjs(e.value).format('YYYY-MM-DD')  
 | 
                this.isShowDate = false  
 | 
            }  
 | 
        }  
 | 
    };  
 | 
</script>  
 | 
  
 | 
<style lang="scss">  
 | 
    page {  
 | 
        background: #f7f7f7;  
 | 
    }  
 | 
  
 | 
    .main_app {  
 | 
        background: #f7f7f7;  
 | 
        padding: 0;  
 | 
    }  
 | 
  
 | 
    .app_header {  
 | 
        display: flex;  
 | 
        align-items: center;  
 | 
        margin: 0 -15rpx;  
 | 
        background-color: #fff;  
 | 
  
 | 
        .item {  
 | 
            width: 360rpx;  
 | 
            height: 72rpx;  
 | 
            margin: 15rpx;  
 | 
            padding: 0 30rpx;  
 | 
            display: flex;  
 | 
            align-items: center;  
 | 
            justify-content: center;  
 | 
            align-items: center;  
 | 
        }  
 | 
    }  
 | 
  
 | 
    .box_list {  
 | 
        width: 100%;  
 | 
        padding: 30rpx;  
 | 
        box-sizing: border-box;  
 | 
  
 | 
        .box_list_item {  
 | 
            width: 100%;  
 | 
            margin-bottom: 20rpx;  
 | 
  
 | 
            &:last-child {  
 | 
                margin: 0 !important;  
 | 
            }  
 | 
  
 | 
            .box_list_item_head {  
 | 
                width: 100%;  
 | 
                height: 100rpx;  
 | 
                padding: 0 30rpx;  
 | 
                box-sizing: border-box;  
 | 
                background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);  
 | 
                border-radius: 8rpx 8rpx 0rpx 0rpx;  
 | 
                display: flex;  
 | 
                align-items: center;  
 | 
                justify-content: space-between;  
 | 
  
 | 
                .loading {  
 | 
                    color: #4c99a8;  
 | 
                }  
 | 
  
 | 
                .success {  
 | 
                    color: #03c68f;  
 | 
                }  
 | 
  
 | 
                .error {  
 | 
                    color: #e0312a;  
 | 
                }  
 | 
  
 | 
                text {  
 | 
                    &:nth-child(1) {  
 | 
                        font-size: 32rpx;  
 | 
                        font-weight: 600;  
 | 
                        color: #222222;  
 | 
                    }  
 | 
  
 | 
                    &:nth-child(2) {  
 | 
                        font-size: 26rpx;  
 | 
                        font-weight: 400;  
 | 
                    }  
 | 
                }  
 | 
            }  
 | 
  
 | 
            .box_list_item_nr {  
 | 
                padding: 30rpx 30rpx 10rpx;  
 | 
                width: 100%;  
 | 
                box-sizing: border-box;  
 | 
                background-color: #ffffff;  
 | 
  
 | 
                .box_list_item_nr_item {  
 | 
                    width: 100%;  
 | 
                    display: flex;  
 | 
                    align-items: center;  
 | 
                    margin-bottom: 16rpx;  
 | 
  
 | 
                    text {  
 | 
                        font-size: 26rpx;  
 | 
                        font-weight: 400;  
 | 
                        color: #666666;  
 | 
                    }  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
    }  
 | 
</style> 
 |