| | |
| | | <view class="driver-index-body"> |
| | | <!-- 待领取提煤单 --> |
| | | <view class="wait-collection" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain"> |
| | | style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain"> |
| | | </view> |
| | | <!-- 引导页 --> |
| | | <view class="noob-tour" |
| | | v-if="roleType===3&&isFirstLogin"> |
| | | <combined-title title="操作指引"></combined-title> |
| | | <u-cell-group> |
| | | <u-cell title="新手指引" |
| | | name='1' |
| | | :clickable="true" |
| | | @click="noobTour"> |
| | | <u-badge type="primary" |
| | | value="01" |
| | | slot='icon'></u-badge> |
| | | <u-icon slot="value" |
| | | name="arrow-right" |
| | | size="30" |
| | | color="#b8b8b8"></u-icon> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | <noob-tour></noob-tour> |
| | | <!-- 自主配送界面 --> |
| | | <view class="self-deliver"> |
| | | <view class="self-deliver_text"> |
| | | 创建自主配送单 |
| | | </view> |
| | | <view class="self-deliver_btn"> |
| | | <u-button text="去创建" |
| | | type="primary" |
| | | shape="cirle" |
| | | @click="selfDeliver"></u-button> |
| | | </view> |
| | | </view> |
| | | <view class="collection-form"> |
| | | <view class="collection-form-item" |
| | |
| | | <view class="fourth-line" |
| | | @click="qiangDanBtn(item)" |
| | | v-if="item.carNum - item.taskNum !== 0"> |
| | | <view class="button-img">立即抢单</view> |
| | | <!-- <view class="button-img">立即接单</view> --> |
| | | <u-button type="primary" |
| | | class="button-img">立即接单</u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 抢单提示模态框 --> |
| | | <!-- 接单提示模态框 --> |
| | | <view class="qianDanModel"> |
| | | <u-modal :show="qiangDanShow" |
| | | :title="qiangDanTitle" |
| | |
| | | @confirm="qiangDanConfirm" |
| | | @cancel="qiangDanCancel"></u-modal> |
| | | </view> |
| | | |
| | | <!-- 待预约提煤单 --> |
| | | <view class="wait-appointment"> |
| | | <combined-title title="待预约提煤单"></combined-title> |
| | |
| | | <!-- <view class="order-type">{{ item.orderType }}</view> --> |
| | | </view> |
| | | </view> |
| | | <view class="fourth-line" |
| | | @click="toAppointmentClick(item)"> |
| | | <view class="button-img">立即预约</view> |
| | | <view class="fourth-line"> |
| | | <view class="button-img" |
| | | @click.stop="cancelAppoint(item)"> |
| | | 请求退单 |
| | | </view> |
| | | <view class="button-img" |
| | | @click.stop="toAppointmentClick(item)">立即预约</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 请求退单弹窗 --> |
| | | <view class=""> |
| | | <u-modal :show="cancelAppointShow" |
| | | title="退单确认" |
| | | showCancelButton |
| | | content="是否确认退单" |
| | | @confirm="cancelAppointConfirm" |
| | | @cancel="cancelAppointCancel"></u-modal> |
| | | </view> |
| | | <!-- 已预约提煤单 --> |
| | | <view class="Reserved"> |
| | | <combined-title title="已预约提煤单"></combined-title> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="white-block"></view> |
| | | <!-- 图片预览弹出框 --> |
| | | <view class="previewImage-container"> |
| | | <previewImage ref="previewImage" |
| | | :imgs="driverTourImgList" |
| | | :saveBtn='false'></previewImage> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | import { customerId } from '@/utils/status'; |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue'; |
| | | import noobTour from '@/components/noobTour/noobTour.vue' |
| | | import { mapState } from 'vuex' |
| | | import { BaseUrl } from '@/api/publicInterface.js' |
| | | export default { |
| | | components: { |
| | | combinedTitle, |
| | | previewImage |
| | | previewImage, |
| | | noobTour |
| | | }, |
| | | props: { |
| | | indexdriverBillOfLoadingData: { |
| | |
| | | list2: [], |
| | | list3: [] |
| | | }, |
| | | // 抢单模态框 |
| | | // 接单模态框 |
| | | qiangDanShow: false, |
| | | qiangDanTitle: '抢单提示', |
| | | qiangDanTitle: '接单提示', |
| | | qiangDanContent: '', |
| | | qiangDanOrderPlanId: null, |
| | | fleetId: '', |
| | | xsUserId: '', |
| | | customerId: '', |
| | | isFirstLogin: true, //是否是第一次登录 |
| | | phone: "" |
| | | phone: "", |
| | | isFirstTime: false, //是否是登录进入首页,还是别的页面返回 false是登录 true是别的页面 |
| | | cancelAppointShow: false, //确认退单弹窗控制 |
| | | cancelAppointId: '' |
| | | }; |
| | | }, |
| | | onShow() { |
| | |
| | | }, |
| | | init() { |
| | | this.qiangDanList(); |
| | | this.getLogOn() |
| | | }, |
| | | // 司机首页列表 |
| | | qiangDanList() { |
| | |
| | | this.driverBillOfLoadingData = res.data; |
| | | }); |
| | | }, |
| | | // 抢单按钮 |
| | | // 接单按钮 |
| | | qiangDanBtn(value) { |
| | | if (value.tmcCount == '0') { |
| | | this.qiangDan(value.orderPlanId, value.fleetId, value.customerId === null ? '0' : value.customerId, |
| | |
| | | this.customerId = value.customerId === null ? '0' : value.customerId; |
| | | this.xsUserId = value.xsUserId === null ? '0' : value.xsUserId; |
| | | this.qiangDanShow = true; |
| | | this.qiangDanContent = `已抢${value.tmcCount}单,确定抢单?`; |
| | | this.qiangDanContent = `已接${value.tmcCount}单,确定接单?`; |
| | | } |
| | | }, |
| | | // 抢单模态框 |
| | | // 接单模态框 |
| | | qiangDanConfirm() { |
| | | this.qiangDanContent = ''; |
| | | this.qiangDanShow = false; |
| | |
| | | qiangDanCancel() { |
| | | this.qiangDanShow = false; |
| | | }, |
| | | // 抢单请求 |
| | | // 接单请求 |
| | | qiangDan(id, fleetId, customerId, xsUserId) { |
| | | uni.showLoading({ |
| | | title: '加载中' |
| | | }) |
| | | this.$reqPost('qiangDan', { |
| | | orderPlanId: id, |
| | | fleetId: fleetId, |
| | |
| | | xsUserId: xsUserId |
| | | }, 'params') |
| | | .then(res => { |
| | | uni.hideLoading() |
| | | if (res.code == 0) { |
| | | this.$u.toast('抢单成功'); |
| | | this.$u.toast('接单成功'); |
| | | } else { |
| | | this.$u.toast(res.msg ? res.msg : '抢单失败'); |
| | | this.$u.toast(res.msg ? res.msg : '接单失败'); |
| | | } |
| | | }) |
| | | .then(() => { |
| | | setTimeout(() => { |
| | | this.qiangDanList(); |
| | | }, 1000); |
| | | }); |
| | | }, 1500); |
| | | }).catch(e => { |
| | | uni.hideLoading() |
| | | }) |
| | | }, |
| | | list3CardIconClick(value) { |
| | | uni.navigateTo({ |
| | |
| | | url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${name}` |
| | | }); |
| | | }, |
| | | // 去预约 |
| | | toAppointmentClick(value) { |
| | | uni.navigateTo({ |
| | | url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}` |
| | | }); |
| | | // 请求退单 |
| | | cancelAppoint(item) { |
| | | this.cancelAppointShow = true |
| | | this.cancelAppointId = item.id |
| | | }, |
| | | noobTour() { |
| | | this.$refs.previewImage.open('https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png') |
| | | }, |
| | | getLogOn() { |
| | | this.$reqGet('getUserEntity').then(res => { |
| | | this.phone = res.data.phone |
| | | // 退单弹窗确认 |
| | | cancelAppointConfirm() { |
| | | this.cancelAppointShow = false |
| | | uni.showLoading({ |
| | | title: '加载中' |
| | | }) |
| | | this.$reqPost('cancelAppoint', { takeCoalId: this.cancelAppointId }, 'params').then(res => { |
| | | uni.hideLoading() |
| | | if (res.code == 0) { |
| | | this.$u.toast('退单成功'); |
| | | } else { |
| | | this.$u.toast(res.msg ? res.msg : '退单失败'); |
| | | } |
| | | }).then(() => { |
| | | uni.request({ |
| | | url: `${BaseUrl}/admin/log/getLogOnType?phone=${this.phone}`, |
| | | success: res => { |
| | | // res.data.data 为1 代表第一次登录 为0取消学习指引 为2 代表存在 |
| | | if (res.data.data === 1) { |
| | | this.noobTour() |
| | | } else if (res.data.data === 2) { |
| | | this.isFirstLogin = true |
| | | } else { |
| | | this.isFirstLogin = false |
| | | } |
| | | } |
| | | }); |
| | | setTimeout(() => { |
| | | this.qiangDanList(); |
| | | }, 1000); |
| | | }).catch(e => { |
| | | uni.hideLoading() |
| | | }) |
| | | }, |
| | | // 退单弹窗取消 |
| | | cancelAppointCancel() { |
| | | this.cancelAppointShow = false |
| | | }, |
| | | // 去预约 |
| | | toAppointmentClick(value) { |
| | | // 由于自主配送单 是外购单 但是不需要填写原发为1不需要填写原发 |
| | | uni.setStorageSync('isNeedOrigin', value.orderType === '外购' && value.isSpecial === 1 ? 1 : 0) |
| | | if (value.orderType === '外购') { |
| | | uni.navigateTo({ |
| | | url: `/pages/driver-page/driver-index/bill-of-lading-details/originInfo/originInfo?orderPlanId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}&isSpecial=${value.isSpecial}` |
| | | }); |
| | | } else { |
| | | uni.navigateTo({ |
| | | url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}` |
| | | }); |
| | | } |
| | | }, |
| | | // 自主配送 |
| | | selfDeliver() { |
| | | uni.navigateTo({ |
| | | url: '/pages/driver-page/driver-index/SelfDelivery/SelfDelivery' |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | } |
| | | |
| | | @mixin fourthLine { |
| | | width: 34%; |
| | | width: 64%; |
| | | height: vww(68); |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | left: vww(203); |
| | | left: vww(102); |
| | | bottom: vww(3); |
| | | |
| | | .button-img { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/button.png') no-repeat; |
| | | width: vww(122); |
| | | height: vww(41); |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat; |
| | | background-size: cover; |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | text-align: center; |
| | | line-height: vww(40); |
| | | |
| | | } |
| | | } |
| | | |
| | | /deep/.u-button { |
| | | width: 100%; |
| | | height: 28px !important; |
| | | line-height: 40px; |
| | | padding: 0 12px; |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | background: #497bfb !important; |
| | | letter-spacing: 4rpx; |
| | | border-radius: 37rpx 37rpx 37rpx 37rpx !important; |
| | | box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); |
| | | } |
| | | |
| | | .exceedHide { |
| | |
| | | .wait-collection { |
| | | width: 100%; |
| | | height: 600rpx; |
| | | } |
| | | |
| | | // 自主配送 |
| | | .self-deliver { |
| | | position: relative; |
| | | top: vww(-120); |
| | | width: 88%; |
| | | height: vww(50); |
| | | margin: vww(8) auto; |
| | | padding: 0 vww(8); |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); |
| | | border-radius: 20rpx; |
| | | @include flex; |
| | | } |
| | | |
| | | .collection-form { |
| | |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat; |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat; |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | |
| | | } |
| | | } |
| | | |
| | | // 待预约 |
| | | .fourth-line { |
| | | width: 30%; |
| | | height: vww(68); |
| | | margin-left: vww(15); |
| | | margin-top: vww(5); |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | position: relative; |
| | | left: vww(203); |
| | | bottom: vww(3); |
| | | |
| | | .button-img { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/button.png') no-repeat; |
| | | background-size: cover; |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | text-align: center; |
| | | line-height: vww(33); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat; |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat; |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat; |
| | | background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |