From b77f2eb3717762c6638856ebe76812c8b1986b57 Mon Sep 17 00:00:00 2001
From: wk
Date: 星期二, 09 七月 2024 17:30:46 +0800
Subject: [PATCH] feat:门卫运输证

---
 pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue |  310 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 240 insertions(+), 70 deletions(-)

diff --git a/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue b/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
index be323c3..7c4b4dd 100644
--- a/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
+++ b/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
@@ -1,47 +1,74 @@
 <template>
 		<view class="appointment">
-			<view class="wait-collection"
-				style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain">
+			<view class="searchview">
+				<u-search @change="change" :searchIconSize="40" placeholder="璇疯緭鍏ヨ溅鐗屽彿" height="80" clearabled v-model="carNo" @search="search" @custom="custom" @clear="clear" >
+				</u-search >
 			</view>
 			<uni-table border
 				stripe
 				emptyText="鏆傛棤鏇村鏁版嵁">
 				<uni-tr>
-					<uni-th align="center">鍙告満</uni-th>
-					<uni-th align="center">浜у搧</uni-th>
 					<uni-th align="center">杞︾墝鍙�</uni-th>
+					<uni-th align="center">浜у搧</uni-th>
+					<uni-th align="center">鍙告満</uni-th>
 					<uni-th align="center">鎵嬫満鍙�</uni-th>
+					<uni-th align="center">棰勭害鏃堕棿</uni-th>
 					<uni-th align="center">鎿嶄綔</uni-th>
 				</uni-tr>
 				<uni-tr v-for="(item, index) in driverBillOfLoadingData"
 					:key="item.id">
-					<uni-td align="center">{{ item.driver  }}</uni-td>
-					<uni-td align="center">{{ item.productName || '' }}</uni-td>
 					<uni-td align="center">{{ item.carNo || '' }}</uni-td>
+					<uni-td align="center">{{ item.productNames || '' }}</uni-td>
+					<uni-td align="center">{{ item.driver  }}</uni-td>
 					<uni-td align="center">{{ item.phone || '' }}</uni-td>
-					<uni-td><u-button text="閫夋嫨"
-							type="primary"
-							@click="yuYueBtnClick(item)"></u-button></uni-td>
+					<uni-td align="center">{{ item.startTime || '' }}-{{item.endTime || ""}}</uni-td>
+					<uni-td>
+						<view class="buttons">
+							<u-button text="鏌ョ湅杩愯緭璇�"
+								type="primary"
+								class="buttonitem"
+								v-if="item.roadTransportId"
+								@click="lookRoad(item)"></u-button>
+							<u-button text="妫�鏌�"
+								type="primary"
+								class="buttonitem"
+								@click="yuYueBtnClick(item)"></u-button>
+						</view>
+					</uni-td>
 				</uni-tr>
 			</uni-table>
-			<view v-show="isshow">
-				<uni-table border
-					stripe
-					type="selection"  
-					@selection-change="selectionChange"
-					emptyText="鏆傛棤鏇村鏁版嵁">
-					<uni-tr>
-						<uni-th align="center">妫�娴嬮」</uni-th>
-					</uni-tr>
-					<uni-tr v-for="(item, index) in inspectData"
-						:key="item.id">
-						<uni-td align="center">{{ item.title  }}</uni-td>
-					</uni-tr>
-				</uni-table>
-				<view class="fourth-line">
-					<view class="button-img"
-						@click.stop="toAppointmentClick(item)">纭畾</view>
+			<u-popup :show="imgshow"
+				@close="closeimg"
+				@open="openimg"
+				mode="center"
+				round="10">
+				<view class="imgrPopup">
+						<u--image :showLoading="true"
+							:src="certificateImg != null ? BaseUrl + certificateImg : ''"
+							width="700rpx"
+							height="400rpx"
+							@click="imageClick(certificateImg)">
+							<view slot="error"
+								style="font-size: 24rpx;">鍔犺浇澶辫触</view>
+						</u--image>
+						<view class="driveruser">
+							<view>鍙告満锛歿{ysData.driverName}}</view>  
+						</view>
+						<view class="driveruser">
+							<view>鎶艰繍鍛橈細{{ysData.supercargoInfo?ysData.supercargoInfo.split("|")[0]:null}}</view>  
+							<view>鎵嬫満鍙凤細{{ysData.supercargoInfo?ysData.supercargoInfo.split("|")[2]:null}}</view>
+						</view>
 				</view>
