From 4b8fda000f9f600ba5187e738278b340b55ebd7c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 18 十二月 2024 18:41:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingTypeRequest.java  |   13 
 h5/api/driver.js                                                                                                           |    7 
 screen/src/assets/images/default_nodata.png                                                                                |    0 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java                                     |   24 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingDataRequest.java  |   18 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java                  |    2 
 h5/pages/waybill/list.vue                                                                                                  |   22 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                                 |    2 
 screen/src/api/index.js                                                                                                    |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java                     |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                                 |   39 ++
 h5/pages/staff/signin.vue                                                                                                  |   51 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java                               |    4 
 server/system_service/src/main/resources/mappers/SystemUserMapper.xml                                                      |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java                       |   17 
 h5/pages/visitorSubGuide/index.vue                                                                                         |    5 
 screen/src/views/EnergyConsum.vue                                                                                          |   80 ++-
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EnergyTotalDataRequest.java        |   15 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java                     |    1 
 h5/pages/waybill/waybillDetail.vue                                                                                         |  300 +++++++++------
 server/system_service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java                                      |    5 
 h5/utils/config.js                                                                                                         |    4 
 h5/pages/driver/index.vue                                                                                                  |    9 
 h5/pages/login/login.vue                                                                                                   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java                     |   15 
 screen/src/views/LogisticsEfficiency.vue                                                                                   |  146 +++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTotalDataResponse.java       |   24 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java                   |   32 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                     |   17 
 server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java                                            |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java                            |    8 
 h5/pages/staff/task/vDangetAppr.vue                                                                                        |  119 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java                                |   14 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionDataRankingDataResponse.java |   18 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java              |    5 
 35 files changed, 724 insertions(+), 314 deletions(-)

diff --git a/h5/api/driver.js b/h5/api/driver.js
index 2f4ae9d..a8c921b 100644
--- a/h5/api/driver.js
+++ b/h5/api/driver.js
@@ -141,4 +141,11 @@
     method: 'post',
     data
   })
+}
+export const getLastWaitJob = (data) => {
+  return http({
+    url: 'visitsAdmin/cloudService/business/platformJob/getLastWaitJob',
+    method: 'get',
+    data
+  })
 }
\ No newline at end of file
diff --git a/h5/pages/driver/index.vue b/h5/pages/driver/index.vue
index b2f5b0c..01eb818 100644
--- a/h5/pages/driver/index.vue
+++ b/h5/pages/driver/index.vue
@@ -102,7 +102,8 @@
 import {
 	logoutPost,
 	driverHomeData,
-	app_url
+	app_url,
+	getLastWaitJob
 } from '@/api'
 export default {
 	data() {
@@ -123,6 +124,12 @@
 				this.jump('/pages/driver/reservedDetail?id=' + ywinfo.ywid)
 			}else if(yw == 8){
 				this.jump('/pages/driver/taskDetail?id=' + ywinfo.ywid)
+			}else if(yw == 0) {
+				getLastWaitJob({ uuid: ywinfo.ywid }).then(res => {
+					if(res.data && res.data.id){
+						this.taskClick(res.data)
+					}
+				})
 			}
 		}
 	},
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index 67da103..9ab5fd0 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -41,7 +41,7 @@
 	export default {
 		data() {
 			return {
-				code: 'qwe'
+				code: ''
 			}
 		},
 		onLoad(option) {
diff --git a/h5/pages/staff/signin.vue b/h5/pages/staff/signin.vue
index 881db5f..d1d44ee 100644
--- a/h5/pages/staff/signin.vue
+++ b/h5/pages/staff/signin.vue
@@ -1,20 +1,39 @@
 <template>
-	<view>
-		<web-view style="width: 100vw;height: 100vh;" src="https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index"></web-view>
-		<!-- <web-view src="https://www.baidu.com/"></web-view> -->
-	</view>
+  <view class="box">
+    <!-- <view v-html="info"></view> -->
+		<mp-html :content="info" />
+  </view>
 </template>
-
 <script>
-	export default {
-		data() {
-			return {
-				
-			};
-		}
-	}
+import { getSystemDictData } from '@/api'
+export default {
+  data() {
+    return {
+      info: "",
+    }
+  },
+  onLoad() {
+    this.initData()
+  },
+  methods: {
+    initData() {
+      getSystemDictData({
+        dictCode: 'TSM_PARAM',
+        label: 'CENTER_LINK_TYPE'
+      }).then(res => {
+        if (res.code === 200) {
+          this.info = res.data.code
+					uni.setNavigationBarTitle({
+						title: res.data.remark
+					})
+        }
+      })
+    }
+  }
+}
 </script>
-
-<style lang="scss">
-
-</style>
+<style lang="scss" scoped>
+.box {
+	padding: 0 30rpx;
+}
+</style>
\ No newline at end of file
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index e02a154..3138b6b 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -12,10 +12,10 @@
 				<view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
 					<image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
 						class="img" />
-					<view v-if="item.type == 1"  @click="videoClick(item, i)" class="video_wrap">
-						<video :id="'id' + i" :show-center-play-btn="false"
-							:src="item.fileurlFull" muted class="video" :controls="false" />
-						<image src="@/static/play.png" class="play" mode=""></image>
+					<view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
+						<video :id="'id' + i" :show-center-play-btn="false" :src="item.fileurlFull" muted class="video"
+							:controls="false" />
+						<image src="@/static/play.png" class="play" mode=""></image>
 					</view>
 				</view>
 			</view>
@@ -42,7 +42,8 @@
 				<view class="label">{{info.status == '1' ? '鏁存敼鍓�' : '瑙嗛/鍥剧墖'}}</view>
 				<view class="value">
 					<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
-						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
+						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
+							mode="widthFix"></image>
 						<video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
 					</view>
 				</view>
@@ -51,7 +52,8 @@
 				<view class="label">鏁存敼鍚�</view>
 				<view class="value">
 					<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
-						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
+						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
+							mode="widthFix"></image>
 						<video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
 					</view>
 				</view>
@@ -100,9 +102,9 @@
 			</view>
 		</view>
 		<view class="emyty"></view>
-		<view class="main_footer">
+		<view class="main_footer" v-if="info.status==0&& info.checkUserId == userInfo.memberId">
 			<view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">閫�鍥�</view>
-			<view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
+			<view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
 				杞氦</view>
 			<view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">澶勭悊
 			</view>
@@ -133,7 +135,8 @@
 					<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in dealBeforeFileList" :key="i">
 						<u-icon class="close" size="20" name="close-circle-fill" color="red"
 							@click="fileDel('dealBeforeFileList', i)"></u-icon>
-						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
+						<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
+							mode="widthFix"></image>
 						<video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
 					</view>
 				</view>
@@ -263,9 +266,11 @@
 			@cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
 		<!--  -->
 
-<!-- 		<view v-show="videoPlay" class="video_app">
-			<video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
-		</view> -->
+		<view v-if="videoPlay" class="video_app" >
+			<video controls autoplay muted x5-video-player-type="h5" 
+				x5-video-player-fullscreen="true" id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
+			<view class="bg" @click="closeVideo"></view>
+		</view>
 	</view>
 </template>
 
@@ -339,7 +344,7 @@
 				memberList: [],
 
 				videoPlay: false,
-				videoContext: null,
+				videoContext: null,
 				videoUrl: ''
 			};
 		},
@@ -360,22 +365,25 @@
 					//閫�鍑哄叏灞�
 					this.videoPlay = false; // 闅愯棌鎾斁鐩掑瓙
 				}
