From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 pda/pages/index/center.vue |  288 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 215 insertions(+), 73 deletions(-)

diff --git a/pda/pages/index/center.vue b/pda/pages/index/center.vue
index a528592..478bfab 100644
--- a/pda/pages/index/center.vue
+++ b/pda/pages/index/center.vue
@@ -6,7 +6,8 @@
 			<view class="platform_list">
 				<view class="item" :class="{ active: item.id === activePlatform.id }"
 					v-for="(item, index) in activePlatformGroup.platformList" :key="index" @click="platformClick(item)">
-					{{ item.name }}</view>
+					{{ item.name }}
+				</view>
 			</view>
 			<view class="status_wrap">
 				<view class="status">浣滀笟锛�<text>{{ platformTaskInfo.workNum }}</text></view>
@@ -26,18 +27,19 @@
 						<text>{{ item.carCodeFront.slice(2) }}</text>
 					</view>
 					<view class="status" v-if="item.status != 4 && item.status != 5" :class="{ red: item.status == 8 }">
-						{{ statusMap[item.status] }}</view>
+						{{ statusMap[item.status] }}
+					</view>
 					<view class="status" v-if="item.status == 4">鍙彿涓� {{ item.callDateTemp }}</view>
 					<view class="status scs" v-if="item.status == 5">宸蹭綔涓� {{ item.startDateTemp }}</view>
 				</view>
-				<view class="line" v-if="item.type == 4">
-					<text class="label">鍚堝悓鍗曞彿</text>
-					<text class="value">{{ item.contractNum }}</text>
-				</view>
-				<view class="line" v-else>
+				<view class="line" v-if="item.code">
 					<text class="label">杩愯緭鍗曞彿</text>
 					<text class="value">{{ item.code }}</text>
-					<text class="primaryColor" @click="handleDetail()">杩愬崟璇︽儏</text>
+					<text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+				</view>
+				<view class="line" v-else>
+					<text class="label">鍚堝悓鍗曞彿</text>
+					<text class="value">{{ item.contractNum }}</text>
 				</view>
 				<view class="line">
 					<text class="label">椹鹃┒鍛�</text>
@@ -94,14 +96,14 @@
                   statusMap[item.status]
                 }}</view>
 							</view>
-							<view class="line" v-if="item.type == 4">
-								<text class="label">鍚堝悓鍗曞彿</text>
-								<text class="value">{{ item.contractNum }}</text>
+							<view class="line" v-if="item.billCode">
+								<text class="label">杩愯緭鍗曞彿</text>
+								<text class="value">{{ item.billCode }}</text>
+								<text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
 							</view>
 							<view class="line" v-else>
-								<text class="label">杩愯緭鍗曞彿</text>
-								<text class="value">{{ item.code }}</text>
-								<text class="primaryColor" @click="handleDetail()">杩愬崟璇︽儏</text>
+								<text class="label">鍚堝悓鍗曞彿</text>
+								<text class="value">{{ item.contractNum }}</text>
 							</view>
 							<view class="line">
 								<text class="label">椹鹃┒鍛�</text>
@@ -124,53 +126,49 @@
 			</view>
 		</u-popup>
 		<!-- 杩愬崟璇︽儏 -->
-		<u-popup :show="showDetail" closeable safeAreaInsetTop round="10" @close="showDetail = false">
-			<view class="PlatformCallModal" :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }">
-				<view class="title">杩愬崟璇︽儏</view>
-				<view class="platform_ing" style="padding: 0">
-					<view class="head">
-						<view class="code">
-							<text>鐨�</text>
-							<text>AD1212</text>
-						</view>
+		<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 v-if="wmsInfo.plateNumber" class="id_card">
+					<text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
+					<text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
+					<text>路</text>
+					<text>{{ wmsInfo.plateNumber.slice(2) }}</text>
+				</view>
+				<!--  -->
+				<view class="info">
+					<view class="line">
+						<view class="label">杩愯緭鍗曞彿</view>
+						<view class="value">{{ wmsInfo.carryBillCode }}</view>
 					</view>
 					<view class="line">
-						<text class="label">杩愯緭鍗曞彿</text>
-						<text class="value">11111</text>
+						<view class="label">椹鹃┒鍛�</view>
+						<view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
 					</view>
 					<view class="line">
-						<text class="label">椹鹃┒鍛�</text>
-						<text class="value">11111</text>
+						<view class="label">鎬昏繍杈撻噺</view>
+						<view class="value">{{ wmsInfo.ioQty }}涓囨敮</view>
 					</view>
 					<view class="line">
