From a99403de8051b2506dd59097a50d70856b488721 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期五, 15 十一月 2024 16:31:10 +0800
Subject: [PATCH] feat:司机首页增加二维码展示

---
 pages/driver-page/driver-index/driver-index.vue |  163 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 137 insertions(+), 26 deletions(-)

diff --git a/pages/driver-page/driver-index/driver-index.vue b/pages/driver-page/driver-index/driver-index.vue
index 86a6c78..ab1fc20 100644
--- a/pages/driver-page/driver-index/driver-index.vue
+++ b/pages/driver-page/driver-index/driver-index.vue
@@ -4,7 +4,7 @@
 			<view class="driver-index-body">
 				<!-- 寰呴鍙栨彁鐓ゅ崟 -->
 				<view class="wait-collection"
-					style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain">
+					style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain">
 				</view>
 				<!-- 寮曞椤� -->
 				<noob-tour></noob-tour>
@@ -157,11 +157,13 @@
 							</view>
 							<view class="fourth-line">
 								<view class="button-img"
+								v-if="!(item.orderType === '鍐呰喘' ||item.orderType === '杞叆')"
 									@click.stop="cancelAppoint(item)">
 									璇锋眰閫�鍗�
 								</view>
 								<view class="button-img"
 									@click.stop="toAppointmentClick(item)">绔嬪嵆棰勭害</view>
+									
 							</view>
 						</view>
 					</view>
@@ -174,6 +176,30 @@
 						content="鏄惁纭閫�鍗�"
 						@confirm="cancelAppointConfirm"
 						@cancel="cancelAppointCancel"></u-modal>
+				</view>
+				<!-- 鍦哄唴鎺ュ崟寮圭獥 -->
+				<view class="">
+					<u-modal :show="insideConnectShow"
+						title="鎺ュ崟閫夋嫨"
+						showCancelButton
+						cancel-text="姝e父鎺ュ崟"
+						confirm-text="鍦哄唴鎺ュ崟"
+						content="鍦哄唴鎺ュ崟鏃犻渶绉扮毊,鏄惁纭鎺ュ崟"
+						@confirm="insideConnectConfirm"
+						@cancel="insideConnectCancel"></u-modal>
+				</view>
+				<!-- 浜岀淮鐮佸脊绐� -->
+				<view class="qCodeModal">
+					<u-modal :show="qCodeModalVisible"
+					:showConfirmButton="false"
+					:negativeTop="150"
+					@close="qCodeModalVisible = false"
+					closeOnClickOverlay
+					>
+						<uv-qrcode ref="qrcode" canvas-id="qrcode" :value="qCodeValue" size="500rpx" :loading="qCodeloading"
+			:options="options"></uv-qrcode>
+
+					</u-modal>
 				</view>
 				<!-- 宸查绾︽彁鐓ゅ崟 -->
 				<view class="Reserved">
@@ -244,11 +270,15 @@
 									<!-- <view class="order-type">{{ item.orderType }}</view> -->
 								</view>
 							</view>
-							<view class="fourth-line">
+							<view class="fourth-line"
+								v-if="item.status<3 && !(item.orderType === '鍐呰喘' ||item.orderType === '杞叆')">
 								<view class="button-img"
 									@click.stop="cancelAppoint(item)">
 									璇锋眰閫�鍗�
 								</view>
+								<view class="button-img"
+								    v-if="item.qrCode == 1"
+									@click.stop="viewQcode(item)">鏌ョ湅浜岀淮鐮�</view>
 							</view>
 						</view>
 					</view>
@@ -266,11 +296,13 @@
 	import noobTour from '@/components/noobTour/noobTour.vue'
 	import { mapState } from 'vuex'
 	import { BaseUrl } from '@/api/publicInterface.js'
