<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="noinfo"> <view class="noinfo_tit"> 当前暂无学习数据,快去布置作业吧! </view> <view class="noinfo_btn"> 去安排 <image src="https://file.langsi.online/yasiimg/web/static/urw7xsodoO8Ay2ZWizL4" mode=""></image> </view> </view> <view class="top_message" v-if="false"> <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_img"> <image src="https://file.langsi.online/yasiimg/web/static/ukr9UZt8xuv2DgcwkWCq" mode=""></image> </view> <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> <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">xxxxxxxxxxxxxxxx</button> </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 } }, onLoad() { this.getUserInfo() }, methods: { getPhoneNumber(e) { console.log("eeeeeeee", e) wx.login({ success(res) { if (res.code) { console.log('登录!', res) //发起网络请求 wx.request({ url: 'https://api.admin-v2.langsi.online/admin-api/system/auth/mini-login', header: { "Tenant-Id": 1 }, method: "POST", data: { loginCode: res.code, phoneCode: e.detail.code, encryptedData: e.detail.encryptedData, iv: e.detail.iv } }) } else { console.log('登录失败!', res.errMsg) } }, fail(err) { console.log(err) } }) }, getUserInfo(e) { wx.login({ success(res) { if (res.code) { console.log('登录!', res) wx.getUserInfo({ success(rrr) { console.log("xxxxx", rrr) //发起网络请求 wx.request({ url: 'https://api.admin-v2.langsi.online/admin-api/system/auth/mini-login', header: { "Tenant-Id": 1 }, method: "POST", data: { loginCode: res.code, encryptedData: rrr.encryptedData, iv: rrr.iv } }) } }) } else { console.log('登录失败!', res.errMsg) } } }) }, // async userlogin() { // let code = await this.wxLogin(); // console.log(code); // let data={ // loginCode:code // } // this.$u.post('https://api.admin-v2.langsi.online/admin-api/system/auth/mini-login',data).then(res => { // if (res.code == 10003) { // // console.log("新用户登录") // uni.setStorageSync('token','Bearer '+ res.data); // this.getuser() // } else if (res.code == 200) { // console.log("老用户登录", res.data) // uni.setStorageSync('token','Bearer '+ res.data); // this.isLogin = true // this.getuser() // } else if (res.code == 30003) { // this.userlogin() // } // }) // uni.hideLoading(); // }, // 获取个人信息 async getuser() { await this.$u.get('/app-api/user/info').then(res => { if (res.code == 200) { if (res.data.headImgUrl == "") { this.userlogin() } this.userInfo = res.data // this.getstatistics() } else { this.userlogin() } }) }, 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; .noinfo { margin-top: 62rpx; margin-left: 186rpx; display: flex; flex-wrap: wrap; .noinfo_tit { font-size: 28rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: #627698; } .noinfo_btn { margin-top: 18rpx; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; width: 160rpx; height: 56rpx; background: #2D7CE6; border-radius: 86rpx 86rpx 86rpx 86rpx; font-size: 20rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: #FFFFFF; image { margin-left: 8rpx; width: 16rpx; height: 16rpx; } } } .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', 'PingFang'; font-weight: 800; color: #2E4975; } .top_message_left_bot { width: 100%; text-align: center; font-size: 28rpx; font-family: 'PingFang', 'PingFang'; 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', 'PingFang'; font-weight: 800; color: #2E4975; } .top_message_right_bot { width: 100%; text-align: center; font-size: 28rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: #2E4975; } } } .work_msa { position: relative; padding: 32rpx; margin-top: 32rpx; width: 686rpx; height: 459rpx; background: #FFFFFF; border-radius: 20rpx 20rpx 20rpx 20rpx; .work_img { position: absolute; left: 22rpx; top: -190rpx; height: 190rpx; width: 145.28rpx; } .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', 'PingFang'; font-weight: 800; color: #2E4975; } .work_msa_top_right { display: flex; align-items: center; flex-wrap: nowrap; font-size: 24rpx; font-family: 'PingFang', 'PingFang'; 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', 'PingFang'; 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', 'PingFang'; font-weight: bold; color: #072F5A; } .stu_info_bot { margin-top: 4rpx; font-size: 20rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: rgba(46, 73, 117, 0.5); } } } .card_right { .card_right_top { text-align: right; font-size: 20rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: #F18F21; } .card_right_bot { margin-top: 4rpx; text-align: right; font-size: 20rpx; font-family: 'PingFang', 'PingFang'; font-weight: 500; color: rgba(7, 47, 90, 0.4); } } } } </style>