From 754f0eea0b16985a4dc8e8448e1bde7a8aec6f26 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 18 二月 2025 16:22:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages.json                                        |    2 
 h5/pages/waybill/waybillDetail.vue                   |  241 ++++++++++++------------
 h5/pages/driver/taskDetail.vue                       |   25 +-
 h5/pages/driver/index.vue                            |    2 
 screen/src/views/LogisticsCenter.vue                 |    3 
 admin/src/views/platform/components/PlatformSign.vue |   14 
 pda/pages/index/center.vue                           |  203 +++++++++++++-------
 h5/pages/driver/taskConfirm.vue                      |    6 
 screen/src/views/EnergyConsum.vue                    |   34 ++
 screen/src/views/FireFighting.vue                    |   27 +-
 10 files changed, 328 insertions(+), 229 deletions(-)

diff --git a/admin/src/views/platform/components/PlatformSign.vue b/admin/src/views/platform/components/PlatformSign.vue
index d357401..871adb6 100644
--- a/admin/src/views/platform/components/PlatformSign.vue
+++ b/admin/src/views/platform/components/PlatformSign.vue
@@ -96,21 +96,23 @@
     handleCall(item) {
       // const activePlatform = this.activePlat
       platformJobSign({ jobId: item.id, signType: '2' }).then(res => {
-        Message.success('绛惧埌鎴愬姛')
-        this.$emit('success')
-        this.getList()
+        if (res.code == 200) {
+          Message.success('绛惧埌鎴愬姛')
+          this.$emit('success')
+          this.getList()
+        }
       })
     },
     getList(page) {
       const { activePlat, pagination, carCodeFront } = this
-      if(page){
+      if (page) {
         pagination.page = page
-      } 
+      }
       platformJobPage({
         model: { platformGroupId: activePlat.id, queryStatus: '0,1', carCodeFront },
         page: pagination.page,
         capacity: pagination.pageSize
-      }).then(res => {  
+      }).then(res => {
         this.dataList = res.records
         this.pagination.total = res.total
       })
diff --git a/h5/pages.json b/h5/pages.json
index 7db0f08..149b228 100644
--- a/h5/pages.json
+++ b/h5/pages.json
@@ -317,7 +317,7 @@
 		{
 			"path": "pages/driver/reserved",
 			"style": {
-				"navigationBarTitleText": "鍏ュ洯棰勭害",
+				"navigationBarTitleText": "鍏ュ洯鍗歌揣棰勭害",
 				"enablePullDownRefresh": false
 			}
 		},
diff --git a/h5/pages/driver/index.vue b/h5/pages/driver/index.vue
index 74e5e30..db7e113 100644
--- a/h5/pages/driver/index.vue
+++ b/h5/pages/driver/index.vue
@@ -64,7 +64,7 @@
 			<view class="left">
 				<view class="img_wrap img1" @click="jump('/pages/driver/notice')">
 					<image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image>
-					<view class="h1">鍏ュ洯棰勭害</view>
+					<view class="h1">鍏ュ洯鍗歌揣棰勭害</view>
 					<view class="h2">RESERVATION</view>
 				</view>
 				<view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=bookingTips')">
diff --git a/h5/pages/driver/taskConfirm.vue b/h5/pages/driver/taskConfirm.vue
index f8327f9..966c2c5 100644
--- a/h5/pages/driver/taskConfirm.vue
+++ b/h5/pages/driver/taskConfirm.vue
@@ -156,8 +156,10 @@
 				carCodeBack: param.carCodeBack,
 				arriveDate: param.date + ':59'
 			}).then(res =>{
-				this.showToast('纭鎴愬姛')
-				this.$goBack()
+				if(res && res.code == 200){
+					this.showToast('纭鎴愬姛')
+					this.$goBack()
+				}
 			})
 		},
 		getDetail(jobId) {
diff --git a/h5/pages/driver/taskDetail.vue b/h5/pages/driver/taskDetail.vue
index 7484ad8..4dbeaae 100644
--- a/h5/pages/driver/taskDetail.vue
+++ b/h5/pages/driver/taskDetail.vue
@@ -98,11 +98,11 @@
 			</view> -->
 			<view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn">
 				<image :src="
-            param.getDistance < signDistance
+            (param.getDistance || param.getDistance == 0) && param.getDistance < signDistance
               ? require('@/static/driver/btn_qiandao@2x.png')
               : require('@/static/driver/btn_qiandao_fail@2x.png')
           " class="img" mode="widthFix"></image>
-				<view class="handle">{{ param.getDistance > signDistance ? '鏃犳硶绛惧埌' : '绛惧埌' }}</view>
+				<view class="handle">{{ !param.getDistance || param.getDistance > signDistance ? '鏃犳硶绛惧埌' : '绛惧埌' }}</view>
 				<view class="time">{{nowTime}}</view>
 			</view>
 		</view>
@@ -182,10 +182,10 @@
 					status: '0'
 				},
 				jobId: '',
