| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |