|
@@ -1,401 +1,409 @@
|
|
|
<template>
|
|
|
- <div class="lesson-test">
|
|
|
- <br />
|
|
|
-
|
|
|
- <div v-if="showHint == true" class="warmMessage">
|
|
|
- <div class="messageCard previewNextItemCard animate__animated animate__fadeInDown">
|
|
|
- <h2>前往下一個活動</h2>
|
|
|
- <div class="list-item-icon">
|
|
|
- <svg-icon v-if="nextItem.eventType == '作業'" icon-class="doc" />
|
|
|
- <svg-icon
|
|
|
- v-if="nextItem.eventType == '課前預習'"
|
|
|
- icon-class="selflearninginTime"
|
|
|
- />
|
|
|
- <svg-icon
|
|
|
- v-if="
|
|
|
+ <div class="lesson-test">
|
|
|
+ <br />
|
|
|
+
|
|
|
+ <div v-if="showHint == true" class="warmMessage">
|
|
|
+ <div class="messageCard previewNextItemCard animate__animated animate__fadeInDown">
|
|
|
+ <h2>前往下一個活動</h2>
|
|
|
+ <div class="list-item-icon">
|
|
|
+ <svg-icon v-if="nextItem.eventType == '作業'" icon-class="doc" />
|
|
|
+ <svg-icon v-if="nextItem.eventType == '課前預習'"
|
|
|
+ icon-class="selflearninginTime" />
|
|
|
+ <svg-icon v-if="
|
|
|
nextItem.eventType == '評量' &&
|
|
|
nextItem.eventSubject != '綜合學科'
|
|
|
"
|
|
|
- icon-class="test"
|
|
|
- class="reset-testIcon"
|
|
|
- />
|
|
|
- <svg-icon
|
|
|
- v-if="
|
|
|
+ icon-class="test"
|
|
|
+ class="reset-testIcon" />
|
|
|
+ <svg-icon v-if="
|
|
|
nextItem.eventType == '評量' &&
|
|
|
nextItem.eventSubject == '綜合學科'
|
|
|
"
|
|
|
- icon-class="multiTest"
|
|
|
- class="reset-testIcon"
|
|
|
- />
|
|
|
- <svg-icon v-if="nextItem.eventType == '投票'" icon-class="vote" />
|
|
|
- </div>
|
|
|
- <p class="nextItemTitle">
|
|
|
- <span class="typeMark">{{ nextItem.eventType }}</span>
|
|
|
- {{ nextItem.eventName }}
|
|
|
- </p>
|
|
|
- <div class="setting-checkbox">
|
|
|
- <input type="checkbox" v-model="unhintNextItem" />
|
|
|
- <label> 下次不再詢問,如欲恢復提示,於個人設定頁面勾選</label>
|
|
|
- </div>
|
|
|
- <br />
|
|
|
- <button @click="cancelPreview()">取消,自行查看</button>
|
|
|
- <button @click="gotoNextItem()">確定</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <LessonTestPop
|
|
|
- v-if="this.$store.getters.getisOpenLessonTestPopNow"
|
|
|
- @isHintNextItem="getisHint"
|
|
|
- />
|
|
|
- <div>
|
|
|
- <EventBasicInfo />
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.allowRetryNow == false
|
|
|
- "
|
|
|
- >
|
|
|
- <br v-if="!ishideHint" />
|
|
|
- <div class="dec animate__animated animate__bounceInLeft" v-if="!ishideHint">
|
|
|
- <svg-icon icon-class="handonHint" class="warm-icon" />
|
|
|
- <span class="warm-hint">{{ $t("studentWeb.exam.timeoutHint") }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.allowRetryNow == true
|
|
|
- "
|
|
|
- >
|
|
|
- <br v-if="!ishideHint" />
|
|
|
- <div class="dec animate__animated animate__bounceInLeft" v-if="!ishideHint">
|
|
|
- <svg-icon icon-class="handonHint" class="warm-icon" />
|
|
|
- <span
|
|
|
- class="warm-hint"
|
|
|
- v-if="this.$store.getters.getCurrentLaguage == 'tw'"
|
|
|
- >
|
|
|
- 評量活動時間已結束,請於
|
|
|
- <span class="retry-date">2020.02.13 23:59 前</span
|
|
|
- >完成補考,逾時將以0分計算。
|
|
|
- </span>
|
|
|
- <span
|
|
|
- class="warm-hint"
|
|
|
- v-if="this.$store.getters.getCurrentLaguage == 'en'"
|
|
|
- >
|
|
|
- The exam task time has ended, please make up the exam
|
|
|
- <span class="retry-date">before 2020.02.13 23:59</span> or your
|
|
|
- score would be 0.
|
|
|
- </span>
|
|
|
- <span @click="hidehint()" class="close-hint-btn">
|
|
|
- <Icon type="md-close" class="close-icon" />
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="title-rect-group"
|
|
|
- v-if="
|
|
|
- (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime > '2020.02.10') ||
|
|
|
- (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.allowRetryNow == true)
|
|
|
- "
|
|
|
- >
|
|
|
- <div class="title-rect" />
|
|
|
- <h2 class="title-rect-name">{{ $t("studentWeb.exam.examLink") }}</h2>
|
|
|
- </div>
|
|
|
- <!--單一學科試卷-->
|
|
|
- <div
|
|
|
- v-if="(
|
|
|
- this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime > '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.eventSubject != '綜合學科') ||
|
|
|
- (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.allowRetryNow == true &&
|
|
|
- this.$store.getters.getItemTitle.eventSubject != '綜合學科')
|
|
|
- "
|
|
|
- class="tasks"
|
|
|
- @click="opentest()"
|
|
|
- >
|
|
|
- <div class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{ this.$store.getters.getItemTitle.eventSubject }}科試卷
|
|
|
- </div>
|
|
|
- <div class="title" v-if="getCurrentLang() == 'en'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{ transSubjecttoEn(this.$store.getters.getItemTitle.eventSubject) }}
|
|
|
- Exam
|
|
|
+ icon-class="multiTest"
|
|
|
+ class="reset-testIcon" />
|
|
|
+ <svg-icon v-if="nextItem.eventType == '投票'" icon-class="vote" />
|
|
|
+ </div>
|
|
|
+ <p class="nextItemTitle">
|
|
|
+ <span class="typeMark">{{ nextItem.eventType }}</span>
|
|
|
+ {{ nextItem.name }}
|
|
|
+ </p>
|
|
|
+ <div class="setting-checkbox">
|
|
|
+ <input type="checkbox" v-model="unhintNextItem" />
|
|
|
+ <label> 下次不再詢問,如欲恢復提示,於個人設定頁面勾選</label>
|
|
|
+ </div>
|
|
|
+ <br />
|
|
|
+ <button @click="cancelPreview()">取消,自行查看</button>
|
|
|
+ <button @click="gotoNextItem()">確定</button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!--依試卷是否完成顯示打勾狀態-->
|
|
|
- <li
|
|
|
- :class="{
|
|
|
- finished: finishedfromTestPop() == true,
|
|
|
- unfinished: finishedfromTestPop() == false,
|
|
|
- }"
|
|
|
- >
|
|
|
- <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
- </li>
|
|
|
- </div>
|
|
|
|
|
|
- <!----->
|
|
|
- <!--多學科試卷-->
|
|
|
|
|
|
|
|
|
+ <LessonTestPop v-if="openEva" />
|
|
|
|
|
|
|
|
|
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime > '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.eventSubject == '綜合學科') ||
|
|
|
- (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
- this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
- this.$store.getters.getItemTitle.allowRetryNow == true &&
|
|
|
- this.$store.getters.getItemTitle.eventSubject == '綜合學科')
|
|
|
- "
|
|
|
- >
|
|
|
- <ul
|
|
|
- v-for="(item, index) in multiSubject"
|
|
|
- :key="index"
|
|
|
- class="tasks"
|
|
|
- @click="opentestWithSubject(item)"
|
|
|
- >
|
|
|
- <li class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{ item }}科試卷
|
|
|
- </li>
|
|
|
- <li class="title" v-if="getCurrentLang() == 'en'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{ transSubjecttoEn(item) }} Exam
|
|
|
- </li>
|
|
|
- <!--依試卷是否完成顯示打勾狀態-->
|
|
|
- <li
|
|
|
- :class="{
|
|
|
- finished: getNowdoneSubject().includes(item) == true,
|
|
|
- unfinished: getNowdoneSubject().includes(item) == false,
|
|
|
- }"
|
|
|
- >
|
|
|
- <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- <!--多學科試卷-->
|
|
|
- <!--如果評量已結束則顯示學情報告分頁-->
|
|
|
- <br />
|
|
|
- <Tabs
|
|
|
- value="tab2"
|
|
|
- v-if="this.$store.getters.getItemTitle.isDone == true"
|
|
|
- :animated="false"
|
|
|
- >
|
|
|
- <TabPane :label="$t('studentWeb.exam.contentPage')" name="tab1">
|
|
|
- <br />
|
|
|
- <div class="dec animate__animated animate__headShake">
|
|
|
- <span class="warm-hint">{{ $t("studentWeb.exam.practiceHint") }}</span>
|
|
|
- </div>
|
|
|
- <!--單一學科試卷-->
|
|
|
- <div class="title-rect-group">
|
|
|
- <div class="title-rect" />
|
|
|
- <h2 class="title-rect-name">{{ $t("studentWeb.exam.examLink") }}</h2>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- v-if="this.$store.getters.getItemTitle.eventSubject != '綜合學科'"
|
|
|
- class="tasks"
|
|
|
- @click="opentest()"
|
|
|
- >
|
|
|
- <div class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{ this.$store.getters.getItemTitle.eventSubject }}科試卷
|
|
|
- </div>
|
|
|
- <div class="title" v-if="getCurrentLang() == 'en'">
|
|
|
- <span style="position: relative; top: 1px">
|
|
|
- <svg-icon icon-class="test" class="title-icon" />
|
|
|
- </span>
|
|
|
- {{
|
|
|
- transSubjecttoEn(this.$store.getters.getItemTitle.eventSubject)
|
|
|
- }}
|
|
|
- Exam
|
|
|
+ <div>
|
|
|
+ <EventBasicInfo :paper="paperData" />
|
|
|
+ <div v-if="this.$store.getters.getItemTitle.isDone == false && this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&this.$store.getters.getItemTitle.allowRetryNow == false">
|
|
|
+ <br v-if="!ishideHint" />
|
|
|
+ <div class="dec animate__animated animate__bounceInLeft" v-if="!ishideHint">
|
|
|
+ <svg-icon icon-class="handonHint" class="warm-icon" />
|
|
|
+ <span class="warm-hint">{{ $t("studentWeb.exam.timeoutHint") }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!--依試卷是否完成顯示打勾狀態-->
|
|
|
- <!--li :class="{
|
|
|
- finished: true,
|
|
|
- }">
|
|
|
- <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
- </li-->
|
|
|
- </div>
|
|
|
-
|
|
|
- <!----->
|
|
|
- <!--多學科試卷-->
|
|
|
- <div
|
|
|
- v-if="this.$store.getters.getItemTitle.eventSubject == '綜合學科'"
|
|
|
- >
|
|
|
- <ul
|
|
|
- v-for="(item, index) in multiSubject"
|
|
|
- :key="index"
|
|
|
+ <!--<div
|
|
|
+ v-if=" this.$store.getters.getItemTitle.isDone == false && this.$store.getters.getItemTitle.endTime <= '2020.02.10' && this.$store.getters.getItemTitle.allowRetryNow == true " >
|
|
|
+ <br v-if="!ishideHint" />
|
|
|
+ <div class="dec animate__animated animate__bounceInLeft" v-if="!ishideHint">
|
|
|
+ <svg-icon icon-class="handonHint" class="warm-icon" />
|
|
|
+ <span
|
|
|
+ class="warm-hint"
|
|
|
+ v-if="this.$store.getters.getCurrentLaguage == 'tw'"
|
|
|
+ >
|
|
|
+ 評量活動時間已結束,請於
|
|
|
+ <span class="retry-date">2020.02.13 23:59 前</span
|
|
|
+ >完成補考,逾時將以0分計算。
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ class="warm-hint"
|
|
|
+ v-if="this.$store.getters.getCurrentLaguage == 'en'"
|
|
|
+ >
|
|
|
+ The exam task time has ended, please make up the exam
|
|
|
+ <span class="retry-date">before 2020.02.13 23:59</span> or your
|
|
|
+ score would be 0.
|
|
|
+ </span>
|
|
|
+ <span @click="hidehint()" class="close-hint-btn">
|
|
|
+ <Icon type="md-close" class="close-icon" />
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>-->
|
|
|
+ <!--<div
|
|
|
+ class="title-rect-group"
|
|
|
+ v-if="
|
|
|
+ (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
+ this.$store.getters.getItemTitle.endTime > '2020.02.10') ||
|
|
|
+ (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
+ this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
+ this.$store.getters.getItemTitle.allowRetryNow == true)
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="title-rect" />
|
|
|
+ <h2 class="title-rect-name">{{ $t("studentWeb.exam.examLink") }}</h2>
|
|
|
+ </div>-->
|
|
|
+ <!--單一學科試卷-->
|
|
|
+ <!--<div
|
|
|
+ v-if="(
|
|
|
+ this.$store.getters.getItemTitle.isDone == false &&
|
|
|
+ this.$store.getters.getItemTitle.endTime > '2020.02.10' &&
|
|
|
+ this.$store.getters.getItemTitle.eventSubject != '綜合學科') ||
|
|
|
+ (this.$store.getters.getItemTitle.isDone == false &&
|
|
|
+ this.$store.getters.getItemTitle.endTime <= '2020.02.10' &&
|
|
|
+ this.$store.getters.getItemTitle.allowRetryNow == true &&
|
|
|
+ this.$store.getters.getItemTitle.eventSubject != '綜合學科')
|
|
|
+ "
|
|
|
class="tasks"
|
|
|
@click="opentest()"
|
|
|
>
|
|
|
- <li class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
+ <div class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
<span style="position: relative; top: 1px">
|
|
|
<svg-icon icon-class="test" class="title-icon" />
|
|
|
</span>
|
|
|
- {{ item }}科試卷
|
|
|
- </li>
|
|
|
- <li class="title" v-if="getCurrentLang() == 'en'">
|
|
|
+ {{ this.$store.getters.getItemTitle.eventSubject }}科試卷
|
|
|
+ </div>
|
|
|
+ <div class="title" v-if="getCurrentLang() == 'en'">
|
|
|
<span style="position: relative; top: 1px">
|
|
|
<svg-icon icon-class="test" class="title-icon" />
|
|
|
</span>
|
|
|
- {{ transSubjecttoEn(item) }} Exam
|
|
|
+ {{ transSubjecttoEn(this.$store.getters.getItemTitle.eventSubject) }}
|
|
|
+ Exam
|
|
|
+ </div>-->
|
|
|
+ <!--依試卷是否完成顯示打勾狀態-->
|
|
|
+ <!--<li
|
|
|
+ :class="{
|
|
|
+ finished: finishedfromTestPop() == true,
|
|
|
+ unfinished: finishedfromTestPop() == false,
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
</li>
|
|
|
- <!--依試卷是否完成顯示打勾狀態-->
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
+ </div>-->
|
|
|
+ <!----->
|
|
|
+ <!--多學科試卷-->
|
|
|
+ <div v-if="paperData.length >1 ">
|
|
|
+ <ul v-for="(item, index) in paperData"
|
|
|
+ :key="index"
|
|
|
+ class="tasks"
|
|
|
+ @click="opentestWithSubject(item)">
|
|
|
+ <li class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ item.subject.name }}科試卷
|
|
|
+ </li>
|
|
|
+ <!--<li class="title" v-if="getCurrentLang() == 'en'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ transSubjecttoEn(item) }} Exam
|
|
|
+ </li>-->
|
|
|
+ <!--依試卷是否完成顯示打勾狀態-->
|
|
|
+ <li :class="{
|
|
|
+ finished: getNowdoneSubject().includes(item) == true,
|
|
|
+ unfinished: getNowdoneSubject().includes(item) == false,
|
|
|
+ }">
|
|
|
+ <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
|
|
|
- <!----->
|
|
|
- </TabPane>
|
|
|
- <TabPane :label="$t('studentWeb.exam.scorePage')" name="tab2">
|
|
|
- <LessonTestReport />
|
|
|
- </TabPane>
|
|
|
- </Tabs>
|
|
|
+
|
|
|
+ <!--多學科試卷-->
|
|
|
+ <!--如果評量已結束則顯示學情報告分頁-->
|
|
|
+ <br />
|
|
|
+ <Tabs value="tab2"
|
|
|
+ v-if="this.$store.getters.getItemTitle.isDone == true"
|
|
|
+ :animated="false">
|
|
|
+ <TabPane :label="$t('studentWeb.exam.contentPage')" name="tab1">
|
|
|
+ <br />
|
|
|
+ <div class="dec animate__animated animate__headShake">
|
|
|
+ <span class="warm-hint">{{ $t("studentWeb.exam.practiceHint") }}</span>
|
|
|
+ </div>
|
|
|
+ <!--單一學科試卷-->
|
|
|
+ <div class="title-rect-group">
|
|
|
+ <div class="title-rect" />
|
|
|
+ <h2 class="title-rect-name">{{ $t("studentWeb.exam.examLink") }}</h2>
|
|
|
+ </div>
|
|
|
+ <div v-if="this.$store.getters.getItemTitle.eventSubject != '綜合學科'"
|
|
|
+ class="tasks"
|
|
|
+ @click="opentest()">
|
|
|
+ <div class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ this.$store.getters.getItemTitle.eventSubject }}科試卷
|
|
|
+ </div>
|
|
|
+ <div class="title" v-if="getCurrentLang() == 'en'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ transSubjecttoEn(this.$store.getters.getItemTitle.eventSubject)}}
|
|
|
+ Exam
|
|
|
+ </div>
|
|
|
+ <!--依試卷是否完成顯示打勾狀態-->
|
|
|
+ <!--li :class="{
|
|
|
+ finished: true,
|
|
|
+ }">
|
|
|
+ <Icon class="doneicon" type="ios-checkmark" size="36" />
|
|
|
+ </li-->
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!----->
|
|
|
+ <!--多學科試卷-->
|
|
|
+ <div v-if="paperData.length >1">
|
|
|
+ <ul v-for="(item, index) in multiSubject"
|
|
|
+ :key="index"
|
|
|
+ class="tasks"
|
|
|
+ @click="opentest()">
|
|
|
+ <li class="title" v-if="getCurrentLang() == 'tw'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ item }}科試卷
|
|
|
+ </li>
|
|
|
+ <li class="title" v-if="getCurrentLang() == 'en'">
|
|
|
+ <span style="position: relative; top: 1px">
|
|
|
+ <svg-icon icon-class="test" class="title-icon" />
|
|
|
+ </span>
|
|
|
+ {{ transSubjecttoEn(item) }} Exam
|
|
|
+ </li>
|
|
|
+ <!--依試卷是否完成顯示打勾狀態-->
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!----->
|
|
|
+
|
|
|
+ </TabPane>
|
|
|
+ <!--评量分析数据返回-->
|
|
|
+ <TabPane :label="$t('studentWeb.exam.scorePage')" name="tab2">
|
|
|
+ <LessonTestReport />
|
|
|
+ </TabPane>
|
|
|
+ </Tabs>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import EventBasicInfo from "../../EventBasicInfo";
|
|
|
+ import EventBasicInfo from "../../EventBasicInfo";
|
|
|
+
|
|
|
+ import LessonTestReport from "./LessonTestReport";
|
|
|
+ import LessonTestPop from "./LessonTestPop";
|
|
|
+ //import mockdata from "@/api/newData";
|
|
|
+ //import mockdataEn from "@/api/newDataEn";
|
|
|
+ export default {
|
|
|
+ name: "LessonTest",
|
|
|
+ components: {
|
|
|
+ EventBasicInfo,
|
|
|
+ LessonTestReport,
|
|
|
+ LessonTestPop,
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+
|
|
|
+ //if(localStorage.getItem("lang") == ""){
|
|
|
+ // this.mockdata = mockdata.eventList;
|
|
|
+ //}
|
|
|
+ //if (localStorage.getItem("lang") == "tw") {
|
|
|
+ // this.mockdata = mockdata.eventList;
|
|
|
+ //} else this.mockdata = mockdataEn.eventList;
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getPaperData()
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ unhintNextItem: false,
|
|
|
+ ishideHint: false,
|
|
|
+ multiSubject: ["國文", "英文", "數學"],
|
|
|
+
|
|
|
+ //提示下一個
|
|
|
+ mockdata: "",
|
|
|
+ nextItem: "", //存放下個活動預告
|
|
|
+ isHintNextItem: false,
|
|
|
+ showHint: false,
|
|
|
+ paperData: [],
|
|
|
+ openEva: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getPaperData() {
|
|
|
+ console.log(this.$store.getters.getPaperInfo)
|
|
|
+ if (this.$store.getters.getPaperInfo.name !== undefined) {
|
|
|
+ let paper = this.$store.getters.getPaperInfo
|
|
|
+ let req = {
|
|
|
+ id: paper.id,
|
|
|
+ code: paper.code,
|
|
|
+ studentId: this.$store.state.userInfo.sub,
|
|
|
+ school: paper.school
|
|
|
+ }
|
|
|
+ this.$api.studentWeb.FindStudentPaper(req).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ let resData = res.props
|
|
|
+ let sub = []
|
|
|
+ for (let item of resData) {
|
|
|
+ if (item.scope) {
|
|
|
+ this.paperData.push(item)
|
|
|
+ } else {
|
|
|
+ sub = item
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(sub)
|
|
|
+ for (let i = 0; i < this.paperData.length; i++) {
|
|
|
+ this.paperData[i].subject = sub.subjects[i]
|
|
|
+ this.paperData[i].stuAns = res.stuAns[i]
|
|
|
+ }
|
|
|
+ console.log(this.paperData)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 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() + ' '
|
|
|
+ return Y + M + D;
|
|
|
+ },
|
|
|
|
|
|
-import LessonTestReport from "./LessonTestReport";
|
|
|
-import LessonTestPop from "./LessonTestPop";
|
|
|
-import mockdata from "@/api/newData";
|
|
|
-import mockdataEn from "@/api/newDataEn";
|
|
|
-export default {
|
|
|
- name: "LessonTest",
|
|
|
- components: {
|
|
|
- EventBasicInfo,
|
|
|
- LessonTestReport,
|
|
|
- LessonTestPop,
|
|
|
- },
|
|
|
- created() {
|
|
|
- if(localStorage.getItem("lang") == ""){
|
|
|
- this.mockdata = mockdata.eventList;
|
|
|
- }
|
|
|
- if (localStorage.getItem("lang") == "tw") {
|
|
|
- this.mockdata = mockdata.eventList;
|
|
|
- } else this.mockdata = mockdataEn.eventList;
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- unhintNextItem: false,
|
|
|
- ishideHint: false,
|
|
|
- multiSubject: ["國文", "英文", "數學"],
|
|
|
+ getisHint(data) {
|
|
|
+ this.isHintNextItem = data;
|
|
|
+ console.log(this.isHintNextItem);
|
|
|
+ this.previewNext();
|
|
|
+ console.log(localStorage.getItem("hintNextItem")) //讀取是否顯示提示下一個
|
|
|
+ if (localStorage.getItem("hintNextItem") != "false") {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.showHint = true;
|
|
|
+ }, 4000);
|
|
|
+ }
|
|
|
|
|
|
- //提示下一個
|
|
|
- mockdata: "",
|
|
|
- nextItem: "", //存放下個活動預告
|
|
|
- isHintNextItem: false,
|
|
|
- showHint: false,
|
|
|
+ this.isHintNextItem = false;
|
|
|
+ },
|
|
|
+ cancelPreview() {
|
|
|
+ this.showHint = false;
|
|
|
+ },
|
|
|
+ gotoNextItem() {
|
|
|
+ if (this.unhintNextItem == true) {
|
|
|
+ this.$store.commit("sethintNextItem", false);
|
|
|
+ }
|
|
|
+ if (this.nextItem != "allfinished") {
|
|
|
+ this.$store.commit("ChangeItemName", this.nextItem);
|
|
|
+ this.$router.push("/studentWeb/eventView#" + this.nextItem.eventID);
|
|
|
+ this.$store.commit("SetisFromInfoPoptpScroll", true);
|
|
|
+ } else {
|
|
|
+ this.$router.push("/studentWeb/homeView");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ previewNext() {
|
|
|
+ this.isPreviewNextItem = true;
|
|
|
+ let eventPageType = ["課前預習", "評量", "作業", "投票"];
|
|
|
+ let nextItems = [];
|
|
|
+ for (let i = 0; i < this.mockdata.length; i++) {
|
|
|
+ if (
|
|
|
+ eventPageType.includes(this.mockdata[i].eventType) &&
|
|
|
+ this.mockdata[i].isDone == false &&
|
|
|
+ this.$store.getters.getFinishedItem.includes(
|
|
|
+ this.mockdata[i].eventID
|
|
|
+ ) == false
|
|
|
+ ) {
|
|
|
+ nextItems.push(this.mockdata[i]); //引導使用者前往下一個未完成的項目
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (nextItems != "") {
|
|
|
+ if (
|
|
|
+ nextItems[0].eventName ==
|
|
|
+ this.mockdata[this.mockdata.length - 1].eventName
|
|
|
+ ) {
|
|
|
+ console.log("沒有下一個!");
|
|
|
+ this.nextItem = "allfinished";
|
|
|
+ }
|
|
|
+ console.log("下一個:" + nextItems[0].eventName);
|
|
|
+ this.nextItem = nextItems[0];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCurrentLang() {
|
|
|
+ return localStorage.getItem("lang");
|
|
|
+ },
|
|
|
+ getNowdoneSubject() {
|
|
|
+ return this.$store.getters.getCurrentfinishedSubject;
|
|
|
+ },
|
|
|
+ finishedfromTestPop() {
|
|
|
+ return this.$store.getters.getFinishedItem.includes(
|
|
|
+ this.$store.getters.getItemTitle.eventID
|
|
|
+ );
|
|
|
+ },
|
|
|
+ hidehint() {
|
|
|
+ this.ishideHint = !this.ishideHint;
|
|
|
+ },
|
|
|
+ opentest: function () {
|
|
|
+ this.$store.commit("ToggleLessonTestPop");
|
|
|
+ },
|
|
|
+ opentestWithSubject: function (item) {
|
|
|
+ this.openEva = false
|
|
|
+ console.log(item)
|
|
|
+ if (item.name !== '') {
|
|
|
+ this.$store.commit("ToggleLessonTestPopWithSubject", item);
|
|
|
+ console.log('打开')
|
|
|
+ this.openEva = true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ transSubjecttoEn(type) {
|
|
|
+ if (type == "國文") return "Chinese";
|
|
|
+ else if (type == "英文") return "English";
|
|
|
+ else if (type == "數學") return "Math";
|
|
|
+ else if (type == "綜合學科") return "Comprehensive";
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
- },
|
|
|
- methods: {
|
|
|
- getisHint(data) {
|
|
|
- this.isHintNextItem = data;
|
|
|
- console.log(this.isHintNextItem);
|
|
|
- this.previewNext();
|
|
|
- console.log(localStorage.getItem("hintNextItem") ) //讀取是否顯示提示下一個
|
|
|
- if (localStorage.getItem("hintNextItem") != "false") {
|
|
|
- setTimeout(() => {
|
|
|
- this.showHint = true;
|
|
|
- }, 4000);}
|
|
|
-
|
|
|
- this.isHintNextItem = false;
|
|
|
- },
|
|
|
- cancelPreview() {
|
|
|
- this.showHint = false;
|
|
|
- },
|
|
|
- gotoNextItem() {
|
|
|
- if (this.unhintNextItem == true) {
|
|
|
- this.$store.commit("sethintNextItem", false);
|
|
|
- }
|
|
|
- if (this.nextItem != "allfinished") {
|
|
|
- this.$store.commit("ChangeItemName", this.nextItem);
|
|
|
- this.$router.push("/studentWeb/eventView#" + this.nextItem.eventID);
|
|
|
- this.$store.commit("SetisFromInfoPoptpScroll", true);
|
|
|
- } else {
|
|
|
- this.$router.push("/studentWeb/homeView");
|
|
|
- }
|
|
|
- },
|
|
|
- previewNext() {
|
|
|
- this.isPreviewNextItem = true;
|
|
|
- let eventPageType = ["課前預習", "評量", "作業", "投票"];
|
|
|
- let nextItems = [];
|
|
|
- for (let i = 0; i < this.mockdata.length; i++) {
|
|
|
- if (
|
|
|
- eventPageType.includes(this.mockdata[i].eventType) &&
|
|
|
- this.mockdata[i].isDone == false &&
|
|
|
- this.$store.getters.getFinishedItem.includes(
|
|
|
- this.mockdata[i].eventID
|
|
|
- ) == false
|
|
|
- ) {
|
|
|
- nextItems.push(this.mockdata[i]); //引導使用者前往下一個未完成的項目
|
|
|
- }
|
|
|
- }
|
|
|
- if (nextItems != "") {
|
|
|
- if (
|
|
|
- nextItems[0].eventName ==
|
|
|
- this.mockdata[this.mockdata.length - 1].eventName
|
|
|
- ) {
|
|
|
- console.log("沒有下一個!");
|
|
|
- this.nextItem = "allfinished";
|
|
|
- }
|
|
|
- console.log("下一個:" + nextItems[0].eventName);
|
|
|
- this.nextItem = nextItems[0];
|
|
|
- }
|
|
|
- },
|
|
|
- getCurrentLang() {
|
|
|
- return localStorage.getItem("lang");
|
|
|
- },
|
|
|
- getNowdoneSubject() {
|
|
|
- return this.$store.getters.getCurrentfinishedSubject;
|
|
|
- },
|
|
|
- finishedfromTestPop() {
|
|
|
- return this.$store.getters.getFinishedItem.includes(
|
|
|
- this.$store.getters.getItemTitle.eventID
|
|
|
- );
|
|
|
- },
|
|
|
- hidehint() {
|
|
|
- this.ishideHint = !this.ishideHint;
|
|
|
- },
|
|
|
- opentest: function () {
|
|
|
- this.$store.commit("ToggleLessonTestPop");
|
|
|
- },
|
|
|
- opentestWithSubject: function (item) {
|
|
|
- console.log(item);
|
|
|
- this.$store.commit("ToggleLessonTestPopWithSubject", item);
|
|
|
- console.log(this.$store.getters.getCurrentSubject);
|
|
|
- },
|
|
|
- transSubjecttoEn(type) {
|
|
|
- if (type == "國文") return "Chinese";
|
|
|
- else if (type == "英文") return "English";
|
|
|
- else if (type == "數學") return "Math";
|
|
|
- else if (type == "綜合學科") return "Comprehensive";
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
-@import "~@/assets/student-web/component_styles/lesson-test.css";
|
|
|
+ @import "~@/assets/student-web/component_styles/lesson-test.css";
|
|
|
</style>
|