From 1382a7990e9b13f60c6416ada5477673a934dd16 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 29 八月 2024 09:02:57 +0800 Subject: [PATCH] ll --- h5/pages/driver/taskConfirm.vue | 809 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 411 insertions(+), 398 deletions(-) diff --git a/h5/pages/driver/taskConfirm.vue b/h5/pages/driver/taskConfirm.vue index 592c807..7de5284 100644 --- a/h5/pages/driver/taskConfirm.vue +++ b/h5/pages/driver/taskConfirm.vue @@ -1,448 +1,461 @@ <template> - <view class="main_app"> - <view class="status_wrap"> - <image - class="bg" - src="../../static/driver/bg_renwu@2x.png" - mode="" - ></image> - <view class="name">浣滀笟宸插畬鎴�</view> - <view class="id_card">鐨朅D1212</view> - <view class="status">浣滀笟瀹屾垚</view> - </view> - <!-- --> - <view class="main_content"> - <view class="line"> - <view class="label">鍙告満濮撳悕</view> - <view class="value">鍒樻煇</view> - </view> - <view class="line"> - <view class="label">鎵嬫満鍙�</view> - <view class="value">188</view> - </view> - <view class="line"> - <view class="label">杩愯緭鍗曞彿</view> - <view class="value" @click="showDetail = true"> - <text class="waybill_num">Y111</text> - <text class="btn">杩愬崟璇︽儏</text> - </view> - </view> - <view class="line"> - <view class="label">浣滀笟绫诲瀷</view> - <view class="value">鍏ュ洯瑁呰揣</view> - </view> - <view class="empty"></view> - <!-- --> - <view class="line"> - <view class="label">杞﹀墠鐗岀収鍙�</view> - <view class="value" @click="openInput(1)"> - <text :style="{ color: param.carNos ? '#000000' : '#999999' }">{{ - param.carNos ? param.carNos : "璇疯緭鍏ヨ溅鍓嶇墝鐓у彿" - }}</text> - </view> - </view> - <view class="line"> - <view class="label">杞﹀悗鐗岀収鍙�</view> - <view class="value"> - <text - @click="openInput(1)" - :style="{ color: param.carNos ? '#000000' : '#999999' }" - >{{ param.carNos ? param.carNos : "璇疯緭鍏ヨ溅鍚庣墝鐓у彿" }}</text - > - <text class="copy">澶嶅埗杞﹀墠鐗岀収鍙�</text> - </view> - </view> - <!-- --> - </view> - <view class="space"></view> - <!-- 绛夊緟鍙彿 --> - <view class="sub_wrap"> - <view class="btn check">纭浠诲姟</view> - </view> + <view class="main_app"> + <view class="status_wrap"> + <image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image> + <view class="name">璇风‘璁や换鍔�</view> + <view class="id_card">{{ param.carCodeFront }}</view> + <view class="status">浠诲姟寰呯‘璁�</view> + </view> + <!-- --> + <view class="main_content"> + <view class="line"> + <view class="label">鍙告満濮撳悕</view> + <view class="value">{{ param.driverName }}</view> + </view> + <view class="line"> + <view class="label">鎵嬫満鍙�</view> + <view class="value">{{ param.drivierPhone }}</view> + </view> + <view class="line"> + <view class="label">杩愯緭鍗曞彿</view> + <view class="value" @click="showDetail = true"> + <text class="waybill_num">{{ param.contractNum }}</text> + <text class="btn">杩愬崟璇︽儏</text> + </view> + </view> + <view class="line"> + <view class="label">浣滀笟绫诲瀷</view> + <view class="value">{{ param.inType == 0 ? '鏁存墭鐩�' : '浠剁儫' }}</view> + </view> + <view class="empty"></view> + <!-- --> + <view class="line"> + <view class="label">鍒板満鏃ユ湡<text class="red ml6">*</text></view> + <view class="value" @click="showDate = true"> + <view :class="param.date ? '' : 'placeholder9'">{{ param.date ? param.date : '璇烽�夋嫨' }}</view> + <u-icon color="#999999" name="arrow-right"></u-icon> + </view> + </view> + <view class="line"> + <view class="label">杞﹀墠鐗岀収鍙�</view> + <view class="value" @click="openInput(1)"> + <text :style="{ color: param.carCodeFront ? '#000000' : '#999999' }">{{ param.carCodeFront ? param.carCodeFront : '璇疯緭鍏ヨ溅鍓嶇墝鐓у彿' }}</text> + </view> + </view> + <view class="line"> + <view class="label">杞﹀悗鐗岀収鍙�<text class="red ml6">*</text></view> + <view class="value"> + <text @click="openInput(2)" :style="{ color: param.carCodeBack ? '#000000' : '#999999' }">{{ param.carCodeBack ? param.carCodeBack : '璇疯緭鍏ヨ溅鍚庣墝鐓у彿' }}</text> + <text class="copy" @click="copy">澶嶅埗杞﹀墠鐗岀収鍙�</text> + </view> + </view> + <!-- --> + </view> + <view class="space"></view> + <!-- 绛夊緟鍙彿 --> + <view class="sub_wrap"><view class="btn check" @click="onSubmit">纭浠诲姟</view></view> - <!-- modal --> - <u-popup - :show="showDetail" - :round="10" - :safeAreaInsetBottom="true" - closeOnClickOverlay - :closeable="true" - mode="bottom" - @close="showDetail = false" - > - <view class="detail_modal"> - <view class="modal_title">杩愬崟璇︽儏</view> - <view class="id_card"> - <view class="last">鐨�</view> - <view class="name">AD1111</view> - </view> - <!-- --> - <view class="info"> - <view class="line"> - <view class="label">杩愯緭鍗曞彿</view> - <view class="value">2222</view> - </view> - <view class="line"> - <view class="label">椹鹃┒鍛�</view> - <view class="value">2222</view> - </view> - <view class="line"> - <view class="label">鎬昏繍杈撻噺</view> - <view class="value">2222</view> - </view> - <view class="line"> - <view class="label">杩愯緭鍏徃</view> - <view class="value">2222</view> - </view> - </view> - <view class="separate"></view> - <view class="contract_list"> - <view class="title">鍚堝悓鍙凤細111</view> - <view class="address">aadd</view> - <view class="list"> - <view class="line"> - <view class="label">鐗╂枡锛�</view> - <view class="value">榛勫北榛戦┈</view> - </view> - <view class="line"> - <view class="label">鏁伴噺锛�</view> - <view class="value">榛勫北榛戦┈</view> - </view> - <view class="line"> - <view class="label">鐗╂枡锛�</view> - <view class="value">榛勫北榛戦┈</view> - </view> - <view class="line"> - <view class="label">鏁伴噺锛�</view> - <view class="value">榛勫北榛戦┈</view> - </view> - </view> - </view> - </view> - </u-popup> - <keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" /> - </view> - <!-- --> + <!-- modal --> + <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true" mode="bottom" @close="showDetail = false"> + <view class="detail_modal"> + <view class="modal_title">杩愬崟璇︽儏</view> + <view class="id_card"> + <view class="last">鐨�</view> + <view class="name">AD1111</view> + </view> + <!-- --> + <view class="info"> + <view class="line"> + <view class="label">杩愯緭鍗曞彿</view> + <view class="value">2222</view> + </view> + <view class="line"> + <view class="label">椹鹃┒鍛�</view> + <view class="value">2222</view> + </view> + <view class="line"> + <view class="label">鎬昏繍杈撻噺</view> + <view class="value">2222</view> + </view> + <view class="line"> + <view class="label">杩愯緭鍏徃</view> + <view class="value">2222</view> + </view> + </view> + <view class="separate"></view> + <view class="contract_list"> + <view class="title">鍚堝悓鍙凤細111</view> + <view class="address">aadd</view> + <view class="list"> + <view class="line"> + <view class="label">鐗╂枡锛�</view> + <view class="value">榛勫北榛戦┈</view> + </view> + <view class="line"> + <view class="label">鏁伴噺锛�</view> + <view class="value">榛勫北榛戦┈</view> + </view> + <view class="line"> + <view class="label">鐗╂枡锛�</view> + <view class="value">榛勫北榛戦┈</view> + </view> + <view class="line"> + <view class="label">鏁伴噺锛�</view> + <view class="value">榛勫北榛戦┈</view> + </view> + </view> + </view> + </view> + </u-popup> + <u-datetime-picker :show="showDate" v-model="param.date" :minDate="minDate" @confirm="dateEnter" @cancel="showDate = false" mode="datetime"></u-datetime-picker> + <keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" /> + </view> + <!-- --> </template> <script> -import keyboardInput from '@/components/keyboard-input/keyboard-input.vue' +import keyboardInput from '@/components/keyboard-input/keyboard-input.vue'; +import { driverTaskJobDetail, driverConfirmTask } from '@/api'; +import dayjs from 'dayjs' export default { - components: { - keyboardInput - }, - data() { - return { - param: { - status: '0' - }, - showDetail: false, + components: { + keyboardInput + }, + data() { + return { + param: {}, + showDate: false, + showDetail: false, + minDate: '', - inputType: '' - } - }, - methods: { - handleSignIn() { - const { param } = this - this.param.status = param.status == '0' ? '1' : '0' - }, - getLocation() { - uni.getLocation({ - type: 'wgs84', - success: function (res) { - console.log('褰撳墠浣嶇疆鐨勭粡搴︼細' + res.longitude) - console.log('褰撳墠浣嶇疆鐨勭含搴︼細' + res.latitude) - } - }) - }, - openInput(type) { - this.inputType = type - this.$refs.keyboard.open() - }, - setPlate(e) { - if (this.inputType === 1) { - this.param.carNos = e - } else if (this.inputType === 2) { - this.param.carNos = e - } - this.$forceUpdate() - this.closeInput() - }, - closeInput() { - this.$refs.keyboard.close() - } - } -} + inputType: '' + }; + }, + onLoad(option) { + this.getDetail(option.id); + this.minDate = new Date().getTime() + }, + methods: { + onSubmit(){ + const { param } = this + if(!param.date) return this.showToast('璇烽�夋嫨鍒板満鏃ユ湡') + if(!param.carCodeBack) return this.showToast('璇疯緭鍏ヨ溅鍚庣墝鐓у彿') + driverConfirmTask({ + id: param.id, + carCodeBack: param.carCodeBack, + arriveDate: param.date + ':59' + }).then(res =>{ + this.showToast('纭鎴愬姛') + uni.navigateBack() + }) + }, + getDetail(jobId) { + driverTaskJobDetail({ + jobId + }).then(ress => { + this.param = { ...ress.data, carCodeBack: '' }; + }); + }, + dateEnter(e) { + setTimeout(() => { + this.$set(this.param, 'date', dayjs(e.value).format('YYYY-MM-DD HH:mm')) + }) + this.showDate = false + }, + openInput(type) { + this.inputType = type; + this.$refs.keyboard.open(); + }, + copy() { + if (this.param.carCodeFront) { + this.$set(this.param, 'carCodeBack', this.param.carCodeFront); + this.showToast('澶嶅埗鎴愬姛'); + } + }, + setPlate(e) { + if (this.inputType === 1) { + this.$set(this.param, 'carCodeFront', e); + } else if (this.inputType === 2) { + this.$set(this.param, 'carCodeBack', e); + } + this.$forceUpdate(); + this.closeInput(); + }, + closeInput() { + this.$refs.keyboard.close(); + } + } +}; </script> <style lang="scss"> page { - background-color: #f7f7f7; + background-color: #f7f7f7; } .main_app { - padding: 0; + padding: 0; - .main_content { - background: #ffffff; - border-radius: 20rpx 20rpx 0rpx 0rpx; - padding: 16rpx 30rpx; - position: relative; - bottom: 32rpx; + .main_content { + background: #ffffff; + border-radius: 20rpx 20rpx 0rpx 0rpx; + padding: 16rpx 30rpx; + position: relative; + bottom: 32rpx; + z-index: 999; + .line { + padding: 24rpx 0 28rpx; + border-bottom: 1rpx solid #e5e5e5; - .line { - padding: 24rpx 0 28rpx; - border-bottom: 1rpx solid #e5e5e5; + .label { + font-size: 26rpx; + color: #666666; + margin-bottom: 20rpx; + } - .label { - font-size: 26rpx; - color: #666666; - margin-bottom: 20rpx; - } + .value { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 30rpx; - .value { - display: flex; - justify-content: space-between; - align-items: center; - font-size: 30rpx; + .waybill_num { + flex: 1; + } - .waybill_num { - flex: 1; - } + .copy { + font-size: 26rpx; + color: $uni-color-primary; + } - .copy { - font-size: 26rpx; - color: $uni-color-primary; - } + .btn { + font-size: 28rpx; + color: $uni-color-primary; + display: flex; + } + } + } + .empty { + width: 750rpx; + height: 20rpx; + background-color: #f7f7f7; + margin: 0 -30rpx; + } + .warnning { + display: flex; + color: #ed4545; + align-items: center; + margin: 40rpx 0; + } - .btn { - font-size: 28rpx; - color: $uni-color-primary; - display: flex; - } - } - } - .empty { - width: 750rpx; - height: 20rpx; - background-color: #f7f7f7; - margin: 0 -30rpx; - } - .warnning { - display: flex; - color: #ed4545; - align-items: center; - margin: 40rpx 0; - } + .signIn_wrap { + margin: 80rpx auto; + width: 260rpx; + height: 260rpx; + position: relative; + color: #fff; + z-index: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; - .signIn_wrap { - margin: 80rpx auto; - width: 260rpx; - height: 260rpx; - position: relative; - color: #fff; - z-index: 1; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; + .handle { + font-weight: 600; + font-size: 40rpx; + line-height: 56rpx; + } - .handle { - font-weight: 600; - font-size: 40rpx; - line-height: 56rpx; - } + .time { + color: rgba(255, 255, 255, 0.7); + } - .time { - color: rgba(255, 255, 255, 0.7); - } + .img { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; + } + } + } - .img { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: -1; - } - } - } + .status_wrap { + height: 200rpx; + width: 100%; + padding: 30rpx; + position: relative; + z-index: 99; + color: #fff; + .bg { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; + } - .status_wrap { - height: 200rpx; - width: 100%; - padding: 30rpx; - position: relative; - z-index: 99; - color: #fff; - .bg { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - z-index: -1; - } + .name { + font-weight: 600; + font-size: 40rpx; + line-height: 56rpx; + margin-bottom: 12rpx; + } - .name { - font-weight: 600; - font-size: 40rpx; - line-height: 56rpx; - margin-bottom: 12rpx; - } + .id_card { + color: rgba(255, 255, 255, 0.8); + } + .status { + position: absolute; + right: 0; + top: 30rpx; + height: 68rpx; + line-height: 68rpx; + background: #ffffff; + padding: 0 24rpx; + border-radius: 34rpx 0rpx 0rpx 34rpx; + font-size: 26rpx; + color: $uni-color-primary; + } + } - .id_card { - color: rgba(255, 255, 255, 0.8); - } - .status { - position: absolute; - right: 0; - top: 30rpx; - height: 68rpx; - line-height: 68rpx; - background: #ffffff; - padding: 0 24rpx; - border-radius: 34rpx 0rpx 0rpx 34rpx; - font-size: 26rpx; - color: $uni-color-primary; - } - } + .space { + width: 750rpx; + height: 200rpx; + } - .space { - width: 750rpx; - height: 200rpx; - } + .sub_wrap { + position: fixed; + padding: 16rpx 30rpx 64rpx; + bottom: 0; + left: 0; + width: 100%; + display: flex; + z-index: 1; + justify-content: space-between; + background-color: #fff; + .btn { + height: 96rpx; + line-height: 96rpx; + text-align: center; + width: 690rpx; + font-size: 36rpx; + color: #333333; + background: #ffffff; + border-radius: 48rpx; + border: 1rpx solid #999999; + } - .sub_wrap { - position: fixed; - padding: 16rpx 30rpx 64rpx; - bottom: 0; - left: 0; - width: 100%; - display: flex; - z-index: 1; - justify-content: space-between; - background-color: #fff; - .btn { - height: 96rpx; - line-height: 96rpx; - text-align: center; - width: 690rpx; - font-size: 36rpx; - color: #333333; - background: #ffffff; - border-radius: 48rpx; - border: 1rpx solid #999999; - } - - .check { - background: $uni-color-primary; - border: 1rpx solid $uni-color-primary; - color: #fff; - } - } + .check { + background: $uni-color-primary; + border: 1rpx solid $uni-color-primary; + color: #fff; + } + } } .detail_modal { - padding: 36rpx 30rpx; + padding: 36rpx 30rpx; - .modal_title { - font-weight: 600; - font-size: 32rpx; - color: #222222; - line-height: 44rpx; - text-align: center; - margin-bottom: 36rpx; - } + .modal_title { + font-weight: 600; + font-size: 32rpx; + color: #222222; + line-height: 44rpx; + text-align: center; + margin-bottom: 36rpx; + } - .contract_list { - .list { - background: #f7f7f7; - border-radius: 8rpx; - padding: 20rpx; + .contract_list { + .list { + background: #f7f7f7; + border-radius: 8rpx; + padding: 20rpx; - .line { - display: flex; - margin-bottom: 20rpx; + .line { + display: flex; + margin-bottom: 20rpx; - &:nth-of-type(3n) { - border-top: 1rpx solid #e5e5e5; - padding-top: 20rpx; - } + &:nth-of-type(3n) { + border-top: 1rpx solid #e5e5e5; + padding-top: 20rpx; + } - .label { - color: #666666; - width: 86rpx; - } + .label { + color: #666666; + width: 86rpx; + } - .value { - flex: 1; - color: #222222; - } - } - } + .value { + flex: 1; + color: #222222; + } + } + } - .title { - font-weight: 600; - font-size: 30rpx; - color: $uni-color-primary; - margin-bottom: 12rpx; - } + .title { + font-weight: 600; + font-size: 30rpx; + color: $uni-color-primary; + margin-bottom: 12rpx; + } - .address { - font-size: 26rpx; - color: #666666; - margin-bottom: 20rpx; - } - } + .address { + font-size: 26rpx; + color: #666666; + margin-bottom: 20rpx; + } + } - .info { - .line { - display: flex; - margin-bottom: 20rpx; + .info { + .line { + display: flex; + margin-bottom: 20rpx; - .label { - font-size: 30rpx; - color: #666666; - width: 150rpx; - } + .label { + font-size: 30rpx; + color: #666666; + width: 150rpx; + } - .value { - flex: 1; - font-size: 30rpx; - color: #222222; - } - } - } + .value { + flex: 1; + font-size: 30rpx; + color: #222222; + } + } + } - .separate { - width: 750rpx; - height: 2rpx; - margin: 30rpx -30rpx; - border: 1rpx solid #e5e5e5; - } + .separate { + width: 750rpx; + height: 2rpx; + margin: 30rpx -30rpx; + border: 1rpx solid #e5e5e5; + } - .id_card { - border-radius: 8rpx; - display: flex; - height: 60rpx; - line-height: 60rpx; - font-weight: 600; - font-size: 36rpx; - color: #111111; - text-align: center; - margin-bottom: 30rpx; + .id_card { + border-radius: 8rpx; + display: flex; + height: 60rpx; + line-height: 60rpx; + font-weight: 600; + font-size: 36rpx; + color: #111111; + text-align: center; + margin-bottom: 30rpx; - .last { - background: #e9f5f6; - width: 60rpx; - border-radius: 8rpx 0rpx 0rpx 8rpx; - border: 1rpx solid #dfdede; - } + .last { + background: #e9f5f6; + width: 60rpx; + border-radius: 8rpx 0rpx 0rpx 8rpx; + border: 1rpx solid #dfdede; + } - .name { - width: 186rpx; - border: 1rpx solid #dfdede; - } - } + .name { + width: 186rpx; + border: 1rpx solid #dfdede; + } + } } </style> -- Gitblit v1.9.3