wkyy 1 anno fa
parent
commit
28934b5978

+ 18 - 6
pages/equipmentDataMonitoring/dataMonitoring-list.vue

@@ -40,22 +40,28 @@
 					</view>
 					<!-- 状态 -->
 					<view class="state">
-						<view class="state1" v-if="item.deviceStatus == '1' && item.temperatureStatus == '1'">
+						<!-- <view class="state1" v-if="item.deviceStatus == '1'">
 							<view class="icon"></view>
 							<view class="text">
 								正常运行
 							</view>
 						</view>
-						<view class="state1" v-else-if="item.deviceStatus == '1' && item.temperatureStatus == '0'">
+						<view class="state1" v-else>
 							<view class="icon icon2"></view>
 							<view class="text">
-								温度异常
+								设备异常
+							</view>
+						</view> -->
+						<view class="state1" v-if="item.temperatureStatus == '1'">
+							<view class="icon"></view>
+							<view class="text">
+								温度正常
 							</view>
 						</view>
 						<view class="state1" v-else>
-							<view class="icon icon3"></view>
+							<view class="icon icon2"></view>
 							<view class="text">
-								设备离线
+								温度异常
 							</view>
 						</view>
 						<view class="state1" v-if="item.smokeStatus == '1'">
@@ -70,12 +76,18 @@
 								烟感异常
 							</view>
 						</view>
-						<view class="state1" >
+						<view class="state1" v-if="item.online">
 							<view class="icon icon4"></view>
 							<view class="text">
 								设备在线
 							</view>
 						</view>
+						<view class="state1" v-else>
+							<view class="icon icon3"></view>
+							<view class="text">
+								设备离线
+							</view>
+						</view>
 					</view>
 				</view>
 				<!-- 设备信息 -->

+ 383 - 257
pages/equipmentDataMonitoring/dataMonitoring-map.vue

@@ -12,50 +12,50 @@
 				<image class="img" src="@/assets/img/riLine-road-map-line.svg" mode=""></image>列表
 			</view>
 		</view>
-			
-			<view class="slot" slot="right">
-				<image class="img" src="@/assets/img/riLine-list-check-2.svg" mode=""></image>地图
-			
-			</view>
+
+		<view class="slot" slot="right">
+			<image class="img" src="@/assets/img/riLine-list-check-2.svg" mode=""></image>地图
+
+		</view>
 		</u-navbar>
-		<view class="dropdown"  >
-				<u-dropdown-change>
-					<u-dropdown-item v-model="value1" title="全部设备" :options="options1"></u-dropdown-item>
-					<u-dropdown-item v-model="value2" title="全部状态" :options="options2"></u-dropdown-item>
-				</u-dropdown-change>
+		<view class="dropdown">
+			<u-dropdown-change>
+				<u-dropdown-item v-model="companyId" :title="device" :options="selectDeviceList" @change="deviceChange"></u-dropdown-item>
+				<u-dropdown-item v-model="status" :title="state" :options="stateList" @change="stateChange"></u-dropdown-item>
+			</u-dropdown-change>
+		</view>
+		<!-- 地图 -->
+		<view class="map">
+			<MapEquipment @onMoveStart="moveStart" @onMoveEnd="moveEnd" ref="amap" @onClicked="onClicked" @onload="mapdown"
+				@clickMap="clickMap"></MapEquipment>
+
+			<!-- 				<image class="img" src="@/assets/img/map.png" mode=""></image -->
+			<!-- 标注1 -->
+			<view class="location1" v-if="false">
+				<image class="img" src="@/assets/img/antFill-alert Copy 1.svg" mode=""></image>
+				<view class="corner">
+
+				</view>
 			</view>
-			<!-- 地图 -->
-			<view class="map">
-				<MapEquipment  @onMoveStart="moveStart" @onMoveEnd="moveEnd" ref="amap" @onClicked="onClicked"
-					@onload="mapdown" @clickMap="clickMap"  ></MapEquipment>
-					
-<!-- 				<image class="img" src="@/assets/img/map.png" mode=""></image -->
-				<!-- 标注1 -->
-				<view class="location1" v-if="false" >
-					<image class="img" src="@/assets/img/antFill-alert Copy 1.svg" mode=""></image>
-					<view class="corner">
-						
-					</view>
+			<!-- 标注2 -->
+			<view class="location2" v-if="false">
+				<view class="icon2-left">
+					<image class="img1" src="@/assets/img/antFill-alert.svg" mode=""></image>
 				</view>