+			},
+			closeVideo() {
+				this.videoPlay = false
+				this.videoContext = null
 			},
 			videoClick(item, i) {
-				this.videoContext = uni.createVideoContext("myvideo", this); // this杩欎釜鏄疄渚嬪璞� 蹇呬紶
-				console.log(item)
 				this.videoPlay = true;
+				this.videoContext = uni.createVideoContext("myvideo", this); // this杩欎釜鏄疄渚嬪璞� 蹇呬紶
 				this.videoUrl = item.fileurlFull;
-				this.videoContext.requestFullScreen();
-				this.$nextTick(() => {
-					this.videoContext.play();
-				})
-				
+				this.videoContext.requestFullScreen();
+				this.$nextTick(() => {
+					this.videoContext.play();
+				})
+
 			},
 			handleOpen() {
 				this.isShowHandle = true;
-				const submitFileList = this.info.submitFileList || []
-				this.dealBeforeFileList  = [...submitFileList]
+				const submitFileList = this.info.submitFileList || []
+				this.dealBeforeFileList = [...submitFileList]
 				this.submitFileList = [...submitFileList];
 				this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
 			},
@@ -803,7 +811,7 @@
 
 		.flow_wrap {
 			padding: 30rpx 0 90rpx;
-			
+
 			.list {
 				.item {
 					display: flex;
@@ -825,7 +833,7 @@
 						height: 80rpx;
 						position: relative;
 						margin-right: 20rpx;
-						
+
 						.img {
 							width: 80rpx;
 							height: 80rpx;
@@ -838,7 +846,7 @@
 							border-radius: 50%;
 							position: absolute;
 							right: 0;
-							bottom: 0;
+							bottom: 0;
 							z-index: 999;
 						}
 					}
@@ -1046,7 +1054,7 @@
 					background: #f7f7f7;
 					color: #666666;
 					font-size: 22rpx;
-					display: flex;
+					display: flex;
 					border-radius: 4rpx;
 					flex-direction: column;
 					align-items: center;
@@ -1059,21 +1067,24 @@
 						margin-right: 0;
 					}
 				}
-				.video_wrap{
-					position: relative;
-					border: 1px solid;
-					width: 156rpx;
-					height: 156rpx;
-					border-radius: 4rpx;
-					.play{
-						width: 60rpx;
-						height: 60rpx;
-						position: absolute;
-						top: 50%;
-						left: 50%;
-						transform: translate(-50%, -50%);
-					}
+
+				.video_wrap {
+					position: relative;
+					border: 1px solid;
+					width: 156rpx;
+					height: 156rpx;
+					border-radius: 4rpx;
+
+					.play {
+						width: 60rpx;
+						height: 60rpx;
+						position: absolute;
+						top: 50%;
+						left: 50%;
+						transform: translate(-50%, -50%);
+					}
 				}
+
 				.img {
 					width: 100%;
 					max-height: 100%;
@@ -1130,7 +1141,7 @@
 		.main_footer {
 			position: fixed;
 			bottom: 0;
-			width: 100%;
+			width: 100%;
 			z-index: 9999;
 			left: 0;
 			padding: 30rpx 10rpx 60rpx;
@@ -1372,17 +1383,29 @@
 			color: #333333;
 		}
 	}
-	.video_app{
-		position: absolute;
-		left: 0;
-		top: 0;
-		width: 100vw;
+
+	.video_app {
+		overflow: hidden;
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
 		height: 100vh;
-		video{
+		display: flex;
+		align-items: center;
+		.bg{
+			background-color: rgba(0,0,0,.6);
+			position: absolute;
 			width: 100%;
 			height: 100%;
-		}
+			z-index: -1;
+		}
+		video {
+			width: 100%;
+			height: 42vh;
+		}
 	}
+
 	.Transfer_footer {
 		display: flex;
 
diff --git a/h5/pages/visitorSubGuide/index.vue b/h5/pages/visitorSubGuide/index.vue
index 0eff7a8..3f50a81 100644
--- a/h5/pages/visitorSubGuide/index.vue
+++ b/h5/pages/visitorSubGuide/index.vue
@@ -31,9 +31,6 @@
 </script>
 <style lang="scss" scoped>
 .box {
-  padding: 30rpx;
-  .line {
-    margin-bottom: 16rpx;
-  }
+	padding: 0 30rpx;
 }
 </style>
\ No newline at end of file
diff --git a/h5/pages/waybill/list.vue b/h5/pages/waybill/list.vue
index 56bec0d..4998a0b 100644
--- a/h5/pages/waybill/list.vue
+++ b/h5/pages/waybill/list.vue
@@ -9,7 +9,8 @@
 				<image src="@/static/ic_shaixuan@2x.png" mode=""></image>
 				<text>绛涢��</text>
 			</view>
-		</view>
+		</view>
+		<view @click="diaodu" class="head_title">鍒嗕腑蹇冭皟搴﹁仈绯绘柟寮�</view>
 		<!--  -->
 		<scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
 			<view class="main_list">
@@ -126,8 +127,8 @@
 				form: {},
 				provinceList: [
 					[
-						'瀹夊窘鐪�', '姹熻嫃鐪�', '娴欐睙鐪�', '娌冲寳鐪�', '灞辫タ鐪�', '鍖椾含', '澶╂触', '涓婃捣', '閲嶅簡', '杈藉畞鐪�', '鍚夋灄鐪�', '榛戦緳姹熺渷', '绂忓缓鐪�', '姹熻タ鐪�', '灞变笢鐪�',
-						'娌冲崡鐪�', '婀栧寳鐪�', '婀栧崡鐪�', '骞夸笢鐪�', '娴峰崡鐪�', '鍥涘窛鐪�', '璐靛窞鐪�', '浜戝崡鐪�', '闄曡タ鐪�', '鐢樿們鐪�', '闈掓捣鐪�', '鍙版咕鐪�', '鍐呰挋鍙よ嚜娌诲尯', '骞胯タ澹棌鑷不鍖�',
+						'瀹夊窘', '姹熻嫃', '娴欐睙', '娌冲寳', '灞辫タ', '鍖椾含', '澶╂触', '涓婃捣', '閲嶅簡', '杈藉畞', '鍚夋灄', '榛戦緳姹�', '绂忓缓', '姹熻タ', '灞变笢',
+						'娌冲崡', '婀栧寳', '婀栧崡', '骞夸笢', '娴峰崡', '鍥涘窛', '璐靛窞', '浜戝崡', '闄曡タ', '鐢樿們', '闈掓捣', '鍙版咕', '鍐呰挋鍙よ嚜娌诲尯', '骞胯タ澹棌鑷不鍖�',
 						'瑗胯棌鑷不鍖�', '瀹佸鍥炴棌鑷不鍖�', '鏂扮枂缁村惥灏旇嚜娌诲尯'
 					]
 				]
@@ -147,6 +148,11 @@
 				this.list = []
 				this.showModal = false
 				this.getList()
+			},
+			diaodu() {
+				uni.navigateTo({
+					url: '/pages/staff/signin'
+				})
 			},
 			modalSub() {
 				this.handleQuery()
@@ -231,7 +237,11 @@
 	page {
 		background: #F7F7F7;
 	}
-
+	.head_title{
+		color: $uni-color-primary;
+		text-decoration-line: underline;
+		margin-top: 20rpx;
+	}
 	.head_wrap {
 		display: flex;
 		align-items: center;
@@ -276,8 +286,8 @@
 
 	.scroll_Y {
 		background-color: #f7f7f7;
-
-		height: calc(100vh - 130rpx);
+		height: calc(100vh - 180rpx);
+		margin-top: 10rpx;
 
 		.main_list {
 			width: 750rpx;
diff --git a/h5/pages/waybill/waybillDetail.vue b/h5/pages/waybill/waybillDetail.vue
index 0b78b75..202517d 100644
--- a/h5/pages/waybill/waybillDetail.vue
+++ b/h5/pages/waybill/waybillDetail.vue
@@ -1,77 +1,78 @@
 <template>
 	<view class="main_app">
 		<!-- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> -->
-		<map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="4">
+		<map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="scale">
 
 		</map>
-		<view class="main_content">
-			<view class="info">
-				<view class="head">
-					<view class="code">{{info.contractNumber}}</view>
-					<view class="status">{{info.orderStatusDesc}}</view>
-				</view>
-				<view class="content">
-					<view class="line">
-						<view class="la">鍙戣揣鍦�</view>
-						<view class="val">{{info.deliveryEnterprise || '-'}}</view>
-					</view>
-					<view class="line">
-						<view class="la">鍒拌揣鍦�</view>
-						<view class="val">{{info.receiveEnterprise || '-'}}</view>
-					</view>
-					<view class="line">
-						<view class="la">杞︾墝鍙�</view>
-						<view class="val">{{info.plateName || '-'}}</view>
-					</view>
-					<view class="line">
-						<view class="la">鍙告満淇℃伅</view>
-						<view class="val" @click="callPhone(info.driverTel)">{{ info.driverName  }} <text class="primaryColor ml12">{{info.driverTel}}</text> </view>
-					</view>
-					<view class="line">
-						<view class="la">杞﹁締浣嶇疆</view>
-						<view class="val">{{'-'}}</view>
-					</view>
-					<view class="line">
-						<view class="la">棰勮鍒拌揪</view>
-						<view class="val">{{info.plannedArrivedDate}}</view>
-					</view>
-				</view>
-			</view>
-			<view class="drive_info">
-				<view class="title">鐗╂祦淇℃伅</view>
-				<view class="drive_list" v-for="dri,k in info.cicleStatusList">
-					<view class="separate"></view>
-					<view class="item_title">
-						<view class="icon_wrap">
-							<image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
-							<image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image>
-							<image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image>
-							<image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image>
-							<image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image>
-							<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" 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>
-						<view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view>
-					</view>
-					<view class="item" v-for="item,i in dri.secondList">
-						<view class="h2" v-if="item.orderStatusDes">
-							<view class="icon_wrap"  v-if="i != 0">
-								<image src="@/static/driver/ic_mostarted.png" class="icon"></image>
-							</view>
-							<view v-else class="icon_wrap"></view>
-							<view class="text" :class="{placeholder3: k==0 && i== 0}" >
-								{{item.orderStatusDes}}
-								<text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text>
-								<text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text>
-							</view>
-						</view>
-						<view class="time">{{item.recordDate}}</view>
-					</view>
-				</view>
-			</view>
+		<view class="main_content">
+			<view class="info">
+				<view class="head">
+					<view class="code">{{info.contractNumber}}</view>
+					<view class="status">{{info.orderStatusDesc}}</view>
+				</view>
+				<view class="content">
+					<view class="line">
+						<view class="la">鍙戣揣鍦�</view>
+						<view class="val">{{info.deliveryEnterprise || '-'}}</view>
+					</view>
+					<view class="line">
+						<view class="la">鍒拌揣鍦�</view>
+						<view class="val">{{info.receiveEnterprise || '-'}}</view>
+					</view>
+					<view class="line">
+						<view class="la">杞︾墝鍙�</view>
+						<view class="val">{{info.plateName || '-'}}</view>
+					</view>
+					<view class="line">
+						<view class="la">鍙告満淇℃伅</view>
+						<view class="val" @click="callPhone(info.driverTel)">{{ info.driverName  }} <text
+								class="primaryColor ml12">{{info.driverTel}}</text> </view>
+					</view>
+					<view class="line">
+						<view class="la">杞﹁締浣嶇疆</view>
+						<view class="val">{{'-'}}</view>
+					</view>
+					<view class="line">
+						<view class="la">棰勮鍒拌揪</view>
+						<view class="val primaryColor" v-if="info.plannedArrivedDate">{{info.plannedArrivedDate.slice(0,11)}}</view>
+					</view>
+				</view>
+			</view>
+			<view class="drive_info">
+				<view class="title">鐗╂祦淇℃伅</view>
+				<view class="drive_list" v-for="dri,k in info.cicleStatusList">
+					<view class="separate"></view>
+					<view class="item_title">
+						<view class="icon_wrap">
+							<image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
+							<image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image>
+							<image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image>
+							<image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image>
+							<image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image>
+							<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" 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>
+						<view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view>
+					</view>
+					<view class="item" v-for="item,i in dri.secondList">
+						<view class="h2" v-if="item.orderStatusDes">
+							<view class="icon_wrap" v-if="i != 0">
+								<image src="@/static/driver/ic_mostarted.png" class="icon"></image>
+							</view>
+							<view v-else class="icon_wrap"></view>
+							<view class="text" :class="{placeholder3: k==0 && i== 0}">
+								{{item.orderStatusDes}}
+								<text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+								<text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text>
+							</view>
+						</view>
+						<view class="time">{{item.recordDate}}</view>
+					</view>
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -88,7 +89,8 @@
 				param: {},
 
 				latitude: 31.783205,
-				longitude: 117.262635,
+				longitude: 117.262635,
+				scale: 5,
 				markers: [],
 				includePoints: [
 					// {latitude: 31.783205, longitude: 117.262635}, {latitude: 36.783205, longitude: 118.10},
@@ -153,18 +155,62 @@
 								bgColor: '#FF0000'
 							}
 						})
-						this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 8
-						this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
+						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
+						}
 					}
 					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) {
+							this.polyline = []
+							let temp = {
+								color: '#ff0000',
+								width: 3,
+								points: this.gisInfo.gisList.map(item => {
+									return {
+										latitude: item.lat,
+										longitude: item.lon,
+									}
+								})
+							}
+							this.polyline.push(temp)
+						}
 					}
 				})