-				// lat: '',
-				// lnt: '',
-				lat: '31.783205',
-				lnt: '117.262635',
+				lat: '',
+				lnt: '',
+				// lat: '31.783205',
+				// lnt: '117.262635',
 				nowTime: '',
 				wmsInfo: {},
 				signDistance: uni.getStorageSync('driverGuide').signDistance,
@@ -226,15 +226,17 @@
 					lnt,
 					jobId
 				} = this
-				if (param.getDistance > signDistance) return
+				if (!param.getDistance || param.getDistance > signDistance) return
 				driverSignInTask({
 					jobId,
 					lat,
 					lnt,
 					signType: 0
-				}).then(res => {
-					this.showToast('绛惧埌鎴愬姛')
-					this.getDetail()
+				}).then(res => {
+					if (res && res.code == 200) {
+						this.showToast('绛惧埌鎴愬姛')
+						this.getDetail()
+					}
 				})
 			},
 			getDetail() {
@@ -292,7 +294,8 @@
 						console.log('---', res);
 						this.getDetail()
 					},
-					fail: (err) => {
+					fail: (err) => {
+						this.getDetail()
 						this.showToast('鑾峰彇瀹氫綅澶辫触', err)
 					}
 				})
diff --git a/h5/pages/waybill/waybillDetail.vue b/h5/pages/waybill/waybillDetail.vue
index 39c747b..2eb8433 100644
--- a/h5/pages/waybill/waybillDetail.vue
+++ b/h5/pages/waybill/waybillDetail.vue
@@ -5,10 +5,10 @@
 
 		</map>
 		<view class="main_content">
-			<view class="info">
-				<view class="stock_status" v-if="info.overStock && info.overStock == 1">
-					<image src="@/static/ic_tip@2x.png" mode=""></image>
-					<view class="">鍥犲簱瀛樹笉瓒筹紝璁㈠崟鏆傛椂鏃犳硶閰嶈浇</view>
+			<view class="info">
+				<view class="stock_status" v-if="info.overStock && info.overStock == 1">
+					<image src="@/static/ic_tip@2x.png" mode=""></image>
+					<view class="">鍥犲簱瀛樹笉瓒筹紝璁㈠崟鏆傛椂鏃犳硶閰嶈浇</view>
 				</view>
 				<view class="head">
 					<view class="code">{{info.contractNumber}}</view>
@@ -39,22 +39,22 @@
 					<view class="line">
 						<view class="la">棰勮鍒拌揪</view>
 						<view class="val primaryColor" v-if="info.plannedArrivedDate">{{info.plannedArrivedDate.slice(0,11)}}</view>
-					</view>
-					<view v-if="showRecord" class="table">
-						<view class="ite header">
-							<view class="name">鍝佽鍚嶇О</view>
-							<view class="num">鏁伴噺<text>(涓囨敮)</text></view>
-						</view>
-						<view class="ite" v-for="ite in info.orderDetailVOList">
-							<view class="name">{{ite.productName}}</view>
-							<view class="num">{{ite.pnumber}}</view>
-						</view>
-					</view>
-					<view class="line switch" @click="showRecord = !showRecord">
-						<view class="">{{  showRecord ? '鏀惰捣鍝佽鏄庣粏' : '鏌ョ湅鍝佽鏄庣粏'}}</view>
-						<u-icon v-if="!showRecord" name="arrow-down" size="12" class="ml6" color='#666666'></u-icon>
-						<u-icon v-if="showRecord" name="arrow-up" size="12" class="ml6" color='#666666'></u-icon>
-					</view>
+					</view>
+					<view v-if="showRecord" class="table">
+						<view class="ite header">
+							<view class="name">鍝佽鍚嶇О</view>
+							<view class="num">鏁伴噺<text>(涓囨敮)</text></view>
+						</view>
+						<view class="ite" v-for="ite in info.orderDetailVOList">
+							<view class="name">{{ite.productName}}</view>
+							<view class="num">{{ite.pnumber}}</view>
+						</view>
+					</view>
+					<view class="line switch" @click="showRecord = !showRecord">
+						<view class="">{{  showRecord ? '鏀惰捣鍝佽鏄庣粏' : '鏌ョ湅鍝佽鏄庣粏'}}</view>
+						<u-icon v-if="!showRecord" name="arrow-down" size="12" class="ml6" color='#666666'></u-icon>
+						<u-icon v-if="showRecord" name="arrow-up" size="12" class="ml6" color='#666666'></u-icon>
+					</view>
 					
 				</view>
 			</view>
