482 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			482 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | ||
| 	<view class="page">
 | ||
| 		<u-navbar :is-back="false"  title="首页" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
 | ||
| 			height='36'
 | ||
| 			id="navbar">
 | ||
| 		</u-navbar>
 | ||
| 		<view class="zhuhu" v-if="false">
 | ||
| 			<view class="card1">
 | ||
| 				<view class="top">
 | ||
| 					<view class="left">
 | ||
| 						设备
 | ||
| 					</view>
 | ||
| 					<view class="right">
 | ||
| 						<image class="img1" src="@/static/off.png" mode="" style="margin-right: 30rpx;"></image>
 | ||
| 						<image class="img1" src="@/static/share.png" mode=""></image>
 | ||
| 					</view>
 | ||
| 				</view>
 | ||
| 				<view class="mid">
 | ||
| 					<view class="mid_left">
 | ||
| 						<image src="../../static/db.png" mode=""></image>
 | ||
| 					</view>
 | ||
| 					<view class="mid_right">
 | ||
| 						<view class="mid_top">
 | ||
| 							2501号
 | ||
| 						</view>
 | ||
| 						<view class="mid_bot">
 | ||
| 							<view class="txt">电表号:32562365BD253</view>
 | ||
| 							<div class="tip">在线</div>
 | ||
| 						</view>
 | ||
| 					</view>
 | ||
| 				</view>
 | ||
| 				<view class="bot">
 | ||
| 					<view class="bot_left">
 | ||
| 						<view class="echarts">
 | ||
| 							
 | ||
| 							<!-- <mpvue-echarts id="main" ref="pieChart" :echarts="echarts" @onInit="initChart" /> -->
 | ||
| 							<l-echart ref="chart" @finished="initChart"></l-echart>
 | ||
| 						</view>
 | ||
| 					</view>
 | ||
| 					<view class="bot_right">
 | ||
| 						<view class="cont">
 | ||
| 							<view class="tit">
 | ||
| 								150KWH
 | ||
| 							</view>
 | ||
| 							<view class="txt">
 | ||
| 								总电量
 | ||
| 							</view>
 | ||
| 						</view>
 | ||
| 						<view class="cont" style="margin-left: 60rpx;">
 | ||
| 							<view class="tit">
 | ||
| 								0.5元/度
 | ||
| 							</view>
 | ||
| 							<view class="txt">
 | ||
| 								电价
 | ||
| 							</view>
 | ||
| 						</view>
 | ||
| 					</view>
 | ||
| 				</view>
 | ||
| 			</view>
 | ||
| 			<view class="card2">
 | ||
| 				<view class="tit">实时</view>
 | ||
| 				<view class="cont_box">
 | ||
| 					<view class="cont">
 | ||
| 						<view class="top">1.5KW</view>
 | ||
| 						<view class="bot">实时功率</view>
 | ||
| 					</view>
 | ||
| 					<view class="cont" style="width: 70rpx;">
 | ||
| 						<view class="top">43A</view>
 | ||
| 						<view class="bot">电流</view>
 | ||
| 					</view>
 | ||
| 					<view class="cont">
 | ||
| 						<view class="top">220V</view>
 | ||
| 						<view class="bot">电压</view>
 | ||
| 					</view>
 | ||
| 					
 | ||
| 				</view>
 | ||
| 			</view>
 | ||
| 			<view class="card3">
 | ||
| 				<view class="tit">其他</view>
 | ||
| 				<view class="cont_box">
 | ||
| 					<view class="cont">
 | ||
| 						<view class="top">
 | ||
| 							<image src="@/static/sz.png" mode=""></image>
 | ||
| 						</view>
 | ||
| 						<view class="bot">其他设置</view>
 | ||
| 					</view>
 | ||
| 					<view class="cont" style="width: 58rpx;">
 | ||
| 						<view class="top">
 | ||
| 							<image src="@/static/yc.png" mode="" style="width: 58rpx;height: 60rpx;"></image>
 | ||
| 						</view>
 | ||
| 						<view class="bot">异常</view>
 | ||
| 					</view>
 | ||
| 					<view class="cont">
 | ||
| 						<view class="top">
 | ||
| 							<image src="@/static/fx.png" mode=""></image>
 | ||
| 						</view>
 | ||
| 						<view class="bot">用电分析</view>
 | ||
| 					</view>
 | ||
| 					
 | ||
| 				</view>
 | ||
| 			</view>
 | ||
| 			<view class="button">电费充值</view>
 | ||
| 			<view class="zhanwei" style="width: 100%;height: 300rpx;">
 | ||
| 				
 | ||
| 			</view>
 | ||
| 		</view>
 | ||
| 		<view class="fd">
 | ||
| 			
 | ||
| 		</view>
 | ||
