Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
transport-show-h5
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
transport-show-h5
Commits
9d5aa06e
提交
9d5aa06e
authored
7月 16, 2020
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updata
上级
f5e3a594
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
187 行增加
和
115 行删除
+187
-115
answerCard.vue
src/modules/exam-module/components/answerCard.vue
+90
-69
ExamEnd.vue
src/modules/exam-module/src/ExamEnd.vue
+89
-44
ExamTopic.vue
src/modules/exam-module/src/ExamTopic.vue
+8
-2
没有找到文件。
src/modules/exam-module/components/answerCard.vue
浏览文件 @
9d5aa06e
...
@@ -21,63 +21,38 @@
...
@@ -21,63 +21,38 @@
</li>
</li>
</ul>
</ul>
</div>
</div>
<!--
<div
class=
"question"
>
<template
v-for=
"(item, index) in dataList"
>
<div
:key=
"index"
>
<div
class=
"title"
>
{{
questionType
[
item
.
type
]
}}
</div>
<ul>
<template
v-for=
"(cItem, cIndex) in item.question_list"
>
<li
class=
""
>
{{
cItem
.
num
}}
</li>
<template
v-if=
"requestData[item.id]"
>
<template
v-if=
"requestData[item.id][cItem.id]"
>
<template
v-if=
"requestData[item.id][cItem.id].sign"
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active2"
>
{{
cItem
.
num
}}
</li>
</
template
>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
v-if=
"requestData[item.id][cItem.id].answer.length != 0"
:key=
"cIndex"
class=
"active1"
>
{{
cItem
.
num
}}
</li>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
v-else
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
</ul>
</div>
</template>
</div>
-->
<div
class=
"question"
>
<div
class=
"question"
>
<
template
>
<template
v-if=
"answerData['1'].data.length !=0"
>
<div>
<div
class=
"title"
>
{{
answerData
[
'1'
].
title
}}
</div>
<!--
<div
class=
"title"
>
{{
questionType
[
item
.
type
]
}}
</div>
-->
<ul>
<ul>
<template
v-for=
"(item, index) in answerData['1'].data"
>
<template
v-for=
"(item, index) in dataList"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'"
>
{{
item
.
num
}}
</li>
<template
v-for=
"(cItem, cIndex) in item.question_list"
>
</
template
>
<template
v-if=
"requestData[item.id]"
>
</ul>
<template
v-if=
"requestData[item.id][cItem.id]"
>
</template>
<template
v-if=
"requestData[item.id][cItem.id].sign"
>
<
template
v-if=
"answerData['2'].data.length !=0"
>
<li
:key=
"cIndex+'-'+index"
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
class=
"active2"
>
{{
cItem
.
num
}}
</li>
<div
class=
"title"
>
{{
answerData
[
'2'
].
title
}}
</div>
</
template
>
<ul>
<
template
v-else
>
<template
v-for=
"(item, index) in answerData['2'].data"
>
<li
:key=
"cIndex+'-'+index"
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
v-if=
"requestData[item.id][cItem.id].answer.length != 0"
class=
"active1"
>
{{
cItem
.
num
}}
</li>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'"
>
{{
item
.
num
}}
</li>
<li
:key=
"cIndex+'-'+index"
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
v-else
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</
template
>
</ul>
</template>
</template>
<
template
v-else
>
<
template
v-if=
"answerData['5'].data.length !=0"
>
<li
:key=
"cIndex+'-'+index"
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
<div
class=
"title"
>
{{
answerData
[
'5'
].
title
}}
</div>
</
template
>
<ul>
</template>
<template
v-for=
"(item, index) in answerData['5'].data"
>
<
template
v-else
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'"
>
{{
item
.
num
}}
</li>
<li
:key=
"cIndex+'-'+index"
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</
template
>
</ul>
</template>
</template>
</template>
<
template
v-if=
"answerData['6'].data.length !=0"
>
</ul>
<div
class=
"title"
>
{{
answerData
[
'6'
].
title
}}
</div>
</div>
<ul>
<template
v-for=
"(item, index) in answerData['6'].data"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.sign == true ? 'active2' : item.answer == undefined ? 'active3' : item.answer.length == 0 ? 'acitve3' : 'active1'"
>
{{
item
.
num
}}
</li>
</
template
>
</ul>
</template>
</template>
</div>
</div>
</div>
</div>
...
@@ -98,12 +73,36 @@ export default {
...
@@ -98,12 +73,36 @@ export default {
default
()
{
default
()
{
return
{}
return
{}
}
}
},
clickStatus
:
{
type
:
Number
,
default
()
{
return
{}
}
}
}
},
},
mounted
()
{
mounted
()
{
},
},
data
()
{
data
()
{
return
{
return
{
answerData
:
{
1
:
{
title
:
'单选题:'
,
data
:
[]
},
2
:
{
title
:
'多选题:'
,
data
:
[]
},
5
:
{
title
:
'案例题:'
,
data
:
[]
},
6
:
{
title
:
'判断题:'
,
data
:
[]
}
},
cardData
:
{},
cardData
:
{},
countIndex
:
1
,
countIndex
:
1
,
questionType
:
{
questionType
:
{
...
@@ -145,9 +144,6 @@ export default {
...
@@ -145,9 +144,6 @@ export default {
}
}
},
},
computed
:
{
computed
:
{
changeData
()
{
return
this
.
questionsData
},
dataList
()
{
dataList
()
{
// const clone = this.clone(this.questionsData)
// const clone = this.clone(this.questionsData)
// const data = this.duplicates(clone.questions)
// const data = this.duplicates(clone.questions)
...
@@ -160,19 +156,44 @@ export default {
...
@@ -160,19 +156,44 @@ export default {
num
+=
item
.
question_list
.
length
num
+=
item
.
question_list
.
length
return
item
return
item
})
})
},
changeData
()
{
return
this
.
clickStatus
}
}
},
},
watch
:
{
watch
:
{
changeData
:
{
changeData
()
{
handler
(
newV
,
oldV
)
{
this
.
answerData
=
{
this
.
$forceUpdate
()
1
:
{
},
title
:
'单选题:'
,
deep
:
true
data
:
[]
},
},
questionsData
:
{
2
:
{
handler
(
newV
,
oldV
)
{
title
:
'多选题:'
,
// this.duplicates(this.questionsData.questions)
data
:
[]
},
5
:
{
title
:
'案例题:'
,
data
:
[]
},
6
:
{
title
:
'判断题:'
,
data
:
[]
}
}
}
let
num
=
1
this
.
questionsData
.
questions
.
map
(
item
=>
{
item
.
question_list
.
map
((
c
,
index
)
=>
{
c
.
num
=
num
+
index
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
requestData
,
item
.
id
))
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
requestData
[
item
.
id
],
c
.
id
))
{
c
=
Object
.
assign
(
this
.
requestData
[
item
.
id
][
c
.
id
],
c
)
}
}
this
.
answerData
[
item
.
type
].
data
.
push
(
c
)
})
num
+=
item
.
question_list
.
length
})
}
}
}
}
}
}
...
@@ -233,7 +254,7 @@ export default {
...
@@ -233,7 +254,7 @@ export default {
list-style
:
none
;
list-style
:
none
;
margin-top
:
.3rem
;
margin-top
:
.3rem
;
padding
:
0
0
.6rem
;
padding
:
0
0
.6rem
;
//
border-bottom: 0.01rem solid #EEEEEE;
border-bottom
:
0
.01rem
solid
#EEEEEE
;
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
li
{
li
{
...
...
src/modules/exam-module/src/ExamEnd.vue
浏览文件 @
9d5aa06e
...
@@ -49,42 +49,43 @@
...
@@ -49,42 +49,43 @@
</li>
</li>
</ul>
</ul>
</div>
</div>
<!--
<div
class=
"question"
>
<template
v-for=
"(item, index) in dataList"
>
<div
:key=
"index"
>
<div
class=
"title"
>
{{
questionType
[
item
.
type
]
}}
</div>
<ul>
<template
v-for=
"(cItem, cIndex) in item.question_list"
>
<template
v-if=
"requestData[item.id]"
>
<template
v-if=
"requestData[item.id][cItem.id]"
>
<template
v-if=
"requestData[item.id][cItem.id].answer.length != 0"
>
<template
v-if=
"questionsData.score_items[item.id]"
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
:class=
"questionsData.score_items[item.id][cItem.id].is_right ? 'active1' : 'active2'"
>
{{
cItem
.
num
}}
</li>
</
template
>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
<
template
v-else
>
<li
@
click=
"go(cItem.id)"
:data-id=
"cItem.id"
:key=
"cIndex"
class=
"active3"
>
{{
cItem
.
num
}}
</li>
</
template
>
</template>
</ul>
</div>
</template>
</div>
-->
<div
class=
"question"
>
<div
class=
"question"
>
<template
v-if=
"answerData['1'].data.length !=0"
>
<div
class=
"title"
>
{{
answerData
[
'1'
].
title
}}
</div>
<ul>
<template
v-for=
"(item, index) in answerData['1'].data"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'"
>
{{
item
.
num
}}
</li>
</
template
>
</ul>
</template>
<
template
v-if=
"answerData['2'].data.length !=0"
>
<div
class=
"title"
>
{{
answerData
[
'2'
].
title
}}
</div>
<ul>
<template
v-for=
"(item, index) in answerData['2'].data"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'"
>
{{
item
.
num
}}
</li>
</
template
>
</ul>
</template>
<
template
v-if=
"answerData['5'].data.length !=0"
>
<div
class=
"title"
>
{{
answerData
[
'5'
].
title
}}
</div>
<ul>
<template
v-for=
"(item, index) in answerData['5'].data"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'"
>
{{
item
.
num
}}
</li>
</
template
>
</ul>
</template>
<
template
v-if=
"answerData['6'].data.length !=0"
>
<div
class=
"title"
>
{{
answerData
[
'6'
].
title
}}
</div>
<ul>
<template
v-for=
"(item, index) in answerData['6'].data"
>
<li
@
click=
"go(item.id)"
:data-id=
"item.id"
:key=
"index"
:class=
"item.answer == undefined ? 'active3' : item.is_right ? 'active1' : 'active2'"
>
{{
item
.
num
}}
</li>
</
template
>
</ul>
</template>
</div>
<!-- <div class="question">
<template>
<template>
<div>
<div>
<!--
<div
class=
"title"
>
{{
questionType
[
item
.
type
]
}}
</div>
-->
<ul>
<ul>
<template v-for="(item, index) in dataList">
<template v-for="(item, index) in dataList">
<template v-for="(cItem, cIndex) in item.question_list">
<template v-for="(cItem, cIndex) in item.question_list">
...
@@ -114,7 +115,7 @@
...
@@ -114,7 +115,7 @@
</ul>
</ul>
</div>
</div>
</template>
</template>
</div>
</div>
-->
</div>
</div>
</div>
</div>
<div
:class=
"ratioNum == 100 ? 'st-btn cent' : 'st-btn'"
v-if=
"title === '随堂小测' || title === '模拟考试' || title === '知识点小测'"
>
<div
:class=
"ratioNum == 100 ? 'st-btn cent' : 'st-btn'"
v-if=
"title === '随堂小测' || title === '模拟考试' || title === '知识点小测'"
>
...
@@ -133,6 +134,24 @@ export default {
...
@@ -133,6 +134,24 @@ export default {
name
:
'ExamEnd'
,
name
:
'ExamEnd'
,
data
()
{
data
()
{
return
{
return
{
answerData
:
{
1
:
{
title
:
'单选题:'
,
data
:
[]
},
2
:
{
title
:
'多选题:'
,
data
:
[]
},
5
:
{
title
:
'案例题:'
,
data
:
[]
},
6
:
{
title
:
'判断题:'
,
data
:
[]
}
},
questionType
:
{
questionType
:
{
1
:
'单选题:'
,
1
:
'单选题:'
,
2
:
'多选题:'
,
2
:
'多选题:'
,
...
@@ -177,16 +196,6 @@ export default {
...
@@ -177,16 +196,6 @@ export default {
},
},
methods
:
{
methods
:
{
goAbilityExam
()
{
goAbilityExam
()
{
// if (this.isWeapp) {
// wx.miniProgram.navigateTo({ url: `/pages/web/index?src=${window.location.origin}/exam/index?t=1` })
// } else {
// this.$router.push({
// path: '/exam/index',
// query: {
// t: 1
// }
// })
// }
this
.
$router
.
replace
({
this
.
$router
.
replace
({
path
:
'/exam/index'
,
path
:
'/exam/index'
,
query
:
{
query
:
{
...
@@ -221,7 +230,43 @@ export default {
...
@@ -221,7 +230,43 @@ export default {
}
else
{
}
else
{
this
.
ratioNum
=
0
this
.
ratioNum
=
0
}
}
this
.
changeData
()
})
},
changeData
()
{
this
.
answerData
=
{
1
:
{
title
:
'单选题:'
,
data
:
[]
},
2
:
{
title
:
'多选题:'
,
data
:
[]
},
5
:
{
title
:
'案例题:'
,
data
:
[]
},
6
:
{
title
:
'判断题:'
,
data
:
[]
}
}
let
num
=
1
this
.
questionsData
.
questions
.
map
(
item
=>
{
item
.
question_list
.
map
((
c
,
index
)
=>
{
c
.
num
=
num
+
index
c
=
Object
.
assign
(
this
.
questionsData
.
score_items
[
item
.
id
][
c
.
id
],
c
)
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
questionsData
.
answers
,
item
.
id
))
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
questionsData
.
answers
[
item
.
id
],
c
.
id
))
{
c
=
Object
.
assign
(
this
.
questionsData
.
answers
[
item
.
id
][
c
.
id
],
c
)
}
}
this
.
answerData
[
item
.
type
].
data
.
push
(
c
)
})
num
+=
item
.
question_list
.
length
})
})
console
.
log
(
this
.
answerData
)
}
}
}
}
}
}
...
...
src/modules/exam-module/src/ExamTopic.vue
浏览文件 @
9d5aa06e
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
</template>
</template>
</template>
</template>
<swiper-slide
v-show=
"questionsData.questions.length"
>
<swiper-slide
v-show=
"questionsData.questions.length"
>
<card
@
cardChange=
"cardChange"
@
showCard=
"showCard"
:questionsData=
"questionsData"
:requestData=
"requestData"
></card>
<card
@
cardChange=
"cardChange"
@
showCard=
"showCard"
:questionsData=
"questionsData"
:requestData=
"requestData"
:clickStatus=
"clickStatus"
></card>
</swiper-slide>
</swiper-slide>
</swiper>
</swiper>
</div>
</div>
...
@@ -154,6 +154,7 @@ export default {
...
@@ -154,6 +154,7 @@ export default {
data
()
{
data
()
{
const
_this
=
this
const
_this
=
this
return
{
return
{
clickStatus
:
0
,
questionCount
:
Number
,
questionCount
:
Number
,
classHide
:
true
,
classHide
:
true
,
nextBtnShow
:
true
,
nextBtnShow
:
true
,
...
@@ -168,6 +169,7 @@ export default {
...
@@ -168,6 +169,7 @@ export default {
autoHeight
:
true
,
autoHeight
:
true
,
on
:
{
on
:
{
slideChangeTransitionStart
:
function
()
{
slideChangeTransitionStart
:
function
()
{
_this
.
clickStatus
=
Date
.
parse
(
new
Date
())
_this
.
getIsSign
()
_this
.
getIsSign
()
if
(
this
.
activeIndex
===
_this
.
questionsData
.
sheet
.
question_count
)
{
if
(
this
.
activeIndex
===
_this
.
questionsData
.
sheet
.
question_count
)
{
_this
.
topicCard
.
isShow
=
true
_this
.
topicCard
.
isShow
=
true
...
@@ -355,6 +357,7 @@ export default {
...
@@ -355,6 +357,7 @@ export default {
}
}
},
},
showCard
()
{
showCard
()
{
this
.
clickStatus
=
Date
.
parse
(
new
Date
())
if
(
this
.
swiper
.
activeIndex
!==
this
.
questionsData
.
sheet
.
question_count
)
{
if
(
this
.
swiper
.
activeIndex
!==
this
.
questionsData
.
sheet
.
question_count
)
{
this
.
swiperSign
=
this
.
swiper
.
activeIndex
this
.
swiperSign
=
this
.
swiper
.
activeIndex
}
else
{
}
else
{
...
@@ -363,7 +366,6 @@ export default {
...
@@ -363,7 +366,6 @@ export default {
document
.
getElementById
(
'bottom-view'
).
scrollTop
=
0
document
.
getElementById
(
'bottom-view'
).
scrollTop
=
0
this
.
topicCard
.
isShow
=
true
this
.
topicCard
.
isShow
=
true
this
.
swiper
.
slideTo
(
this
.
questionsData
.
sheet
.
question_count
,
0
,
false
)
this
.
swiper
.
slideTo
(
this
.
questionsData
.
sheet
.
question_count
,
0
,
false
)
// this.scrollDom()
},
},
// 标记
// 标记
signQuestion
()
{
signQuestion
()
{
...
@@ -375,6 +377,7 @@ export default {
...
@@ -375,6 +377,7 @@ export default {
duration
:
500
,
duration
:
500
,
message
:
'已完成标记'
message
:
'已完成标记'
})
})
this
.
clickStatus
=
Date
.
parse
(
new
Date
())
}
}
const
off
=
()
=>
{
const
off
=
()
=>
{
this
.
signText
=
'标记'
this
.
signText
=
'标记'
...
@@ -382,6 +385,7 @@ export default {
...
@@ -382,6 +385,7 @@ export default {
duration
:
500
,
duration
:
500
,
message
:
'已取消标记'
message
:
'已取消标记'
})
})
this
.
clickStatus
=
Date
.
parse
(
new
Date
())
}
}
if
(
!
this
.
requestData
[
itemCid
])
{
if
(
!
this
.
requestData
[
itemCid
])
{
this
.
requestData
[
itemCid
]
=
{
this
.
requestData
[
itemCid
]
=
{
...
@@ -499,6 +503,7 @@ export default {
...
@@ -499,6 +503,7 @@ export default {
}
}
}
}
}
}
this
.
clickStatus
=
Date
.
parse
(
new
Date
())
this
.
$forceUpdate
()
this
.
$forceUpdate
()
},
},
// 多选事件
// 多选事件
...
@@ -548,6 +553,7 @@ export default {
...
@@ -548,6 +553,7 @@ export default {
}
}
cData
.
opaVal
=
opaArr
.
toString
().
replace
(
new
RegExp
(
','
,
'g'
),
''
)
cData
.
opaVal
=
opaArr
.
toString
().
replace
(
new
RegExp
(
','
,
'g'
),
''
)
})
})
this
.
clickStatus
=
Date
.
parse
(
new
Date
())
this
.
$forceUpdate
()
this
.
$forceUpdate
()
},
},
// 页面过高局部滚动
// 页面过高局部滚动
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论