|
@@ -1,387 +1,321 @@
|
|
|
<template>
|
|
|
- <div id="stuIndex" ref="appRef">
|
|
|
- <div class="bg">
|
|
|
- <dv-loading v-if="loading">{{
|
|
|
- $t("researchCenter.dashboard.loading")
|
|
|
- }}</dv-loading>
|
|
|
- <div v-else class="host-body single-student">
|
|
|
- <div class="tools">
|
|
|
- <span class="time-text"
|
|
|
- >{{ dateYear }}
|
|
|
- <span
|
|
|
- style="display: inline-block; margin: 0 5px; color: #0fa2fe"
|
|
|
- >{{ dateDay }}</span
|
|
|
- >
|
|
|
- </span>
|
|
|
- <span
|
|
|
- class="icon iconfont icon-tuichuquanping"
|
|
|
- style="font-size: 22px"
|
|
|
- :title="$t('researchCenter.dashboard.quit')"
|
|
|
- @click="goQuit"
|
|
|
- ></span>
|
|
|
- <span
|
|
|
- class="icon iconfont icon-undo"
|
|
|
- style="font-size: 22px; margin-left: 20px"
|
|
|
- :title="$t('researchCenter.dashboard.quit')"
|
|
|
- @click="goBack"
|
|
|
- ></span>
|
|
|
- </div>
|
|
|
- <div class="school-info">
|
|
|
- <img :src="schoolInfo.schoolLogo" />
|
|
|
- <span class="school-info-name">{{ schoolInfo.schoolName }}</span>
|
|
|
- <span class="school-info-period">{{ schoolInfo.periodName }}</span>
|
|
|
- <span class="school-info-semester">{{ schoolInfo.curSemester }}</span>
|
|
|
- </div>
|
|
|
- <div class="d-flex jc-center">
|
|
|
- <dv-decoration-10 class="dv-dec-10" />
|
|
|
- <div class="d-flex jc-center">
|
|
|
- <dv-decoration-8 class="dv-dec-8" :color="['#568aea', '#000000']" />
|
|
|
- <div class="title">
|
|
|
- <span class="dash-title-text">学生全面发展大数据画像</span>
|
|
|
- <dv-decoration-6
|
|
|
- class="dv-dec-6"
|
|
|
- :reverse="true"
|
|
|
- :color="['#50e3c2', '#67a1e5']"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <dv-decoration-8
|
|
|
- class="dv-dec-8"
|
|
|
- :reverse="true"
|
|
|
- :color="['#568aea', '#000000']"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <dv-decoration-10 class="dv-dec-10-s" />
|
|
|
- </div>
|
|
|
+ <div class="body-box student-detail-container">
|
|
|
+ <!-- 左侧 -->
|
|
|
+ <div class="left-box">
|
|
|
+ <div class="left-box-top">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>学生信息</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <BaseStuProfile></BaseStuProfile>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="body-box">
|
|
|
- <!-- 左侧 -->
|
|
|
- <div class="left-box">
|
|
|
- <div class="left-box-top">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>学生信息</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <BaseStuProfile></BaseStuProfile>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="left-box-bottom">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>德育综合表现</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- <span class="report-tip">德育报告 > </span>
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <dv-scroll-board :config="lessonConfig" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- <div class="left-box-center">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>智育综合表现</span>
|
|
|
- <BaseDashTab
|
|
|
- :tabs="['学业水平表现', '学习素养表现']"
|
|
|
- @tab-change="onLineBarTabChange"
|
|
|
- ></BaseDashTab>
|
|
|
- <span class="report-tip">智育报告 > </span>
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <BaseStuExamBar
|
|
|
- v-if="lineBarType === 'exam'"
|
|
|
- ></BaseStuExamBar>
|
|
|
- <BaseStuStudyBar v-else></BaseStuStudyBar>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 中间 -->
|
|
|
- <div class="mid-box">
|
|
|
- <div class="mid-box-top">
|
|
|
- <dv-border-box-12>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="cicle2"></div>
|
|
|
- <!-- <img src="https://paas-admin.xydqq.cn/img/person.294648df.png" alt="" class="person"> -->
|
|
|
- <BaseRadar @handleMessage="handleMessage"></BaseRadar>
|
|
|
- </div>
|
|
|
- </dv-border-box-12>
|
|
|
- </div>
|
|
|
- <div class="mid-box-bottom">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>评分表现({{ barTitle }})</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <BaseBar></BaseBar>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 右侧 -->
|
|
|
- <div class="right-box">
|
|
|
- <div class="right-box-top">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>体育综合表现</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- <span class="report-tip" @click="goReport('sport')"
|
|
|
- >体育报告 >
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <dv-conical-column-chart :config="sportConfig" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- <div class="right-box-center">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>艺术综合表现</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- <span class="report-tip">艺术报告 > </span>
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <BaseArtCircle></BaseArtCircle>
|
|
|
- <BaseMusicCircle></BaseMusicCircle>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- <div class="right-box-bottom">
|
|
|
- <dv-border-box-13>
|
|
|
- <div class="dashboard-block">
|
|
|
- <div class="block-title">
|
|
|
- <span>劳动综合表现</span>
|
|
|
- <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
- <span class="report-tip">劳动报告 > </span>
|
|
|
- </div>
|
|
|
- <div class="block-content">
|
|
|
- <BaseProgressBar></BaseProgressBar>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </dv-border-box-13>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <Modal v-model="messageModal" footer-hide :transfer="false">
|
|
|
- <p style="color: #fff; font-weight: bold; margin: 20px; font-size: 18px">
|
|
|
- {{ message }}
|
|
|
- </p>
|
|
|
- </Modal>
|
|
|
- </div>
|
|
|
+ <div class="left-box-bottom">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>德育综合表现</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ <span class="report-tip">德育报告 > </span>
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <dv-scroll-board :config="lessonConfig" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ <div class="left-box-center">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>智育综合表现</span>
|
|
|
+ <BaseDashTab :tabs="['学业水平表现', '学习素养表现']" @tab-change="onLineBarTabChange"></BaseDashTab>
|
|
|
+ <span class="report-tip">智育报告 > </span>
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <BaseStuExamBar v-if="lineBarType === 'exam'"></BaseStuExamBar>
|
|
|
+ <BaseStuStudyBar v-else></BaseStuStudyBar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 中间 -->
|
|
|
+ <div class="mid-box">
|
|
|
+ <div class="mid-box-top">
|
|
|
+ <dv-border-box-12>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="cicle2"></div>
|
|
|
+ <!-- <img src="https://paas-admin.xydqq.cn/img/person.294648df.png" alt="" class="person"> -->
|
|
|
+ <BaseRadar @handleMessage="handleMessage"></BaseRadar>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-12>
|
|
|
+ </div>
|
|
|
+ <div class="mid-box-bottom">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>评分表现({{ barTitle }})</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <BaseBar></BaseBar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 右侧 -->
|
|
|
+ <div class="right-box">
|
|
|
+ <div class="right-box-top">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>体育综合表现</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ <span class="report-tip" @click="goReport('sport')">体育报告 > </span>
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <EmptyDash v-if="$store.state.fiveEdu.stuOverbase.sports.length === 0"></EmptyDash>
|
|
|
+ <BaseSportRadar v-else></BaseSportRadar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ <div class="right-box-center">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>艺术综合表现</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ <span class="report-tip">艺术报告 > </span>
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <BaseArtCircle></BaseArtCircle>
|
|
|
+ <BaseMusicCircle></BaseMusicCircle>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ <div class="right-box-bottom">
|
|
|
+ <dv-border-box-13>
|
|
|
+ <div class="dashboard-block">
|
|
|
+ <div class="block-title">
|
|
|
+ <span>劳动综合表现</span>
|
|
|
+ <dv-decoration-1 style="width: 100px; height: 20px" />
|
|
|
+ <span class="report-tip">劳动报告 > </span>
|
|
|
+ </div>
|
|
|
+ <div class="block-content">
|
|
|
+ <BaseProgressBar></BaseProgressBar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </dv-border-box-13>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import axios from "axios";
|
|
|
-import BaseRadar from "@/components/dashboard/student/BaseRadar";
|
|
|
-import BaseStuProfile from "@/components/dashboard/student/BaseStuProfile";
|
|
|
-import BaseStuExamBar from "@/components/dashboard/student/BaseExamBar";
|
|
|
-import BaseStuStudyBar from "@/components/dashboard/student/BaseStudyBar";
|
|
|
-import BaseBar from "@/components/dashboard/student/BaseBar";
|
|
|
-import BaseLine from "@/components/dashboard/student/BaseLine";
|
|
|
-import BaseProgressBar from "@/components/dashboard/student/BaseProgressBar";
|
|
|
-import BaseSportRadar from "@/components/dashboard/student/BaseSportRadar";
|
|
|
-import BaseArtCircle from "@/components/dashboard/student/BaseArtCircle";
|
|
|
-import BaseMusicCircle from "@/components/dashboard/student/BaseMusicCircle";
|
|
|
-export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- barTitle: "综合",
|
|
|
- message: "",
|
|
|
- messageModal: false,
|
|
|
- curStuJson: {
|
|
|
- id: "",
|
|
|
- name: "",
|
|
|
- picture: "",
|
|
|
- },
|
|
|
- activeClassIndex: -1,
|
|
|
- activeGradeIndex: 0,
|
|
|
- activeMenu: "music",
|
|
|
- lineBarType: "exam",
|
|
|
- timing: null,
|
|
|
- loading: true,
|
|
|
- dateDay: null,
|
|
|
- dateYear: null,
|
|
|
- dateWeek: null,
|
|
|
- classes: ["1班", "2班", "3班", "4班", "5班", "6班"],
|
|
|
- grades: ["五年级", "六年级"],
|
|
|
- lessonConfig: {
|
|
|
- header: [
|
|
|
- '<span style="color:#32c5e9;font-weight: bold;">时间</span>',
|
|
|
- '<span style="color:#32c5e9;font-weight: bold;">项目</span>',
|
|
|
- '<span style="color:#32c5e9;font-weight: bold;">结果</span>',
|
|
|
- ],
|
|
|
- data: [
|
|
|
- ["6-20", "上课迟到", "-5"],
|
|
|
- ["6-21", "积极发言", "+5"],
|
|
|
- ["6-22", "上课迟到", "-5"],
|
|
|
- ["6-23", "上课迟到", "-5"],
|
|
|
- ["6-24", "上课迟到", "-5"],
|
|
|
- ["6-25", "上课迟到", "-5"],
|
|
|
- ["6-26", "上课迟到", "-5"],
|
|
|
- ],
|
|
|
- index: true,
|
|
|
- align: ["center", "center", "center", "center"],
|
|
|
- headerHeight: 30,
|
|
|
- headerBGC: "transparent", //表头
|
|
|
- oddRowBGC: "transparent", //奇数行
|
|
|
- evenRowBGC: "transparent", //偶数行
|
|
|
- columnWidth: [70],
|
|
|
- },
|
|
|
- sportConfig: {
|
|
|
- data: [
|
|
|
- {
|
|
|
- name: "篮球",
|
|
|
- value: 55,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "足球",
|
|
|
- value: 120,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "排球",
|
|
|
- value: 71,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "羽毛球",
|
|
|
- value: 66,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "网球",
|
|
|
- value: 80,
|
|
|
- },
|
|
|
- ],
|
|
|
- img: [
|
|
|
- require("@/assets/dashboard/student/sport2.png"),
|
|
|
- require("@/assets/dashboard/student/sport5.png"),
|
|
|
- require("@/assets/dashboard/student/sport3.png"),
|
|
|
- require("@/assets/dashboard/student/sport4.png"),
|
|
|
- require("@/assets/dashboard/student/sport1.png"),
|
|
|
- ],
|
|
|
- imgSideLength: 20,
|
|
|
- showValue: true,
|
|
|
- },
|
|
|
- };
|
|
|
- },
|
|
|
- components: {
|
|
|
- BaseBar,
|
|
|
- BaseMusicCircle,
|
|
|
- BaseArtCircle,
|
|
|
- BaseSportRadar,
|
|
|
- BaseProgressBar,
|
|
|
- BaseRadar,
|
|
|
- BaseLine,
|
|
|
- BaseStuExamBar,
|
|
|
- BaseStuStudyBar,
|
|
|
- BaseStuProfile,
|
|
|
- },
|
|
|
- mounted() {
|
|
|
- this.timeFn();
|
|
|
- setTimeout(() => {
|
|
|
- this.$tools.fullScreen(document.getElementById("stuIndex"));
|
|
|
- this.cancelLoading();
|
|
|
- }, 100);
|
|
|
- this.$EventBus.$off("stu-radar-click");
|
|
|
- this.$EventBus.$on("stu-radar-click", (val) => {
|
|
|
- this.barTitle = !val ? "综合" : val + "育";
|
|
|
- });
|
|
|
- },
|
|
|
- beforeDestroy() {
|
|
|
- clearInterval(this.timing);
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.curStuJson = JSON.parse(sessionStorage.getItem("dash_stu_info"));
|
|
|
- this.curPeriod = this.$store.state.user.curPeriod;
|
|
|
- this.cancelLoading();
|
|
|
-
|
|
|
- console.log(this.$store.state.fiveEdu.stuOverbase);
|
|
|
- },
|
|
|
- methods: {
|
|
|
- onLineBarTabChange(val) {
|
|
|
- this.lineBarType = val === 0 ? "exam" : "study";
|
|
|
- },
|
|
|
- goReport(type) {
|
|
|
- if (type === "sport") {
|
|
|
- axios({
|
|
|
- method: "get",
|
|
|
- url:
|
|
|
- "https://sport.ykcdwalker.com/timodou/screen?type=1&schoolCode=" +
|
|
|
- localStorage.getItem("login_schoolCode"),
|
|
|
- timeout: 1000,
|
|
|
- })
|
|
|
- .then(async (res) => {
|
|
|
- let stuInfo = JSON.parse(sessionStorage.getItem("dash_stu_info"));
|
|
|
- if (res.data.data) {
|
|
|
- window.open(res.data.data + "?tmStuId=" + stuInfo.id);
|
|
|
- } else {
|
|
|
- this.$emit("handleMessage", "获取体育个人看板链接失败!");
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- console.error(e);
|
|
|
- });
|
|
|
- }else{
|
|
|
-
|
|
|
- }
|
|
|
- },
|
|
|
- handleMessage(val) {
|
|
|
- console.error(val);
|
|
|
- this.messageModal = true;
|
|
|
- this.message = val;
|
|
|
- },
|
|
|
- goQuit() {
|
|
|
- this.$tools.exitFullscreen();
|
|
|
- this.$router.push("/home/homePage");
|
|
|
- },
|
|
|
- goBack() {
|
|
|
- this.$router.push("/fiveEdu");
|
|
|
- },
|
|
|
- timeFn() {
|
|
|
- this.timing = setInterval(() => {
|
|
|
- this.dateDay = this.$tools.formatTime(new Date(), "hh:mm:ss");
|
|
|
- this.dateYear = this.$tools.formatTime(new Date(), "yyyy-MM-dd");
|
|
|
- }, 1000);
|
|
|
- },
|
|
|
- cancelLoading() {
|
|
|
- setTimeout(() => {
|
|
|
- this.loading = false;
|
|
|
- }, 1000);
|
|
|
- },
|
|
|
- },
|
|
|
- computed: {
|
|
|
- schoolInfo() {
|
|
|
- let store_user = this.$store.state.user;
|
|
|
- let semesterRange = this.$tools.getSemesterTimeRange();
|
|
|
- return {
|
|
|
- schoolName: store_user.schoolProfile.school_base.name,
|
|
|
- schoolLogo: store_user.schoolProfile.school_base.picture,
|
|
|
- periodName: store_user.curPeriod.name,
|
|
|
- curSemester: semesterRange.name,
|
|
|
- };
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
+ import axios from "axios";
|
|
|
+ import BaseRadar from "@/components/dashboard/student/BaseRadar";
|
|
|
+ import BaseStuProfile from "@/components/dashboard/student/BaseStuProfile";
|
|
|
+ import BaseStuExamBar from "@/components/dashboard/student/BaseExamBar";
|
|
|
+ import BaseStuStudyBar from "@/components/dashboard/student/BaseStudyBar";
|
|
|
+ import BaseBar from "@/components/dashboard/student/BaseBar";
|
|
|
+ import BaseLine from "@/components/dashboard/student/BaseLine";
|
|
|
+ import BaseProgressBar from "@/components/dashboard/student/BaseProgressBar";
|
|
|
+ import BaseSportRadar from "@/components/dashboard/student/BaseSportRadar";
|
|
|
+ import BaseArtCircle from "@/components/dashboard/student/BaseArtCircle";
|
|
|
+ import BaseMusicCircle from "@/components/dashboard/student/BaseMusicCircle";
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ barTitle: "综合",
|
|
|
+ message: "",
|
|
|
+ messageModal: false,
|
|
|
+ curStuJson: {
|
|
|
+ id: "",
|
|
|
+ name: "",
|
|
|
+ picture: ""
|
|
|
+ },
|
|
|
+ activeClassIndex: -1,
|
|
|
+ activeGradeIndex: 0,
|
|
|
+ activeMenu: "music",
|
|
|
+ lineBarType: "exam",
|
|
|
+ timing: null,
|
|
|
+ loading: true,
|
|
|
+ dateDay: null,
|
|
|
+ dateYear: null,
|
|
|
+ dateWeek: null,
|
|
|
+ classes: ["1班", "2班", "3班", "4班", "5班", "6班"],
|
|
|
+ grades: ["五年级", "六年级"],
|
|
|
+ lessonConfig: {
|
|
|
+ header: ['<span style="color:#32c5e9;font-weight: bold;">时间</span>', '<span style="color:#32c5e9;font-weight: bold;">项目</span>', '<span style="color:#32c5e9;font-weight: bold;">结果</span>'],
|
|
|
+ data: [
|
|
|
+ ["6-20", "上课迟到", "-5"],
|
|
|
+ ["6-21", "积极发言", "+5"],
|
|
|
+ ["6-22", "上课迟到", "-5"],
|
|
|
+ ["6-23", "上课迟到", "-5"],
|
|
|
+ ["6-24", "上课迟到", "-5"],
|
|
|
+ ["6-25", "上课迟到", "-5"],
|
|
|
+ ["6-26", "上课迟到", "-5"]
|
|
|
+ ],
|
|
|
+ index: true,
|
|
|
+ align: ["center", "center", "center", "center"],
|
|
|
+ headerHeight: 30,
|
|
|
+ headerBGC: "transparent", //表头
|
|
|
+ oddRowBGC: "transparent", //奇数行
|
|
|
+ evenRowBGC: "transparent", //偶数行
|
|
|
+ columnWidth: [70]
|
|
|
+ },
|
|
|
+ sportConfig: {
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ name: "篮球",
|
|
|
+ value: 55
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "足球",
|
|
|
+ value: 120
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "排球",
|
|
|
+ value: 71
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "羽毛球",
|
|
|
+ value: 66
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "网球",
|
|
|
+ value: 80
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ img: [],
|
|
|
+ imgSideLength: 20,
|
|
|
+ showValue: true
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ BaseBar,
|
|
|
+ BaseMusicCircle,
|
|
|
+ BaseArtCircle,
|
|
|
+ BaseSportRadar,
|
|
|
+ BaseProgressBar,
|
|
|
+ BaseRadar,
|
|
|
+ BaseLine,
|
|
|
+ BaseStuExamBar,
|
|
|
+ BaseStuStudyBar,
|
|
|
+ BaseStuProfile
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.timeFn();
|
|
|
+ setTimeout(() => {
|
|
|
+ // this.$tools.fullScreen(document.getElementById("stuIndex"));
|
|
|
+ this.cancelLoading();
|
|
|
+ }, 100);
|
|
|
+ this.$EventBus.$off("stu-radar-click");
|
|
|
+ this.$EventBus.$on("stu-radar-click", (val) => {
|
|
|
+ this.barTitle = !val ? "综合" : val + "育";
|
|
|
+ });
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ clearInterval(this.timing);
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.curStuJson = JSON.parse(sessionStorage.getItem("dash_stu_info"));
|
|
|
+ this.curPeriod = this.$store.state.user.curPeriod;
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ onLineBarTabChange(val) {
|
|
|
+ this.lineBarType = val === 0 ? "exam" : "study";
|
|
|
+ },
|
|
|
+ goReport(type) {
|
|
|
+ if (type === "sport") {
|
|
|
+ axios({
|
|
|
+ method: "get",
|
|
|
+ url: "https://sport.ykcdwalker.com/timodou/screen?type=1&schoolCode=" + localStorage.getItem("login_schoolCode"),
|
|
|
+ timeout: 1000
|
|
|
+ })
|
|
|
+ .then(async (res) => {
|
|
|
+ let stuInfo = JSON.parse(sessionStorage.getItem("dash_stu_info"));
|
|
|
+ if (res.data.data) {
|
|
|
+ window.open(res.data.data + "?tmStuId=" + stuInfo.id);
|
|
|
+ } else {
|
|
|
+ this.$emit("handleMessage", "获取体育个人看板链接失败!");
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ console.error(e);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleMessage(val) {
|
|
|
+ console.error(val);
|
|
|
+ this.messageModal = true;
|
|
|
+ this.message = val;
|
|
|
+ },
|
|
|
+ goQuit() {
|
|
|
+ this.$tools.exitFullscreen();
|
|
|
+ this.$router.push("/home/homePage");
|
|
|
+ },
|
|
|
+ goBack() {
|
|
|
+ this.$router.push("/fiveEdu");
|
|
|
+ },
|
|
|
+ timeFn() {
|
|
|
+ this.timing = setInterval(() => {
|
|
|
+ this.dateDay = this.$tools.formatTime(new Date(), "hh:mm:ss");
|
|
|
+ this.dateYear = this.$tools.formatTime(new Date(), "yyyy-MM-dd");
|
|
|
+ }, 1000);
|
|
|
+ },
|
|
|
+ cancelLoading() {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.loading = false;
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ schoolInfo() {
|
|
|
+ let store_user = this.$store.state.user;
|
|
|
+ let semesterRange = this.$tools.getSemesterTimeRange();
|
|
|
+ return {
|
|
|
+ schoolName: store_user.schoolProfile.school_base.name,
|
|
|
+ schoolLogo: store_user.schoolProfile.school_base.picture,
|
|
|
+ periodName: store_user.curPeriod.name,
|
|
|
+ curSemester: semesterRange.name
|
|
|
+ };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ "$store.state.fiveEdu.dashEnv": {
|
|
|
+ immediate: true,
|
|
|
+ handler(n, o) {
|
|
|
+ let overbase = this.$store.state.fiveEdu.stuOverbase;
|
|
|
+ let sportConfig = this._.cloneDeep(this.sportConfig);
|
|
|
+ console.error(overbase);
|
|
|
+ sportConfig.data = overbase.sports.length ? overbase.sports[0].itemScore.map((i) => {
|
|
|
+ return {
|
|
|
+ name: i.name,
|
|
|
+ value: i.score
|
|
|
+ };
|
|
|
+ }) : [];
|
|
|
+ this.sportConfig = sportConfig;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
-@import "Student.less";
|
|
|
-@import "style.less";
|
|
|
+ @import "style.less";
|
|
|
+ @import "Student.less";
|
|
|
+
|
|
|
</style>
|