+	import uvQrcode from '@/uni_modules/uv-qrcode/components/uv-qrcode/uv-qrcode.vue'; // 寮曞叆鐢熸垚浜岀淮鐮佺粍浠�
 	export default {
 		components: {
 			combinedTitle,
 			previewImage,
-			noobTour
+			noobTour,
+			uvQrcode
 		},
 		props: {
 			indexdriverBillOfLoadingData: {
@@ -295,6 +327,8 @@
 		},
 		data() {
 			return {
+				qCodeValue:'',
+				qCodeloading:false,
 				driverBillOfLoadingData: {
 					list1: [],
 					list2: [],
@@ -303,16 +337,28 @@
 				// 鎺ュ崟妯℃�佹
 				qiangDanShow: false,
 				qiangDanTitle: '鎺ュ崟鎻愮ず',
+				qCodeModalVisible:false,
 				qiangDanContent: '',
 				qiangDanOrderPlanId: null,
-				fleetId: '',
-				xsUserId: '',
-				customerId: '',
 				isFirstLogin: true, //鏄惁鏄涓�娆$櫥褰�
 				phone: "",
 				isFirstTime: false, //鏄惁鏄櫥褰曡繘鍏ラ椤碉紝杩樻槸鍒殑椤甸潰杩斿洖 false鏄櫥褰� true鏄埆鐨勯〉闈�
 				cancelAppointShow: false, //纭閫�鍗曞脊绐楁帶鍒�
-				cancelAppointId: ''
+				cancelAppointId: '',
+				insideConnectShow: false,
+				orderPlanId: '',
+				fleetId: '',
+				customerId: '',
+				xsUserId: '',
+				filedId: '',
+				options: {
+				useDynamicSize: false,
+				errorCorrectLevel: 'Q',
+				margin: 10,
+				areaColor: "#fff",
+				// 鎸囧畾浜岀淮鐮佸墠鏅紝涓�鑸彲鍦ㄤ腑闂存斁logo
+				foregroundImageSrc: '',
+			}
 			};
 		},
 		onShow() {
@@ -342,16 +388,26 @@
 			},
 			// 鎺ュ崟鎸夐挳
 			qiangDanBtn(value) {
-				if (value.tmcCount == '0') {
-					this.qiangDan(value.orderPlanId, value.fleetId, value.customerId === null ? '0' : value.customerId,
-						value.xsUserId === null ? '0' : value.xsUserId);
+				//鏄惁鍙互鍦哄唴鎺ュ崟锛�1 鍙互2涓嶅彲浠�
+				if (value.isInsideConnect === 1) {
+					this.insideConnectShow = true
+					this.orderPlanId = value.orderPlanId
+					this.fleetId = value.fleetId
+					this.customerId = !value.customerId ? '0' : value.customerId
+					this.xsUserId = !value.xsUserId ? '0' : value.xsUserId
+					this.filedId = value.filedId
 				} else {
-					this.qiangDanOrderPlanId = value.orderPlanId;
-					this.fleetId = value.fleetId;
-					this.customerId = value.customerId === null ? '0' : value.customerId;
-					this.xsUserId = value.xsUserId === null ? '0' : value.xsUserId;
-					this.qiangDanShow = true;
-					this.qiangDanContent = `宸叉帴${value.tmcCount}鍗曪紝纭畾鎺ュ崟锛焋;
+					if (value.tmcCount == '0') {
+						this.qiangDan(value.orderPlanId, value.fleetId, !value.customerId ? '0' : value.customerId,
+							!value.xsUserId ? '0' : value.xsUserId);
+					} else {
+						this.qiangDanOrderPlanId = value.orderPlanId;
+						this.fleetId = value.fleetId;
+						this.customerId = !value.customerId ? '0' : value.customerId;
+						this.xsUserId = !value.xsUserId ? '0' : value.xsUserId;
+						this.qiangDanShow = true;
+						this.qiangDanContent = `宸叉帴${value.tmcCount}鍗曪紝纭畾鎺ュ崟锛焋;
+					}
 				}
 			},
 			// 鎺ュ崟妯℃�佹
@@ -377,7 +433,7 @@
 					.then(res => {
 						uni.hideLoading()
 						if (res.code == 0) {
-							this.$u.toast('鎺ュ崟鎴愬姛');
+							this.$u.toast('鎺ュ崟姝e湪澶勭悊涓�...');
 						} else {
 							this.$u.toast(res.msg ? res.msg : '鎺ュ崟澶辫触');
 						}
@@ -389,6 +445,25 @@
 					}).catch(e => {
 						uni.hideLoading()
 					})
+			},
+			insideConnectHandle(orderPlanId, fleetId, customerId, xsUserId, filedId) {
+				uni.showLoading({
+					title: '鍔犺浇涓�'
+				})
+				this.$reqPost('insideConnect', {
+					orderPlanId,
+					fleetId,
+					customerId,
+					xsUserId,
+					filedId
+				}, 'params').then(res => {
+					uni.hideLoading()
+					if (res.code == 0) {
+						this.$u.toast('鍦哄唴鎺ュ崟鎴愬姛');
+					} else {
+						this.$u.toast(res.msg ? res.msg : '鍦哄唴鎺ュ崟澶辫触');
+					}
+				})
 			},
 			list3CardIconClick(value) {
 				uni.navigateTo({
@@ -404,7 +479,7 @@
 			// 璇锋眰閫�鍗�
 			cancelAppoint(item) {
 				if (item.status >= 3) {
-					this.$uy.toast('褰撳墠鐘舵�佷笉鍙��鍗�')
+					this.$u.toast('褰撳墠鐘舵�佷笉鍙��鍗�')
 					return
 				}
 				this.cancelAppointShow = true
@@ -435,17 +510,26 @@
 			cancelAppointCancel() {
 				this.cancelAppointShow = false
 			},
+			insideConnectCancel() {
+				this.insideConnectShow = false
+				this.qiangDan(this.orderPlanId, this.fleetId, this.customerId, this.xsUserId)
+			},
+			// 鍦哄唴鎺ュ崟
+			insideConnectConfirm() {
+				this.insideConnectShow = false
+				this.insideConnectHandle(this.orderPlanId, this.fleetId, this.customerId, this.xsUserId, this.filedId)
+			},
 			// 鍘婚绾�
 			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}`
+						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}&coalName=${value.coalName}`
 					});
 				} else {
 					uni.navigateTo({
-						url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}`
+						url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}&coalName=${value.coalName}`
 					});
 				}
 			},