@@ -72,7 +72,7 @@
 							<image v-if="dri.key == 2 && k == 0" src="@/static/waybill/ic_cangku_sel@2x.png" class="icon"></image>
 							<image v-if="dri.key == 3 && k != 0" src="@/static/waybill/ic_yunshu@2x.png" class="icon"></image>
 							<image v-if="dri.key == 3 && k == 0" src="@/static/waybill/ic_yunshu_sel@2x.png" class="icon"></image>
-							<image v-if="dri.key == 4 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
+							<image v-if="dri.key == 4 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
 							<image v-if="dri.key == 4 && k == 0" src="@/static/waybill/ic_daohuo_sel@2x.png" class="icon"></image>
 							<image v-if="dri.key == 5" src="@/static/waybill/ic_ruku.png" class="icon"></image>
 						</view>
@@ -86,9 +86,9 @@
 							<view v-else class="icon_wrap"></view>
 							<view class="text" :class="{placeholder3: k==0 && i== 0}">
 								{{item.orderStatusDes}}
-								<text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text>
-								<template v-if="item.tel">
-									<text v-for="phone,p in item.tel.split(',')" @click="callPhone(phone)" class="primaryColor">{{phone}}<text v-if="p < item.tel.split(',').length - 1">,</text></text>
+								<text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+								<template v-if="item.tel">
+									<text v-for="phone,p in item.tel.split(',')" @click="callPhone(phone)" class="primaryColor">{{phone}}<text v-if="p < item.tel.split(',').length - 1">,</text></text>
 								</template>
 								
 							</view>
@@ -113,7 +113,7 @@
 				param: {},
 
 				latitude: 31.783205,
-				longitude: 117.262635,
+				longitude: 117.262635,
 				scale: 5,
 				markers: [],
 				includePoints: [
@@ -132,7 +132,7 @@
 					// 	color: '#FF0000',
 					// 	width: 3
 					// }, 
-				],
+				],
 				showRecord: false
 			};
 		},
@@ -181,29 +181,30 @@
 							}
 						})
 						this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 4
-						this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
-						const distance = this.distance()
-						console.log('distance', distance);
-						if(distance > 1500000){
-							this.scale = 4
-						}else if(distance < 600000){
-							this.scale = 6
-						}else{
-							this.scale = 5
+						this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
+						const distance = this.distance()
+						console.log('distance', distance);
+						if(distance > 1500000){
+							this.scale = 4
+						}else if(distance < 600000){
+							this.scale = 6
+						}else{
+							this.scale = 5
 						}
 					}
 					if (res.data && res.data.gisList && res.data.gisList.length > 0) {
 						this.gisInfo = res.data.gisList[0]
-						if (this.gisInfo && this.gisInfo.gisList && this.gisInfo.gisList.length > 0) {
-							const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0';
-							let adsInfo = this.gisInfo.gisList[this.gisInfo.gisList.length - 1]
-							const location = adsInfo.lon1 + ',' + adsInfo.lat1;
-							uni.request({
-								url: `https://restapi.amap.com/v3/geocode/regeo?key=${apiKey}&location=${location}`,
-								method: 'GET',
-								success: (res) => {
-									this.$set(this.info, 'address', res.data.regeocode.formatted_address)
-								},
+						if (this.gisInfo && this.gisInfo.gisList && this.gisInfo.gisList.length > 0) {
+							// const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0';
+							const apiKey = '3916a7b434e7f13ae1a0af64e88ec0a3';
+							let adsInfo = this.gisInfo.gisList[this.gisInfo.gisList.length - 1]
+							const location = adsInfo.lon1 + ',' + adsInfo.lat1;
+							uni.request({
+								url: `https://restapi.amap.com/v3/geocode/regeo?key=${apiKey}&location=${location}`,
+								method: 'GET',
+								success: (res) => {
+									this.$set(this.info, 'address', res.data.regeocode.formatted_address)
+								},
 							})
 							this.polyline = []
 							let temp = {
@@ -218,7 +219,7 @@
 							}
 							this.polyline.push(temp)
 						}
-					}
+					}
 					
 				})
 			},