-				<!-- 标注2 -->
-				<view class="location2"  v-if="false">
-					<view class="icon2-left">
-						<image class="img1" src="@/assets/img/antFill-alert.svg" mode=""></image>
+				<view class="icon2-right">
+
+					<view class="corner2-top">
+						荆鹏软件园01
 					</view>
-					<view class="icon2-right">
-						
-						<view class="corner2-top">
-							荆鹏软件园01
-						</view>
-						<view class="corner2-bottom">
-							<image class="img2" src="@/assets/img/antFill-alert(2).svg"></image>正常
-						</view>
+					<view class="corner2-bottom">
+						<image class="img2" src="@/assets/img/antFill-alert(2).svg"></image>正常
 					</view>
-					<view class="corner2"></view>
 				</view>
-				<view class="card">
-					<view class="item">
-						<view class="title">
+				<view class="corner2"></view>
+			</view>
+			<view class="card">
+				<view class="item">
+					<view class="title">
 						<view class="icon-box">
 							<image class="img" src="@/assets/img/transformer1.svg" mode=""></image>
 						</view>
@@ -71,7 +71,7 @@
 						<view class="state">
 							<view class="state1">
 								<view class="icon icon2">
-									
+
 								</view>
 								<view class="text">
 									温度异常
@@ -79,100 +79,117 @@
 							</view>
 							<view class="state1">
 								<view class="icon">
-									
+
 								</view>
 								<view class="text">
 									烟感正常
 								</view>
 							</view>
 						</view>
+					</view>
+					<!-- 设备信息 -->
+					<view class="infos">
+						<view class="infos-item">
+							<view class="item-title">
+								当前电流:
+							</view>
+							<view class="item-value">
+								20A
+							</view>
 						</view>
-						<!-- 设备信息 -->
-						<view class="infos">
-							<view class="infos-item" >
-								<view class="item-title">
-									当前电流:
-								</view>
-								<view class="item-value">
-									20A
-								</view>
+						<view class="infos-item">
+							<view class="item-title">
+								当前电压:
 							</view>
-							<view class="infos-item" >
-								<view class="item-title">
-									当前电压:
-								</view>
-								<view class="item-value">
-									380V
-								</view>
+							<view class="item-value">
+								380V
 							</view>
-							<view class="infos-item" >
-								<view class="item-title">
-									当前温度:
-						
-								</view>
-								<view class="item-value">
-									80°C
-						
-								</view>
+						</view>
+						<view class="infos-item">
+							<view class="item-title">
+								当前温度:
+
 							</view>
-							<view class="infos-item" >
-								<view class="item-title">
-									当前功率:
-						
-							
-								</view>
-								<view class="item-value">
-									80kW
-							
-								</view>
+							<view class="item-value">
+								80°C
+
 							</view>
-							<view class="infos-item" >
-								<view class="item-title">
-									当前功率因数:
-						
-							
-							
-								</view>
-								<view class="item-value">
-									0.98
-							
-								</view>
+						</view>
+						<view class="infos-item">
+							<view class="item-title">
+								当前功率:
+
+
 							</view>
-							<view class="infos-item" >
-								<view class="item-title">
-									平均功率因数:
-						
-							
-							
-							
-								</view>
-								<view class="item-value">
-									0.97
-							
-								</view>
+							<view class="item-value">
+								80kW
+
+							</view>
+						</view>
+						<view class="infos-item">
+							<view class="item-title">
+								当前功率因数:
+
+
+
+							</view>
+							<view class="item-value">
+								0.98
+
+							</view>
+						</view>
+						<view class="infos-item">
+							<view class="item-title">
+								平均功率因数:
+
+
+
+
+							</view>
+							<view class="item-value">
+								0.97
+
 							</view>
 						</view>
 					</view>
 				</view>
 			</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import MapEquipment from '@/components/Map-equipment.vue';