@@ -454,6 +538,33 @@
 				uni.navigateTo({
 					url: '/pages/driver-page/driver-index/SelfDelivery/SelfDelivery'
 				})
+			},
+			//鏌ョ湅浜岀淮鐮�
+			viewQcode(item){
+				console.log('鏌ョ湅浜岀淮鐮�')
+			
+				this.$reqGet('showQRCode',{code:item.code}).then(res=>{
+					console.log(res,'ress')
+					if(res.data){
+						this.qCodeModalVisible = true;
+						this.qCodeValue = res.data;
+						this.$nextTick(() => {
+						this.$refs.qrcode.remake({
+						success: () => {
+							console.log('鐢熸垚鎴愬姛');
+						},
+						fail: err => {
+							console.log(err)
+						}
+					});
+				})
+					}else{
+						this.$u.toast(res.msg || '鐢熸垚澶辫触')
+					}
+				
+				})
+				
+				
 			}
 		}
 	};
@@ -528,7 +639,7 @@
 		.button-img {
 			width: vww(122);
 			height: vww(41);
-			background: url('https://mx.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat;
+			background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat;
 			background-size: cover;
 			font-size: 28rpx;
 			font-weight: 300;
@@ -633,7 +744,7 @@
 								height: vww(28);
 								line-height: vww(28);
 								text-align: center;
-								background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
+								background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
 								background-size: contain;
 								font-size: 30rpx;
 								font-weight: 400;
@@ -676,7 +787,7 @@
 								height: vww(28);
 								line-height: vww(28);
 								text-align: center;
-								background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
+								background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
 								background-size: contain;
 								font-size: 30rpx;
 								font-weight: 400;
@@ -834,7 +945,7 @@
 								height: vww(28);
 								line-height: vww(28);
 								text-align: center;
-								background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
+								background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
 								background-size: contain;
 								font-size: 30rpx;
 								font-weight: 400;
@@ -870,7 +981,7 @@
 								height: vww(28);
 								line-height: vww(28);
 								text-align: center;
-								background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
+								background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
 								background-size: contain;
 								font-size: 30rpx;
 								font-weight: 400;
@@ -908,7 +1019,7 @@
 								height: vww(28);
 								line-height: vww(28);
 								text-align: center;
-								background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
+								background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
 								background-size: contain;
 								font-size: 30rpx;
 								font-weight: 400;

--
Gitblit v1.9.1