@@ -287,21 +288,21 @@
 			background: #fff;
 			border-radius: 16rpx;
 			padding: 30rpx;
-			margin-bottom: 20rpx;
-			position: relative;
+			margin-bottom: 20rpx;
+			position: relative;
 			z-index: 999;
-			.drive_list{
-				position: relative;
-				z-index: 999;
-				.separate {
-					height: calc(100% - 48rpx);
-					width: 1rpx;
-					border: 1rpx dashed #CCCCCC;
-					position: absolute;
-					left: 24rpx;
-					top: 48rpx;
-					z-index: -1;
-				}
+			.drive_list{
+				position: relative;
+				z-index: 999;
+				.separate {
+					height: calc(100% - 48rpx);
+					width: 1rpx;
+					border: 1rpx dashed #CCCCCC;
+					position: absolute;
+					left: 24rpx;
+					top: 48rpx;
+					z-index: -1;
+				}
 			}
 			
 
@@ -350,12 +351,12 @@
 				position: relative;
 				color: #999999;
 				margin-bottom: 30rpx;
-				&:nth-last-child(1){
-					margin-bottom: 0;
-					padding-bottom: 30rpx;
+				&:nth-last-child(1){
+					margin-bottom: 0;
+					padding-bottom: 30rpx;
 				}
 				.text {
-					color: #666666;
+					color: #666666;
 					flex: 1;
 				}
 
@@ -363,7 +364,7 @@
 					width: 20rpx;
 					height: 20rpx;
 					position: relative;
-					z-index: 2;
+					z-index: 2;
 					margin-top: 12rpx;
 				}
 
@@ -389,36 +390,36 @@
 			background-color: #fff;
 			overflow: hidden;
 			position: relative;
-			z-index: 1;
-			.stock_status{
-				background: #FFEEEE;
-				font-size: 26rpx;
-				color: #ED4545;
-				display: flex;
-				align-items: center;
-				border-radius: 8rpx 8rpx 0rpx 0rpx;
-				height: 80rpx;
-				margin: 0rpx -30rpx 0;
-				position: relative;
-				z-index: 1;
-				padding: 0 30rpx;
-				image{
-					width: 28rpx;
-					height: 28rpx;
-					margin-right: 10rpx;
-				}
+			z-index: 1;
+			.stock_status{
+				background: #FFEEEE;
+				font-size: 26rpx;
+				color: #ED4545;
+				display: flex;
+				align-items: center;
+				border-radius: 8rpx 8rpx 0rpx 0rpx;
+				height: 80rpx;
+				margin: 0rpx -30rpx 0;
+				position: relative;
+				z-index: 1;
+				padding: 0 30rpx;
+				image{
+					width: 28rpx;
+					height: 28rpx;
+					margin-right: 10rpx;
+				}
 			}
 			.head {
 				display: flex;
 				justify-content: space-between;
 				align-items: center;
 				padding: 0 30rpx;
-				width: 690rpx;
+				width: 690rpx;
 				border-radius: 8rpx 8rpx 0rpx 0rpx;
 				height: 84rpx;
 				margin: 0 -30rpx;
 				background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
-				position: relative;
+				position: relative;
 				z-index: 11;
 				.code {
 					font-weight: 500;
@@ -445,47 +446,47 @@
 						width: 140rpx;
 					}
 
-					.val {
-						flex: 1;
+					.val {
+						flex: 1;
 					}
 
 					&:nth-last-child(1) {
 						margin-bottom: 0;
 					}
 				}
-				.table{
-					margin: 0 auto 20rpx;
-					.ite{
-						width: 100%;
-						height: 68rpx;
-						background: #FFFFFF;
-						border-bottom: 1rpx solid #E5E5E5;
-						display: flex;
-						align-items: center;
-						font-size: 28rpx;
-						padding-left: 30rpx;
-						.name{
-							flex: 8;
-							// padding-left: 20rpx;
-						}
-						.num{
-							flex: 3;
-						}
-					}
-					.header{
-						background: #F4F7FC;
-						font-weight: 500;
-						text{
-							font-size: 22rpx;
-						}
-					}
-				}
-				.switch{
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					color: #666666;
-				}
+				.table{
+					margin: 0 auto 20rpx;
+					.ite{
+						width: 100%;
+						height: 68rpx;
+						background: #FFFFFF;
+						border-bottom: 1rpx solid #E5E5E5;
+						display: flex;
+						align-items: center;
+						font-size: 28rpx;
+						padding-left: 30rpx;
+						.name{
+							flex: 8;
+							// padding-left: 20rpx;
+						}
+						.num{
+							flex: 3;
+						}
+					}
+					.header{
+						background: #F4F7FC;
+						font-weight: 500;
+						text{
+							font-size: 22rpx;
+						}
+					}
+				}
+				.switch{
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					color: #666666;
+				}
 			}
 
 		}
diff --git a/pda/pages/index/center.vue b/pda/pages/index/center.vue
index 0bd09a4..c07d174 100644
--- a/pda/pages/index/center.vue
+++ b/pda/pages/index/center.vue
@@ -39,7 +39,7 @@
 				</view>
 				<view class="line" v-else>
 					<text class="label">鍚堝悓鍗曞彿</text>
-					<text class="value">{{ item.contractNum }}</text>
+					<text class="value">{{ item.contractNum }}</text>
 					<text class="primaryColor" @click="subDetail(item)">棰勭害璇︽儏</text>
 				</view>
 				<view class="line">
@@ -104,7 +104,7 @@
 							</view>
 							<view class="line" v-else>
 								<text class="label">鍚堝悓鍗曞彿</text>
-								<text class="value">{{ item.contractNum }}</text>
+								<text class="value">{{ item.contractNum }}</text>
 								<text class="primaryColor" @click="subDetail(item)">棰勭害璇︽儏</text>
 							</view>
 							<view class="line">
@@ -182,8 +182,7 @@
 			<view class="TransformModal">
 				<view class="title">杞Щ鏈堝彴</view>
 				<view class="transform_list">
-					<view class="line" @click="transformPlatClick(item)" v-for="item in TransferList"
-						:key="item.id">
+					<view class="line" @click="transformPlatClick(item)" v-for="item in TransferList" :key="item.id">
 						<view class="name">{{ item.name  || item.platformName}}</view>
 						<view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "绌洪棽" : "浣滀笟涓�" }})
 						</view>