-			},
-			callPhone(phone){
-				uni.makePhoneCall({
-					phoneNumber: phone
-				});
+			},
+			distance() {
+				const {
+					latitude: lat1,
+					longitude: lng1
+				} = this.markers[0];
+				const {
+					latitude: lat2,
+					longitude: lng2
+				} = this.markers[1];
+				const radLat1 = this.rad(lat1);
+				const radLat2 = this.rad(lat2);
+				const a = radLat1 - radLat2;
+				const b = this.rad(lng1) - this.rad(lng2);
+				const Haversin = Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2),
+					2);
+				const radius = 6378137; // 鍦扮悆鍗婂緞
+				return 2 * radius * Math.asin(Math.sqrt(Haversin));
+			},
+			rad(d) {
+				return d * Math.PI / 180.0;
+			},
+			callPhone(phone) {
+				uni.makePhoneCall({
+					phoneNumber: phone
+				});
 			}
 		}
 	}
@@ -175,19 +221,19 @@
 		background-color: #f7f7f7;
 	}
 
-	.main_app {
-		padding: 0;
+	.main_app {
 		padding-top: 45vh;
-		.main_content{
-			height: 55vh ;
-			overflow: auto;
-			padding: 20rpx 30rpx 0;
-			position: relative;
-			z-index: 999;
-		}
+
+		// .main_content{
+		// 	height: 55vh ;
+		// 	overflow: auto;
+		// 	padding: 20rpx 30rpx 0;
+		// 	position: relative;
+		// 	z-index: 999;
+		// }
 		#map {
 			width: 750rpx;
-			position: absolute;
+			position: fixed;
 			left: 0;
 			top: 0;
 			height: 105vh;
@@ -208,15 +254,17 @@
 			margin-bottom: 20rpx;
 			position: relative;
 			z-index: 999;
-			.separate {
-				height: calc( 100% - 250rpx );
-				width: 1rpx;
-				border: 1rpx dashed #CCCCCC;
-				position: absolute;
-				left: 53rpx;
-				top: 102rpx;
-				z-index: -1;
+
+			.separate {
+				height: calc(100% - 250rpx);
+				width: 1rpx;
+				border: 1rpx dashed #CCCCCC;
+				position: absolute;
+				left: 53rpx;
+				top: 102rpx;
+				z-index: -1;
 			}
+
 			.title {
 				font-weight: 500;
 				font-size: 32rpx;
@@ -235,46 +283,52 @@
 
 				.val {}
 			}
-			.item_title{
-				font-weight: 600;
-				font-size: 32rpx;
-				display: flex;
-				align-items: center;
-			}
-			.icon_wrap {
-				width: 48rpx;
-				margin-right: 30rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				.icon {
-					width: 48rpx;
-					height: 48rpx;
-					position: relative;
-					z-index: 2;
-				}
+
+			.item_title {
+				font-weight: 600;
+				font-size: 32rpx;
+				display: flex;
+				align-items: center;
 			}
+
+			.icon_wrap {
+				width: 48rpx;
+				margin-right: 30rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.icon {
+					width: 48rpx;
+					height: 48rpx;
+					position: relative;
+					z-index: 2;
+				}
+			}
+
 			.item {
 				position: relative;
 				color: #999999;
-				margin-bottom: 30rpx;
-				.text{
-					color: #666666;
+				margin-bottom: 30rpx;
+
+				.text {
+					color: #666666;
 				}
-				.icon {
-					width: 20rpx;
-					height: 20rpx;
-					position: relative;
-					z-index: 2;
+
+				.icon {
+					width: 20rpx;
+					height: 20rpx;
+					position: relative;
+					z-index: 2;
 				}
+
 				.h2 {
 					display: flex;
 					align-items: center;
 					height: 48rpx;
 				}
 
-				.h1 {
-				}
+				.h1 {}
 
 				.time {
 					padding-left: 78rpx;
diff --git a/h5/utils/config.js b/h5/utils/config.js
index 08884a3..05ff784 100644
--- a/h5/utils/config.js
+++ b/h5/utils/config.js
@@ -1,8 +1,8 @@
 
-export const baseUrl = 'zhyq_interface/'
+// export const baseUrl = 'zhyq_interface/'
 // export const baseUrl = 'http://192.168.0.173/gateway_interface/'
 // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
-// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' 
+export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' 
 
 export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
 
diff --git a/screen/src/api/index.js b/screen/src/api/index.js
index a20cb1c..2146947 100644
--- a/screen/src/api/index.js
+++ b/screen/src/api/index.js
@@ -174,4 +174,8 @@
 // 鑳借�楃湅鏉� 瀹炴椂璐熻嵎鏇茬嚎
 export const zxloadCurve = (data) => {
   return request('visitsAdmin/cloudService/board/api/energy/loadCurve', data)
+}
+// 鑳借�楃湅鏉� 瀹炴椂璐熻嵎鏇茬嚎
+export const regionDataRanking = (data) => {
+  return request('visitsAdmin/cloudService/board/api/energy/regionDataRanking', data)
 }
\ No newline at end of file
diff --git a/screen/src/assets/images/default_nodata.png b/screen/src/assets/images/default_nodata.png
new file mode 100644
index 0000000..17660ca
--- /dev/null
+++ b/screen/src/assets/images/default_nodata.png
Binary files differ
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 8035926..a2f532f 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -175,51 +175,54 @@
           </div>
           <div class="center_box_two">
             <img class="bg" src="@/assets/images/img_city@2x.png" alt="" />
-            <template v-if="data6 && data6.secondRegionDataList && data6.secondRegionDataList.length > 0">
-              <div class="item item1">
-                <div class="num fs_linear">{{ data6.secondRegionDataList[0].value }}<span class="unit">kw路h</span></div>
-                <div class="name">{{ data6.secondRegionDataList[0].name }}</div>
+            <template v-if="data6 && data6 && data6.length > 0">
+              <div class="item item1" v-if="data6.length > 4">
+                <div class="num fs_linear">{{ data6[4].value }}<span class="unit">kw路h</span></div>
+                <div class="name">{{ data6[4].name }}</div>
                 <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
               </div>
-              <div class="item item2" v-if="data6.secondRegionDataList.length > 1">
-                <div class="num fs_linear">{{ data6.secondRegionDataList[1].value }}<span class="unit">kw路h</span></div>
-                <div class="name">{{ data6.secondRegionDataList[1].name }}</div>
+              <div class="item item2" v-if="data6.length > 1">
+                <div class="num fs_linear">{{ data6[1].value }}<span class="unit">kw路h</span></div>
+                <div class="name">{{ data6[1].name }}</div>
                 <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
               </div>
-              <div class="item item3" v-if="data6.secondRegionDataList.length > 2">
-                <div class="num fs_linear">{{ data6.secondRegionDataList[2].value }}<span class="unit">kw路h</span></div>
-                <div class="name">{{ data6.secondRegionDataList[2].name }}</div>
+              <div class="item item3" v-if="data6.length > 2">
+                <div class="num fs_linear">{{ data6[2].value }}<span class="unit">kw路h</span></div>
+                <div class="name">{{ data6[2].name }}</div>
                 <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
               </div>
-              <div class="item item4" v-if="data6.secondRegionDataList.length > 3">
-                <div class="num fs_linear">{{ data6.secondRegionDataList[3].value }}<span class="unit">kw路h</span></div>
-                <div class="name">{{ data6.secondRegionDataList[3].name }}</div>
+              <div class="item item4" v-if="data6.length > 3">
+                <div class="num fs_linear">{{ data6[3].value }}<span class="unit">kw路h</span></div>
+                <div class="name">{{ data6[3].name }}</div>
                 <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
               </div>
-              <div class="item item5" v-if="data6.secondRegionDataList.length > 4">
-                <div class="num fs_linear">{{ data6.secondRegionDataList[4].value }}<span class="unit">kw路h</span></div>
-                <div class="name">{{ data6.secondRegionDataList[4].name }}</div>
+              <div class="item item5">
+                <div class="num fs_linear">{{ data6[0].value }}<span class="unit">kw路h</span></div>
+                <div class="name">{{ data6[0].name }}</div>
                 <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" />
               </div>
             </template>
             <div class="bottom_wrap" v-if="data1.yesterdayElectricity">
-              <div class="bottom bottom1">
-                <div class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 }}</div>
+              <div class="bottom bottom1" @click="changeacDay(3)">
+                <div :class="{active: activeDays == 3}" class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 }}</div>
                 <div class="name">鏄ㄦ棩鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
-                <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
+                <img v-if="activeDays == 3" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
+                <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
               </div>
-              <div class="bottom bottom2">
-                <div class="num">{{ data1.todayElectricity.total || 0 }}</div>
+              <div class="bottom bottom2" @click="changeacDay(1)">
+                <div :class="{active: activeDays == 1}" class="num">{{ data1.todayElectricity.total || 0 }}</div>
                 <div class="name">浠婃棩鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
-                <img src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
+                <img v-if="activeDays == 1" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
+                <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
               </div>
-              <div class="bottom bottom3">
-                <div class="num fs_linear">{{ data1.monthElectricity.total || 0 }}</div>
+              <div class="bottom bottom3" @click="changeacDay(2)">
+                <div :class="{active: activeDays == 2}" class="num fs_linear">{{ data1.monthElectricity.total || 0 }}</div>
                 <div class="name">鏈湀鐢ㄧ數</div>
                 <div class="unit">kw路h</div>
-                <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
+                <img v-if="activeDays == 2" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" />
+                <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" />
               </div>
             </div>
           </div>
@@ -298,7 +301,8 @@
   zxenergyDataList,
   zxlastMonthOil,
   zxloadCurve,
-  zxenergyRegionData
+  zxenergyRegionData,
+  regionDataRanking
 } from '@/api'
 
 
@@ -546,13 +550,19 @@
     data1.value = result
   })
 }