+			</u-popup>
+			<view class="previewImage-container">
+				<u-popup :show="previewImageShow"
+					mode="center"
+					@close="previewImageClose"
+					@open="previewImageOpen">
+					<u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''"
+						width="400px"
+						height="400px"></u--image>
+				</u-popup>
 			</view>
 			<u-popup :show="show"
 				@close="close"
@@ -49,18 +76,39 @@
 				mode="center"
 				round="10">
 				<view class="receiverPopup">
+					<uni-table border
+						stripe
+						type="selection"  
+						@selection-change="selectionChange"
+						emptyText="鏆傛棤鏇村鏁版嵁">
+						<uni-tr>
+							<uni-th align="center">妫�娴嬮」</uni-th>
+						</uni-tr>
+						<uni-tr v-for="(item, index) in inspectData"
+							:key="item.id">
+							<uni-td align="center">{{ item.title  }}</uni-td>
+						</uni-tr>
+					</uni-table>
 					<view class="receiverPopup__title"><text>纭畾妫�鏌ュ畬姣�</text></view>
 					<view class="receiverPopup__btn"><u-button text="纭畾"
 							type="primary"
 							@click="popClick"
-							:disabled="canClick"
 							:loading="ClickLoading"></u-button></view>
 				</view>
 			</u-popup>
+			<view class="logoutModel">
+				<u-modal :show="logoutShow"
+					:title="logoutTitle"
+					showCancelButton
+					:content="logoutContent"
+					@confirm="logoutConfirm"
+					@cancel="logoutCancel"></u-modal>
+			</view>
 		</view>
 </template>
 
 <script>