| 		<tab-bar :indexs='0'></tab-bar>
 | ||
| 	</view>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| 	import * as echarts from 'echarts'
 | ||
| 	import LEchart from '@/uni_modules/lime-echart/components/l-echart/l-echart.vue';
 | ||
| 	export default {
 | ||
| 		data() {
 | ||
| 			return {
 | ||
| 				bgc: {
 | ||
| 					backgroundColor: "#F7FAFE",
 | ||
| 				},
 | ||
| 			}
 | ||
| 		},
 | ||
| 		methods: {
 | ||
| 			async initChart() {
 | ||
| 		let value = 100;
 | ||
| 		let value2=552.03
 | ||
| 		const option = {
 | ||
| 		    // backgroundColor:"#061740",
 | ||
| 		    title: {
 | ||
| 		        show: false,
 | ||
| 		        text: `历史请求满意度`,  // 图表标题
 | ||
| 		        x: 'center',
 | ||
| 		        y: '20',
 | ||
| 		        textStyle: {
 | ||
| 		            color: '#333', //'#fff',
 | ||
| 		            fontSize: 20,
 | ||
| 		        },
 | ||
| 		    },
 | ||
| 		    series: [
 | ||
| 		        {
 | ||
| 		            type: 'pie',  // 饼图类型
 | ||
| 		            radius: ['98%', '70%'],  // 饼图半径,第一个值是内半径,第二个值是外半径
 | ||
| 		            silent: true,
 | ||
| 		            clockwise: true,
 | ||
| 		            startAngle: 90,  // 起始角度
 | ||
| 		            z: 0,
 | ||
| 		            zlevel: 0,
 | ||
| 		
 | ||
| 		            data: [
 | ||
| 		                {
 | ||
| 		                    value: value,
 | ||
| 		                    name: '占比',  // 数据项名称
 | ||
| 		                    itemStyle: {
 | ||
| 		                        normal: {
 | ||
| 		                            color: '#8883F0',  // 数据项颜色
 | ||
| 		                        },
 | ||
| 		                    },
 | ||
| 		                    label: {
 | ||
| 		                        normal: {
 | ||
| 		                            position: 'center',
 | ||
| 		                            formatter: ` {a|${value2}}\n\n{b|剩余电量}`,  // 标签内容格式
 | ||
| 		                            rich: {
 | ||
| 		                                a: {
 | ||
| 		                                    fontSize: 15,
 | ||
| 		                                    fontWeight: '700',
 | ||
| 		                                    color: '#333',
 | ||
| 		                                },
 | ||
| 		                                b: {
 | ||
| 		                                    fontSize: 11,
 | ||
| 		                                    color: '#888',
 | ||
| 		                                },
 | ||
| 		                            },
 | ||
| 		                        },
 | ||
| 		                    },
 | ||
| 		                },
 | ||
| 		                {
 | ||
| 		                    value: 100 - value,
 | ||
| 		                    name: '',
 | ||
| 		                    label: {
 | ||
| 		                        normal: {
 | ||
| 		                            show: false,
 | ||
| 		                        },
 | ||
| 		                    },
 | ||
| 		                    itemStyle: {
 | ||
| 		                        normal: {
 | ||
| 		                            color: '#173164',
 | ||
| 		                        },
 | ||
| 		                    },
 | ||
| 		                },
 | ||
| 		            ],
 | ||
| 		        },
 | ||
| 		        {
 | ||
| 		            type: 'gauge',  // 仪表盘类型
 | ||
| 		            radius: '130%',  // 仪表盘半径,占图表容器的百分比
 | ||
| 		            center: ['50%', '50%'],  // 仪表盘中心位置
 | ||
| 		            startAngle: 359,
 | ||
| 		            endAngle: 359.9,
 | ||
| 		            splitNumber: 2,  // 刻度分割段数
 | ||
| 		            hoverAnimation: true,
 | ||
| 		            axisTick: {
 | ||
| 		                show: true,  // 是否显示刻度线
 | ||
| 		                length: 10,  // 刻度线长度
 | ||
| 		                lineStyle: {
 | ||
| 		                    color: 'auto',
 | ||
| 		                    width: 1,
 | ||
| 		                },
 | ||
| 		            },
 | ||
| 		            splitLine: {
 | ||
| 		                length: 0,  // 刻度线分隔线长度
 | ||
| 		                lineStyle: {
 | ||
| 		                    width: 1,
 | ||
| 		                    color: '#061740',
 | ||
| 		                },
 | ||
| 		            },
 | ||
| 		            axisLabel: {
 | ||
| 		                show: false,  // 是否显示刻度标签
 | ||
| 		            },
 | ||
| 		            pointer: {
 | ||
| 		                show: false,  // 是否显示指针
 | ||
| 		            },
 | ||
| 		            axisLine: {
 | ||
| 		                lineStyle: {
 | ||
| 		                    opacity: 0,
 | ||
| 		                },
 | ||
| 		            },
 | ||
| 		            detail: {
 | ||
| 		                show: false,  // 是否显示仪表盘详情
 | ||
| 		            },
 | ||
| 		            data: [
 | ||
| 		                {
 | ||
| 		                    value: 0,
 | ||
| 		                    name: '',
 | ||
| 		                },
 | ||
| 		            ],
 | ||
| 		        },
 | ||
| 		    ],
 | ||
| 		};
 | ||
| 
 | ||
| 				// console.log( this.$refs.chartRef,'1111');
 | ||
| 				const chart = await this.$refs.chart.init(echarts);
 | ||
| 				console.log(option);
 | ||
| 				chart.setOption(option)
 | ||
| 				// chart.resize({
 | ||
| 				//     width: uni.upx2px(210),  // Convert 210rpx to pixels
 | ||
| 				//     height: uni.upx2px(190.14)  // Convert 190.14rpx to pixels
 | ||
| 				// });
 | ||
| 				return chart
 | ||
| 			},
 | ||
| 		
 | ||
| 		}
 | ||
| 	}
 | ||