+const activeDays = ref('1')
 const data6 = ref({})
+const changeacDay = (val) => {
+  activeDays.value = val
+  getData6()
+}
 const getData6 = () => {
-  zxenergyRegionData().then(res => {
+  regionDataRanking({type: activeDays.value}).then(res => {
     const result = res.data
     data6.value = result
   })
 }
+
 
 const activeTab2 = ref(0)
 const tabsClick2 = (v) => {
@@ -888,7 +898,7 @@
         position: absolute;
         text-align: center;
         padding-top: 70px;
-
+        cursor: pointer;
         .num {
           font-size: 24px;
           color: #D0FFFA;
@@ -904,6 +914,12 @@
         .unit {
           font-size: 14px;
           color: #D0FFFA;
+        }
+        .active {
+          font-size: 36px;
+          color: #01D9FE;
+          font-weight: bold;
+          margin-bottom: 10px;
         }
       }
 
@@ -921,14 +937,8 @@
         bottom: -0px;
         left: 50%;
         transform: translate(-50%, 0);
-        padding-top: 50px;
+        /* padding-top: 50px; */
 
-        .num {
-          font-size: 36px;
-          color: #01D9FE;
-          line-height: 54px;
-          font-weight: bold;
-        }
       }
     }
   }
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index 899b850..ea7a49a 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -3,7 +3,7 @@
     <div class="main_app">
       <img src="@/assets/images/energy_ef/bg@2x.png" class="main_bg" alt="" />
       <div class="main_header">
