Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eduline
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
冷斌
eduline
Commits
b5d74ba8
Commit
b5d74ba8
authored
May 20, 2020
by
陈超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
A
parent
be7a4f52
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
248 additions
and
530 deletions
+248
-530
apps/exams/Tpl/default/Index/examsroom_w3g.html
+248
-530
No files found.
apps/exams/Tpl/default/Index/examsroom_w3g.html
View file @
b5d74ba8
<include
file=
"__THEME__/public_header_w3g"
/>
<include
file=
"__THEME__/public_header_w3g"
/>
<style
type=
"text/css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"__APP__/css/public.css"
>
/*比较多用到的*/
<link
rel=
"stylesheet"
type=
"text/css"
href=
"__APP__/icon/iconfont.css"
>
.box
{
<link
rel=
"stylesheet"
type=
"text/css"
href=
"__APP__/css/public_header_footer_media.css"
>
display
:
flex
;
<link
rel=
"stylesheet"
type=
"text/css"
href=
"__APP__/css/exam_2.0.css"
>
display
:
-webkit-flex
;
<div
class=
"cover"
></div>
align-items
:
center
;
<div
class=
"min-height-wrap"
>
}
<div
class=
"exam-header"
>
<div
class=
"back-date"
>
.boxCn
{
<i
class=
"icon icon-fanhui1"
style=
"display: none;"
></i>
display
:
flex
!important
;
<small>
display
:
-webkit-flex
;
<php>
if($paper['reply_time']){
</php>
align-items
:
center
;
<span
id=
"time_hh"
>
-
</span>
:
<span
id=
"time_mm"
>
-
</span>
:
<span
id=
"time_ss"
>
-
</span>
justify-content
:
center
!important
;
<php>
}else{
</php>
}
<span>
不限时
</span>
<php>
}
</php>
.flex1
{
</small>
flex
:
1
;
</div>
}
<div
class=
"view-stop"
>
<neq
name=
"Think.get.joinType"
value=
"2"
><i
class=
"icon icon-zanting"
></i></neq>
/*遮罩层*/
<a
href=
"javascript:;"
id=
"show-answer-card"
><i
class=
"icon icon-datiqia"
></i></a>
.mask
{
</div>
position
:
fixed
!important
;
<neq
name=
"Think.get.joinType"
value=
"2"
>
top
:
0
;
<ul
class=
"the-stop"
>
left
:
0
;
<li>
继续
</li>
right
:
0
;
<if
condition=
"$paper['assembly_type'] neq 1"
><li
id=
"progressExams"
>
下次再做
</li></if>
bottom
:
0
;
</ul>
background
:
rgba
(
0
,
0
,
0
,
0.5
);
</neq>
transition
:
all
.3s
ease-in-out
;
</div>
z-index
:
8
;
<div
class=
"answer-card"
>
}
<php>
$question_num = 1;
</php>
<volist
name=
"paper_options.options_type"
id=
"options_type"
>
.popUp
{
<php>
background-color
:
#FFFFFF
;
if(!$paper_options['options_questions_data'][$options_type['question_type']]){
z-index
:
10
;
break;
width
:
16.875rem
;
}
border-radius
:
0.5rem
;
</php>
overflow
:
hidden
;
<dl>
position
:
fixed
;
<dt><h6>
{$options_type.type_info.question_type_title}
</h6></dt>
top
:
50%
;
<dd>
left
:
50%
;
<volist
name=
"paper_options['options_questions_data'][$options_type['question_type']]"
id=
"question"
>
-webkit-transform
:
translate
(
-50%
,
-50%
);
<a
id=
"card{$question_num}"
<
php
>
if(isset($tempData['content'][$question['exams_question_id']])){ echo "class='on go_question'";}
</php>
href="javascript:;" data-question_num="{$question_num}" class="go_question">{$question_num}
</a>
-moz-transform
:
translate
(
-50%
,
-50%
);
<php>
$question_num++;
</php>
transform
:
translate
(
-50%
,
-50%
);
</volist>
}
</dd>
</dl>
.popUp_title
{
</volist>
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
<div
class=
"btns-complete"
>
font-size
:
1.125rem
;
<a
href=
"javascript:void(0)"
style=
"color:#fff;"
class=
"assignment"
>
交卷
</a>
height
:
1.5625rem
;
</div>
line-height
:
1.5625rem
;
</div>
margin-top
:
0.9375rem
;
<input
type=
"hidden"
name=
"reply_time"
value=
"{$paper.reply_time|default='0'}"
/>
padding
:
0
1rem
;
<form
name=
"answers"
method=
"POST"
action=
"{:U('exams/Index/doHaddleExams')}"
>
box-sizing
:
border-box
;
<input
type=
"hidden"
name=
"anser_time"
id=
"anser_time"
value=
"{$tempData.anser_time|default='0'}"
>
text-align
:
center
;
<input
type=
"hidden"
name=
"exams_mode"
value=
"{$Think.get.joinType|default=1}"
>
}
<input
type=
"hidden"
name=
"paper_id"
value=
"{$paper.exams_paper_id}"
>
<input
type=
"hidden"
name=
"ch_id"
value=
"{$_GET['s_id']}"
>
.popUp_content
{
<input
type=
"hidden"
name=
"view_url"
value=
"{$_GET['view']}"
>
padding
:
1rem
1rem
;
<input
type=
"hidden"
name=
"is_timeout"
value=
"0"
>
box-sizing
:
border-box
;
<php>
if($tempData){
</php>
text-align
:
center
;
<input
type=
"hidden"
name=
"exams_users_id"
value=
"{$tempData.exams_users_id}"
>
font-size
:
0.875rem
;
<php>
}
</php>
color
:
#333333
;
<input
type=
"hidden"
name=
"paper_options_id"
value=
"{$paper_options.exams_paper_options_id}"
>
}
<div
class=
"static-exam"
>
<php>
$question_num = 1;
</php>
.popUp_btns
{
<volist
name=
"paper_options.options_type"
id=
"options_type"
>
border-top
:
1px
solid
#eeeeee
;
<switch
name=
"options_type.question_type_key"
>
}
<case
value=
"radio|judge|multiselect"
>
<!-- 单选题 -->
.popUp_btn
{
<volist
name=
"paper_options['options_questions_data'][$options_type['question_type']]"
id=
"question"
>
flex
:
1
;
<dl
id=
"ex{$question_num}"
data-type=
"{$options_type.question_type_key}"
data-question_num=
"{$question_num}"
>
text-align
:
center
;
<dt>
line-height
:
3.125rem
;
<h5><small>
{$question_num}
</small>
/{$paper_options.questions_count}
<strong>
{$options_type.type_info.question_type_title}
</strong></h5>
height
:
3.125rem
;
<h3>
{$question.content}
</h3>
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
</dt>
font-weight
:
600
;
<dd>
font-size
:
1rem
;
<php>
box-sizing
:
border-box
;
if($tempData){
background-color
:
#FFFFFF
;
$content = isset($tempData['content'][$question['exams_question_id']]) ? $tempData['content'][$question['exams_question_id']] : [];
}
}else{
$content = [];
.popUp_btn0
{
}
color
:
#999999
;
</php>
border-right
:
1px
solid
#eeeeee
;
<volist
name=
"question.answer_options"
id=
"answer"
>
}
<div
class=
"answer_box"
>
<p
class=
"answer_p<php>if(in_array($key,$content)){</php> on<php>}</php>"
data-answer=
"{$key}"
><em>
{$key}
</em>
{$answer}
</p>
.popUp_btn1
{
</div>
color
:
#65C000
;
</volist>
}
<div
class=
"user_answer_hidden"
>
<input
type=
"hidden"
name=
"user_answer[{$question.exams_question_id}]"
value=
"{:implode(',',$content)}"
>
/*jixu*/
</div>
.stopBox
{
</dd>
width
:
100%
;
<a
href=
"javascript:;"
data-question_num=
"{$question_num}"
class=
"next next_question"
>
下一题
</a>
position
:
fixed
;
<div
class=
"operation"
>
top
:
50%
;
<div
class=
"operation-tit"
>
left
:
50%
;
<eq
name=
"isPractice"
value=
"1"
><strong><small>
查看解析
</small><i
class=
"icon icon-arrowDown"
></i></strong></eq>
z-index
:
10
;
<php>
if($question['is_collect'] == 1){
</php>
-webkit-transform
:
translate
(
-50%
,
-50%
);
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"0"
>
-moz-transform
:
translate
(
-50%
,
-50%
);
<i
class=
"icon icon-shoucang2"
style=
"color:#F7B659;"
></i><small>
已收藏
</small>
transform
:
translate
(
-50%
,
-50%
);
</b>
}
<php>
}else{
</php>
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"1"
>
.stopBtn
{
<i
class=
"icon icon-area1"
></i><span>
考点:{$question.exams_point_title}
</span>
width
:
10rem
;
<i
class=
"icon icon-shoucang2"
></i><small>
收藏习题
</small>
height
:
3rem
;
</b>
line-height
:
3rem
;
<php>
}
</php>
display
:
block
;
</div>
margin
:
2rem
auto
;
<eq
name=
"isPractice"
value=
"1"
>
color
:
#FFFFFF
;
<!--答案解析-->
font-size
:
1rem
;
<div
class=
"analysis"
>
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
<div
class=
"analysis-pic"
>
font-weight
:
600
;
<h6>
正确答案
</h6><abbr><volist
name=
"question.answer_true_option"
id=
"answer_true"
>
{$answer_true}
</volist></abbr>
box-sizing
:
border-box
;
</div>
text-align
:
center
;
<div
class=
"analysis-txt"
>
border-radius
:
1.5rem
;
<h6>
解析
</h6>
}
<p>
{$question.analyze}
</p>
</div>
.stopBtn_on
{
</div>
background-color
:
#A3E460
;
</eq>
}
</div>
</dl>
.stopBtn_out
{
<php>
$question_num++;
</php>
border
:
1px
solid
rgba
(
204
,
204
,
204
,
1
);
</volist>
}
</case>
<case
value=
"completion"
>
<!-- 填空题 -->
<volist
name=
"paper_options['options_questions_data'][$options_type['question_type']]"
id=
"question"
>
<dl
id=
"ex{$question_num}"
data-type=
"{$options_type.question_type_key}"
data-question_num=
"{$question_num}"
>
<dt>
body
{
<h5><small>
{$question_num}
</small>
/{$paper_options.questions_count}
<strong>
{$options_type.type_info.question_type_title}
</strong></h5>
background-color
:
#fff
;
<h3>
{$question.content}
</h3>
}
</dt>
<dd>
.testPaperTop
{
<php>
height
:
2.25rem
;
if($tempData){
padding
:
0
0.75rem
;
$content = isset($tempData['content'][$question['exams_question_id']]) ? $tempData['content'][$question['exams_question_id']] : [];
box-sizing
:
border-box
;
}else{
border-bottom
:
1px
solid
#F5F5F5
;
$content = [];
width
:
100%
;
}
position
:
fixed
;
</php>
top
:
0
;
<volist
name=
"question.answer_true_option"
id=
"answer"
>
left
:
0
;
<label>
{$i}、
<input
type=
"text"
class=
"anserItem"
<
php
>
if($content){
</php>
value="{$content[$i-1]}"
<php>
}
</php>
name="user_answer[{$question.exams_question_id}][]">
</label>
z-index
:
1
;
</volist>
background-color
:
#FFFFFF
;
</dd>
}
<a
href=
"javascript:;"
data-question_num=
"{$question_num}"
class=
"next next_question"
>
下一题
</a>
<div
class=
"operation"
>
.testPaperTop_time
{
<div
class=
"operation-tit"
>
font-size
:
0.75rem
<eq
name=
"isPractice"
value=
"1"
><strong><small>
查看解析
</small><i
class=
"icon icon-arrowDown"
></i></strong></eq>
}
<php>
if($question['is_collect'] == 1){
</php>
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"0"
><i
class=
"icon icon-shoucang2"
style=
"color:#F7B659;"
></i><small>
已收藏
</small></b>
.testPaperTop_da
{
<php>
}else{
</php>
font-size
:
0.75rem
;
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"1"
>
color
:
#999999
;
<i
class=
"icon icon-area1"
></i><span>
考点:{$question.exams_point_title}
</span>
}
<i
class=
"icon icon-shoucang2"
></i><small>
收藏习题
</small>
</b>
.testPaperTop_pau
{
<php>
}
</php>
margin-left
:
1.875rem
;
</div>
width
:
0.75rem
;
<eq
name=
"isPractice"
value=
"1"
>
height
:
0.75rem
;
<!--答案解析-->
}
<div
class=
"analysis"
>
<div
class=
"analysis-pic"
>
.testPaperBotm
{
<h5>
正确答案
</h5>
padding
:
0.75rem
0.75rem
0.75rem
;
<ul>
box-sizing
:
border-box
;
<volist
name=
"question.answer_true_option"
id=
"answer_true"
>
margin-top
:
2.25rem
;
<li>
{$i}、{$answer_true}
</li>
}
</volist>
</ul>
.testPaperNum
{
margin-right
:
0.75rem
;
</div>
color
:
#999999
;
<div
class=
"analysis-txt"
>
font-size
:
0.75rem
;
<h6>
解析
</h6>
}
<p>
{$question.analyze}
</p>
</div>
.testPaperLei
{
</div>
font-size
:
0.75rem
;
</eq>
color
:
#333333
;
</div>
}
</dl>
<php>
$question_num++;
</php>
.testPaperColl
{
</volist>
width
:
1rem
;
</case>
height
:
1rem
;
<case
value=
"essays"
>
}
<!-- 简述题-->
<volist
name=
"paper_options['options_questions_data'][$options_type['question_type']]"
id=
"question"
>
.testPaperInfo
{
<dl
id=
"ex{$question_num}"
data-type=
"{$options_type.question_type_key}"
data-question_num=
"{$question_num}"
>
margin-top
:
0.5rem
;
<dt>
font-size
:
1rem
;
<h5><small>
{$question_num}
</small>
/{$paper_options.questions_count}
<strong>
{$options_type.type_info.question_type_title}
</strong></h5>
line-height
:
1.875rem
;
<h3>
{$question.content}
</h3>
color
:
#333333
;
</dt>
}
<dd>
<php>
.testPaperAnswer
{
if($tempData){
margin-top
:
1rem
;
$content = isset($tempData['content'][$question['exams_question_id']]) ? $tempData['content'][$question['exams_question_id']] : [];
align-items
:
flex-start
;
}else{
}
$content = [];
}
.testPaperAnswer_num
{
</php>
display
:
inline-block
;
<textarea
class=
"anserItem"
name=
"user_answer[{$question.exams_question_id}]"
>
{$content[0]|default=''}
</textarea>
width
:
2.25rem
;
</dd>
height
:
2.25rem
;
<a
href=
"javascript:;"
data-question_num=
"{$question_num}"
class=
"next next_question"
>
下一题
</a>
border-radius
:
100%
;
<div
class=
"operation"
>
border
:
1px
solid
rgba
(
163
,
228
,
96
,
1
);
<div
class=
"operation-tit"
>
text-align
:
center
;
<eq
name=
"isPractice"
value=
"1"
><strong><small>
查看解析
</small><i
class=
"icon icon-arrowDown"
></i></strong></eq>
line-height
:
2.25rem
;
<php>
if($question['is_collect'] == 1){
</php>
color
:
#65C000
;
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"0"
><i
class=
"icon icon-shoucang2"
style=
"color:#F7B659;"
></i><small>
已收藏
</small></b>
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
<php>
}else{
</php>
font-weight
:
600
;
<b
data-question_id=
"{$question.exams_question_id}"
data-action=
"1"
>
font-size
:
0.875rem
;
<i
class=
"icon icon-area1"
></i><span>
考点:{$question.exams_point_title}
</span>
margin-right
:
0.75rem
;
<i
class=
"icon icon-shoucang2"
></i><small>
收藏习题
</small>
}
</b>
<php>
}
</php>
.testPaperAnswer_numAt
{
</div>
background-color
:
#A3E460
;
<eq
name=
"isPractice"
value=
"1"
>
color
:
#FFFFFF
;
<!--答案解析-->
}
<div
class=
"analysis"
>
<div
class=
"analysis-txt"
>
.testPaperAnswer_desc
{
<h6>
解析
</h6>
line-height
:
1.25rem
;
<p>
{$question.analyze}
</p>
margin
:
0
;
</div>
}
</div>
</eq>
.testPaperBtns
{
</div>
justify-content
:
space-between
;
</dl>
padding
:
3rem
0.75rem
1rem
;
<php>
$question_num++;
</php>
box-sizing
:
border-box
;
</volist>
width
:
100%
;
</case>
</switch>
}
</volist>
</div>
.testPaperBtn
{
</form>
width
:
10rem
;
</div>
height
:
3rem
;
<include
file=
"__THEME__/public_footer_w3g"
/>
line-height
:
3rem
;
<script
src=
"__APP__/js/public_header_footer_media.js"
></script>
text-align
:
center
;
<script
src=
"__APP__/js/public_exam_3g.js"
></script>
border
:
1px
solid
rgba
(
163
,
228
,
96
,
1
);
<script
type=
"text/javascript"
>
border-radius
:
1.5rem
;
if
(
"{$_GET['examsresult']}"
){
box-sizing
:
border-box
;
var
re
=
"{:jiemi($_GET['examsresult'])}"
,
font-size
:
1rem
;
ve
=
"{:jiemi($_GET['view'])}"
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
layer
.
open
({
font-weight
:
600
;
content
:
'课时考试'
,
color
:
#65C000
;
btn
:
[
'查看结果'
,
'返回课程'
],
}
yes
:
function
(){
window
.
location
.
href
=
re
;
.testPaperBtn1
{
color
:
#FFFFFF
;
background
:
rgba
(
163
,
228
,
96
,
1
);
}
.testPaperJiedaPage
{
padding
:
0
0.75rem
;
box-sizing
:
border-box
;
}
.testPaperJiedaBox
{
padding
:
1rem
0
;
}
.testPaperJiedaBtn
{
color
:
#65C000
;
font-size
:
0.875rem
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
}
.testPaperJiedaBtn_icon
{
margin-left
:
0.5rem
;
width
:
0.75rem
;
height
:
0.75rem
;
}
.testPaperAnswers
{
padding
:
0.5rem
0
0.25rem
;
}
.testPaperAnswer
{
padding
:
0.5rem
0
;
color
:
#333333
;
font-size
:
1rem
;
margin
:
0
;
}
.testPaperAnswer_n
{
color
:
#65C000
;
}
.testPaperAnswer_e
{
color
:
red
;
}
.testPaperAnswer_infoBox
{
padding
:
0.1875rem
0.75rem
0.75rem
;
box-sizing
:
border-box
;
border-top
:
1px
solid
#f5f5f5
;
}
.testPaperAnswer_infoTitle
{
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
color
:
#333333
;
font-size
:
1rem
;
padding
:
0.75rem
0
0.75rem
0.75rem
;
box-sizing
:
border-box
;
position
:
relative
;
margin
:
0
;
}
.testPaperAnswer_infoTitle
::before
{
content
:
""
;
position
:
absolute
;
left
:
0
;
top
:
50%
;
width
:
4px
;
height
:
4px
;
border-radius
:
100%
;
background-color
:
#A3E460
;
margin-top
:
-2px
;
}
.testPaperAnswer_info
{
color
:
#333333
;
font-size
:
1rem
;
line-height
:
1.875rem
;
}
</style>
<div
id=
"app"
>
<div
class=
"testPaperTop box"
>
<p
class=
"testPaperTop_time flex1"
>
00:09:54
</p>
<span
class=
"testPaperTop_da"
>
答题卡
</span>
<img
class=
"testPaperTop_pau"
src=
"__THEME__/img/pau.png"
>
</div>
<div
class=
"testPaperBotm"
>
<div
class=
"box"
>
<span
class=
"testPaperNum"
>
{{current}}/{{totalQuestion}}
</span>
<p
class=
"testPaperLei flex1"
>
({{currentQuestionTypeName}})
</p>
<img
v-if=
"currentQuestion.is_collect == 0"
@
click=
"onCollect(1)"
class=
"testPaperColl"
src=
"__THEME__/img/share_unstar.png"
>
<img
v-if=
"currentQuestion.is_collect == 1"
@
click=
"onCollect(0)"
class=
"testPaperColl"
src=
"__THEME__/img/share_star.png"
>
</div>
<template
v-if=
"showChoiceQuestion"
>
<div
v-html=
"currentQuestion.content"
class=
"testPaperInfo"
></div>
<ul>
<li
v-for=
"(opt, index) in currentOptions"
:key=
"index"
class=
"testPaperAnswer box"
>
<span
@
click=
"onChoose(opt)"
class=
"testPaperAnswer_num"
:class=
"opt.selected ? 'testPaperAnswer_numAt' : ''"
>
{{opt.key}}
</span>
<div
v-html=
"opt.value"
class=
"testPaperAnswer_desc flex1"
style=
"margin-top: 0.625rem;"
></div>
</li>
</ul>
</template>
</div>
<div
v-if=
"current == 1"
class=
"testPaperBtns boxCn"
>
<p
class=
"testPaperBtn testPaperBtn1"
style=
"width: 15rem;"
>
下一题
</p>
</div>
<div
v-if=
"current > 1"
class=
"testPaperBtns box"
>
<p
class=
"testPaperBtn"
>
上一题
</p>
<p
class=
"testPaperBtn testPaperBtn1"
>
下一题 / 交卷
</p>
</div>
<!-- 解析 -->
<div
class=
"testPaperJiedaPage"
>
<div
class=
"box testPaperJiedaBox"
>
<span
@
click=
"expand = !expand"
class=
"testPaperJiedaBtn box"
>
{{expand ? '收起解析' : '查看解析'}}
<img
class=
"testPaperJiedaBtn_icon"
src=
"__THEME__/img/openBtn.png"
></span>
</div>
<ul
v-if=
"expand"
class=
"testPaperAnswers"
>
<li
class=
"testPaperAnswer"
>
正确答案:
<span
v-for=
"(answer, index) in currentRightOptions"
:key=
"index"
class=
"testPaperAnswer_n"
>
{{answer}}
</span></li>
<li
class=
"testPaperAnswer"
>
我的答案:
<span
v-for=
"(answer, index) in currentMyOptions"
:key=
"index"
:class=
"answer.right ? 'testPaperAnswer_n' : 'testPaperAnswer_e'"
>
{{answer.key}}
</span></li>
</ul>
<div
v-if=
"expand"
class=
"testPaperAnswer_infoBox"
>
<p
class=
"testPaperAnswer_infoTitle"
>
解析
</p>
<div
v-html=
"currentAnalyze"
class=
"testPaperAnswer_info"
>
</div>
</div>
</div>
<!-- 交卷 -->
<div
class=
"mask"
style=
"display: none;"
>
<div
class=
"popUp"
>
<p
class=
"popUp_title"
>
提示
</p>
<div
class=
"popUp_content"
>
是否交卷并退出考试?
</div>
<div
class=
"popUp_btns box"
>
<span
class=
"popUp_btn popUp_btn0 flex1"
>
取消
</span>
<span
class=
"popUp_btn popUp_btn1 flex1"
>
确定
</span>
</div>
</div>
</div>
<!-- 暂停 -->
<div
class=
"mask"
style=
"display: none;"
>
<div
class=
"stopBox"
>
<span
class=
"stopBtn stopBtn_on"
>
继续
</span>
<span
class=
"stopBtn stopBtn_out"
>
退出
</span>
</div>
</div>
</div>
<include
file=
"__THEME__/public_footer_w3g"
/>
<script
type=
"text/javascript"
>
new
Vue
({
el
:
"#app"
,
data
:
function
()
{
return
{
info
:
{},
temp
:
{},
current
:
1
,
paperOptions
:
{},
countDown
:
"00:00:00"
,
expand
:
false
,
//选项
currentOptions
:
[]
}
},
computed
:
{
totalQuestion
:
function
()
{
let
count
=
0
let
data
=
this
.
paperOptions
.
options_questions_data
this
.
paperOptions
.
options_type
.
forEach
(
r
=>
{
count
+=
data
[
r
.
question_type
].
length
})
return
count
},
currentTypeIndex
:
function
()
{
let
count
=
0
let
data
=
this
.
paperOptions
.
options_questions_data
let
current
=
this
.
current
for
(
let
i
=
0
;
i
<
this
.
paperOptions
.
options_type
.
length
;
i
++
)
{
let
r
=
this
.
paperOptions
.
options_type
[
i
]
let
next
=
count
+
data
[
r
.
question_type
].
length
if
(
current
>
count
&&
current
<=
next
)
{
return
i
}
else
{
count
=
next
}
}
},
currentQuestions
:
function
()
{
let
optionType
=
this
.
currentQuestionType
let
questionType
=
optionType
.
question_type
let
questionData
=
this
.
paperOptions
.
options_questions_data
let
questions
=
questionData
[
questionType
]
return
questions
},
currentQuestionType
:
function
()
{
return
this
.
paperOptions
.
options_type
[
this
.
currentTypeIndex
]
},
currentQuestionTypeName
:
function
()
{
return
this
.
currentQuestionType
.
type_info
.
question_type_title
},
currentQuestionTypeKey
:
function
()
{
return
this
.
currentQuestionType
.
question_type_key
},
currentQuestion
:
function
()
{
let
count
=
0
let
data
=
this
.
paperOptions
.
options_questions_data
let
current
=
this
.
current
for
(
let
i
=
0
;
i
<
this
.
paperOptions
.
options_type
.
length
;
i
++
)
{
let
r
=
this
.
paperOptions
.
options_type
[
i
]
let
next
=
count
+
data
[
r
.
question_type
].
length
if
(
current
>
count
&&
current
<=
next
)
{
return
data
[
r
.
question_type
][
current
-
count
-
1
]
}
else
{
count
=
next
}
}
},
},
//选择题答案
no
:
function
(){
currentRightOptions
:
function
()
{
window
.
location
.
href
=
ve
;
return
this
.
currentQuestion
.
answer_true_option
},
//我的答案
currentMyOptions
:
function
()
{
let
cur
=
this
.
currentRightOptions
return
this
.
currentOptions
.
filter
(
r
=>
{
return
r
.
selected
}).
map
(
r
=>
{
console
.
log
(
r
)
console
.
log
(
cur
.
hx_indexOf
(
k
=>
{
return
k
==
r
.
key
}))
return
{
right
:
cur
.
hx_indexOf
(
k
=>
{
return
k
==
r
.
key
})
!=
-
1
,
key
:
r
.
key
}
})
},
//解析
currentAnalyze
:
function
()
{
return
this
.
currentQuestion
.
analyze
},
//Helper
showChoiceQuestion
:
function
()
{
let
key
=
this
.
currentQuestionTypeKey
return
key
==
'radio'
||
key
==
'multiselect'
||
key
==
'judge'
}
}
},
});
created
:
function
()
{
this
.
info
=
{:
json_encode
(
$paper
)};
}
this
.
temp
=
{:
json_encode
(
$tempData
)};
this
.
paperOptions
=
{:
json_encode
(
$paper_options
)};
for
(
let
k
in
this
.
currentQuestion
.
answer_options
)
{
let
value
=
this
.
currentQuestion
.
answer_options
[
k
]
this
.
currentOptions
.
push
({
key
:
k
,
value
:
value
,
selected
:
false
})
}
console
.
log
(
this
.
info
)
console
.
log
(
this
.
temp
)
console
.
log
(
this
.
paperOptions
)
},
methods
:
{
countDown
:
function
()
{
let
time
=
1
let
hours
=
Math
.
floor
(
time
/
3600
)
let
minutes
=
Math
.
floor
((
time
%
3600
)
/
60
)
let
seconds
=
Math
.
round
(
time
%
60
)
},
onCollect
:
function
(
collect
)
{
let
that
=
this
$
.
post
(
U
(
'exams/Index/collect'
),
{
action
:
collect
,
source_id
:
that
.
currentQuestion
.
exams_question_id
},
function
(
res
)
{
let
r
=
JSON
.
parse
(
res
)
if
(
r
.
status
==
1
)
{
that
.
currentQuestion
.
is_collect
=
collect
}
})
},
onChoose
:
function
(
opt
)
{
if
(
this
.
currentQuestionTypeKey
==
'radio'
)
{
this
.
currentOptions
.
forEach
(
r
=>
{
r
.
selected
=
opt
.
key
==
r
.
key
})
}
}
}
})
</script>
</script>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment