|
@@ -385,111 +385,113 @@
|
|
|
</Carousel>
|
|
|
</template>
|
|
|
</div>
|
|
|
- <div style="width: 50%; margin-left: 20px;">
|
|
|
- <div v-for="(exam, indexs) in paperData" :key="indexs" style="margin-bottom: 40px;"
|
|
|
- v-show="checkedAnsFilter(false, indexs) || (exam.type === 'compose' && ((checkedAns.includes('right') && exam.rightNum) || (checkedAns.includes('wrong') && !exam.rightNum)))"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <div style="float: right;">
|
|
|
- <span style="font-size: 20px; color:#00ad6c;">{{ exam.getScore }}</span>
|
|
|
- / <span style="font-size: 12px;">{{ exam.score }}{{ $t("studentWeb.exam.score111") }}</span>
|
|
|
- </div>
|
|
|
- <div style="display: flex; font-size: 16px; margin-bottom: 10px;">
|
|
|
- <span style="margin-right: 10px;">
|
|
|
- <Icon type="md-close-circle" color="#FF5508" size="25"
|
|
|
- v-show="exam.getScore != exam.score"
|
|
|
- />
|
|
|
- <Icon type="md-checkmark-circle" color="#00AD6C" size="25"
|
|
|
- v-show="exam.getScore === exam.score"
|
|
|
- />
|
|
|
- </span>
|
|
|
- <p style="max-width:75px;font-weight:600">{{ indexs + 1 }}.</p>
|
|
|
- <span class="tag-style">{{ getTestType(exam.type) }}</span>
|
|
|
- <!-- <div class="que-item" v-html="exam.question"></div> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.ansRes") }}】</span>
|
|
|
- <div v-if="exam.stuAns.length" class="item-explain-details">
|
|
|
- <span v-for="(stuAns, indexA) in exam.stuAns" :key="indexA" v-html="stuAns"></span>
|
|
|
- </div>
|
|
|
- <div v-if="!exam.stuAns.length" class="item-explain-details">
|
|
|
- <span>{{ $t('studentWeb.exam.report.noAns') }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 批注 -->
|
|
|
- <!-- <div class="item-explain" v-if="exam.type != 'single' && exam.type != 'multiply' && exam.type != 'judge'">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.mark") }}】</span>
|
|
|
- <div v-if="exam.mark.length" class="item-explain-details">
|
|
|
- <img :src="exam.mark[0].imgUrl" alt="" v-if="exam.mark.length === 1">
|
|
|
- <Tabs v-else type="card">
|
|
|
- <TabPane :label="$t('studentWeb.exam.report.mark') + (mIndex + 1)" v-for="(mDate, mIndex) in exam.mark" :key="mIndex">
|
|
|
- <img :src="mDate.imgUrl" alt="">
|
|
|
- </TabPane>
|
|
|
- </Tabs>
|
|
|
+ <div style="width: 50%; margin-left: 20px; height: 500px;">
|
|
|
+ <vuescroll>
|
|
|
+ <div v-for="(exam, indexs) in paperData" :key="indexs" style="margin-bottom: 40px;"
|
|
|
+ v-show="checkedAnsFilter(false, indexs) || (exam.type === 'compose' && ((checkedAns.includes('right') && exam.rightNum) || (checkedAns.includes('wrong') && !exam.rightNum)))"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ <div style="float: right;">
|
|
|
+ <span style="font-size: 20px; color:#00ad6c;">{{ exam.getScore }}</span>
|
|
|
+ / <span style="font-size: 12px;">{{ exam.score }}{{ $t("studentWeb.exam.score111") }}</span>
|
|
|
</div>
|
|
|
- <div v-else class="item-explain-details">{{ $t("studentWeb.exam.report.noMark") }}</div>
|
|
|
- </div> -->
|
|
|
- <!-- 参考答案 -->
|
|
|
- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.testAns") }}】</span>
|
|
|
- <div v-if="exam.answer.length" class="item-explain-details">
|
|
|
- <div v-for="(answerC, indexCA) in exam.answer" :key="indexCA" v-html="answerC"></div>
|
|
|
- </div>
|
|
|
- <div v-if="!exam.answer.length" class="item-explain-details">
|
|
|
- <span>{{ $t('studentWeb.exam.report.noAns') }}</span>
|
|
|
+ <div style="display: flex; font-size: 16px; margin-bottom: 10px;">
|
|
|
+ <span style="margin-right: 10px;">
|
|
|
+ <Icon type="md-close-circle" color="#FF5508" size="25"
|
|
|
+ v-show="exam.getScore != exam.score"
|
|
|
+ />
|
|
|
+ <Icon type="md-checkmark-circle" color="#00AD6C" size="25"
|
|
|
+ v-show="exam.getScore === exam.score"
|
|
|
+ />
|
|
|
+ </span>
|
|
|
+ <p style="max-width:75px;font-weight:600">{{ indexs + 1 }}.</p>
|
|
|
+ <span class="tag-style">{{ getTestType(exam.type) }}</span>
|
|
|
+ <!-- <div class="que-item" v-html="exam.question"></div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 解析 -->
|
|
|
- <!-- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.testAnalyse") }}】</span>
|
|
|
- <div class="item-explain-details">
|
|
|
- <div v-html="exam.explain ? exam.explain : $t('studentWeb.exam.report.noAnalyse')"></div>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
- <!-- 知识点 -->
|
|
|
- <!-- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.knowledge") }}】</span>
|
|
|
- <div v-if="exam.knowledge && exam.knowledge.length" class="item-explain-details">
|
|
|
- <span v-for="(knowledgeC, indexKC) in exam.knowledge" :key="indexKC" class="knowledge-style">
|
|
|
- {{ knowledgeC }}
|
|
|
- </span>
|
|
|
+ <div>
|
|
|
+ <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.ansRes") }}】</span>
|
|
|
+ <div v-if="exam.stuAns.length" class="item-explain-details">
|
|
|
+ <span v-for="(stuAns, indexA) in exam.stuAns" :key="indexA" v-html="stuAns"></span>
|
|
|
+ </div>
|
|
|
+ <div v-if="!exam.stuAns.length" class="item-explain-details">
|
|
|
+ <span>{{ $t('studentWeb.exam.report.noAns') }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div v-else class="item-explain-details">
|
|
|
- {{ $t("studentWeb.exam.report.noKnowledge") }}
|
|
|
+ <!-- 批注 -->
|
|
|
+ <!-- <div class="item-explain" v-if="exam.type != 'single' && exam.type != 'multiply' && exam.type != 'judge'">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.mark") }}】</span>
|
|
|
+ <div v-if="exam.mark.length" class="item-explain-details">
|
|
|
+ <img :src="exam.mark[0].imgUrl" alt="" v-if="exam.mark.length === 1">
|
|
|
+ <Tabs v-else type="card">
|
|
|
+ <TabPane :label="$t('studentWeb.exam.report.mark') + (mIndex + 1)" v-for="(mDate, mIndex) in exam.mark" :key="mIndex">
|
|
|
+ <img :src="mDate.imgUrl" alt="">
|
|
|
+ </TabPane>
|
|
|
+ </Tabs>
|
|
|
+ </div>
|
|
|
+ <div v-else class="item-explain-details">{{ $t("studentWeb.exam.report.noMark") }}</div>
|
|
|
+ </div> -->
|
|
|
+ <!-- 参考答案 -->
|
|
|
+ <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.testAns") }}】</span>
|
|
|
+ <div v-if="exam.answer.length" class="item-explain-details">
|
|
|
+ <div v-for="(answerC, indexCA) in exam.answer" :key="indexCA" v-html="answerC"></div>
|
|
|
+ </div>
|
|
|
+ <div v-if="!exam.answer.length" class="item-explain-details">
|
|
|
+ <span>{{ $t('studentWeb.exam.report.noAns') }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div> -->
|
|
|
- <!-- 认知层次 -->
|
|
|
- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.filed") }}】</span>
|
|
|
- <div class="item-explain-details">
|
|
|
- <div>{{ levelList[exam.field - 1] }}</div>
|
|
|
+ <!-- 解析 -->
|
|
|
+ <!-- <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.testAnalyse") }}】</span>
|
|
|
+ <div class="item-explain-details">
|
|
|
+ <div v-html="exam.explain ? exam.explain : $t('studentWeb.exam.report.noAnalyse')"></div>
|
|
|
+ </div>
|
|
|
+ </div> -->
|
|
|
+ <!-- 知识点 -->
|
|
|
+ <!-- <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.knowledge") }}】</span>
|
|
|
+ <div v-if="exam.knowledge && exam.knowledge.length" class="item-explain-details">
|
|
|
+ <span v-for="(knowledgeC, indexKC) in exam.knowledge" :key="indexKC" class="knowledge-style">
|
|
|
+ {{ knowledgeC }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div v-else class="item-explain-details">
|
|
|
+ {{ $t("studentWeb.exam.report.noKnowledge") }}
|
|
|
+ </div>
|
|
|
+ </div> -->
|
|
|
+ <!-- 认知层次 -->
|
|
|
+ <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.filed") }}】</span>
|
|
|
+ <div class="item-explain-details">
|
|
|
+ <div>{{ levelList[exam.field - 1] }}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <!-- 补救资源 -->
|
|
|
- <!-- <div class="item-explain">
|
|
|
- <span class="explain-title">【{{ $t("studentWeb.exam.report.repairSource") }}】</span>
|
|
|
- <div class="item-explain-details">
|
|
|
- <span v-if="!exam.repair.length">{{$t("studentWeb.exam.report.noSource")}}</span>
|
|
|
- <div v-if="exam.repair && exam.repair.length" class="repair-box">
|
|
|
- <div v-for="(repairSource, normalIndex) in exam.repair" :key="normalIndex" class="repair-link-wrap-item-box">
|
|
|
- <div class="file-icon">
|
|
|
- <img :src="$tools.getFileThum(repairSource.type, repairSource.name)"/>
|
|
|
- </div>
|
|
|
- <div class="file-info">
|
|
|
- <p class="file-name">{{ repairSource.name }}</p>
|
|
|
- <div>
|
|
|
- <span @click="onPreview(repairSource)" v-if="repairSource.type !== 'other'">{{ $t('ability.review.preview')}}</span>
|
|
|
- <span @click="onDownload(repairSource)" v-if="repairSource.type !== 'link'">{{ $t('ability.review.download')}}</span>
|
|
|
+ <!-- 补救资源 -->
|
|
|
+ <!-- <div class="item-explain">
|
|
|
+ <span class="explain-title">【{{ $t("studentWeb.exam.report.repairSource") }}】</span>
|
|
|
+ <div class="item-explain-details">
|
|
|
+ <span v-if="!exam.repair.length">{{$t("studentWeb.exam.report.noSource")}}</span>
|
|
|
+ <div v-if="exam.repair && exam.repair.length" class="repair-box">
|
|
|
+ <div v-for="(repairSource, normalIndex) in exam.repair" :key="normalIndex" class="repair-link-wrap-item-box">
|
|
|
+ <div class="file-icon">
|
|
|
+ <img :src="$tools.getFileThum(repairSource.type, repairSource.name)"/>
|
|
|
+ </div>
|
|
|
+ <div class="file-info">
|
|
|
+ <p class="file-name">{{ repairSource.name }}</p>
|
|
|
+ <div>
|
|
|
+ <span @click="onPreview(repairSource)" v-if="repairSource.type !== 'other'">{{ $t('ability.review.preview')}}</span>
|
|
|
+ <span @click="onDownload(repairSource)" v-if="repairSource.type !== 'link'">{{ $t('ability.review.download')}}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </vuescroll>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|