|
@@ -0,0 +1,509 @@
|
|
|
+<template>
|
|
|
+ <div class="home-view">
|
|
|
+ <Loading v-show="isLoading" bgColor="rgba(0, 0, 0, 0.3)"></Loading>
|
|
|
+ <div class="home-head home-card">
|
|
|
+ <Row :gutter="30">
|
|
|
+ <Col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
+ <ExamPerform />
|
|
|
+ </Col>
|
|
|
+ <Col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
+ <HomeworkPoint />
|
|
|
+ </Col>
|
|
|
+ <Col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
+ <ClassPoint />
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
+ <Row :gutter="30">
|
|
|
+ <Col :xs="24" :sm="24" :md="24" :lg="12" :xl="8">
|
|
|
+ <div class="home-card">
|
|
|
+ <p class="home-title-name">{{ $t("studentWeb.home.title.classRecord") }}</p>
|
|
|
+ <div v-if="classRecord.length" style="height: 455px;">
|
|
|
+ <vuescroll>
|
|
|
+ <div v-for="(classRecord, cIndex) in classRecord" :key="cIndex" class="list-new">
|
|
|
+ <div class="list-new-icon">
|
|
|
+ <img src="./noData.png" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="list-new-test">
|
|
|
+ <p>{{ classRecord.name }}</p>
|
|
|
+ <p class="list-item-time">{{ $t("studentWeb.public.uploadTime") }}:{{ classRecord.startTime }}</p>
|
|
|
+ </div>
|
|
|
+ <div class="list-new-type">
|
|
|
+ <p>
|
|
|
+ <Icon type="md-time" color="#24B880" />
|
|
|
+ {{ classRecord.time }}
|
|
|
+ </p>
|
|
|
+ <p style="color: #24B880;">
|
|
|
+ {{ $t("studentWeb.home.toLook") }}
|
|
|
+ <Icon type="md-arrow-round-forward" />
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </div>
|
|
|
+ <div v-else class="no-data">
|
|
|
+ <img src="./noData.png" alt="">
|
|
|
+ <p>{{ $t("studentWeb.public.noData") }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
+ <Col :xs="24" :sm="24" :md="24" :lg="12" :xl="9">
|
|
|
+ <div class="home-card ">
|
|
|
+ <div class="home-list-title">
|
|
|
+ <p class="home-title-name">{{ $t("studentWeb.home.title.activity") }}</p>
|
|
|
+ <p>
|
|
|
+ <span class="list-type">{{ $t("studentWeb.home.exam") }}:{{ activityType.exam }}</span>
|
|
|
+ <span class="list-type">{{ $t("studentWeb.home.homework") }}:{{ activityType.homework }}</span>
|
|
|
+ <span class="list-type">{{ $t("studentWeb.home.vote") }}:{{ activityType.vote }}</span>
|
|
|
+ <span class="list-type">{{ $t("studentWeb.home.survey") }}:{{ activityType.survey }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div v-if="activityList.length" style="height: 455px;">
|
|
|
+ <vuescroll>
|
|
|
+ <div v-for="(activity, aIndex) in activityList" :key="aIndex" class="list-new" @click="sentSelectedEventTitle(activity)">
|
|
|
+ <div class="list-new-icon">
|
|
|
+ <svg-icon v-if="activity.type == 'Homework'" icon-class="doc" color="#f0be72" />
|
|
|
+ <svg-icon v-if="activity.type == 'Exam'" color="#94a1e4" icon-class="test" class="reset-testIcon" />
|
|
|
+ <svg-icon v-if="activity.type == 'Vote'" icon-class="vote" color="#6a9a8b" />
|
|
|
+ <svg-icon v-if="activity.type == 'Survey'" icon-class="quesnaire" color="#d19f9c" />
|
|
|
+ </div>
|
|
|
+ <div class="list-new-test">
|
|
|
+ <div class="paper-item-school">
|
|
|
+ <span class="paper-owner" v-if="activity.owner === 'school'" style="background-color: #88a1d8;">{{ $t('studentWeb.public.school') }}</span>
|
|
|
+ <span class="paper-owner" v-else>{{ $t('studentWeb.public.private') }}</span>
|
|
|
+ <template v-if="activity.type == 'Exam'">
|
|
|
+ <span class="paper-extType" :style="{'border-color': activity.owner === 'school' ? '#88a1d8' :'#ababab'}" v-if="activity.source === '0'">
|
|
|
+ {{ $t("studentWeb.exam.source.evMode1") }}
|
|
|
+ </span>
|
|
|
+ <span class="paper-source" :style="{'border-color': activity.owner === 'school' ? '#88a1d8' :'#ababab', color: '#2f98a9'}" v-if="activity.source === '1'">
|
|
|
+ {{ $t("studentWeb.exam.source.evMode2") }}
|
|
|
+ </span>
|
|
|
+ <span class="paper-extType" :style="{'border-color': activity.owner === 'school' ? '#88a1d8' :'#ababab', color: '#b68268'}" v-if="activity.source === '2'">
|
|
|
+ {{ $t("studentWeb.exam.source.evMode3") }}
|
|
|
+ </span>
|
|
|
+ <!-- 课中评量才判断:qamode:0(书面问答),1(纸本测验) -->
|
|
|
+ <template v-if="activity.source === '1'">
|
|
|
+ <span class="paper-extType" :style="{'border-color': activity.owner === 'school' ? '#88a1d8' :'#ababab', color: '#b68268'}"
|
|
|
+ v-if="activity.qamode"
|
|
|
+ >
|
|
|
+ {{ $t("studentWeb.exam.source.evMode21") }}
|
|
|
+ </span>
|
|
|
+ <span class="paper-extType" :style="{'border-color': activity.owner === 'school' ? '#88a1d8' :'#ababab', color: '#b68268'}"
|
|
|
+ v-else
|
|
|
+ >
|
|
|
+ {{ $t("studentWeb.exam.source.evMode22") }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <span class="paper-extType">
|
|
|
+ {{ activity.type === 'Vote' ? $t('studentWeb.home.vote') : (activity.type === 'Survey' ? $t('studentWeb.home.survey') : $t('studentWeb.home.homework')) }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <p class="list-item-title">
|
|
|
+ <span>{{ activity.name }}</span>
|
|
|
+ </p>
|
|
|
+ <p style="font-size:12px; margin-top: 5px; word-break: keep-all;">
|
|
|
+ <span v-if="activity.ext">
|
|
|
+ <span v-if="activity.ext.subjects">
|
|
|
+ <span v-for="(item, index) in activity.ext.subjects" :key="index" class="tag-style"
|
|
|
+ style="border-color: #499c8d; color: #499c8d;"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ <span v-if="activity.className.length">
|
|
|
+ <span v-for="(clasNa, index) in activity.className" :key="index" class="tag-style"
|
|
|
+ style="border-color: #8f8787; color: #8f8787;">
|
|
|
+ {{ clasNa }}
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ <span class="tag-style" style="border-color: #6b6ba9; color: #6b6ba9;" v-if="activity.teacherName">{{ activity.teacherName }}</span>
|
|
|
+ </p>
|
|
|
+ <p class="list-item-time">
|
|
|
+ {{ dateFormat(activity.startTime) }} ~ {{ dateFormat(activity.endTime) }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div class="list-new-type">
|
|
|
+ <span style="font-size: 12px; text-align: center;">{{ activity.tempsub }}</span>
|
|
|
+ <div class="list-new-unDone isAllowRetry">
|
|
|
+ <span>去查看</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </div>
|
|
|
+ <div v-else class="no-data">
|
|
|
+ <img src="./noData.png" alt="">
|
|
|
+ <p>{{ $t("studentWeb.public.noData") }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
+ <Col :xs="24" :sm="24" :md="24" :lg="12" :xl="7">
|
|
|
+ <div class="home-card">
|
|
|
+ <div>
|
|
|
+ <p class="home-title-name">{{ $t("studentWeb.home.title.notice1") }}</p>
|
|
|
+ <div v-if="classNotice.length" style="height: 200px; margin-bottom: 10px;">
|
|
|
+ <vuescroll>
|
|
|
+ <div v-for="(cNotice, nIndex) in classNotice" :key="nIndex" class="list-new">
|
|
|
+ <div class="list-new-icon">
|
|
|
+ <Icon custom="iconfont icon-notify" size="30" />
|
|
|
+ </div>
|
|
|
+ <div class="list-new-test">
|
|
|
+ <p class="list-item-title">
|
|
|
+ <span>{{ cNotice.name }}</span>
|
|
|
+ </p>
|
|
|
+ <p class="list-item-time">
|
|
|
+ {{ cNotice.time }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </div>
|
|
|
+ <div v-else class="no-data-notice">
|
|
|
+ <img src="./noData.png" alt="">
|
|
|
+ <p>{{ $t("studentWeb.public.noData") }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p class="home-title-name">{{ $t("studentWeb.home.title.notice2") }}</p>
|
|
|
+ <div v-if="courseNotice.length" style="height: 200px; margin-bottom: 10px;">
|
|
|
+ <vuescroll>
|
|
|
+ <div v-for="(couNotice, nIndex) in courseNotice" :key="nIndex" class="list-new">
|
|
|
+ <div class="list-new-icon">
|
|
|
+ <Icon custom="iconfont icon-notify" size="30" />
|
|
|
+ </div>
|
|
|
+ <div class="list-new-test">
|
|
|
+ <p class="list-item-title">
|
|
|
+ <span>{{ couNotice.name }}</span>
|
|
|
+ </p>
|
|
|
+ <p style="font-size:12px; margin-top: 5px; word-break: keep-all;">
|
|
|
+ <span v-if="couNotice.className">
|
|
|
+ <span class="tag-style" style="border-color: #499c8d; color: #499c8d;">
|
|
|
+ {{ couNotice.className }}
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ <span v-if="couNotice.teaName">
|
|
|
+ <span class="tag-style" style="border-color: #8f8787; color: #8f8787;">
|
|
|
+ {{ couNotice.teaName }}
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
+ <p class="list-item-time">
|
|
|
+ {{ couNotice.time }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </div>
|
|
|
+ <div v-else class="no-data-notice">
|
|
|
+ <img src="./noData.png" alt="">
|
|
|
+ <p>{{ $t("studentWeb.public.noData") }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import ExamPerform from './ChartHome/ExamPerform.vue';
|
|
|
+import HomeworkPoint from './ChartHome/HomeworkPoint.vue';
|
|
|
+import ClassPoint from './ChartHome/ClassPoint.vue';
|
|
|
+import { mapState } from 'vuex';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "HomeViewnnnnew",
|
|
|
+ components: {
|
|
|
+ ExamPerform,
|
|
|
+ HomeworkPoint,
|
|
|
+ ClassPoint,
|
|
|
+ },
|
|
|
+ // inject: ['reload'],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ MyNo: "1", //接收NavBar 選定的那一頁icon標示
|
|
|
+ MyName: "",
|
|
|
+ isLoading: false,
|
|
|
+ classRecord: [], //课堂记录
|
|
|
+ activityList: [], //活动
|
|
|
+ classNotice: [], //班级公告
|
|
|
+ courseNotice: [], //课程公告
|
|
|
+ countDown: null,
|
|
|
+ activityType: {
|
|
|
+ exam: 0,
|
|
|
+ homework: 0,
|
|
|
+ vote: 0,
|
|
|
+ survey: 0,
|
|
|
+ },
|
|
|
+ examAch: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.MyName = this.$t("studentWeb.homeView-title")
|
|
|
+ this.$emit("onNavNo", this.MyNo)
|
|
|
+ this.$emit("onNavName", this.MyName)
|
|
|
+ this.getNotice()
|
|
|
+ this.getClaRecord()
|
|
|
+ this.getActivity()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getNotice() {
|
|
|
+ this.courseNotice = [
|
|
|
+ /* {
|
|
|
+ name: "测试",
|
|
|
+ time: "2021-05-05 ~ 2021-05-06",
|
|
|
+ content: "测试内容",
|
|
|
+ className: "数学",
|
|
|
+ teaName: "罗老师",
|
|
|
+ },{
|
|
|
+ name: "测试",
|
|
|
+ time: "2021-05-05 ~ 2021-05-06",
|
|
|
+ content: "测试内容",
|
|
|
+ className: "数学",
|
|
|
+ teaName: "罗老师",
|
|
|
+ },{
|
|
|
+ name: "测试",
|
|
|
+ time: "2021-05-05 ~ 2021-05-06",
|
|
|
+ content: "测试内容",
|
|
|
+ className: "数学",
|
|
|
+ teaName: "罗老师",
|
|
|
+ },{
|
|
|
+ name: "测试",
|
|
|
+ time: "2021-05-05 ~ 2021-05-06",
|
|
|
+ content: "测试内容",
|
|
|
+ className: "数学",
|
|
|
+ teaName: "罗老师",
|
|
|
+ }, */
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ getClaRecord() {
|
|
|
+ this.classRecord = [
|
|
|
+ /* {
|
|
|
+ name: "罗老师的课堂记录",
|
|
|
+ startTime: "2022-04-29",
|
|
|
+ time: "00:10:58",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "罗老师的课堂记录",
|
|
|
+ startTime: "2022-04-29",
|
|
|
+ time: "00:10:58",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "罗老师的课堂记录",
|
|
|
+ startTime: "2022-04-29",
|
|
|
+ time: "00:10:58",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "罗老师的课堂记录",
|
|
|
+ startTime: "2022-04-29",
|
|
|
+ time: "00:10:58",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "罗老师的课堂记录",
|
|
|
+ startTime: "2022-04-29",
|
|
|
+ time: "00:10:58",
|
|
|
+ }, */
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ getActivity(time) {
|
|
|
+ this.isLoading = true
|
|
|
+ // this.testData = []
|
|
|
+ // this.voteandSur = []
|
|
|
+ // this.examandHw = []
|
|
|
+ let params = {
|
|
|
+ userid: this.userInfo.sub,
|
|
|
+ userType: "",
|
|
|
+ school: this.userInfo.azp
|
|
|
+ }
|
|
|
+ // 醍摩豆登陆——> roles有teacher
|
|
|
+ params.userType = this.userInfo.scope === "tmduser" ? "tmdid" : "schoolid"
|
|
|
+ if(time) {
|
|
|
+ params.stime = time
|
|
|
+ }
|
|
|
+ this.$api.studentWeb.getActivityInfo(params).then(async res => {
|
|
|
+ if (res.datas.length) {
|
|
|
+ let data = []
|
|
|
+ let ids = []
|
|
|
+ let teaIds = []
|
|
|
+ let datasss = res.datas.filter(item => {
|
|
|
+ item.progress = this.timeStatus(item, true)
|
|
|
+ return item.progress === 'going'
|
|
|
+ })
|
|
|
+ datasss.forEach(item => {
|
|
|
+ ids.push(item.classIds)
|
|
|
+ teaIds.push(item.creatorId)
|
|
|
+ })
|
|
|
+ let teaidNames = []
|
|
|
+ teaidNames = await this.getTeacherName(teaIds)
|
|
|
+ ids = [].concat.apply([], ids)
|
|
|
+ let names = ids.length ? await this.getClassName(ids, true) : []
|
|
|
+ for (let item of datasss) {
|
|
|
+ item.className = []
|
|
|
+ item.classIds.forEach(classId => {
|
|
|
+ let arr = names.filter(na => {
|
|
|
+ return na.id === classId
|
|
|
+ })
|
|
|
+ if(arr.length) {
|
|
|
+ item.className.push(arr[0].name)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ item.tempsub = ""
|
|
|
+ let nameIds = undefined
|
|
|
+ nameIds = teaidNames.find(names => {
|
|
|
+ return names.id === item.creatorId
|
|
|
+ })
|
|
|
+ item.teacherName = !nameIds ? undefined : nameIds.name
|
|
|
+ this.activityList.push(item)
|
|
|
+ if(item.type === 'Exam') {
|
|
|
+ this.activityType.exam += 1
|
|
|
+ } else if(item.type === 'Homework') {
|
|
|
+ this.activityType.homework += 1
|
|
|
+ } else if(item.type === 'Vote') {
|
|
|
+ this.activityType.vote += 1
|
|
|
+ } else if(item.type === 'Survey') {
|
|
|
+ this.activityType.survey += 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // this.activityList = [...data]
|
|
|
+ let twoDay = 24 * 3600 * 1000 * 2
|
|
|
+ this.countDown = setInterval(() => {
|
|
|
+ let timeNow = new Date()
|
|
|
+ for (const item of this.activityList) {
|
|
|
+ let timeSub = item.endTime - timeNow
|
|
|
+ item.tempsub = (item.taskStatus === -1 && timeSub > 0 && timeSub < twoDay) ? this.getTimeSub(timeSub) : ""
|
|
|
+ }
|
|
|
+ }, 1000)
|
|
|
+ this.$forceUpdate()
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ this.isLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getClassName(ids, type) {
|
|
|
+ return new Promise((r, j) => {
|
|
|
+ let params = {ids}
|
|
|
+ if(type) {
|
|
|
+ params.schoolId = this.userInfo.azp
|
|
|
+ }
|
|
|
+ this.$api.learnActivity.getClassNameByIds(params).then(res => {
|
|
|
+ if(res.groups) {
|
|
|
+ r(res.groups)
|
|
|
+ } else {
|
|
|
+ r([])
|
|
|
+ }
|
|
|
+ }).catch(e => {
|
|
|
+ j(e)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ timeStatus(data, type) {
|
|
|
+ // type:只获取活动是否结束
|
|
|
+ let date = (new Date()).getTime() //当前时间
|
|
|
+ if (date >= data.endTime) {
|
|
|
+ if(type) {
|
|
|
+ return 'finish'
|
|
|
+ } else if(data.type != 'Exam'){
|
|
|
+ return 'finish'
|
|
|
+ } else {
|
|
|
+ // 线上评测、未作答
|
|
|
+ if(data.taskStatus === -1 && data.source === '0') {
|
|
|
+ // 缺考
|
|
|
+ return 'noAns'
|
|
|
+ } else if(!data.sStatus) {
|
|
|
+ // 以前的sStatus都为0,所以全是未评分
|
|
|
+ // 未评分
|
|
|
+ return 'noScore'
|
|
|
+ } else {
|
|
|
+ // 已结束
|
|
|
+ return 'finish'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return 'going'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //时间格式化处理
|
|
|
+ dateFormat(timestamp) {
|
|
|
+ var date = new Date(timestamp)
|
|
|
+ var Y = date.getFullYear() + '-'
|
|
|
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
|
|
|
+ var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '
|
|
|
+ var H = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ":"
|
|
|
+ var Min = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
|
|
|
+ var S = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()) + " "
|
|
|
+ return Y + M + D + H + Min;
|
|
|
+ },
|
|
|
+ getTimeSub(sub) {
|
|
|
+ // 天数
|
|
|
+ var days = Math.floor(sub / (24 * 3600 * 1000))
|
|
|
+ // 小时
|
|
|
+ var leave1 = sub % (24 * 3600 *1000)
|
|
|
+ var hours = Math.floor(leave1 / (3600 * 1000))
|
|
|
+ if(hours < 10) {
|
|
|
+ hours = "0" + hours
|
|
|
+ }
|
|
|
+ // 分钟
|
|
|
+ var leave2 = leave1 % (3600 * 1000)
|
|
|
+ var minutes = Math.floor(leave2 / (60 * 1000))
|
|
|
+ if(minutes < 10) {
|
|
|
+ minutes = "0" + minutes
|
|
|
+ }
|
|
|
+ // 秒
|
|
|
+ var leave3 = leave2 % (60 * 1000);
|
|
|
+ var seconds = Math.round(leave3 / 1000);
|
|
|
+ if (seconds < 10) {
|
|
|
+ seconds = "0" + seconds;
|
|
|
+ }
|
|
|
+
|
|
|
+ return (days ? (days + this.$t("studentWeb.public.day")) : '') + hours + this.$t("studentWeb.public.hour") + minutes + this.$t("studentWeb.public.minute")
|
|
|
+ },
|
|
|
+ getTeacherName(id) {
|
|
|
+ return new Promise((r, j) => {
|
|
|
+ this.$api.studentWeb.getTeacherName({id}).then(res => {
|
|
|
+ r(res)
|
|
|
+ }).catch(e => {
|
|
|
+ j(e)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ sentSelectedEventTitle(item) {
|
|
|
+ let path = item.type === 'Exam' ? '/studentWeb/examView' : (item.type === 'Homework' ? '/studentWeb/homeworkView' : '/studentWeb/eventView')
|
|
|
+ this.$router.push({
|
|
|
+ path,
|
|
|
+ query: {aId: item.id}
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState({
|
|
|
+ userInfo: state => state.userInfo,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ beforeDestroy () {
|
|
|
+ clearInterval(this.countDown)
|
|
|
+ this.countDown = null
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+@import './HomeViewnnnnew.less';
|
|
|
+@import "~@/assets/student-web/component_styles/event-list-new.less";
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="less">
|
|
|
+.home-view {
|
|
|
+ .home-title-name {
|
|
|
+ font-size: 16px;
|
|
|
+ border-left: 5px solid #24b880;
|
|
|
+ padding-left: 10px;
|
|
|
+ height: 20px;
|
|
|
+ line-height: 20px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|