-        <!-- <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> -->
+        <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
         <div class="title">瀹夋嘲鏅烘収鐗╂祦鍥尯-璋冨害鑳芥晥璺熻釜</div>
         <div class="time_wrap">
           <span class="date">{{ date }}</span>
@@ -38,13 +38,15 @@
                     <img v-else src="@/assets/images/ic_down.png" class="icon" alt="">
                   </template>
                   <template v-if="activeTab1 == 1 && data1.yearLastOutTotal">
-                    <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png"
-                      class="icon" alt="">
+                    <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png" class="icon"
+                      alt="">
                     <img v-else src="@/assets/images/ic_down.png" class="icon" alt="">
                   </template>
-                  
-                  <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal - data1.monthLastOutTotal)/data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span>
-                  <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - data1.yearLastOutTotal)/data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span>
+
+                  <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal -
+                    data1.monthLastOutTotal) / data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span>
+                  <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal -
+                    data1.yearLastOutTotal) / data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span>
                   <span v-else>-</span>
                 </div>
               </div>
@@ -207,7 +209,8 @@
                 <img src="@/assets/images/energy_ef/ic_chukuxiaolv@2x.png" alt="">
                 <div class="content">
                   <div class="name">鍑哄簱鏁堢巼</div>
-                  <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate : data1.monthOutRate }}</span>涓囨敮/灏忔椂
+                  <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate || 0 : data1.monthOutRate || 0
+                      }}</span>涓囨敮/灏忔椂
                   </div>
                 </div>
               </div>
@@ -215,7 +218,8 @@
                 <img src="@/assets/images/energy_ef/ic_rukuxiaolv@2x.png" alt="">
                 <div class="content">
                   <div class="name">鍏ュ簱鏁堢巼</div>
-                  <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate : data1.monthInRate
+                  <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate || 0 : data1.monthInRate
+                    || 0
                       }}</span>涓囨敮/灏忔椂</div>
                 </div>
               </div>
@@ -259,16 +263,14 @@
             <div class="repertory">
               <div class="use_ratio">
                 <div class="header">
-                  <div>搴撳瓨閲� <span class="num">{{ data1.stockTotal }}/{{ data1.stockMax }}</span></div>
-                  <div v-if="data1.stockTotal && data1.stockMax">鍒╃敤鐜噞{ ((data1.stockTotal / data1.stockMax) *
-                    100).toFixed(0) }}%</div>
+                  <div>搴撳瓨閲� <span class="num">{{ data6.num }}/{{ data6.totalNum }}</span></div>
+                  <div v-if="data6.num && data6.totalNum">鍒╃敤鐜噞{ (data6.useRate * 100).toFixed(0) }}%</div>
                 </div>
-                <Percent v-if="data1.stockTotal && data1.stockMax"
-                  :rate="((data1.stockTotal / data1.stockMax) * 100).toFixed(0)" />
+                <Percent v-if="data6.num && data6.totalNum" :rate="((data6.num / data6.totalNum) * 100).toFixed(0)" />
               </div>
               <div class="list two-swiper">
                 <div class="swiper-wrapper">
-                  <div class="item two-swiper-slide swiper-slide" v-for="item in dataList6">
+                  <div class="item two-swiper-slide swiper-slide" v-for="item in data6.stockList">
                     <div class="la">{{ item.name }}</div>
                     <div class="val">{{ item.num }}涓囨敮</div>
                   </div>
@@ -279,26 +281,26 @@
         </div>
       </div>
       <!--  -->
-      <div class="modal" v-if="activeCar && activeCar.phone">
+      <div class="modal" v-if="showModal">
         <div class="title_head">
           <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
-          <span>鐨朼222</span>
+          <span>{{ activeCar.carCode }}</span>
         </div>
         <div class="info">
           <div class="item">
             <div class="dian"></div>
             <div class="la">杩愯緭鍗曞彿锛�</div>
-            <div class="val">22</div>
+            <div class="val">{{ activeCar.billCode }}</div>
           </div>
           <div class="item">
             <div class="dian"></div>
             <div class="la">鍙告満淇℃伅锛�</div>
-            <div class="val">22</div>
+            <div class="val">{{ activeCar.name }} {{ activeCar.phone }}</div>
           </div>
           <div class="item">
             <div class="dian"></div>
             <div class="la">鎬昏繍杈撻噺锛�</div>
-            <div class="val">22 涓囨敮</div>
+            <div class="val" v-if="activeCar.totalNum">{{ activeCar.totalNum }}涓囨敮</div>
           </div>
         </div>
         <div class="tabs">
@@ -306,35 +308,45 @@
           <div :class="{ active: modalTab == 1 }" @click="modalTabClick(1)" class="tab">鍚堝悓鍒楄〃</div>
         </div>
         <div class="tab1" v-if="modalTab == 0">
-          <div class="item" v-for="item, i in 3">
-            <div class="icon_wrap">
-              <img v-if="i === 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt="">
-              <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt="">
-              <div class="line"></div>
+          <template v-for="item, i in activeCar.logList">
+            <div class="item" v-if="i < 4 || showMore">
+              <div class="icon_wrap">
+                <img v-if="i != 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt="">
+                <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt="">
+                <div class="line"></div>
+              </div>
+              <div class="content">
+                <div class="status" :class="{ ac: i == 0 }">{{ statusMapD[item.objType] }}</div>
+                <div class="text">{{ item.content }}</div>
+                <div class="time">{{ item.createDate }}</div>
+              </div>
             </div>
-            <div class="content">
-              <div class="status">浣滀笟涓�</div>
-              <div class="text">浣滀笟浠诲姟鍦ㄣ�愬叆搴撳幓1鍙锋湀鍙般�戝紑濮嬩綔涓�</div>
-              <div class="time">2024-04-02 12:00</div>
-            </div>
+          </template>
+          <div class="more_btn" v-if="!showMore && activeCar.logList && activeCar.logList.length > 4"
+            @click="showMore = true">鏌ョ湅鏇村浣滀笟淇℃伅</div>
+          <div class="empty" v-if="!activeCar.contractList || activeCar.logList.contractList == 0">
+            <img src="@/assets/images/default_nodata.png" alt="">
           </div>
         </div>
         <div class="tab2" v-if="modalTab == 1">
           <div class="list">
-            <div class="item">
+            <div class="item" v-for="item in activeCar.contractList">
               <div class="head">
-                <div class="code">鍚堝悓鍙凤細12312312</div>
-                <div class="addr">鏀惰揣鍦帮細姹熼棬鐑熻崏鐗╂祦涓績</div>
+                <div class="code">鍚堝悓鍙凤細{{ item.ioCode }}</div>
+                <div class="addr">鏀惰揣鍦帮細{{ item.address }}</div>
               </div>
-              <div class="line" v-for="i in 3">
-                <div class="name">鐗╂枡鍚嶇О锛�<span class="val">榛勫北</span></div>
-                <div class="num">鏁伴噺锛�<span class="val">100涓囨敮</span></div>
+              <div class="line" v-for="i in item.detailList">
+                <div class="name">鐗╂枡鍚嶇О锛�<span class="val">{{ i.materialName }}</span></div>
+                <div class="num">鏁伴噺锛�<span class="val">{{ i.ioQty }}涓囨敮</span></div>
               </div>