-						<text class="label">鎬昏繍杈撻噺</text>
-						<text class="value">11111</text>
-					</view>
-					<view class="line">
-						<text class="label">杩愯緭鍏徃</text>
-						<text class="value">11111</text>
+						<view class="label">杩愯緭鍏徃</view>
+						<view class="value">{{ wmsInfo.carrierName }}</view>
 					</view>
 				</view>
-				<view class="detail_list">
-					<view class="item">
-						<view class="orderId">鍚堝悓缂栧彿锛歿{ 111 }}</view>
-						<view class="addr">鏀惰揣鍦帮細{{ 111 }}</view>
-						<view class="content">
-							<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 class="contract_wrap">
+					<view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
+						<view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
+						<view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
+						<view class="list">
+							<view class="item" v-for="line in item.platformWmsDetailList">
+								<view class="line">
+									<view class="label">鐗╂枡锛�</view>
+									<view class="value">{{ line.materialName }}</view>
+								</view>
+								<view class="line">
+									<view class="label">鏁伴噺锛�</view>
+									<view class="value">{{ line.ioQty }}涓囨敮</view>
+								</view>
 							</view>
 						</view>
 					</view>
@@ -213,7 +211,8 @@
 		finishWork,
 		platformMove,
 		platformErr,
-		platformOverNumber
+		platformOverNumber,
+		wmsJobDetail
 	} from '@/api'
 	import {
 		statusMap
@@ -226,7 +225,7 @@
 		data() {
 			return {
 				statusMap,
-				windowTop: 44,
+				windowTop: 24,
 				showPlatformCall: false, // 鏈堝彴鍙彿
 				showDetail: false,
 				showTransform: false, // 杞Щ
@@ -245,12 +244,14 @@
 
 				transformPlatId: '', // 杞Щ璁板綍鏈堝彴id
 				transformId: '', // 杞Щ璁板綍浠诲姟id
+				wmsInfo: {}
 			}
 		},
 		onLoad() {
 			this.getPlatformGroup()
-			const res = uni.getWindowInfo()
-			this.windowTop = res.windowTop
+			setInterval(() => {
+				this.getPlatformGroup()
+			}, 1000 * 30)
 		},
 		methods: {
 			getPlatformGroup() {
@@ -284,16 +285,16 @@
 					.length > 0) {
 					let time = new Date()
 					this.platformTaskInfo.platformJobList.forEach(item => {
-						if (item.callDate) {
-							let timeNum = time.getTime() - new Date(item.callDate).getTime()
+						if (item.newCallDate) {
+							let timeNum = time.getTime() - new Date(item.newCallDate).getTime()
 							if (timeNum > 3600000) {
 								item.callDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
 							} else {
 								item.callDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
 							}
 						}
-						if (item.startDate) {
-							let timeNum = time.getTime() - new Date(item.startDate).getTime()
+						if (item.newStartDate) {
+							let timeNum = time.getTime() - new Date(item.newStartDate).getTime()
 							if (timeNum > 3600000) {
 								item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖s绉�')
 							} else {
@@ -317,8 +318,13 @@
 				this.activePlatform = item
 				this.getPlatformTask()
 			},
-			handleDetail() {
-				this.showDetail = true
+			handleDetail(param) {
+				wmsJobDetail({
+					id: param.id
+				}).then(res => {
+					this.wmsInfo = res.data
+					this.showDetail = true
+				})
 			},
 			handleFinish(item) {
 				finishWork({
@@ -362,7 +368,8 @@
 				this.platformCallPage = 1
 				if (callType == 1) { // 鍏ュ洯鍙彿
 					platformInPark({
-						jobId: item.id
+						jobId: item.id,
+						platformId: activePlatform.id
 					}).then(res => {
 						this.showToast('鍙彿鎴愬姛')
 						this.getPlatformCallList()
@@ -489,8 +496,9 @@
 				.item {
 					width: 210rpx;
 					height: 80rpx;
-					line-height: 80rpx;
-					text-align: center;
+					display: flex;
+					justify-content: center;
+					align-items: center;
 					background: #ffffff;
 					border-radius: 8rpx;
 					border: 1rpx solid #999999;
@@ -560,16 +568,21 @@
 				margin-bottom: 30rpx;
 
 				.code {
-					display: flex;
 					font-weight: 600;
 					height: 60rpx;
-					line-height: 60rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
 					font-size: 32rpx;
 					color: #111111;
 					border-radius: 8rpx;
 					border: 1rpx solid #dfdede;
 
 					text {
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						height: 100%;
 						&:nth-of-type(1) {
 							background: #e9f5f6;
 							padding: 0 12rpx;
@@ -652,8 +665,9 @@
 			.btn {
 				width: 224rpx;
 				height: 88rpx;
-				line-height: 88rpx;
-				text-align: center;
+				display: flex;
+				justify-content: center;
+				align-items: center;
 				background: #ffffff;
 				border-radius: 44rpx;
 				color: $uni-color-primary;
@@ -672,7 +686,7 @@
 	.PlatformCallModal {
 		height: calc(100vh - 44px);
 		padding: 30rpx;
-
+		
 		.title {
 			text-align: center;
 			margin: 0 0 30rpx;
@@ -689,8 +703,8 @@
 		}
 
 		.order_list {
-			height: calc(100% - 140rpx);
-
+			height: calc(100% - 160rpx);
+			margin-top: 20rpx;
 			.scroll_view {
 				height: 100%;
 			}
@@ -698,6 +712,9 @@
 			.platform_ing {
 				border-radius: 8rpx;
 				border: 1rpx solid #dfe2e8;
+				&:nth-of-type(1){
+					margin-top: 0;
+				}
 			}
 		}
 
@@ -848,4 +865,129 @@
 			}
 		}
 	}
+
+	.detail_modal {
+		height: 100vh;
+		padding: 36rpx 30rpx;
+		border-radius: 12rpx;
+		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
+		.modal_title {
+			font-weight: 600;
+			font-size: 32rpx;
+			color: #222222;
+			line-height: 44rpx;
+			text-align: center;
+			margin-bottom: 36rpx;
+		}
+		.contract_wrap{
+			height: calc( 100% - 400rpx );
+			overflow-y: auto;
+		}
+		.contract_list {
+			border-top: 1rpx solid #E5E5E5;
+			margin-bottom: 30rpx;
+			padding-top: 30rpx;
+			&:nth-last-child(1){
+				margin-bottom: 0;
+			}
+			.list {
+				background: #f7f7f7;
+				border-radius: 8rpx;
+				padding: 20rpx;
+				.item{
+					border-bottom: 1rpx solid #e5e5e5;
+					padding-bottom: 20rpx;
+					margin-bottom: 20rpx;
+					&:nth-last-child(1){
+						border: none;
+						padding-bottom: 0;
+						margin-bottom: 0;
+					}
+				}
+				.line {
+					display: flex;
+					margin-bottom: 20rpx;
+					&:nth-last-child(1){
+						margin-bottom: 0rpx;
+					}
+					.label {
+						color: #666666;
+						width: 92rpx;
+					}
+
+					.value {
+						flex: 1;
+						color: #222222;
+					}
+				}
+			}
+
+			.title {
+				font-weight: 600;
+				font-size: 30rpx;
+				color: $uni-color-primary;
+				margin-bottom: 12rpx;
+			}
+
+			.address {
+				font-size: 26rpx;
+				color: #666666;
+				margin-bottom: 20rpx;
+			}
+		}
+
+		.info {
+			.line {
+				display: flex;
+				margin-bottom: 20rpx;
+
+				.label {
+					font-size: 30rpx;
+					color: #666666;
+					width: 150rpx;
+				}
+
+				.value {
+					flex: 1;
+					font-size: 30rpx;
+					color: #222222;
+				}
+			}
+		}
+
+		.separate {
+			width: 750rpx;
+			height: 2rpx;
+			margin: 30rpx -30rpx;
+			border: 1rpx solid #e5e5e5;
+		}
+
+		.id_card {
+			display: flex;
+			font-weight: 600;
+			height: 60rpx;
+			line-height: 60rpx;
+			font-size: 32rpx;
+			color: #111111;
+			border-radius: 8rpx;
+			border: 1rpx solid #dfdede;
+			width: 220rpx;
+			margin-bottom: 15rpx;
+
+			text {
+				&:nth-of-type(1) {
+					background: #e9f5f6;
+					padding: 0 12rpx;
+				}
+
+				&:nth-of-type(2) {
+					padding-left: 10rpx;
+				}
+
+				&:nth-of-type(4) {
+					padding-right: 6rpx;
+				}
+			}
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3