| </script>
 | ||
| 
 | ||
| <style lang="scss">
 | ||
| page{
 | ||
| 	background-color: F7FAFE;
 | ||
| }
 | ||
| .page{
 | ||
| 	.zhuhu{
 | ||
| 		margin-top: 20rpx;
 | ||
| 		padding: 0 40rpx;
 | ||
| 		.card1{
 | ||
| 			padding: 34rpx 0 0 40rpx;
 | ||
| 			width: 670rpx;
 | ||
| 			height: 583rpx;
 | ||
| 			background: #FFFFFF;
 | ||
| 			box-shadow: 0rpx 14rpx 35rpx 0rpx rgba(53,140,255,0.1);
 | ||
| 			border-radius: 28rpx 28rpx 28rpx 28rpx;
 | ||
| 			.top{
 | ||
| 				display: flex;
 | ||
| 				flex-wrap: nowrap;
 | ||
| 				justify-content: space-between;
 | ||
| 				align-items: center;
 | ||
| 				.left{
 | ||
| 					font-size: 35rpx;
 | ||
| 					font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 					font-weight: 400;
 | ||
| 					color: #8883F0;
 | ||
| 				}
 | ||
| 				.right{
 | ||
| 					margin-right: 56rpx;
 | ||
| 					.img1{
 | ||
| 						width: 76rpx;
 | ||
| 						height: 76rpx;
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 			.mid{
 | ||
| 				margin-top: 54rpx;
 | ||
| 				display: flex;
 | ||
| 				flex-wrap: nowrap;
 | ||
| 				align-content: flex-start;
 | ||
| 				.mid_left{
 | ||
| 					image{
 | ||
| 						width: 37rpx;
 | ||
| 						height: 98rpx;
 | ||
| 					}
 | ||
| 				}
 | ||
| 				.mid_right{
 | ||
| 					margin-left: 40rpx;
 | ||
| 					display: flex;
 | ||
| 					flex-wrap: wrap;
 | ||
| 					.mid_top{
 | ||
| 						width: 100%;
 | ||
| 						font-size: 42rpx;
 | ||
| 						font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 						font-weight: 400;
 | ||
| 						color: #262B37;
 | ||
| 					}
 | ||
| 					.mid_bot{
 | ||
| 						display: flex;
 | ||
| 						flex-wrap: nowrap;
 | ||
| 						align-items: center;
 | ||
| 						.txt{
 | ||
| 							font-size: 24rpx;
 | ||
| 							font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 							font-weight: 400;
 | ||
| 							color: #95989D;
 | ||
| 						}
 | ||
| 						.tip{
 | ||
| 							display: flex;
 | ||
| 							align-items: center;
 | ||
| 							justify-content: center;
 | ||
| 							margin-left: 19rpx;
 | ||
| 							width: 38rpx;
 | ||
| 							height: 23rpx;
 | ||
| 							background: rgba(204,204,204,0);
 | ||
| 							opacity: 1;
 | ||
| 							border: 2rpx solid #8883F0;
 | ||
| 							border-radius: 40rpx;
 | ||
| 							font-size: 14rpx;
 | ||
| 							font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 							font-weight: 400;
 | ||
| 							color: #8883F0;
 | ||
| 						}
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 			.bot{
 | ||
| 				margin-top: 83rpx;
 | ||
| 				display: flex;
 | ||
| 				flex-wrap: nowrap;
 | ||
| 				align-items: center;
 | ||
| 				.bot_left{
 | ||
| 					width: 210rpx;
 | ||
| 					height: 190.14rpx;
 | ||
| 					.echarts{
 | ||
| 						width: 210rpx;
 | ||
| 						height: 190.14rpx;
 | ||
| 					}
 | ||
| 				}
 | ||
| 				.bot_right{
 | ||
| 					// margin-top: 50rpx;
 | ||
| 					display: flex;
 | ||
| 					flex-wrap: nowrap;
 | ||
| 					.cont{
 | ||
| 						.tit{
 | ||
| 							font-size: 28rpx;
 | ||
| 							font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 							font-weight: 600;
 | ||
| 							color: #262B37;
 | ||
| 							line-height: 49rpx;
 | ||
| 						}
 | ||
| 						.txt{
 | ||
| 							font-size: 24rpx;
 | ||
| 							font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 							font-weight: 400;
 | ||
| 							color: #262B37;
 | ||
| 						}
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 		.card2{
 | ||
| 			padding-top: 40rpx;
 | ||
| 			margin-top: 24rpx;
 | ||
| 			width: 670rpx;
 | ||
| 			height: 254rpx;
 | ||
| 			background: #FFFFFF;
 | ||
| 			box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(53,140,255,0.1);
 | ||
| 			border-radius: 28rpx;
 | ||
| 			.tit{
 | ||
| 				margin-left: 40rpx;
 | ||
| 				
 | ||
| 				font-size: 35rpx;
 | ||
| 				font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 				font-weight: 400;
 | ||
| 				color: #8883F0;
 | ||
| 			}
 | ||
| 			.cont_box{
 | ||
| 				margin-top: 32rpx;
 | ||
| 				display: flex;
 | ||
| 				flex-wrap: nowrap;
 | ||
| 				justify-content: space-around;
 | ||
| 				.cont{
 | ||
| 					width: 110rpx;
 | ||
| 					display: flex;
 | ||
| 					flex-wrap: wrap;
 | ||
| 					align-items: center;
 | ||
| 					justify-content: center;
 | ||
| 					.top{
 | ||
| 						font-size: 32rpx;
 | ||
| 						font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 						font-weight: 400;
 | ||
| 						color: #262B37;
 | ||
| 					}
 | ||
| 					.bot{
 | ||
| 						margin-top: 20rpx;
 | ||
| 						font-size: 24rpx;
 | ||
| 						font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 						font-weight: 400;
 | ||
| 						color: #262B37;
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 		.card3{
 | ||
| 			padding-top: 40rpx;
 | ||
| 			margin-top: 24rpx;
 | ||
| 			width: 670rpx;
 | ||
| 			height: 318rpx;
 | ||
| 			background: #FFFFFF;
 | ||
| 			box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(53,140,255,0.1);
 | ||
| 			border-radius: 28rpx;
 | ||
| 			.tit{
 | ||
| 				margin-left: 40rpx;
 | ||
| 				
 | ||
| 				font-size: 35rpx;
 | ||
| 				font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 				font-weight: 400;
 | ||
| 				color: #8883F0;
 | ||
| 			}
 | ||
| 			.cont_box{
 | ||
| 				margin-top: 32rpx;
 | ||
| 				display: flex;
 | ||
| 				flex-wrap: nowrap;
 | ||
| 				justify-content: space-around;
 | ||
| 				.cont{
 | ||
| 					width: 112rpx;
 | ||
| 					display: flex;
 | ||
| 					flex-wrap: wrap;
 | ||
| 					align-items: center;
 | ||
| 					justify-content: center;
 | ||
| 					.top{
 | ||
| 						image{
 | ||
| 							width: 56rpx;
 | ||
| 							height: 56rpx;
 | ||
| 						}
 | ||
| 					}
 | ||
| 					.bot{
 | ||
| 						margin-top: 28rpx;
 | ||
| 						font-size: 28rpx;
 | ||
| 						font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 						font-weight: 400;
 | ||
| 						color: #808080;
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 		.button{
 | ||
| 			margin-left: 76rpx;
 | ||
| 			margin-top: 178rpx;
 | ||
| 			display: flex;
 | ||
| 			justify-content: center;
 | ||
| 			align-items: center;
 | ||
| 			width: 520rpx;
 | ||
| 			height: 104rpx;
 | ||
| 			background: #8883F0;
 | ||
| 			box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42,130,228,0.1);
 | ||
| 			border-radius: 52rpx 52rpx 52rpx 52rpx;
 | ||
| 			
 | ||
| 			font-size: 32rpx;
 | ||
| 			font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
 | ||
| 			font-weight: 400;
 | ||
| 			color: #FFFFFF;
 | ||
| 		}
 | ||
| 	}
 | ||
| }
 | ||
| </style>
 |