@@ -245,10 +244,11 @@
 				callType: 1,
 
 				transformPlatId: '', // 杞Щ璁板綍鏈堝彴id
-				transformId: '', // 杞Щ璁板綍浠诲姟id
+				transformId: '', // 杞Щ璁板綍浠诲姟id
 				TransferList: [],
-				wmsInfo: {},
-				timer: null
+				wmsInfo: {},
+				timer: null,
+				timer1: null,
 			}
 		},
 		onLoad() {
@@ -256,20 +256,38 @@
 			// setInterval(() => {
 			// 	this.getPlatformGroup()
 			// }, 1000 * 30)
+		},
+		onHide(){
+			if(this.timer1){
+				clearInterval(this.timer1)
+			}
+			if(this.timer){
+				clearInterval(this.timer)
+			}
+		},
+		onUnload(){
+			if(this.timer1){
+				clearInterval(this.timer1)
+			}
+			if(this.timer){
+				clearInterval(this.timer)
+			}
 		},
-		methods: {
-			getTransferList() {
-				getPlatformGroupList({
-					queryData: 1,
-					queryType: 1
-				}).then(res => {
-					const platformGroupList = res.data || []
-					if (platformGroupList.length > 0) {
-						const { activePlatformGroup } = this
-						const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
-						this.TransferList = temp.platformList || []
-					}
-				})
+		methods: {
+			getTransferList() {
+				getPlatformGroupList({
+					queryData: 1,
+					queryType: 1
+				}).then(res => {
+					const platformGroupList = res.data || []
+					if (platformGroupList.length > 0) {
+						const {
+							activePlatformGroup
+						} = this
+						const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
+						this.TransferList = temp.platformList || []
+					}
+				})
 			},
 			getPlatformGroup() {
 				getPlatformGroupList({
@@ -280,42 +298,57 @@
 					if (this.platformGroupList.length > 0) {
 						this.activePlatformGroup = this.platformGroupList[0]
 						if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
-							this.activePlatform = this.activePlatformGroup.platformList[0]
-							this.getPlatformTask()
-							this.timer = setInterval(() => {	
-								this.getPlatformTask()
+							this.activePlatform = this.activePlatformGroup.platformList[0]
+							this.getPlatformTask()
+							this.timer = setInterval(() => {
+								this.getPlatformTask()
 							}, 120 * 1000)
 						}
 					}
 				})
 			},
-			getPlatformTask() {
+			getPlatformTask() {
+				if(this.timer1){
+					clearInterval(this.timer1)
+				}
 				getPlatformWorkData({
 					platformId: this.activePlatform.id
 				}).then(res => {
-					this.platformTaskInfo = res.data
-					this.circulInitTaskList()
-					setInterval(() => {
-						this.circulInitTaskList()
+					this.platformTaskInfo = res.data
+					this.currentDate = new Date(res.data.currentDate).getTime()
+					this.circulInitTaskList()
+					this.currentDate = this.currentDate + 1000
+					this.timer1 = setInterval(() => {
+						this.circulInitTaskList()
+						this.currentDate = this.currentDate + 1000
 					}, 1000)
-				}, () => {
-				})
+				}, () => {})
 			},
-			circulInitTaskList() {
+			circulInitTaskList() {
+				let time = this.currentDate
 				if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
 					.length > 0) {
-					let time = new Date()
 					this.platformTaskInfo.platformJobList.forEach(item => {
-						if (item.newCallDate) {
-							let timeNum = time.getTime() - new Date(item.newCallDate).getTime()
+						if (item.newCallDate) {
+							let timeNum = 0
+							if(time > new Date(item.newCallDate).getTime()){
+								timeNum = time - new Date(item.newCallDate).getTime()
+							}else{
+								timeNum = 0
+							}
 							if (timeNum > 3600000) {
 								item.callDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
 							} else {
 								item.callDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
 							}
 						}
-						if (item.newStartDate) {
-							let timeNum = time.getTime() - new Date(item.newStartDate).getTime()
+						if (item.newStartDate) {
+							let timeNum = 0
+							if(time > new Date(item.newStartDate).getTime()){
+								timeNum = time - new Date(item.newStartDate).getTime()
+							}else{
+								timeNum = 0
+							}
 							if (timeNum > 3600000) {
 								item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
 							} else {
@@ -330,11 +363,11 @@
 				const index = e.indexs[0]
 				this.activePlatformGroup = this.platformGroupList[index]
 				if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
-					this.activePlatform = this.activePlatformGroup.platformList[0]
-					this.getPlatformTask()
-					clearInterval(this.timer)
-					this.timer = setInterval(() => {
-						this.getPlatformTask()
+					this.activePlatform = this.activePlatformGroup.platformList[0]
+					this.getPlatformTask()
+					clearInterval(this.timer)
+					this.timer = setInterval(() => {
+						this.getPlatformTask()
 					}, 60 * 1000)
 				}
 				this.showPlatformgroup = false
@@ -350,26 +383,30 @@
 					this.wmsInfo = res.data
 					this.showDetail = true
 				})
-			},
-			subDetail(item) {
-				uni.navigateTo({
-				  url: `/pages/index/SubDetail?id=${item.bookId}`
-				})
+			},
+			subDetail(item) {
+				uni.navigateTo({
+					url: `/pages/index/SubDetail?id=${item.bookId}`
+				})
 			},
 			handleFinish(item) {
 				finishWork({
 					jobId: item.id
 				}).then(res => {
-					this.showToast('瀹屾垚浣滀笟')
-					this.getPlatformTask()
+						if (res && res.code == 200) {
+							this.showToast('瀹屾垚浣滀笟')
+							this.getPlatformTask()
+						}
 				})
 			},
 			handleWork(item) { // 寮�濮嬩綔涓�
 				beginWork({
 					jobId: item.id
 				}).then(res => {
-					this.showToast('宸插紑濮嬩綔涓�')
-					this.getPlatformTask()
+					if (res && res.code == 200) {
+						this.showToast('宸插紑濮嬩綔涓�')
+						this.getPlatformTask()
+					}
 				})
 			},
 			handlePass(item) {
@@ -400,18 +437,24 @@
 					platformInPark({
 						jobId: item.id,
 						platformId: activePlatform.id
-					}).then(res => {
-						this.showToast('鍙彿鎴愬姛')
-						this.getPlatformCallList()
+					}).then(res => {
+						if (res && res.code == 200) {
+							this.showToast('鍙彿鎴愬姛')
+							this.getPlatformCallList()
+						}
+						
 					})
 				} else { // 鏈堝彴鍙彿
 					platformCallNumber({
 						platformId: activePlatform.id,
 						jobId: item.id
-					}).then(res => {
-						this.showToast('鍙彿鎴愬姛')
-						this.getPlatformCallList()
-						this.getPlatformTask()
+					}).then(res => {
+						if (res && res.code == 200) {
+							this.showToast('鍙彿鎴愬姛')
+							this.getPlatformCallList()
+							this.getPlatformTask()
+						}
+						
 					})
 				}
 			},
@@ -485,7 +528,7 @@
 					activePlatform
 				} = this
 				this.transformId = item.id
-				this.transformPlatId = activePlatform.id
+				this.transformPlatId = activePlatform.id
 				this.getTransferList()
 				this.showTransform = true
 			},
@@ -508,6 +551,10 @@
 	}
 </script>
 <style lang="scss">
+	page {
+		background-color: #f1f2f2;
+	}
+
 	.main_app {
 		padding: 0rpx;
 		height: calc(100vh - 44px);
@@ -526,8 +573,8 @@
 
 				.item {
 					width: 220rpx;
-					height: 80rpx;
-					line-height: 80rpx;
+					height: 80rpx;
+					line-height: 80rpx;
 					text-align: center;
 					background: #ffffff;
 					border-radius: 8rpx;
@@ -536,9 +583,10 @@
 					color: #222222;
 					margin-bottom: 15rpx;
 					margin-right: 15rpx;
-					white-space: nowrap;
-					overflow: hidden;
+					white-space: nowrap;
+					overflow: hidden;
 					text-overflow: ellipsis;
+
 					&:nth-of-type(3n) {
 						margin-right: 0;
 					}
@@ -615,6 +663,7 @@
 						justify-content: center;
 						align-items: center;
 						height: 100%;
+
 						&:nth-of-type(1) {
 							background: #e9f5f6;
 							padding: 0 12rpx;
@@ -718,7 +767,7 @@
 	.PlatformCallModal {
 		height: calc(100vh - 44px);
 		padding: 30rpx;
-		
+
 		.title {
 			text-align: center;
 			margin: 0 0 30rpx;
@@ -737,6 +786,7 @@
 		.order_list {
 			height: calc(100% - 160rpx);
 			margin-top: 20rpx;
+
 			.scroll_view {
 				height: 100%;
 			}
@@ -744,7 +794,8 @@
 			.platform_ing {
 				border-radius: 8rpx;
 				border: 1rpx solid #dfe2e8;
-				&:nth-of-type(1){
+
+				&:nth-of-type(1) {
 					margin-top: 0;
 				}
 			}
@@ -903,6 +954,7 @@
 		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;
@@ -911,37 +963,46 @@
 			text-align: center;
 			margin-bottom: 36rpx;
 		}
-		.contract_wrap{
-			height: calc( 100% - 400rpx );
+
+		.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){
+
+			&:nth-last-child(1) {
 				margin-bottom: 0;
 			}
+
 			.list {
 				background: #f7f7f7;
 				border-radius: 8rpx;
 				padding: 20rpx;
-				.item{
+
+				.item {
 					border-bottom: 1rpx solid #e5e5e5;
 					padding-bottom: 20rpx;
 					margin-bottom: 20rpx;
-					&:nth-last-child(1){
+
+					&:nth-last-child(1) {
 						border: none;
 						padding-bottom: 0;
 						margin-bottom: 0;
 					}
 				}
+
 				.line {
 					display: flex;
 					margin-bottom: 20rpx;
-					&:nth-last-child(1){
+
+					&:nth-last-child(1) {
 						margin-bottom: 0rpx;
 					}
+
 					.label {
 						color: #666666;
 						width: 92rpx;
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 6386749..33a6337 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -346,11 +346,25 @@
       },
       data: data5.value.map(i => dayjs(i.timeData).format('M'))
     },
+    // tooltip: {
+    //   trigger: 'axis',
+    //   axisPointer: {
+    //     type: 'line'
+    //   },
+    // },
     tooltip: {
       trigger: 'axis',
-      axisPointer: {
-        type: 'line'
-      },
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div>
+          <div style="width: 120px">${params[0].name}鏈�</div>  
+          <div style="display: flex;align-items: center;;margin-top: 2px;">
+            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #f6d047;margin-right: 6px;"></div></div>
+            <div><strong>${params[0].value} L</strong></div>
+          </div>
+        </div>`
+        return result
+      }
     },
     yAxis: {
       type: 'value',
@@ -634,9 +648,17 @@
     },
     tooltip: {
       trigger: 'axis',
-      axisPointer: {
-        type: 'line'
-      },
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div>
+          <div style="width: 120px">${params[0].name}鏈�</div>  
+          <div style="display: flex;align-items: center;;margin-top: 2px;">
+            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #61a1c4;margin-right: 6px;"></div></div>
+            <div><strong>${params[0].value} </strong></div>
+          </div>
+        </div>`
+        return result
+      }
     },
     xAxis: {
       type: 'category',
diff --git a/screen/src/views/FireFighting.vue b/screen/src/views/FireFighting.vue
index d76046e..96d6c56 100644
--- a/screen/src/views/FireFighting.vue
+++ b/screen/src/views/FireFighting.vue
@@ -25,7 +25,7 @@
             <div class="list_wrap">
               <div class="list">
                 <div class="header line">
-                  <span class="item name">璁惧绫诲瀷</span>
+                  <span class="item name">璁惧鍚嶇О</span>
                   <span class="item">鎬绘暟</span>
                   <span class="item">鎶ヨ</span>
                   <span class="item">灞忚斀</span>
@@ -41,7 +41,7 @@
                         <span class="item" style="color: #FEAF01;">{{ item.alarmDeviceNum || 0 }}</span>
                         <span class="item">{{ item.shieldDeviceNum || 0 }}</span>
                         <span class="item">{{ item.errDeviceNum || 0 }}</span>
-                        <span class="item">{{ item.offlineDeviceNum || 0 }}</span>
+                        <span class="item">{{ item.onlineDeviceNum || 0 }}</span>
                       </div>
                       <div class="separate"></div>
                     </div>
@@ -90,14 +90,14 @@
                 <img src="@/assets/images/FireFighting/xiaofang_ic_zaixian@2x.png" alt="">
                 <div class="content">
                   <div class="name">鎬绘暟</div>
-                  <div class="num">{{ dataList4.onlineDeviceNum }}</div>
+                  <div class="num">{{ dataList4.onlineDeviceNum || 0 }}</div>
                 </div>
               </div>
               <div class="item">
                 <img src="@/assets/images/FireFighting/xiaofang_ic_baojing@2x.png" alt="">
                 <div class="content">
                   <div class="name">鎶ヨ</div>
-                  <div class="num num2">{{ dataList4.alarmDeviceNum }}</div>
+                  <div class="num num2">{{ dataList4.alarmDeviceNum || 0}}</div>
                 </div>
               </div>
               <div class="item">
@@ -111,14 +111,14 @@
                 <img src="@/assets/images/FireFighting/xiaofang_ic_guzhang@2x.png" alt="">
                 <div class="content">
                   <div class="name">鏁呴殰</div>
-                  <div class="num num3">{{ dataList4.errDeviceNum }}</div>
+                  <div class="num num3">{{ dataList4.errDeviceNum || 0 }}</div>
                 </div>
               </div>
               <div class="item">
                 <img src="@/assets/images/FireFighting/xiaofang_ic_zhengchang@2x.png" alt="">
                 <div class="content">
                   <div class="name">姝e父</div>
-                  <div class="num num4">{{ dataList4.offlineDeviceNum }}</div>
+                  <div class="num num4">{{ dataList4.onlineDeviceNum || 0 }}</div>
                 </div>
               </div>
             </div>
@@ -1055,16 +1055,20 @@
     getData7()
   }, 60 * 1000)
   setInterval(() => {
-
     getData5()
     getData8()
-
   }, 60 * 60 * 1000)
+
+  setInterval(() => {
+    changeData8(1)
+    changeData9(1)
+  }, 1000 * 5)
 
   setTimeout(() => {
     loopFn1()
     loopFn2()
   }, 12000)
+
 
 })
 
@@ -1107,17 +1111,20 @@
             font-size: 14px;
 
             .item {
-              flex: 1;
+              flex: 2;
               display: flex;
               justify-content: center;
+              /* margin: 0 6px; */
               align-items: center;
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
+              
             }
 
             .name {
-              flex: 2;
+              flex: 5;
+              justify-content: flex-start;
             }
 
             .warnning {
diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index 917161d..1e6c142 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -1010,7 +1010,8 @@
   showModal.value = true
   kzorderInfo({ contractNumber: item.contractNumber }).then(res => {
     modalInfo.value = res.data
-    const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0'
+    // const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0'
+    const apiKey = '3916a7b434e7f13ae1a0af64e88ec0a3'
     if (modalInfo.value.gisList && modalInfo.value.gisList.length > 0) {
       const gisInfo = modalInfo.value.gisList[0]
       if (gisInfo && gisInfo.gisList && gisInfo.gisList.length > 0) {

--
Gitblit v1.9.3