smartmeter-app/pages/index/index.vue
2023-12-19 23:00:57 +08:00

381 lines
7.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 头部代码 -->
<view class="view_by">
<u-navbar :is-back="false" title='首页' title-color="#2E4975" :border-bottom="false" :background="true"
id="navbar">
</u-navbar>
<view class="top_message">
<view class="top_message_left">
<view class="top_message_left_top">
32
</view>
<view class="top_message_left_bot">
已完成人数
</view>
</view>
<view class="top_message_cent">
</view>
<view class="top_message_right">
<view class="top_message_right_top">
90%
</view>
<view class="top_message_right_bot">
已完成作业正确率
</view>
</view>
</view>
<view class="work_msa">
<view class="work_msa_top">
<view class="work_msa_top_left">
作业完成情况
</view>
<view class="work_msa_top_right">
本周 <view class="iconfont icon-arrow-down"></view>
</view>
</view>
<view class="echarts">
<!-- <mpvue-echarts id="main" ref="pieChart" :echarts="echarts" @onInit="initChart" /> -->
<l-echart ref="chart" @finished="initChart"></l-echart>
</view>
</view>
<div class="data">
8月31日<view class="iconfont icon-arrow-down"></view>
</div>
<view class="class_infobox">
<view class="class_info" style="width:80rpx ;">
<view class="class_info_bot">
21
</view>
<view class="class_info_top">
完成人数
</view>
</view>
<view class="class_info">
<view class="class_info_bot">
6
</view>
<view class="class_info_top">
平均成绩/
</view>
</view>
<view class="class_info">
<view class="class_info_bot">
80%
</view>
<view class="class_info_top">
作业正确率
</view>
</view>
</view>
<div class="card">
<view class="card_left">
<view class="stu_img">
<image src="https://file.langsi.online/yasiimg/web/static/udWNTRG6GulmTtgPRQ49" mode=""></image>
</view>
<view class="stu_info">
<view class="stu_info_top">
口语单科模考
</view>
<view class="stu_info_bot">
李斯丹妮
</view>
</view>
</view>
<view class="card_right">
<view class="card_right_top">
正确率 80%
</view>
<view class="card_right_bot">
2023/02/23 12:00
</view>
</view>
</div>
</view>
</template>
<script>
import * as echarts from '@/uni_modules/lime-echart/static/echarts.min'
import LEchart from '@/uni_modules/lime-echart/components/l-echart/l-echart.vue';
export default {
components: {
LEchart
},
data() {
return {
flag: true
}
},
methods: {
async initChart() {
let _this = this
const option = {
grid: {
left: 0,
right: 0,
top: 10,
bottom: 0,
containLabel: true,
},
xAxis: {
type: 'category',
data: ['Mon', '', 'Wed', '', 'Fri', '', 'Sun']
},
yAxis: {
type: 'value',
min: 0,
max: 100,
interval: 20,
axisLabel: {
formatter: '{value}%'
}
},
series: [{
data: [90, 45, 66, 82, 37, 65, 40],
type: 'bar',
itemStyle: {
normal: {
color: '#2D7CE6',
barBorderRadius: [5, 5, 0, 0] // 设置四个角的半径都为10像素
}
}
}]
};
const chart = await this.$refs.chart.init(echarts);
chart.setOption(option)
//return chart
},
}
}
</script>
<style lang="scss">
page {
background: linear-gradient(180deg, #E1EEFF 0%, #FFFFFF 100%);
}
.view_by {
padding: 0 32rpx;
.top_message {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
.top_message_left {
margin-left: 60rpx;
display: flex;
flex-wrap: wrap;
.top_message_left_top {
width: 100%;
text-align: center;
font-size: 76rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
}
.top_message_left_bot {
width: 100%;
text-align: center;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #2E4975;
}
}
.top_message_cent {
width: 0;
height: 146rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin-left: 2rpx;
border: 2rpx solid rgba(0, 0, 0, 0.11);
}
.top_message_right {
margin-right: 60rpx;
display: flex;
flex-wrap: wrap;
.top_message_right_top {
width: 100%;
text-align: center;
font-size: 76rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
}
.top_message_right_bot {
width: 100%;
text-align: center;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #2E4975;
}
}
}
.work_msa {
padding: 32rpx;
margin-top: 32rpx;
width: 686rpx;
height: 459rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
.work_msa_top {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
// justify-content: center;
.work_msa_top_left {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
}
.work_msa_top_right {
display: flex;
align-items: center;
flex-wrap: nowrap;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(46, 73, 117, 0.65);
.icon-arrow-down {
margin-left: 8rpx;
font-size: 24rpx;
}
}
}
}
.echarts {
// width: 100%;
// height: 80%;
width: 622rpx;
height: 350rpx;
}
.data{
display: flex;
flex-wrap: nowrap;
align-items: center;
margin-top: 32rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
.icon-arrow-down {
color: #2E4975 ;
margin-left: 8rpx;
font-size: 24rpx;
}
}
.class_infobox {
margin-top: 20rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-around;
width: 686rpx;
height: 128rpx;
background: linear-gradient(179deg, rgba(255,237,223,0.65) 0%, #FFFFFF 100%);
border-radius: 20rpx 20rpx 20rpx 20rpx;
.class_info {
width: 110rpx;
display: flex;
flex-wrap: wrap;
justify-content: center;
.class_info_top {
margin-top: 12rpx;
font-size: 20rpx;
font-family: 'PingFang', 'PingFang';
font-weight: 500;
color: rgba(7, 47, 90, 0.5);
}
.class_info_bot {
font-size: 28rpx;
font-family: 'PingFang', 'PingFang';
font-weight: 800;
color: #2D7CE6;
}
}
}
.card{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20rpx;
padding: 24rpx;
width: 686rpx;
height: 124rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
.card_left{
display: flex;
flex-wrap: nowrap;
.stu_img{
width: 76rpx;
height: 76rpx;
border-radius: 50%;
}
.stu_info{
margin-left: 16rpx;
.stu_info_top{
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: bold;
color: #072F5A;
}
.stu_info_bot{
margin-top: 4rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(46,73,117,0.5);
}
}
}
.card_right{
.card_right_top{
text-align: right;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #F18F21;
}
.card_right_bot{
margin-top: 4rpx;
text-align: right;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(7,47,90,0.4);
}
}
}
}
</style>