-	
+	import * as API from '@/apis/pagejs/index.js'
+
 	export default {
 		components: {
 			MapEquipment,
-			
+
 		},
 		data() {
 			return {
-				latitude :"",
-				longitude :"",
-				
-				value1: 1,
-				value2: 1,
+				show2: false, // 状态选择
+				state: '全部状态',
+				stateList: [
+					{label: '全部状态', value: ''},
+					{label: '设备正常', value: '0'},
+					{label: '设备离线', value: '1'},
+					{label: '温度异常', value: '2'},
+					{label: '烟感异常', value: '3'},
+					{label: '设备异常', value: '4'}
+				],
+				show1: false, // 设备选择
+				device: '全部设备',
+				selectDeviceList: [],
+				deviceList: [],
+				pageIndex: 1,
+				companyId: '',
+				status: '',
+				latitude: "",
+				longitude: "",
+				value1: '',
+				value2: '',
 				options1: [{
 						label: '荆鹏集团',
 						value: 1,
@@ -185,7 +202,7 @@
 						label: '荆州院子',
 						value: 3,
 					},
-					
+
 				],
 				options2: [{
 						label: '设备离线',
@@ -206,26 +223,114 @@
 				],
 			}
 		},
-		onReady(){
+		onReady() {
 			this.$refs.amap.init();
+			this.getList();
+			this.getAlarmConfiguration();
+		},
+		watch: {
+			companyId(newval) {
+				for (var i = 0; i < this.selectDeviceList.length; i++) {
+					if(this.selectDeviceList[i].value == this.companyId) {
+						this.device = this.selectDeviceList[i].label
+					}
+				}
+			},
+			status(newval) {
+				for (var i = 0; i < this.stateList.length; i++) {
+					if(this.stateList[i].value == this.status) {
+						this.state = this.stateList[i].label
+					}
+				}
+			}
 		},
 		methods: {
+			// 状态查询
+			stateChange(e) {
+				this.getList();
+			},
+			// 设备查询
+			deviceChange(e) {
+				this.getList();
+			},
+			// 异常查询条件
+			getAlarmConfiguration() {
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.alarmConfiguration().then((response) => {
+					uni.hideLoading();
+					var list2 = [];
+					
+					if(response.data.companyInfoList && response.data.companyInfoList.length != 0) {
+						list2 = response.data.companyInfoList.map(item => {
+							return {
+								label: item.name,
+								value: item.id
+							}
+						});
+					}
+					list2.unshift({
+						value: '',
+						label: '全部设备'
+					});
+					
+					this.selectDeviceList = list2;
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
+			//设备list
+			getList(bl) {
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				// if (bl) {
+				// 	this.deviceList = [];
+				// 	this.pageIndex = 1;
+				// }
+				var data = {
+					pageIndex: this.pageIndex,
+					pageSize: 1000,
+					companyId: this.companyId,
+					status: this.status
+				};
+				API.homePageDeviceData(data).then((res) => {
+					uni.hideLoading()
+					// this.deviceList = [
+					// 	...this.deviceList,
+					// 	...res.data.data
+					// ];
+					// this.recordsTotal = res.data.recordsTotal;
+					this.deviceList = res.data.data;
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
 			toDataMonitoringList() {
 				uni.navigateBack()
 			},
 			clickMap(obj) {
 				//this.show = false;
-			
+
 				if (obj == null || obj.type == null) return;
 				if (obj.type == 'charger') {
 					if (obj.obj != null) {
-			
+
 						//let index = this.stationsmap.findIndex(item => item.id == obj.obj.id);
 						//this.currentIndex = index;
 						//('find Index'+index);
 						this.$refs.amap.updateIcon(obj.obj);
 					}
-			
+
 				}
 			},
 			mapdown() {
@@ -234,45 +339,44 @@
 				//let state = {};
 				uni.getSystemInfo({
 					success: (res) => {
-			
+
 						let scrollH = res.windowHeight; // - uni.upx2px(88) - navbarH
 						let scrollW = res.windowWidth;
 						this.$refs.amap.setMyStyle("height:" + (scrollH - 88 - 50) + "px;width:" + scrollW +
 							"px;");
-							
-						this.$refs.amap.setList([
-							{
-								name:"amap1",
-								status:1,
-							longitude: 112.276527,
-							latitude: 30.306427,
+
+						this.$refs.amap.setList([{
+								name: "amap1",
+								status: 1,
+								longitude: 112.276527,
+								latitude: 30.306427,
 							},
 							{
-									name:"amap2",
-								status:1,
+								name: "amap2",
+								status: 1,
 								longitude: 112.276663,
 								latitude: 30.307215,
 							}
-							
+
 						])
 					}
 				})
-			
+
 			},
 			moveEnd(e) {
 				//('moveEnd')
 				//this.close_all();
 				let posCenter = this.$refs.amap.logMapInfo();
 				////('posCenter'+JSON.stringify(posCenter))		
-			
-			
-			
+
+
+
 				if (this.latitude == e.center.lat && this.longitude == e.center.lng) {
 					return
 				}
 				this.latitude = e.center.lat
 				this.longitude = e.center.lng
-				
+
 			},
 			moveStart(e) {
 				//this.close_all();
@@ -286,205 +390,227 @@
 </script>
 
 <style lang="scss" scoped>
-	
-	
-	.slot{
+	.slot {
 		display: flex;
 		align-items: center;
-		
-		.img{
+
+		.img {
 			width: 32rpx;
 			height: 32rpx;
 			margin-right: 4rpx;
 		}
 	}
-	
-	// .dropdown{
-	// 	background-color: #fff;
-		
-	// 	 position: sticky;
-	// 	  top: 0;
-	// 	z-index: 999;
-	// }
+
+	.dropdown{
+		background-color: #fff;
+
+		//  position: sticky;
+		//   top: 0;
+		// z-index: 999;
+	}
 	// 地图
-	.map{
+	.map {
 		position: relative;
-		.img{
+
+		.img {
 			width: 100%;
 			height: 100vh;
 		}
+
 		/deep/.location1 {
-					width: 36px;
-					height: 36px;
-					
-					text-align: center;
-					border: 2px solid #FF3D00;
-					border-radius: 999px;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					//position: relative;
-					    background: white;
-					
-					.img{
-						width: 40rpx;
-						height: 40rpx;
-					}
-					.corner {
-						width: 0;
-						height: 0;
-						position: absolute;
-						top: 78rpx;
-						left: 0;
-						right: 0;
-						margin: auto;
-						border-bottom: 8rpx solid transparent;
-						border-left: 8rpx solid transparent;
-						border-right: 8rpx solid transparent;
-						border-top: 12rpx solid #FF3D00;
-					}
+			width: 36px;
+			height: 36px;
+
+			text-align: center;
+			border: 2px solid #FF3D00;
+			border-radius: 999px;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			//position: relative;
+			background: white;
+
+			.img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.corner {
+				width: 0;
+				height: 0;
+				position: absolute;
+				top: 78rpx;
+				left: 0;
+				right: 0;
+				margin: auto;
+				border-bottom: 8rpx solid transparent;
+				border-left: 8rpx solid transparent;
+				border-right: 8rpx solid transparent;
+				border-top: 12rpx solid #FF3D00;
+			}
+		}
+
+		/deep/.location2 {
+			width: 280rpx;
+			border-radius: 50px;
+			background-color: #27B148;
+			display: flex;
+			// position: absolute;
+			// top: 370rpx;
+			// left: 280rpx;
+
+			.icon2-left {
+				width: 72rpx;
+				height: 72rpx;
+				line-height: 72rpx;
+				text-align: center;
+				border: 1px solid rgba(0, 185, 98, 100);
+				border-radius: 999px;
+				background-color: #fff;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.img1 {
+					width: 40rpx;
+					height: 40rpx;
 				}
-				/deep/.location2 {
-					width: 280rpx;
-					border-radius: 50px;
-					background-color: #27B148;
-					display: flex;
-					// position: absolute;
-					// top: 370rpx;
-					// left: 280rpx;
-				
-					.icon2-left {
-						width: 72rpx;
-						height: 72rpx;
-						line-height: 72rpx;
-						text-align: center;
-						border: 1px solid rgba(0, 185, 98, 100);
-						border-radius: 999px;
-						background-color: #fff;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						.img1{
-							width: 40rpx;
-							height: 40rpx;
-						}
-					}
-				
-					.icon2-right {
-						color: #ffffff;
-						line-height: 36rpx;
-						padding-left: 8rpx;
-						font-size: 28rpx;
-						.corner2-top{
-							font-weight: bold;
-							    white-space: nowrap;
-							    overflow: hidden;
-							    width: 200rpx;
-							    text-overflow: ellipsis;
-						}
-						.corner2-bottom{
-							font-size: 24rpx;
-							.img2{
-								width: 24rpx;
-								height: 24rpx;
-							}
-						}
-					}
-					.corner2 {
-						width: 0;
-						height: 0;
-						position: absolute;
-						top: 72rpx;
-						left: 0;
-						right: 0;
-						margin: auto;
-						border-bottom: 6px solid transparent;
-						border-left: 6px solid transparent;
-						border-right: 6px solid transparent;
-						border-top: 8px solid #27B148;
-					
+			}
+
+			.icon2-right {
+				color: #ffffff;
+				line-height: 36rpx;
+				padding-left: 8rpx;
+				font-size: 28rpx;
+
+				.corner2-top {
+					font-weight: bold;
+					white-space: nowrap;
+					overflow: hidden;
+					width: 200rpx;
+					text-overflow: ellipsis;
+				}
+
+				.corner2-bottom {
+					font-size: 24rpx;
+
+					.img2 {
+						width: 24rpx;
+						height: 24rpx;
 					}
 				}
+			}
+
+			.corner2 {
+				width: 0;
+				height: 0;
+				position: absolute;
+				top: 72rpx;
+				left: 0;
+				right: 0;
+				margin: auto;
+				border-bottom: 6px solid transparent;
+				border-left: 6px solid transparent;
+				border-right: 6px solid transparent;
+				border-top: 8px solid #27B148;
+
+			}
+		}
+
 		// 卡片
-		.card{
+		.card {
 			border-radius: 8px;
-			border: 1px solid rgba(232,232,232,1);
-			box-shadow: 0px 2px 6px 0px rgba(0,0,0,0.4);
-			background-color: rgba(255,255,255,1);
+			border: 1px solid rgba(232, 232, 232, 1);
+			box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
+			background-color: rgba(255, 255, 255, 1);
 			position: fixed;
 			left: 24rpx;
 			right: 24rpx;
 			bottom: 32rpx;
-			.item{
-				border-bottom: 1px solid rgba(245,245,245,1);
-				padding: 32rpx 16rpx  16rpx 16rpx;
-				.title{
+
+			.item {
+				border-bottom: 1px solid rgba(245, 245, 245, 1);
+				padding: 32rpx 16rpx 16rpx 16rpx;
+
+				.title {
 					display: flex;
 					align-items: flex-start;
-					.icon-box{
+
+					.icon-box {
 						width: 72rpx;
 						height: 72rpx;
 						border-radius: 4px;
 						display: flex;
 						align-items: center;
 						justify-content: center;
-						background-color: rgba(219,234,255,1);
-						.img{
+						background-color: rgba(219, 234, 255, 1);
+
+						.img {
 							width: 48rpx;
 							height: 48rpx;
 						}
 					}
-					.equipment{
+
+					.equipment {
 						margin-left: 16rpx;
-						.name1{
-							color: rgba(51,51,51,1);
+
+						.name1 {
+							color: rgba(51, 51, 51, 1);
 						}
-						.name2{
-							color: rgba(119,119,119,1);
+
+						.name2 {
+							color: rgba(119, 119, 119, 1);
 							font-size: 24rpx;
 							margin-top: 4rpx;
 						}
 					}
+
 					// 状态
-					.state{
+					.state {
 						display: flex;
 						align-items: center;
 						margin-left: auto;
-						.state1{
+
+						.state1 {
 							display: flex;
 							align-items: center;
 							margin-left: 24rpx;
-							.icon{
+
+							.icon {
 								width: 16rpx;
 								height: 16rpx;
 								border-radius: 99px;
-								background-color: rgba(22,119,255,1);
+								background-color: rgba(22, 119, 255, 1);
 								margin-right: 8rpx;
 							}
-							.icon2{
-								background-color:#FF4F3F;
+
+							.icon2 {
+								background-color: #FF4F3F;
 							}
 						}
 					}
 				}
+
 				// 设备信息
-				.infos{
+				.infos {
 					margin-top: 32rpx;
 					display: flex;
 					align-items: center;
 					justify-content: space-between;
 					flex-wrap: wrap;
 					font-size: 24rpx;
-					.infos-item{
-						
+
+					.infos-item {
+
 						display: flex;
 						margin-bottom: 16rpx;
-						.warning{
-							color: rgba(255,61,0,1);
+
+						.warning {
+							color: rgba(255, 61, 0, 1);
 						}
 					}
 				}
 			}
 		}
 	}
-</style>
+</style>

+ 4 - 4
pages/equipmentDataMonitoring/electronicMonitoring.vue

@@ -643,7 +643,7 @@
 					this.tabsFrom.selector1 = list.map(item => {
 						if (item.remoteReadingMeterList.length != 0 && item.remoteMonitorMeterList.length != 0) {
 							return {
-								label: item.fullName,
+								label: item.name,
 								value: item.id,
 								children: [{
 										label: '抄表',
@@ -669,7 +669,7 @@
 							}
 						} else if (item.remoteReadingMeterList.length != 0 && item.remoteMonitorMeterList.length == 0) {
 							return {
-								label: item.fullName,
+								label: item.name,
 								value: item.id,
 								children: [{
 									label: '抄表',
@@ -684,7 +684,7 @@
 							}
 						} else if (item.remoteReadingMeterList.length == 0 && item.remoteMonitorMeterList.length != 0) {
 							return {
-								label: item.fullName,
+								label: item.name,
 								value: item.id,
 								children: [{
 									label: '监控表',
@@ -845,7 +845,7 @@
 								text += `<p>电价:${obj.electricityPrice}元/度</p>`
 							}
 							if (obj.kwh != undefined) {
-								text += `电量:${obj.kwh}度`
+								text += `电量:${obj.kwh}度`
 							}
 							if (obj.amount != undefined) {
 								text += ` <p>电费:${obj.amount}元</p>`

+ 3 - 3
pages/equipmentDataMonitoring/equipmentElectricity.vue

@@ -164,9 +164,9 @@
 					this.companyList = response.data.companyInfoList;
 					var list = response.data.companyInfoList;
 					
-					for (var i = 0; i < list.length; i++) {
-						list[i].name = list[i].fullName;
-					}
+					// for (var i = 0; i < list.length; i++) {
+					// 	list[i].name = list[i].fullName;
+					// }
 					if (list.length > 3) {
 						this.merchantList1.push(list.slice(0, 3));
 						this.merchantList2.push(list.slice(3));

+ 3 - 3
pages/statistics/statistics.vue

@@ -502,9 +502,9 @@
 					this.companyList = response.data.companyInfoList;
 					var list = response.data.companyInfoList;
 					
-					for (var i = 0; i < list.length; i++) {
-						list[i].name = list[i].fullName;
-					}
+					// for (var i = 0; i < list.length; i++) {
+					// 	list[i].name = list[i].fullName;
+					// }
 					if (list.length > 3) {
 						this.merchantList1.push(list.slice(0, 3));
 						this.merchantList2.push(list.slice(3));

+ 2 - 1
pages/workOrderManagement/workOrderManagement.vue

@@ -102,7 +102,8 @@
 					<view class="btn">
 						<button class="close" @click="closePopupShow(item)" v-if="item.status == 'created'">关闭</button>
 						<button class="reminder" @click="reminderShow=true" v-if="item.status == 'created'">催单</button>
-						<button class="resolved" v-if="item.status == 'dispatched'">确认解决</button>
+						<button class="resolved" v-if="item.status == 'dispatched'"
+							@click="gotoUrl('/pages/workOrderManagement/workOrderDetails?id='+item.id)">确认解决</button>
 						<button class="view" v-if="item.status == 'ended' || item.status == 'closed'"
 							@click="gotoUrl('/pages/workOrderManagement/workOrderDetails?id='+item.id)">查看详情</button>
 					</view>

+ 24 - 1
pages/workOrderManagement/workOrderStatistics.vue

@@ -11,6 +11,11 @@
 				</view>
 			</view>
 			
+			<!-- 日期范围 -->
+			<view class="example-body" v-if="show">
+				<uni-datetime-picker v-model="range" type="daterange" @maskClick="maskClick" @change="dateChange" />
+			</view>
+			
 			<!-- 数据统计 -->
 			<view class="data-statistics">
 				<view class="title">
@@ -128,6 +133,7 @@
 	export default {
 		data() {
 			return {
+				range: [],
 				createdPercent: 0,
 				dispatchedPercent: 0,
 				endedPercent: 0,
@@ -177,7 +183,23 @@
 		onReady() {
 			this.getBarCharts();
 		},
+		watch: {
+			range(newval) {
+				// console.log('范围选:', this.range);
+			}
+		},
 		methods: {
+			dateChange(e) {
+				// console.log(e);
+				if(e.length != 0) {
+					this.workForm.startDate = e[0];
+					this.workForm.endDate = e[1];
+					this.getRptByStatus();
+				}
+			},
+			maskClick(e){
+				// console.log('maskClick事件:', e);
+			},
 			getRptByStatus() {
 				this.createdNum = 0;
 				this.dispatchedNum = 0;
@@ -234,6 +256,8 @@
 			tabsClick(item,index) {
 				this.tabsIndex = index;
 				if(index != 3) {
+					this.show = false;
+					
 					if(index == 0) {
 						this.workForm.startDate = this.today;
 						this.workForm.endDate = this.today;
@@ -244,7 +268,6 @@
 						this.workForm.startDate = this.monthStart;
 						this.workForm.endDate = this.monthEnd;
 					}
-					
 					this.getRptByStatus();
 				} else {
 					this.show = true;