+            </div>
+            <div class="empty" v-if="!activeCar.contractList || activeCar.logList.contractList == 0">
+              <img src="@/assets/images/default_nodata.png" alt="">
             </div>
           </div>
         </div>
       </div>
-      <div class="modal_mask" v-if="activeCar && activeCar.phone" @click="activeCar = {}"></div>
+      <div class="modal_mask" v-if="showModal" @click="closeModal"></div>
     </div>
   </v-scale-screen>
 </template>
@@ -362,6 +374,7 @@
 import 'swiper/css/swiper.min.css'
 import Swiper from 'swiper'
 
+const statusMapD = ['浠诲姟鐢熸垚', '纭浠诲姟', '宸茬鍒�', '鍏ュ洯绛夊緟', '鏈堝彴鍙彿', '浣滀笟涓�', '浣滀笟瀹屾垚', '鏈堝彴杞Щ', '寮傚父鎸傝捣', '涓嬪彂鎺堟潈绂诲洯', '绂诲洯', '宸茶繃鍙�']
 const colors = ['#FEAF01', '#01ABFE', '#51F9E4']
 const weekMap = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�',]
 const date = ref(dayjs().format('YYYY.MM.DD'))
@@ -588,7 +601,7 @@
   const scatterData = data7.value.carsList.map(item => {
     return {
       name: item.terminalId,
-      img: item.status == 0 ? icLixian : item.status == 1 || item.status == 2 ? icZaitu : icKongxian,
+      img: item.jobStatus == 2 ? icLixian : item.jobStatus == 1 ? icZaitu : icKongxian,
       data: [{ code: item.plateNum, value: [item.longitude, item.latitude] }]
     }
   })
@@ -780,7 +793,9 @@
   myChart.on('click', function (params) {
     const item = params.data
     getCarsJobDetails({ carCode: item.code }).then(res => {
-      activeCar.value = res.data
+      // getCarsJobDetails({ carCode: '鐨朅E5277' }).then(res => {
+      showModal.value = true
+      activeCar.value = { ...res.data, carCode: item.code }
     })
   })
   window.addEventListener('resize', function () {//鎵ц
@@ -788,9 +803,15 @@
   })
 }
 const activeCar = ref({})
+const showModal = ref(false)
 const modalTab = ref(0)
+const showMore = ref(false)
 const modalTabClick = (val) => {
   modalTab.value = val
+}
+const closeModal = () => {
+  showModal.value = false
+  activeCar.value = {}
 }
 
 
@@ -879,11 +900,11 @@
     initEchart1()
   })
 }
-const dataList6 = ref([])
+const data6 = ref({})
 const getData6 = () => {
   wlstockList().then(res => {
-    const result = res.data.stockList || []
-    dataList6.value = result
+    const result = res.data || []
+    data6.value = result
   })
 }
 
@@ -917,8 +938,8 @@
   var newSwiper1 = new Swiper('.two-swiper', {
     initialSlide: 0,
     direction: 'vertical', //绔栫洿鏂瑰悜
-    slidesPerView: 7,
-    autoplay: autoplayFlag(dataList6.value, 7, 2000),
+    slidesPerView: 6,
+    autoplay: autoplayFlag(data6.value.stockList, 6, 2000),
     observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiperiper
   })
 }
@@ -1461,7 +1482,7 @@
 
         .list {
           margin-top: 22px;
-          height: 240px;
+          height: 216px;
           overflow: hidden;
           scrollbar-width: none;
 
@@ -1702,6 +1723,25 @@
   }
 
   .tab1 {
+    height: 360px;
+    overflow: auto;
+
+    .more_btn {
+      width: 116px;
+      height: 25px;
+      border-radius: 2px;
+      border: 1px solid #D2E0FF;
+      font-size: 12px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      color: D2E0FF;
+      margin-left: 30px;
+      margin-top: 12px;
+      cursor: pointer;
+    }
+
+
     .item {
       display: flex;
 
@@ -1748,6 +1788,10 @@
           color: #fff;
         }
 
+        .ac {
+          color: #00F2F3;
+        }
+
         .text {
           margin-bottom: 4px;
         }
@@ -1761,6 +1805,9 @@
   }
 
   .tab2 {
+    height: 360px;
+    overflow: auto;
+
     .list {
       .item {
         width: 560px;
@@ -1810,6 +1857,17 @@
       }
     }
   }
+
+  .empty {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 340px;
+
+    img {
+      width: 144px;
+    }
+  }
 }
 
 .modal_mask {
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 81534b6..4726292 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1539,6 +1539,7 @@
                 )
                 .eq("c.DELETED",0)
                 .eq("c.status",0)
+                .eq("m.WORK_STATUS",0)
                 .orderByAsc("c.id")
         );
         String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
index d4cec01..7ab1d53 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
@@ -32,7 +32,8 @@
     @Select(" select c.id , c.type , c.REALNAME as realName , c.userName as userName , c.avatar ," +
             " c.wechat_name as wechatName , c.mobile , c.sex , c.birthday  , c.avatar   ,  d.COMPANY_NAME_PATH as departmentName  " +
             " from system_user c   " +
-            " INNER JOIN company d on c.COMPANY_ID = d.id  " +
+            " INNER JOIN company d on c.COMPANY_ID = d.id " +
+            " LEFT JOIN member m on c.member_id = m.id   " +
             " ${ew.customSqlSegment} ")
     IPage<UserResponse> getUserPage(IPage<UserResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
 
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java b/server/system_service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
index d313c60..3759842 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
@@ -59,5 +59,10 @@
     @ApiModelProperty(value = "鏄惁鏌ヨ鍥哄畾浜哄憳缁勭粐涓婚敭" ,hidden = true)
     private String companySpecialId;
 
+    @ApiModelProperty(value = "鍦ㄨ亴鐘舵�� 0鍦ㄨ亴 1绂昏亴" )
+    private Integer workStatus;
+
+
+
 
 }
diff --git a/server/system_service/src/main/resources/mappers/SystemUserMapper.xml b/server/system_service/src/main/resources/mappers/SystemUserMapper.xml
index 9bc91f7..0b358d4 100644
--- a/server/system_service/src/main/resources/mappers/SystemUserMapper.xml
+++ b/server/system_service/src/main/resources/mappers/SystemUserMapper.xml
@@ -66,6 +66,9 @@
       <if test="dto.status != null ">
         AND  usr.`status` = #{dto.status}
       </if>
+      <if test="dto.workStatus != null ">
+        AND  m.WORK_STATUS = #{dto.workStatus}
+      </if>
       <if test="dto.memberType != null ">
         AND  m.`type` = #{dto.memberType}
       </if>
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
index 260731b..8bc1987 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -182,4 +182,21 @@
         return ApiResponse.success(  HKService.temperatureHumidityDataStatistic(request));
     }
 
+    @ApiOperation("銆愭捣搴枫�戞牴鎹椂闂村拰鏃堕棿缁村害鑾峰彇鍥尯鑳借�楁暟鎹�")
+    @PostMapping("/energyTotal")
+    @LoginNoRequired
+    public ApiResponse<BaseResponse<EnergyTotalDataResponse>> energyTotalData(@RequestBody EnergyTotalDataRequest request, HttpServletResponse response) {
+        return ApiResponse.success(  HKService.energyTotal(request));
+    }
+
+
+    @ApiOperation("銆愭捣搴枫�戣幏鍙栧尯鍩熺敤閲忔帓鍚�-鑳借�楃湅鏉�")
+    @PostMapping("/regionDataRanking")
+    @LoginNoRequired
+    public ApiResponse<BaseResponse<List<RegionDataRankingDataResponse>>> regionDataRankingData(@RequestBody RegionDataRankingDataRequest request, HttpServletResponse response) {
+        return ApiResponse.success(  HKService.regionDataRanking(request));
+    }
+
+
+
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
index 2a23a82..9fc64e3 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
@@ -2,7 +2,11 @@
 
 import com.doumee.api.BaseController;
 import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.RegionDataRankingTypeRequest;
