smartmeter-app/pages/index/index.vue

469 lines
9.0 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">
<view>
<u-navbar :is-back="false" title='首页' title-color="#000" :border-bottom="false" :background="true" id="navbar">
</u-navbar>
<view class="header_button">
<u-button type="primary" shape="circle" :hair-line="false" class="custom-style">学生</u-button>
<u-button class="custom-style" shape="circle" :hair-line="false">班级</u-button>
</view>
</view>
<!-- 登录之后显示的页面 -->
<view v-if="flag">
<view class="view_body">
<view class="content_box">
<view class="view_text">32</view>
<view>已完成人数</view>
</view>
<view class="content_box">
<view class="view_text">90%</view>
<view>已完成作业正确率</view>
</view>
</view>
<!-- 作业完成情况 -->
<view class="echarts_bar">
<view>
<text>作业完成情况</text>
<view class="echarts_text">
<view>本周</view>
</view>
</view>
<view class="echarts">
<l-echart ref="chart" @finished="initChart"></l-echart>
</view>
</view>
</view>
<!-- 没有数据显示的页面 -->
<view>
<view class="deer">
<view class="deer_images">
<image src="https://file.langsi.online/yasiimg/web/static/udGRdnpSfgV3LMD8Ksuv" mode=""></image>
</view>
<view class="deer_right">
<view class="deer_text">当前暂无学习数据快去布置作业吧</view>
<view class="deer_button">
<view>去安排</view>
<view class="r_image"><image src="https://file.langsi.online/yasiimg/web/static/uITFZ6vUIiA0P2KBz1i8" mode=""></image></view>
</view>
</view>
</view>
<view class="echarts_bar">
<view>
<text>作业完成情况</text>
<view class="echarts_text">
<view>本周</view>
</view>
</view>
<view class="echarts">
<l-echart ref="chart" @finished="initChart"></l-echart>
</view>
</view>
</view>
<!-- 底部区域 -->
<view v-if="flag">
<view class="date">
8月31日
</view>
<view class="box_rate">
<view class="rate_item">
<view class="number">
21
</view>
<view class="text">
完成人数
</view>
</view>
<view class="rate_item">
<view class="number">
6
</view>
<view class="text">
平均成绩/
</view>
</view>
<view class="rate_item">
<view class="number">
80%
</view>
<view class="text">
作业正确率
</view>
</view>
</view>
<view>
<view class="view_botton">
<view class="view_spoken">
<view>
<image src="https://file.langsi.online/yasiimg/web/static/u80EhqyvMfcOaaSyK09X" mode=""></image>
</view>
<view class="view_span">
<text>口语单科模考</text>
<text>李斯丹妮</text>
</view>
</view>
<view class="view_text2">
<view>正确率<text class="text2">80%</text></view>
<text>2023/02/23 12:00</text>
</view>
</view>
<view class="view_botton">
<view class="view_spoken">
<view>
<image src="https://file.langsi.online/yasiimg/web/static/u80EhqyvMfcOaaSyK09X" mode=""></image>
</view>
<view class="view_span">
<text>口语单科模考</text>
<text>李斯丹妮</text>
</view>
</view>
<view class="view_text2">
<view>正确率<text class="text2">80%</text></view>
<text>2023/02/23 12:00</text>
</view>
</view>
</view>
<!--底部导航栏 -->
</view>
<!-- 没有数据显示的区域 -->
<view class="zu_footer">
<view class="date">8月31日</view>
<view class="zu_zp">
<view class="zu_image"><image src="https://file.langsi.online/yasiimg/web/static/uFgs4acAUC68weaKB9Yi" mode=""></image></view>
<view class="zu_text">暂无学习记录快去安排作业吧</view>
</view>
</view>
</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:false
}
},
methods: {
async initChart() {
let _this = this
const option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value',
boundaryGap: ['10%', '20%',]
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar'
}]
}
const chart = await this.$refs.chart.init(echarts);
chart.setOption(option)
//return chart
},
}
}
</script>
<style lang="scss" scoped>
.view_by {
background: linear-gradient(180deg, #E1EEFF 0%, #FFFFFF 100%);
padding: 32rpx;
.header_button {
display: flex;
justify-content: space-evenly;
align-items: center;
.custom-style {
width: 180rpx;
height: 72rpx;
}
.active {
background: #2D7CE6;
color: #fff;
box-shadow: inset 0rpx 8rpx 16rpx 0rpx rgba(255, 255, 255, 0.35);
}
}
.view_body {
display: flex;
justify-content: center;
align-items: center;
margin-top: 52rpx;
.content_box {
flex: 1;
}
.content_box:first-child {
border-right: 2rpx solid rgba(0, 0, 0, 0.11);
}
.view_text {
font-size: 76rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #2E4975;
}
view {
display: flex;
flex-direction: column;
align-items: center;
}
}
.echarts_bar {
width: 686rpx;
height: 459rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
opacity: 1;
margin-top: 32rpx;
padding: 32rpx;
view {
display: flex;
justify-content: space-between;
text {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
}
}
}
.box_rate {
display: flex;
justify-content: center;
align-items: center;
padding: 30rpx;
background: linear-gradient(179deg, rgba(255, 237, 223, 0.65) 0%, #FFFFFF 100%);
border-radius: 18rpx 18rpx 18rpx 18rpx;
.rate_item {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.number {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2D7CE6;
}
.text {
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(7, 47, 90, 0.5);
}
}
.date {
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
color: #2E4975;
padding: 30rpx;
}
.view_botton {
display: flex;
align-items: center;
justify-content: space-between;
height: 124rpx;
background: #fff;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin: 20rpx 0rpx;
padding: 24rpx;
.view_spoken {
display: flex;
align-items: center;
.view_span {
display: flex;
flex-direction: column;
margin-left: 16rpx;
}
.view_span text:nth-child(1) {
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: bold;
color: #072F5A;
margin-bottom: 7rpx;
}
.view_span text:nth-child(2) {
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(46, 73, 117, 0.5);
margin-bottom: 7rpx;
}
}
.view_text2 {
display: flex;
flex-direction: column;
text-align: right;
view .text2 {
color: #F18F21;
font-size: 27rpx;
font-weight: 800;
margin-left: 7rpx;
}
}
.view_text2 view {
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #F18F21;
}
.view_text2 text {
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: rgba(7, 47, 90, 0.4);
}
image {
width: 76rpx;
height: 76rpx;
}
}
.echarts{
width: 300rpx;
height: 600rpx;
margin-top: -100rpx;
}
.deer{
display: flex;
align-items: center;
}
.deer_images{
width: 145rpx;
height: 245rpx;
margin-left: 15rpx;
}
.r_image{
width: 16rpx;
height: 16rpx;
line-height: 16rpx;
margin-left: 8rpx;
}
.deer_button{
display: flex;
justify-content: center;
align-items: center;
margin-top: 19rpx;
width: 160rpx;
height: 56rpx;
font-size: 20rpx;
font-weight: 500;
color: #FFFFFF;
background: #2D7CE6;
border-radius: 86rpx 86rpx 86rpx 86rpx;
}
.deer_right{
margin-left: 20rpx;
}
.deer_text{
font-size: 28rpx;
font-weight: 500;
color: #627698;
}
.operation{
height: 459rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
}
.zu_image{
width: 172rpx;
height: 162rpx;
}
.zu_text{
font-size: 24rpx;
font-weight: 400;
color: #0E3B77;
margin: 20rpx 0rpx 50rpx 0rpx;
}
.zu_footer{
// padding: 32rpx 0rpx;
}
.zu_zp{
display: flex;
flex-direction: column;
align-items: center;
padding: 72rpx;
}
}
</style>