Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
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
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
64c84ff2
Commit
64c84ff2
authored
Apr 14, 2021
by
zhujian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'fix;bug'
parent
e75fa81d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
43 deletions
+67
-43
src/modules/course-manage/components/GraphicsEditor.jsx
+1
-1
src/modules/teach-tool/examination-manager/AddExam.tsx
+2
-2
src/modules/teach-tool/examination-manager/ExamData.tsx
+54
-38
src/modules/teach-tool/examination-manager/ExamShareModal.jsx
+2
-1
src/modules/teach-tool/examination-manager/userData.less
+8
-1
No files found.
src/modules/course-manage/components/GraphicsEditor.jsx
View file @
64c84ff2
...
...
@@ -173,7 +173,7 @@ class GraphicsEditor extends React.Component {
const
textLength
=
this
.
editorInt
.
txt
.
text
().
replace
(
/
\&
nbsp
\;
/ig
,
' '
).
length
+
videoCount
+
imageCount
;
this
.
setState
({
textLength
},
()
=>
{
if
(
textLength
>
maxLimit
)
{
message
.
warning
(
'超过字数限定'
);
//
message.warning('超过字数限定');
}
onChange
(
html
,
this
.
state
.
textLength
);
})
...
...
src/modules/teach-tool/examination-manager/AddExam.tsx
View file @
64c84ff2
...
...
@@ -365,8 +365,8 @@ function AddExam(props: any) {
checked=
{
needPhone
==
'NEED_PHONE_VERIFY'
}
onChange=
{
(
val
)
=>
{
setNeedPhone
(
val
?
'NEED_PHONE_VERIFY'
:
'DO_NOT_NEED_PHONE_VERIFY'
)
}
}
></
Switch
>
<
div
style=
{
{
position
:
'relative'
,
top
:
3
,
left
:
8
,
color
:
"#999"
}
}
><
p
>
开启:需要
验证手机号
才能参加考试
</
p
>
<
p
>
关闭:
仅需微信/企业微信授权登录验证
</
p
></
div
>
<
div
style=
{
{
position
:
'relative'
,
top
:
3
,
left
:
8
,
color
:
"#999"
}
}
><
p
>
开启:需要
绑定手机号的用户
才能参加考试
</
p
>
<
p
>
关闭:
微信/企业微信登陆直接参加考试
</
p
></
div
>
</
div
>
</
Form
.
Item
>
...
...
src/modules/teach-tool/examination-manager/ExamData.tsx
View file @
64c84ff2
...
...
@@ -109,24 +109,24 @@ function ExamData(props: any) {
dataIndex
:
"questionStem"
,
ellipsis
:
true
,
width
:
350
,
render
:
(
val
:
any
)
=>
{
render
:
(
val
:
any
)
=>
{
var
handleVal
=
val
;
handleVal
=
handleVal
.
replace
(
/<
(?!
img|input
)
.*
?
>/g
,
""
);
handleVal
=
handleVal
.
replace
(
/<
\s?
input
[^
>
]
*>/gi
,
"_、"
);
handleVal
=
handleVal
.
replace
(
/
\&
nbsp
\;
/gi
,
" "
);
return
(
<
Tooltip
overlayClassName=
"aid-tool-list"
title=
{
<
div
style=
{
{
maxWidth
:
700
,
width
:
"auto"
}
}
>
{
handleVal
}
</
div
>
}
placement=
"topLeft"
overlayStyle=
{
{
maxWidth
:
700
}
}
>
{
handleVal
}
</
Tooltip
>
<
Tooltip
overlayClassName=
"aid-tool-list"
title=
{
<
div
style=
{
{
maxWidth
:
700
,
width
:
"auto"
}
}
>
{
handleVal
}
</
div
>
}
placement=
"topLeft"
overlayStyle=
{
{
maxWidth
:
700
}
}
>
{
handleVal
}
</
Tooltip
>
);
},
},
},
{
...
...
@@ -177,7 +177,7 @@ function ExamData(props: any) {
if
(
filters
.
questionType
)
{
console
.
log
(
233232
)
_query
.
questionType
=
filters
.
questionType
;
_query
.
current
=
1
;
_query
.
current
=
1
;
}
else
{
delete
_query
.
questionType
}
...
...
@@ -213,31 +213,47 @@ function ExamData(props: any) {
style=
{
{
position
:
"absolute"
,
left
:
"-10000px"
}
}
></
a
>
<
div
className=
"dataPanal"
>
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
singleChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
单选题
<
span
>
(共
{
examData
.
singleChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
multiChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
多选题
<
span
>
(共
{
examData
.
multiChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
judgeAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
判断题
<
span
>
(共
{
examData
.
judgeCnt
}
题)
</
span
></
div
></
div
>
</
div
>
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
gapFillingAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
填空题
<
span
>
(共
{
examData
.
gapFillingCnt
}
题)
</
span
></
div
></
div
>
</
div
>
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
indefiniteChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
不定项选择题
<
span
>
(共
{
examData
.
indefiniteChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
{
!!
examData
.
singleChoiceCnt
&&
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
singleChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
单选题
<
span
>
(共
{
examData
.
singleChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
}
{
!!
examData
.
multiChoiceCnt
&&
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
multiChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
多选题
<
span
>
(共
{
examData
.
multiChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
}
{
!!
examData
.
judgeCnt
&&
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
judgeAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
判断题
<
span
>
(共
{
examData
.
judgeCnt
}
题)
</
span
></
div
></
div
>
</
div
>
}
{
!!
examData
.
gapFillingCnt
&&
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
gapFillingAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
填空题
<
span
>
(共
{
examData
.
gapFillingCnt
}
题)
</
span
></
div
></
div
>
</
div
>
}
{
!!
examData
.
indefiniteChoiceCnt
&&
<
div
className=
"item"
>
<
div
className=
"num"
>
{
(
examData
.
indefiniteChoiceAccuracy
||
0
)
*
100
}
%
</
div
>
<
div
className=
"percent"
>
正确率
</
div
>
<
div
className=
"subTitle"
><
div
className=
"type"
><
span
className=
"icon iconfont"
>

</
span
>
不定项选择题
<
span
>
(共
{
examData
.
indefiniteChoiceCnt
}
题)
</
span
></
div
></
div
>
</
div
>
}
</
div
>
{
!!
allData
&&
<
Button
style=
{
{
marginBottom
:
12
,
marginTop
:
12
}
}
onClick=
{
download
}
>
导出
</
Button
>
...
...
src/modules/teach-tool/examination-manager/ExamShareModal.jsx
View file @
64c84ff2
...
...
@@ -48,6 +48,7 @@ class ExamShareModal extends React.Component {
// 下载海报
handleDownloadPoster
=
()
=>
{
const
{
data
}
=
this
.
props
;
const
dom
=
document
.
querySelector
(
'#poster'
);
html2canvas
(
dom
,
{
useCORS
:
true
,
...
...
@@ -56,7 +57,7 @@ class ExamShareModal extends React.Component {
const
{
courseName
}
=
this
.
props
.
data
;
const
dataUrl
=
canvas
.
toDataURL
(
'image/png'
);
downloadDOM
.
href
=
dataUrl
;
downloadDOM
.
download
=
`
${
course
Name
}
.png`
;
downloadDOM
.
download
=
`
${
data
.
exam
Name
}
.png`
;
downloadDOM
.
click
();
});
}
...
...
src/modules/teach-tool/examination-manager/userData.less
View file @
64c84ff2
...
...
@@ -4,8 +4,9 @@
display: flex;
.item{
text-align: center;
width: 29.9%;
//
width: 29.9%;
position: relative;
flex: 1;
.num{
font-size: 26px;
...
...
@@ -60,6 +61,12 @@
right: 0px;
}
&:last-child{
&:after{
display: none;
}
}
}
.exstatus{
width: 4px;
...
...
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