+import com.doumee.core.haikang.model.param.respose.RegionDataRankingDataResponse;
 import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse;
+import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.web.response.platformReport.*;
@@ -10,11 +14,9 @@
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -36,12 +38,21 @@
     @ApiOperation("涓績鏁版嵁")
     @GetMapping("/centerData")
     public ApiResponse<EnergyBoardVO> centerData() {
-
         EnergyBoardVO data =boardService.centerEnergyData();
-
         return ApiResponse.success(data);
     }
 
+
+
+    @LoginNoRequired
+    @ApiOperation("涓績鐢ㄧ數鑳借�楁暟鎹�")
+    @GetMapping("/regionDataRanking")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "鏌ヨ绫诲瀷锛�1=浠婃棩锛�2=鏈湀锛�3=鏄ㄦ棩", required = true),
+    })
+    public ApiResponse<List<RegionDataRankingDataResponse>> regionDataRanking(@RequestParam Integer type) {
+        return ApiResponse.success(boardService.getRegionDataRanking(type));
+    }
 
 
     @LoginNoRequired
@@ -57,7 +68,6 @@
     @ApiOperation("瀹炴椂璐熻嵎鏇茬嚎")
     @GetMapping("/loadCurve")
     public ApiResponse<List<EnergyDataVO>> loadCurve() {
-
         List<EnergyDataVO> loadCurveList =boardService.loadEnergyCurve();
         return ApiResponse.success(loadCurveList);
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 2993237..161e8f3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -621,6 +621,8 @@
         String[] minitorDataSearch= new String[]{"/api/fpms/v2/minitor/data/search","鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁"};//鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁
         String[] userOpenidSave= new String[]{"/api/v1/oa/userOpenId/saveV2","淇濆瓨鐢ㄦ埛鍙妎penId缁戝畾淇℃伅寰俊鍏紬鍙�"};//淇濆瓨鐢ㄦ埛鍙妎penId缁戝畾淇℃伅寰俊鍏紬鍙�
         String[] temperatureHumidityDataStatistic= new String[]{"/api/v2/public/monitor/sensor/list","娑堥槻鐪嬫澘-4娓╂箍搴︾粺璁�"};//娑堥槻鐪嬫澘-娓╂箍搴�
+        String[] regionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�"};//娑堥槻鐪嬫澘-鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕 - 鑳借�楃湅鏉�
+        String[] energyTotal= new String[]{"/api/ecm/v1/energy/energyTotal","娑堥槻鐪嬫澘-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�"};//娑堥槻鐪嬫澘-鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�
     }
     /**
      * 闄勫綍A.55娑堥槻璁惧绫诲瀷
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index aad1de4..f05520f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -322,6 +322,23 @@
 		return startDoPostStringArtemisAdmin(HKConstants.InterfacePath.temperatureHumidityDataStatistic,body);
 	}
 
+	/**
+	 *娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�
+	 * @param body
+	 * @return
+	 */
+	public static String regionDataRanking(String body) {
+		return startDoPostStringArtemis(HKConstants.InterfacePath.regionDataRanking,body);
+	}
+
+	/**
+	 *娑堥槻鐪嬫澘-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�
+	 * @param body
+	 * @return
+	 */
+	public static String energyTotal(String body) {
+		return startDoPostStringArtemis(HKConstants.InterfacePath.energyTotal,body);
+	}
 
 	/**
 	 *	鑾峰彇闂ㄧ鐐瑰垪琛�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EnergyTotalDataRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EnergyTotalDataRequest.java
new file mode 100644
index 0000000..807d5dd
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EnergyTotalDataRequest.java
@@ -0,0 +1,15 @@
+package com.doumee.core.haikang.model.param.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class EnergyTotalDataRequest {
+
+    @ApiModelProperty(value = "鏃堕棿缁村害day/month/year")
+    private String  periodType;
+
+    @ApiModelProperty(value = "鏌ヨ鏃ユ湡")
+    private String  date;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingDataRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingDataRequest.java
new file mode 100644
index 0000000..53eed3c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingDataRequest.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.param.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RegionDataRankingDataRequest {
+
+    @ApiModelProperty(value = "鏃堕棿缁村害day/month/year")
+    private String  periodType;
+
+    @ApiModelProperty(value = "鏌ヨ鏃ユ湡")
+    private String  date;
+
+    @ApiModelProperty(value = "浠〃绫诲瀷(1:鐢佃〃;2:姘磋〃;3:姘旇〃;4:鐑〃)")
+    private Integer  meterType;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingTypeRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingTypeRequest.java
new file mode 100644
index 0000000..0745469
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionDataRankingTypeRequest.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RegionDataRankingTypeRequest {
+
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷锛�1=浠婃棩锛�2=鏈湀锛�3=鏄ㄦ棩")
+    private Integer queryType;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTotalDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTotalDataResponse.java
new file mode 100644
index 0000000..63c0829
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTotalDataResponse.java
@@ -0,0 +1,24 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class EnergyTotalDataResponse {
+
+ @ApiModelProperty(value = "鐢ㄧ數鎬婚噺")
+ private String   electricity;
+
+ @ApiModelProperty(value = "鐢ㄦ按鎬婚噺")
+ private String  water;
+
+ @ApiModelProperty(value = "鐢ㄦ皵鎬婚噺")
+ private String  gas;
+
+ @ApiModelProperty(value = "鐢ㄧ儹鎬婚噺")
+ private String  heat;
+
+ @ApiModelProperty(value = "鑷畾涔夋�婚噺")
+ private String  extend	;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionDataRankingDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionDataRankingDataResponse.java
new file mode 100644
index 0000000..e1d6a50
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionDataRankingDataResponse.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RegionDataRankingDataResponse {
+
+ @ApiModelProperty(value = "鍖哄煙")
+ private String   name;
+
+ @ApiModelProperty(value = "鐢甸噺")
+ private String  value;
+
+ @ApiModelProperty(value = "鐧惧垎姣�")
+ private String  percent;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index d610bbf..cbc861d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -958,6 +958,45 @@
         return  null;
     }
 
+    /**
+     *娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�
+     * @return
+     */
+    public  static  BaseResponse<List<RegionDataRankingDataResponse>>  regionDataRanking(RegionDataRankingDataRequest param){
+        log.info("銆愭捣搴锋秷闃茬湅鏉�-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉裤��================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.regionDataRanking(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse<List<RegionDataRankingDataResponse> >>(){};
+            BaseResponse<List<RegionDataRankingDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴锋秷闃茬湅鏉�-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉裤��================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+
+
+    /**
+     *娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�
+     * @return
+     */
+    public  static  BaseResponse<EnergyTotalDataResponse>  energyTotal(EnergyTotalDataRequest param){
+        log.info("銆愭捣搴锋秷闃茬湅鏉�-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹��================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.energyTotal(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse<EnergyTotalDataResponse >>(){};
+            BaseResponse<EnergyTotalDataResponse>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍娑堥槻鐪嬫澘-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴锋秷闃茬湅鏉�-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹��================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+
 
     /**
      *鍒嗛〉鏌ヨ娑堥槻璁惧閮ㄤ欢鐘舵��
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
index 684f6ba..ebb9145 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -59,7 +59,7 @@
     private Integer areaId;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呭鐞� 1宸插鐞� 2涓嶅鐞�", example = "1")
-    @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 5)
+    @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 5,width = 6)
     private Integer status;
 
     @ApiModelProperty(value = "鐢宠澶勭悊浜虹紪鐮�(鍏宠仈member)", example = "1")
@@ -91,12 +91,12 @@
     private Integer checkUserId;
 
     @ApiModelProperty(value = "鍖哄煙鍚嶇О")
-    @ExcelColumn(name="闅愭偅鍖哄煙",index = 1)
+    @ExcelColumn(name="闅愭偅鍖哄煙",index = 1,width = 10)
     private String areaName;
 
     @ApiModelProperty(value = "鐢宠浜哄鍚�", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =3)
+    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =3,width = 6)
     private String memberName;
     @ApiModelProperty(value = "鐢宠浜烘墍灞炵粍缁囧悕绉�", example = "1")
     @TableField(exist = false)
@@ -104,7 +104,7 @@
     private String companyName;
     @ApiModelProperty(value = "璐d换閮ㄩ棬鍚嶇О", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 0)
+    @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 0,width = 10)
     private String dutyCompanyName;
     @ApiModelProperty(value = "鐢宠浜烘墜鏈哄彿", example = "1")
     @TableField(exist = false)
@@ -124,7 +124,7 @@
     private String checkorPhone;
     @ApiModelProperty(value = "闅愭偅绫诲瀷鍚嶇О", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="闅愭偅绫诲瀷",index = 2)
+    @ExcelColumn(name="闅愭偅绫诲瀷",index = 2,width = 10)
     private String categoryName;
 
     @ApiModelProperty(value = "鏌ヨ寮�濮嬫椂闂达紙鍩轰簬鎻愭姤鏃堕棿锛�", example = "2024-05-20 11:48:50")
@@ -145,12 +145,12 @@
 
     @ApiModelProperty(value = "鎻愭姤鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date submitTime;
 
     @ApiModelProperty(value = "澶勭悊鏃堕棿锛堟暣鏀�/閫�鍥炰娇鐢級")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="澶勭悊鏃堕棿",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="澶勭悊鏃堕棿",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date dealTime;
 
     @ApiModelProperty(value = "闄勪欢淇℃伅")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
index fe584b5..a90b863 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -65,8 +65,8 @@
     @ExcelColumn(name="鍏ュ簱绫诲瀷",index = 7,width = 12,valueMapping = "0=鏁存墭鐩�;1=浠剁儫;")
     private Integer inType;
 
-    @ApiModelProperty(value = "鎬昏繍杈撻噺", example = "1")
-    @ExcelColumn(name="鎬昏繍杈撻噺",index = 2,width = 12)
+    @ApiModelProperty(value = "鎬讳綔涓氶噺(涓囨敮)", example = "1")
+    @ExcelColumn(name="鎬讳綔涓氶噺(涓囨敮)",index = 2,width = 12)
     private BigDecimal totalNum;
 
     @ApiModelProperty(value = "鍓嶈溅鐗屽彿")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
index bccfb6e..4f9b1e8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
@@ -22,22 +22,22 @@
 public class PlatformWaterGasForExcelVO {
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = -1)
+    @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = 20)
     private Date editDate;
 
     @ApiModelProperty(value = "鏃堕棿锛堝勾鏈堬級")
-    @ExcelColumn(name="浣跨敤鏈堜唤",index = 2,dateFormat="yyyy-MM")
+    @ExcelColumn(name="浣跨敤鏈堜唤",index = 2,dateFormat="yyyy-MM",width = 10)
     private Date timeInfo;
 
     @ApiModelProperty(value = "绫诲瀷 0鐢ㄦ按 1鐢ㄦ皵 2鐢ㄦ补", example = "1")
-    @ExcelColumn(name="绫诲瀷",valueMapping = "0=鐢ㄦ按;1=鐢ㄦ皵;2=鐢ㄦ补;",index = 0)
+    @ExcelColumn(name="绫诲瀷",valueMapping = "0=鐢ㄦ按;1=鐢ㄦ皵;2=鐢ㄦ补;",index = 0,width = 10)
     private Integer type;
 
     @ApiModelProperty(value = "鏁伴噺 (鐢ㄧ數椤匡紝鐢ㄧ數搴︼紱 娌硅�桳锛�", example = "1")
-    @ExcelColumn(name="鏁伴噺",index = 3)
+    @ExcelColumn(name="鏁伴噺",index = 3,width = 10)
     private BigDecimal num;
 
     @ApiModelProperty(value = "璇存槑")
-    @ExcelColumn(name="璇存槑",index = 4)
+    @ExcelColumn(name="璇存槑",index = 4,width = 20)
     private String content;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java
index e06bc95..e7f65f7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java
@@ -1,9 +1,11 @@
 package com.doumee.dao.web.response.platformReport;
 
+import com.doumee.core.haikang.model.param.respose.RegionDataRankingDataResponse;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * Created by IntelliJ IDEA.
@@ -28,4 +30,7 @@
     @ApiModelProperty(value = "鍚屾瘮鍊�" ,hidden = true)
     private BigDecimal sameNum;
 
+    @ApiModelProperty(value = "鍚勪釜鍖哄煙鐢ㄧ數淇℃伅")
+    private List<RegionDataRankingDataResponse> regionDataRankingDataList;
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 9f5485e..d8fce9b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -424,8 +424,6 @@
         return hiddenDangerMapper.selectCount(wrapper);
     }
 
-
-
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void dealHiddenDanger(HiddenDanger hiddenDanger){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 7c78a58..19ca4b2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -14,6 +14,7 @@
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKCarOpenService;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -39,7 +40,9 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
 
+import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -1421,7 +1424,6 @@
         }
         if(data == null){
             data = new RegionEnergyListResponse();
-            data.setSecondRegionDataList(new ArrayList<>());
             data.setRootValue("0");
             data.setSamePercent("0");
             data.setRingPercent("0");
@@ -1927,4 +1929,32 @@
         return  data;
     }
 
+    /**
+     * 鏌ヨ鑳借�楃敤鐢典俊鎭�  1=浠婃棩锛�2=鏈湀锛�3=鏄ㄦ棩
+     * @return
+     */
+    @Override
+    public List<RegionDataRankingDataResponse> getRegionDataRanking(Integer type){
+        RegionDataRankingDataRequest request = new RegionDataRankingDataRequest();
+        request.setMeterType(1);
+        if(Constants.equalsInteger(type,Constants.ONE)){
+            request.setDate(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"));
+            request.setPeriodType("day");
+        }else if(Constants.equalsInteger(type,Constants.TWO)){
+            request.setDate(DateUtil.getFomartDate(new Date(),"yyyy-MM"));
+            request.setPeriodType("month");
+        }else{
+            request.setDate(DateUtil.getBeforDay(new Date(),1));
+            request.setPeriodType("day");
+        }
+        BaseResponse<List<RegionDataRankingDataResponse>> response = HKService.regionDataRanking(request);
+        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){
+            return response.getData();
+        }else{
+            return null;
+        }
+    }
+
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index f0f2918..e49a6fc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -136,15 +136,20 @@
                 TMSContants.TopStatusLevel tem = TMSContants.TopStatusLevel.ddsc;
                 if(i == 0){
                     tem=TMSContants.TopStatusLevel.yrk;
-                } if(i == 1){
+                }
+                if(i == 1){
                     tem=TMSContants.TopStatusLevel.ydh;
-                } if(i == 2){
+                }
+                if(i == 2){
                     tem=TMSContants.TopStatusLevel.clysz;
-                } if(i == 4){
+                }
+                if(i == 4){
                     tem=TMSContants.TopStatusLevel.ckckz;
-                } if(i == 3){
+                }
+                if(i == 3){
                     tem=TMSContants.TopStatusLevel.ydpzz;
-                } if(i == 5){
+                }
+                if(i == 5){
                     tem=TMSContants.TopStatusLevel.ddsc;
                 }
                 t.setName(tem.getName());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
index c7f9572..927ec61 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -1,10 +1,8 @@
 package com.doumee.service.business.third;
 
 import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
-import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse;
-import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
-import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse;
-import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse;
+import com.doumee.core.haikang.model.param.request.RegionDataRankingTypeRequest;
+import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.dao.business.model.PlatformWarnEvent;
 import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
 import com.doumee.dao.web.response.platformReport.*;
@@ -92,4 +90,6 @@
     List<GeneralVO> todayTotalInList();
 
     List<CarsAlarmResultListResponse> carsEventList();
+
+    List<RegionDataRankingDataResponse> getRegionDataRanking(Integer type);
 }

--
Gitblit v1.9.3