+	import { BaseUrl } from '@/api/publicInterface.js';
 	export default {
 		components: {
 		},
@@ -70,47 +118,26 @@
 				driverBillOfLoadingData:[],
 				inspectData:[],
 				isAllSelected:false,
-				isshow:false,
-				form:{},
-				ClickLoading:false
+				form:{},				
+				BaseUrl,
+				carNo:'',
+				previewImageShow:false,
+				imgshow:false,
+				ClickLoading:false,
+				certificateImg:"",
+				logoutShow: false,
+				logoutTitle: '鎻愮ず',
+				logoutContent: '鏄惁妫�鏌ュ畬姣�',
+				previewImageSrc:"",
+				ysData:{}
 			}
 		},
 		onShow() {
 			this.init();
 		},
 		methods: {
-			yuYueBtnClick(item){
-				this.inspectData=JSON.parse(item.inspectedResult)
-				this.form=item
-				this.isshow=true
-			},
-			selectionChange(items){
-			  const allIds = this.inspectData.map(item => item);
-			  this.isAllSelected = items?.detail.index.length === allIds.length 
-			},
-			init() {
-				this.isAllSelected=false
-				this.TaskCoalList();
-				this.form={}
-				this.inspectData=[]
-				this.isshow=false
-			},
-			toAppointmentClick(){
+			logoutConfirm() {
 				if(this.isAllSelected==true){
-					let arr= this.driverBillOfLoadingData.map(i=>{
-						return {
-							carNo:i.carNo,
-							taskId:i.id,
-							taskcode:i.code,
-							}
-					})
-					this.show = true;
-				}else{
-					uni.$u.toast('蹇呴』鍏ㄩ儴妫�娴�')
-				}
-				
-			},
-			popClick() {
 					this.ClickLoading = true;
 					this.inspectData=this.inspectData.map(item=>{
 						return {
@@ -131,33 +158,168 @@
 							this.ClickLoading = false;
 							this.inspectData=[]
 							this.show = false;
-							this.isshow=false
+							this.logoutShow = false;
 							this.TaskCoalList()
 						} else {
 							uni.$u.toast(res.msg ? res.msg : '妫�鏌ュけ璐�')
+							this.logoutShow = false;
 						}
 					})
+				}else{
+					uni.$u.toast('蹇呴』鍏ㄩ儴妫�娴�')
+				}
+			},
+			logoutCancel() {
+				this.logoutShow = false;
+			},
+			previewImageClose() {
+				this.previewImageShow = false;
+			},
+			previewImageOpen() {},
+			imageClick(data) {
+				this.previewImageSrc = data;
+				this.$nextTick(() => {
+					this.previewImageShow = true;
+				});
+			},
+			lookRoad(item){
+				this.$reqGetId('getById', item.roadTransportId).then(res => {
+					this.certificateImg=res.data.certificateImg
+					this.ysData=res.data
+					this.imgshow=true
+				});
+			},
+			yuYueBtnClick(item){
+				let char = "杩愯緭璇�";
+				if (item.inspectedResult.includes(char)) {
+					if(item.roadTransportId){
+						if(item.inspectedResult){
+							this.inspectData=JSON.parse(item.inspectedResult)
+							this.form=item
+							this.show = true;
+						}else{
+							this.inspectData=[]
+							this.form=item
+							uni.showLoading({ title: '鍔犺浇涓�...' });
+							this.$reqPost('addCheckLog',{
+											carNo:this.form.carNo,
+											taskId:this.form.id,
+											taskcode:this.form.code,
+										}, 'json').then(res => {
+								if (res.code === 0) {
+									uni.$u.toast('妫�鏌ユ垚鍔�')
+									this.form={}
+									this.ClickLoading = false;
+									this.show = false;
+									this.TaskCoalList()
+								} else {
+									uni.$u.toast(res.msg ? res.msg : '妫�鏌ュけ璐�')
+								}
+							})
+						}
+					}else{
+						uni.$u.toast('璇ュ徃鏈烘湭涓婁紶杩愯緭璇侊紒')
+					}
+				} else {
+				   if(item.inspectedResult){
+				   	this.inspectData=JSON.parse(item.inspectedResult)
+				   	this.form=item
+				   	this.show = true;
+				   }else{
+				   	this.inspectData=[]
+				   	this.form=item
+				   	uni.showLoading({ title: '鍔犺浇涓�...' });
+				   	this.$reqPost('addCheckLog',{
+				   					carNo:this.form.carNo,
+				   					taskId:this.form.id,
+				   					taskcode:this.form.code,
+				   				}, 'json').then(res => {
+				   		if (res.code === 0) {
+				   			uni.$u.toast('妫�鏌ユ垚鍔�')
+				   			this.form={}
+				   			this.ClickLoading = false;
+				   			this.show = false;
+				   			this.TaskCoalList()
+				   		} else {
+				   			uni.$u.toast(res.msg ? res.msg : '妫�鏌ュけ璐�')
+				   		}
+				   	})
+				   }
+				}
+				
+			},
+			selectionChange(items){
+			  const allIds = this.inspectData.map(item => item);
+			  this.isAllSelected = items?.detail.index.length === allIds.length 
+			},
+			init() {
+				this.isAllSelected=false
+				this.TaskCoalList();
+				this.form={}
+				this.inspectData=[]
+				this.certificateImg=""
+			},
+			popClick() {
+					this.logoutShow = true;
 			},
 			open() {},
 			close() {
 				this.show = false;
+			},
+			openimg() {},
+			closeimg() {
+				this.imgshow = false;
 			},
 			// 鍙告満棣栭〉鍒楄〃
 			TaskCoalList() {
 				uni.showLoading({
 					title: '鍔犺浇涓�...'
 				});
-				this.$reqGet('getCheckTaskCoal',{flag:0}).then(res => {
-					uni.hideLoading();
-					this.driverBillOfLoadingData = res.data;
-				});
+				
+				if(!this.carNo){
+					this.$reqGet('getCheckTaskCoal',{flag:0}).then(res => {
+						uni.hideLoading();
+						this.driverBillOfLoadingData = res.data;
+					});
+				}else{
+					this.$reqGet('getCheckTaskCoal',{flag:0,carNo:this.carNo}).then(res => {
+						uni.hideLoading();
+						this.driverBillOfLoadingData = res.data;
+					});
+				}
+				
 				
 			},
+			change(res) {
+			},
+			search(res) {
+				this.TaskCoalList()
+			},
+			clear(res) {
+				this.carNo=""
+			},
+			custom(res) {
+			}
 		}
 	};
 </script>
 
 <style lang="scss" scoped>
+	.searchview{
+		margin: 20rpx 0;
+		height: 200rpx;
+		u-search{
+			width: 100rpx;
+		}
+	}
+	.imgrPopup{
+		width: 700rpx;
+		background-color: #ffffff;
+		.driveruser{
+			display: flex;
+			justify-content: space-between
+		}
+	}
 	.receiverPopup {
 		height: vww(110);
 		width: 300rpx;
@@ -178,10 +340,6 @@
 			}
 		}
 	}
-	.wait-collection {
-			width: 100%;
-			height: 600rpx;
-		}
 	::v-deep.appointment {
 		.appointment-description {
 			margin: vww(8) 0;
@@ -254,4 +412,16 @@
 			}
 		}
 	}
+	.wait-appointment,
+	.Reserved {
+		position: relative;
+		top: vww(-120);
+	}
+	.buttons{
+		display: flex;
+		justify-content: space-between;
+		.buttonitem{
+			width: 30%;
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1