From a8c03746e6bd8ac1d46dc48c1b10bceff543664f Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 10 十二月 2024 20:16:12 +0800 Subject: [PATCH] ll --- h5/pages/driver/index.vue | 758 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 401 insertions(+), 357 deletions(-) diff --git a/h5/pages/driver/index.vue b/h5/pages/driver/index.vue index e79d32a..56e65be 100644 --- a/h5/pages/driver/index.vue +++ b/h5/pages/driver/index.vue @@ -1,358 +1,402 @@ -<template> - <view class="main_app"> - <view class="title_wrap"> - <view class="name">{{ driverInfo.realname }}锛屾杩庣櫥褰曪綖</view> - <view class="btn" @click="loginOut">閫�鍑虹櫥褰�</view> - </view> - <!-- --> - <view class="banner_wrap"> - <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> - <view class="h2">鐗╂祦杞︿笓鍖�</view> - <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image> - </view> - <!-- --> - <view v-if="taskList && taskList.length > 0" class="task_list"> - <swiper circular class="task_swiper"> - <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)"> - <view class="item"> - <view class="head"> - <view class="name">{{ item.contractNum ? '鍚堝悓鍗�' : '杩愯緭鍗�' }}{{ item.billCode || item.contractNum}}</view> - <view class="status"> - <view class="text" v-if="item.status == 0">璇风‘璁や换鍔�</view> - <view class="text" v-if="item.status == 1">璇蜂簬{{item.arriveDate.slice(5,11)}}鐜板満绛惧埌</view> - <view class="text" v-if="item.status == 2">鍓嶆柟鎺掗槦锛歿{item.lineUpNum}}杈�</view> - <view class="text" v-if="item.status == 3">璇峰叆鍥繘鍏ョ瓑寰呭尯</view> - <view class="text" v-if="item.status == 4">璇峰叆鍥仠闈爗{item.platformName}}浣滀笟</view> - <view class="text" v-if="item.status == 5">{{item.platformName}}浣滀笟涓�</view> - <view class="text" v-if="item.status == 6">浣滀笟宸插畬鎴�</view> - <view class="text" v-if="item.status == 7">杞Щ涓�</view> - <view class="text red" v-if="item.status == 8">寮傚父鎸傝捣</view> - <view class="time" v-if="item.waitTime && item.status == 2">{{ item.waitTime }}</view> - <view class="time" v-if="item.finishTimeStr && item.status == 5">棰勮瀹屾垚鏃堕棿锛歿{ item.finishTimeStr }}</view> - </view> - </view> - <view class="content"> - <view class="info"> - <view class="plate"> - <image src="@/static/driver/wuliu_ic_car@2x.png" class="icon" mode=""></image> - <text>{{ item.carCodeFront }}</text> - </view> - <view class="plate"> - <image src="@/static/driver/wuliu_ic_huowu@2x.png" class="icon" mode=""></image> - <text>{{ item.totalNum }}涓囨敮</text> - </view> - </view> - <view class="sub"> - <view class="time" v-if="item.arriveDate && item.contractNum">{{ item.arriveDate.slice(5) }}</view> - <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">{{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view> - <view v-if="item.status == 0" class="sub_btn">纭浠诲姟</view> - <view v-if="item.status == 1" class="sub_btn">绔嬪嵆绛惧埌</view> - <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">鏌ョ湅鎺掗槦</view> - </view> - </view> - </view> - </swiper-item> - </swiper> - </view> - <!-- --> - <view class="title_wrap"><view class="name">涓氬姟鍔炵悊</view></view> - <view class="container1"> - <view class="left"> - <view class="img_wrap img1" @click="$jump('/pages/driver/notice')"> - <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image> - <view class="h1">鍏ュ洯椤荤煡</view> - <view class="h2">RESERVATION</view> - </view> - <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=bookingTips')"> - <image src="@/static/driver/wuliu_ic_zhinan@2x.png" class="img"></image> - <view class="h1">棰勭害鎸囧崡</view> - <view class="h2">APPOINTMENT GUIDE</view> - </view> - </view> - <view class="right"> - <view class="img_wrap img2" @click="$jump('/pages/driver/reservedRecord')"> - <image src="@/static/driver/wuliu_ic_yuyuejilu@2x.png" class="img"></image> - <view class="h1">棰勭害璁板綍</view> - <view class="h2">APPOINTMENT RECORD</view> - </view> - <view class="img_wrap img2" @click="$jump('/pages/driver/queueUp')"> - <image src="@/static/driver/wuliu_ic_paidui@2x.png" class="img"></image> - <view class="h1">鏈堝彴鎺掗槦鎯呭喌</view> - <view class="h2">HIDDEN DANGER</view> - </view> - <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=reservationMap')"> - <image src="@/static/driver/wuliu_ic_daolan@2x.png" class="img"></image> - <view class="h1">鍥尯瀵艰鍥�</view> - <view class="h2">GUIDE MAP</view> - </view> - </view> - </view> - <!-- --> - <view class="copyright"> - <image src="@/static/logo_s@2x.png" class="mr6" mode="widthFix" /> - <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text> - </view> - </view> -</template> - -<script> -import { logoutPost, driverHomeData } from '@/api'; -export default { - data() { - return { - taskList: [], - driverInfo: uni.getStorageSync('driverInfo'), - - }; - }, - onShow() { - this.initData(); - }, - methods: { - initData() { - driverHomeData().then(res => { - if (res.code == 200) { - uni.setStorageSync('driverGuide', { - bookingTips: res.data.bookingTips, - reservationMap: res.data.reservationMap, - signDistance: res.data.signDistance - }); - this.taskList = res.data.platformJobList || [] - } - }); - }, +<template> + <view class="main_app"> + <view class="title_wrap"> + <view class="name">{{ driverInfo.realname }}锛屾杩庣櫥褰曪綖</view> + <view class="btn" @click="loginOut">閫�鍑虹櫥褰�</view> + </view> + <!-- --> + <view class="banner_wrap"> + <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> + <view class="h2">鐗╂祦杞︿笓鍖�</view> + <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image> + </view> + <!-- --> + <view v-if="taskList && taskList.length > 0" class="task_list"> + <swiper circular class="task_swiper"> + <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)"> + <view class="item"> + <view class="head"> + <view class="name">{{ item.contractNum ? '鍚堝悓鍗�' : '杩愯緭鍗�' }}{{ item.billCode || item.contractNum }}</view> + <view class="status"> + <view class="text" v-if="item.status == 0">璇风‘璁や换鍔�</view> + <view class="text" v-if="item.status == 1">璇蜂簬{{ item.arriveDate.slice(5, 11) }}鐜板満绛惧埌</view> + <view class="text" v-if="item.status == 2">鍓嶆柟鎺掗槦锛歿{ item.lineUpNum }}杈�</view> + <view class="text" v-if="item.status == 3">璇峰叆鍥繘鍏ョ瓑寰呭尯</view> + <view class="text" v-if="item.status == 4">璇峰叆鍥仠闈爗{ item.platformName }}浣滀笟</view> + <view class="text" v-if="item.status == 5">{{ item.platformName }}浣滀笟涓�</view> + <view class="text" v-if="item.status == 6">浣滀笟宸插畬鎴�</view> + <view class="text" v-if="item.status == 7">杞Щ涓�</view> + <view class="text red" v-if="item.status == 8">寮傚父鎸傝捣</view> + <view class="time" v-if="item.waitTime && item.status == 2">{{ item.waitTime }}</view> + <view class="time" v-if="item.finishTimeStr && item.status == 5">棰勮瀹屾垚鏃堕棿锛歿{ item.finishTimeStr }}</view> + </view> + </view> + <view class="content"> + <view class="info"> + <view class="plate"> + <image src="@/static/driver/wuliu_ic_car@2x.png" class="icon" mode=""></image> + <text>{{ item.carCodeFront }}</text> + </view> + <view class="plate"> + <image src="@/static/driver/wuliu_ic_huowu@2x.png" class="icon" mode=""></image> + <text>{{ item.totalNum }}涓囨敮</text> + </view> + </view> + <view class="sub"> + <view class="time" v-if="item.arriveDate && item.contractNum">{{ item.arriveDate.slice(5) }}</view> + <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate"> + {{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view> + <view v-if="item.status == 0" class="sub_btn">纭浠诲姟</view> + <view v-if="item.status == 1" class="sub_btn">绔嬪嵆绛惧埌</view> + <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">鏌ョ湅鎺掗槦</view> + </view> + </view> + </view> + </swiper-item> + </swiper> + </view> + <!-- --> + <view class="title_wrap"> + <view class="name">涓氬姟鍔炵悊</view> + </view> + <view class="container1"> + <view class="left"> + <view class="img_wrap img1" @click="jump('/pages/driver/notice')"> + <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image> + <view class="h1">鍏ュ洯椤荤煡</view> + <view class="h2">RESERVATION</view> + </view> + <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=bookingTips')"> + <image src="@/static/driver/wuliu_ic_zhinan@2x.png" class="img"></image> + <view class="h1">棰勭害鎸囧崡</view> + <view class="h2">APPOINTMENT GUIDE</view> + </view> + </view> + <view class="right"> + <view class="img_wrap img2" @click="jump('/pages/driver/reservedRecord')"> + <image src="@/static/driver/wuliu_ic_yuyuejilu@2x.png" class="img"></image> + <view class="h1">棰勭害璁板綍</view> + <view class="h2">APPOINTMENT RECORD</view> + </view> + <view class="img_wrap img2" @click="jump('/pages/driver/queueUp')"> + <image src="@/static/driver/wuliu_ic_paidui@2x.png" class="img"></image> + <view class="h1">鏈堝彴鎺掗槦鎯呭喌</view> + <view class="h2">HIDDEN DANGER</view> + </view> + <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=reservationMap')"> + <image src="@/static/driver/wuliu_ic_daolan@2x.png" class="img"></image> + <view class="h1">鍥尯瀵艰鍥�</view> + <view class="h2">GUIDE MAP</view> + </view> + </view> + </view> + <!-- --> + <view class="copyright"> + <image src="@/static/logo_s@2x.png" class="mr6" mode="widthFix" /> + <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text> + </view> + </view> +</template> + +<script> +import { + logoutPost, + driverHomeData, + app_url +} from '@/api' +export default { + data() { + return { + taskList: [], + driverInfo: uni.getStorageSync('driverInfo'), + + } + }, + onShow() { + this.initData() + }, + + methods: { + jump(path) { + this.$jump(path) + }, + initData() { + driverHomeData().then(res => { + if (res.code == 200) { + uni.setStorageSync('driverGuide', { + bookingTips: res.data.bookingTips, + reservationMap: res.data.reservationMap, + signDistance: res.data.signDistance + }) + this.taskList = res.data.platformJobList || [] + } + }) + }, loginOut() { - this.$store.commit('empty'); - logoutPost(); - uni.redirectTo({ - url: '/pages/driver/login' - }); - }, - taskClick(item) { - const status = item.status - console.log(item); - if(status == 0){ - uni.navigateTo({url: '/pages/driver/taskConfirm?id=' + item.id}); - } - // else if(status == 2){ - // uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id}) - // } - else{ - uni.navigateTo({url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`}); - } - }, - handleTask(item) { - uni.navigateTo({ - url: '/pages/driver/taskConfirm?id=' + item.id - }); - }, - handleSign(item) { - uni.navigateTo({ - url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}` - }); - }, - handleQueue(item) { - uni.navigateTo({ - url:'/pages/driver/queueUp?jobId=' + item.id - }) - }, - } -}; -</script> - -<style lang="scss"> -.title_wrap { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 24rpx; - padding-top: 10rpx; - .name { - font-weight: 600; - font-size: 34rpx; - color: #222222; - } - .btn { - width: 144rpx; - height: 56rpx; - border-radius: 36rpx; - border: 1rpx solid $uni-color-primary; - font-size: 26rpx; - color: $uni-color-primary; - display: flex; - justify-content: center; - align-items: center; - } -} -.main_app { - padding-top: 12rpx; -} -.banner_wrap { - padding: 54rpx 44rpx; - color: #fff; - position: relative; - width: 688rpx; - height: 270rpx; - margin-bottom: 28rpx; - .h1 { - font-weight: bold; - line-height: 66rpx; - font-size: 44rpx; - margin-bottom: 14rpx; - } - .h2 { - font-weight: 600; - font-size: 28rpx; - width: 192rpx; - color: $uni-color-primary; - height: 48rpx; - line-height: 48rpx; - text-align: center; - background: #ffffff; - box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(39, 155, 170, 0.31); - border-radius: 24rpx; - } - .banner { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: -1; - } -} -.container1 { - display: flex; - flex-wrap: wrap; - view { - width: 336rpx; - } - .left { - margin-right: 18rpx; - } - .img_wrap { - position: relative; - padding: 24rpx 0rpx 0 28rpx; - border-radius: 8rpx; - overflow: hidden; - .h1 { - font-weight: 600; - font-size: 32rpx; - color: #222222; - line-height: 48rpx; - margin-bottom: 4rpx; - } - .h2 { - font-size: 22rpx; - color: #7b9da1; - line-height: 34rpx; - } - .img { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - z-index: -1; - } - } - .img1 { - width: 336rpx; - height: 296rpx; - margin-bottom: 16rpx; - } - .img2 { - width: 336rpx; - height: 140rpx; - margin-bottom: 16rpx; - } -} -.task_list { - margin-bottom: 0rpx; - .task_swiper { - padding: 12rpx 10rpx; - height: 340rpx; - width: 730rpx; - margin-left: -20rpx; - box-sizing: border-box; - } - .item { - background: #ffffff; - box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32); - border-radius: 16rpx; - height: 280rpx; - width: 98%; - margin-left: 1%; - .head { - display: flex; - justify-content: space-between; - align-items: center; - background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%); - padding: 0rpx 30rpx; - height: 92rpx; - .name { - font-weight: 600; - font-size: 36rpx; - color: #222222; - } - .status { - color: $uni-color-primary; - font-weight: 600; - text-align: right; - .time { - font-size: 24rpx; - font-weight: 360; - } - } - } - .content { - height: 180rpx; - .info { - display: flex; - padding: 24rpx 30rpx; - .plate { - flex: 1; - display: flex; - align-items: center; - .icon { - width: 26rpx; - height: 26rpx; - margin-right: 10rpx; - } - } - } - .sub { - display: flex; - justify-content: space-between; - align-items: center; - height: 68rpx; - padding: 0 30rpx 0; - .time { - font-size: 26rpx; - color: #999999; - } - .sub_btn { - height: 68rpx; - line-height: 68rpx; - padding: 0 34rpx; - color: #ffffff; - background: $uni-color-primary; - box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(39, 155, 170, 0.4); - border-radius: 40rpx; - } - } - } - } -} -.copyright { - display: flex; - align-items: center; - justify-content: center; - margin-top: 44rpx; - font-size: 24rpx; - color: #666666; - image { - width: 40rpx; - height: 40rpx; - } -} -</style> + logoutPost() + this.$store.commit('empty') + window.location.href = app_url + }, + taskClick(item) { + const status = item.status + if (status == 0) { + uni.navigateTo({ + url: '/pages/driver/taskConfirm?id=' + item.id + }) + } + // else if(status == 2){ + // uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id}) + // } + else { + uni.navigateTo({ + url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}` + }) + } + }, + handleTask(item) { + uni.navigateTo({ + url: '/pages/driver/taskConfirm?id=' + item.id + }) + }, + handleSign(item) { + uni.navigateTo({ + url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}` + }) + }, + handleQueue(item) { + uni.navigateTo({ + url: '/pages/driver/queueUp?jobId=' + item.id + }) + }, + } +} +</script> + +<style lang="scss"> +.title_wrap { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24rpx; + padding-top: 10rpx; + + .name { + font-weight: 600; + font-size: 34rpx; + color: #222222; + } + + .btn { + width: 144rpx; + height: 56rpx; + border-radius: 36rpx; + border: 1rpx solid $uni-color-primary; + font-size: 26rpx; + color: $uni-color-primary; + display: flex; + justify-content: center; + align-items: center; + } +} + +.main_app { + padding-top: 12rpx; +} + +.banner_wrap { + padding: 54rpx 44rpx; + color: #fff; + position: relative; + width: 688rpx; + height: 270rpx; + margin-bottom: 28rpx; + + .h1 { + font-weight: bold; + line-height: 66rpx; + font-size: 44rpx; + margin-bottom: 14rpx; + } + + .h2 { + font-weight: 600; + font-size: 28rpx; + width: 192rpx; + color: $uni-color-primary; + height: 48rpx; + line-height: 48rpx; + text-align: center; + background: #ffffff; + box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(39, 155, 170, 0.31); + border-radius: 24rpx; + } + + .banner { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; + } +} + +.container1 { + display: flex; + flex-wrap: wrap; + + view { + width: 336rpx; + } + + .left { + margin-right: 18rpx; + } + + .img_wrap { + position: relative; + padding: 24rpx 0rpx 0 28rpx; + border-radius: 8rpx; + overflow: hidden; + + .h1 { + font-weight: 600; + font-size: 32rpx; + color: #222222; + line-height: 48rpx; + margin-bottom: 4rpx; + } + + .h2 { + font-size: 22rpx; + color: #7b9da1; + line-height: 34rpx; + } + + .img { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; + } + } + + .img1 { + width: 336rpx; + height: 296rpx; + margin-bottom: 16rpx; + } + + .img2 { + width: 336rpx; + height: 140rpx; + margin-bottom: 16rpx; + } +} + +.task_list { + margin-bottom: 0rpx; + + .task_swiper { + padding: 12rpx 10rpx; + height: 340rpx; + width: 730rpx; + margin-left: -20rpx; + box-sizing: border-box; + } + + .item { + background: #ffffff; + box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32); + border-radius: 16rpx; + height: 280rpx; + width: 98%; + margin-left: 1%; + + .head { + display: flex; + justify-content: space-between; + align-items: center; + background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%); + padding: 0rpx 30rpx; + height: 92rpx; + + .name { + font-weight: 600; + font-size: 36rpx; + color: #222222; + } + + .status { + color: $uni-color-primary; + font-weight: 600; + text-align: right; + + .time { + font-size: 24rpx; + font-weight: 360; + } + } + } + + .content { + height: 180rpx; + + .info { + display: flex; + padding: 24rpx 30rpx; + + .plate { + flex: 1; + display: flex; + align-items: center; + + .icon { + width: 26rpx; + height: 26rpx; + margin-right: 10rpx; + } + } + } + + .sub { + display: flex; + justify-content: space-between; + align-items: center; + height: 68rpx; + padding: 0 30rpx 0; + + .time { + font-size: 26rpx; + color: #999999; + } + + .sub_btn { + height: 68rpx; + line-height: 68rpx; + padding: 0 34rpx; + color: #ffffff; + background: $uni-color-primary; + box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(39, 155, 170, 0.4); + border-radius: 40rpx; + } + } + } + } +} + +.copyright { + display: flex; + align-items: center; + justify-content: center; + margin-top: 44rpx; + font-size: 24rpx; + color: #666666; + + image { + width: 40rpx; + height: 40rpx; + } +} +</style> \ No newline at end of file -- Gitblit v1.9.3