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
16be2951
Commit
16be2951
authored
Mar 24, 2021
by
yuananting
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:修改样式
parent
9be0fad9
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
314 additions
and
156 deletions
+314
-156
src/common/less/icon-font.less
+6
-6
src/modules/teach-tool/AddNewQuestion.jsx
+72
-26
src/modules/teach-tool/QuestionBankIndex.jsx
+9
-7
src/modules/teach-tool/QuestionBankIndex.less
+2
-2
src/modules/teach-tool/QuestionCategoryManage.jsx
+47
-15
src/modules/teach-tool/QuestionCategoryManage.less
+13
-2
src/modules/teach-tool/components/NewQuestionTab.jsx
+30
-26
src/modules/teach-tool/components/NewQuestionTab.less
+29
-26
src/modules/teach-tool/components/QuestionBankSider.jsx
+12
-8
src/modules/teach-tool/components/QuestionBankSider.less
+14
-4
src/modules/teach-tool/components/QuestionEditor.jsx
+2
-2
src/modules/teach-tool/components/QuestionEditor.less
+11
-4
src/modules/teach-tool/components/QuestionManageContent.jsx
+8
-3
src/modules/teach-tool/components/QuestionManageContent.less
+2
-3
src/modules/teach-tool/components/XMAudio.jsx
+3
-3
src/modules/teach-tool/modal/BatchImportQuestionModal.less
+1
-6
src/modules/teach-tool/modal/NewEditQuestionBankCategory.jsx
+3
-2
src/modules/teach-tool/modal/QuestionPreviewModal.jsx
+1
-0
src/modules/teach-tool/modal/QuestionPreviewModal.less
+49
-11
No files found.
src/common/less/icon-font.less
View file @
16be2951
@font-face {
@font-face {
font-family: 'iconfont'; /* project id 2223403 */
font-family: 'iconfont'; /* project id 2223403 */
src: url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.eot');
src: url('//at.alicdn.com/t/font_2223403_
droqalespbg
.eot');
src: url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.eot?#iefix') format('embedded-opentype'),
src: url('//at.alicdn.com/t/font_2223403_
droqalespbg
.eot?#iefix') format('embedded-opentype'),
url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.woff2') format('woff2'),
url('//at.alicdn.com/t/font_2223403_
droqalespbg
.woff2') format('woff2'),
url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.woff') format('woff'),
url('//at.alicdn.com/t/font_2223403_
droqalespbg
.woff') format('woff'),
url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.ttf') format('truetype'),
url('//at.alicdn.com/t/font_2223403_
droqalespbg
.ttf') format('truetype'),
url('//at.alicdn.com/t/font_2223403_
l1fmqafrijf
.svg#iconfont') format('svg');
url('//at.alicdn.com/t/font_2223403_
droqalespbg
.svg#iconfont') format('svg');
}
}
.iconfont{
.iconfont{
font-family:"iconfont" !important;
font-family:"iconfont" !important;
...
...
src/modules/teach-tool/AddNewQuestion.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-25 13:46:35
* @Date: 2021-02-25 13:46:35
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-
19 19:29:4
2
* @LastEditTime: 2021-03-
24 10:15:2
2
* @Description: 助学工具-题库-题目管理-新增题目
* @Description: 助学工具-题库-题目管理-新增题目
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -12,7 +12,11 @@ import Breadcrumbs from "@/components/Breadcrumbs";
...
@@ -12,7 +12,11 @@ import Breadcrumbs from "@/components/Breadcrumbs";
import
ShowTips
from
"@/components/ShowTips"
;
import
ShowTips
from
"@/components/ShowTips"
;
import
"./AddNewQuestion.less"
;
import
"./AddNewQuestion.less"
;
import
NewQuestionTab
from
"./components/NewQuestionTab"
;
import
NewQuestionTab
from
"./components/NewQuestionTab"
;
import
{
defineJudgeOptionInfo
,
defineOptionInfo
,
defineQuestionInfo
}
from
"./components/model"
;
import
{
defineJudgeOptionInfo
,
defineOptionInfo
,
defineQuestionInfo
,
}
from
"./components/model"
;
import
QuestionBankService
from
"@/domains/question-bank-domain/QuestionBankService"
;
import
QuestionBankService
from
"@/domains/question-bank-domain/QuestionBankService"
;
import
User
from
"@/common/js/user"
;
import
User
from
"@/common/js/user"
;
...
@@ -80,12 +84,17 @@ class AddNewQuestion extends Component {
...
@@ -80,12 +84,17 @@ class AddNewQuestion extends Component {
this
.
setState
({
judgeContent
:
result
});
this
.
setState
({
judgeContent
:
result
});
break
;
break
;
case
"GAP_FILLING"
:
case
"GAP_FILLING"
:
stemContent
.
content
=
stemContent
.
content
.
split
(
''
).
map
((
item
)
=>
{
stemContent
.
content
=
stemContent
.
content
if
(
item
===
'_'
)
{
.
split
(
""
)
return
`<input class="add-fill-line" disabled correctAnswerList="" id=
${
window
.
random_string
(
16
)}
value="填空"/>`
.
map
((
item
)
=>
{
}
if
(
item
===
"_"
)
{
return
item
;
return
`<input class="add-fill-line" disabled correctAnswerList="" id=
${
window
.
random_string
(
}).
join
(
''
);
16
)}
value="填空"/>`
;
}
return
item
;
})
.
join
(
""
);
this
.
setState
({
gapFillingContent
:
result
});
this
.
setState
({
gapFillingContent
:
result
});
break
;
break
;
case
"INDEFINITE_CHOICE"
:
case
"INDEFINITE_CHOICE"
:
...
@@ -115,9 +124,9 @@ class AddNewQuestion extends Component {
...
@@ -115,9 +124,9 @@ class AddNewQuestion extends Component {
case
"JUDGE"
:
case
"JUDGE"
:
let
judgeContent
=
defineQuestionInfo
(
"JUDGE"
);
let
judgeContent
=
defineQuestionInfo
(
"JUDGE"
);
var
judgeOptions
=
[
"正确"
,
"错误"
];
var
judgeOptions
=
[
"正确"
,
"错误"
];
judgeOptions
.
forEach
(
item
=>
{
judgeOptions
.
forEach
(
(
item
)
=>
{
judgeContent
.
optionList
.
push
(
defineJudgeOptionInfo
(
item
));
judgeContent
.
optionList
.
push
(
defineJudgeOptionInfo
(
item
));
})
})
;
this
.
setState
({
judgeContent
});
this
.
setState
({
judgeContent
});
break
;
break
;
case
"GAP_FILLING"
:
case
"GAP_FILLING"
:
...
@@ -245,7 +254,7 @@ class AddNewQuestion extends Component {
...
@@ -245,7 +254,7 @@ class AddNewQuestion extends Component {
break
;
break
;
case
"GAP_FILLING"
:
case
"GAP_FILLING"
:
if
(
this
.
gapRef
.
checkInput
()
===
0
)
{
if
(
this
.
gapRef
.
checkInput
()
===
0
)
{
this
.
saveCurrentQuestion
(
gapFillingContent
,
"GAP_FILLING"
,
next
);
this
.
saveCurrentQuestion
(
gapFillingContent
,
"GAP_FILLING"
,
next
);
}
}
break
;
break
;
case
"INDEFINITE_CHOICE"
:
case
"INDEFINITE_CHOICE"
:
...
@@ -278,7 +287,11 @@ class AddNewQuestion extends Component {
...
@@ -278,7 +287,11 @@ class AddNewQuestion extends Component {
return
(
return
(
<
div
className=
"page add-new-question"
>
<
div
className=
"page add-new-question"
>
<
Breadcrumbs
<
Breadcrumbs
navList=
{
getParameterByName
(
"id"
)
&&
this
.
state
.
currentOperate
===
"edit"
?
"编辑题目"
:
"新增题目"
}
navList=
{
getParameterByName
(
"id"
)
&&
this
.
state
.
currentOperate
===
"edit"
?
"编辑题目"
:
"新增题目"
}
goBack=
{
()
=>
this
.
handleGoBack
()
}
goBack=
{
()
=>
this
.
handleGoBack
()
}
/>
/>
<
div
className=
"box"
>
<
div
className=
"box"
>
...
@@ -293,7 +306,14 @@ class AddNewQuestion extends Component {
...
@@ -293,7 +306,14 @@ class AddNewQuestion extends Component {
}
}
}
}
>
>
<
TabPane
<
TabPane
tab=
{
<
span
className=
"icon iconfont"
>

单选题
</
span
>
}
tab=
{
<
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#CCCCCC"
}
}
>

{
" "
}
</
span
>
<
span
>
单选题
</
span
>
</
span
>
}
key=
"SINGLE_CHOICE"
key=
"SINGLE_CHOICE"
>
>
<
NewQuestionTab
<
NewQuestionTab
...
@@ -309,7 +329,14 @@ class AddNewQuestion extends Component {
...
@@ -309,7 +329,14 @@ class AddNewQuestion extends Component {
/>
/>
</
TabPane
>
</
TabPane
>
<
TabPane
<
TabPane
tab=
{
<
span
className=
"icon iconfont"
>

多选题
</
span
>
}
tab=
{
<
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#CCCCCC"
}
}
>

{
" "
}
</
span
>
<
span
>
多选题
</
span
>
</
span
>
}
key=
"MULTI_CHOICE"
key=
"MULTI_CHOICE"
>
>
<
NewQuestionTab
<
NewQuestionTab
...
@@ -325,7 +352,14 @@ class AddNewQuestion extends Component {
...
@@ -325,7 +352,14 @@ class AddNewQuestion extends Component {
/>
/>
</
TabPane
>
</
TabPane
>
<
TabPane
<
TabPane
tab=
{
<
span
className=
"icon iconfont"
>

判断题
</
span
>
}
tab=
{
<
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#CCCCCC"
}
}
>

{
" "
}
</
span
>
<
span
>
判断题
</
span
>
</
span
>
}
key=
"JUDGE"
key=
"JUDGE"
>
>
<
NewQuestionTab
<
NewQuestionTab
...
@@ -340,7 +374,14 @@ class AddNewQuestion extends Component {
...
@@ -340,7 +374,14 @@ class AddNewQuestion extends Component {
/>
/>
</
TabPane
>
</
TabPane
>
<
TabPane
<
TabPane
tab=
{
<
span
className=
"icon iconfont"
>

填空题
</
span
>
}
tab=
{
<
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#CCCCCC"
}
}
>

{
" "
}
</
span
>
<
span
>
填空题
</
span
>
</
span
>
}
key=
"GAP_FILLING"
key=
"GAP_FILLING"
>
>
<
NewQuestionTab
<
NewQuestionTab
...
@@ -356,10 +397,13 @@ class AddNewQuestion extends Component {
...
@@ -356,10 +397,13 @@ class AddNewQuestion extends Component {
</
TabPane
>
</
TabPane
>
<
TabPane
<
TabPane
tab=
{
tab=
{
<
span
className=
"icon iconfont"
>
<
span
>

不定项选择题
{
" "
}
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#CCCCCC"
}
}
>

{
" "
}
</
span
>
<
span
>
不定项选择题
</
span
>
<
Tooltip
title=
"至少有一项正确,至多不限的选择题,多项选择题的一种特殊形式"
>
<
Tooltip
title=
"至少有一项正确,至多不限的选择题,多项选择题的一种特殊形式"
>
<
span
style=
{
{
color
:
"#BFBFBF"
}
}
>

</
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#BFBFBF"
}
}
>

</
span
>
</
Tooltip
>
</
Tooltip
>
</
span
>
</
span
>
}
}
...
@@ -387,13 +431,15 @@ class AddNewQuestion extends Component {
...
@@ -387,13 +431,15 @@ class AddNewQuestion extends Component {
>
>
取消
取消
</
Button
>
</
Button
>
{
(
categoryId
&&
categoryId
!==
"null"
)
&&
<
Button
{
categoryId
&&
categoryId
!==
"null"
&&
(
onClick=
{
()
=>
{
<
Button
this
.
confirmSaveQuestion
(
"add"
);
onClick=
{
()
=>
{
}
}
this
.
confirmSaveQuestion
(
"add"
);
>
}
}
保存并继续添加
>
</
Button
>
}
保存并继续添加
</
Button
>
)
}
<
Button
<
Button
type=
"primary"
type=
"primary"
onClick=
{
()
=>
{
onClick=
{
()
=>
{
...
...
src/modules/teach-tool/QuestionBankIndex.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-21 17:51:01
* @Date: 2021-02-21 17:51:01
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
3 17:44:18
* @LastEditTime: 2021-03-2
4 13:55:56
* @Description: 助学工具-题库-题库主页面
* @Description: 助学工具-题库-题库主页面
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -38,12 +38,14 @@ class QuestionBankIndex extends Component {
...
@@ -38,12 +38,14 @@ class QuestionBankIndex extends Component {
<
div
className=
"question-bank-index page"
>
<
div
className=
"question-bank-index page"
>
<
div
className=
"content-header"
>
题目
</
div
>
<
div
className=
"content-header"
>
题目
</
div
>
<
div
className=
"box content-body"
>
<
div
className=
"box content-body"
>
<
div
className=
"sider"
>
<
div
style=
{
{
borderRight
:
"0.5px solid #EEEEEE"
,
paddingRight
:
"4px"
}
}
>
<
QuestionBankSider
<
div
className=
"sider"
>
getSelectedCategoryId=
{
this
.
getCategoryIdFromSider
.
bind
(
this
)
}
<
QuestionBankSider
currentTotal=
{
this
.
state
.
currentTotal
}
getSelectedCategoryId=
{
this
.
getCategoryIdFromSider
.
bind
(
this
)
}
updatedCategoryId=
{
this
.
state
.
updatedCategoryId
}
currentTotal=
{
this
.
state
.
currentTotal
}
/>
updatedCategoryId=
{
this
.
state
.
updatedCategoryId
}
/>
</
div
>
</
div
>
</
div
>
<
div
className=
"content"
>
<
div
className=
"content"
>
<
QuestionManageContent
<
QuestionManageContent
...
...
src/modules/teach-tool/QuestionBankIndex.less
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-21 18:27:43
* @Date: 2021-02-21 18:27:43
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-
18 09:32:24
* @LastEditTime: 2021-03-
24 16:15:03
* @Description: 助学工具-题库-题库主页面样式
* @Description: 助学工具-题库-题库主页面样式
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
background: #fff;
background: #fff;
}
}
.sider {
.sider {
min-width: 2
60
px;
min-width: 2
44
px;
}
}
.content {
.content {
width: 100%;
width: 100%;
...
...
src/modules/teach-tool/QuestionCategoryManage.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-23 18:28:50
* @Date: 2021-02-23 18:28:50
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
3 14:16:0
7
* @LastEditTime: 2021-03-2
4 14:51:1
7
* @Description: 助学工具-题库-主页面分类管理
* @Description: 助学工具-题库-主页面分类管理
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -433,9 +433,8 @@ class QuestionCategoryManage extends Component {
...
@@ -433,9 +433,8 @@ class QuestionCategoryManage extends Component {
>
>
<
span
>
{
item
.
categoryName
}
</
span
>
<
span
>
{
item
.
categoryName
}
</
span
>
{
item
.
categoryName
!==
"未分类"
&&
(
{
item
.
categoryName
!==
"未分类"
&&
(
<
Space
className=
"title-opts"
size=
{
50
}
>
<
Space
className=
"title-opts"
size=
{
16
}
>
<
span
<
span
className=
"icon iconfont"
onClick=
{
()
=>
{
onClick=
{
()
=>
{
let
nodesCount
=
0
;
let
nodesCount
=
0
;
const
{
treeData
}
=
this
.
state
;
const
{
treeData
}
=
this
.
state
;
...
@@ -465,11 +464,13 @@ class QuestionCategoryManage extends Component {
...
@@ -465,11 +464,13 @@ class QuestionCategoryManage extends Component {
);
);
}
}
}
}
>
>

同级
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#BFBFBF"
}
}
>

{
" "
}
</
span
>
<
span
>
同级
</
span
>
</
span
>
</
span
>
{
item
.
categoryLevel
<
4
&&
(
{
item
.
categoryLevel
<
4
&&
(
<
span
<
span
className=
"icon iconfont"
onClick=
{
()
=>
{
onClick=
{
()
=>
{
if
(
if
(
item
.
sonCategoryList
&&
item
.
sonCategoryList
&&
...
@@ -486,25 +487,51 @@ class QuestionCategoryManage extends Component {
...
@@ -486,25 +487,51 @@ class QuestionCategoryManage extends Component {
);
);
}
}
}
}
>
>

子级
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#BFBFBF"
}
}
>

{
" "
}
</
span
>
<
span
>
子级
</
span
>
</
span
>
</
span
>
)
}
)
}
<
Dropdown
overlay=
{
this
.
initDropMenu
(
item
)
}
>
<
Dropdown
overlay=
{
this
.
initDropMenu
(
item
)
}
>
<
span
className=
"icon iconfont"
>
更多

</
span
>
<
span
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#BFBFBF"
}
}
>

{
" "
}
</
span
>
<
span
>
更多
</
span
>
</
span
>
</
Dropdown
>
</
Dropdown
>
</
Space
>
</
Space
>
)
}
)
}
</
div
>
</
div
>
);
);
item
.
icon
=
item
.
icon
=
item
.
id
===
"default"
?
(
item
.
categoryName
===
"未分类"
?
(
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FBD140"
}
}
>
<
img

style=
{
{
</
span
>
width
:
"24px"
,
height
:
"24px"
,
opacity
:
!
value
||
(
value
&&
item
.
categoryName
.
indexOf
(
value
)
>
-
1
)
?
1
:
0.5
,
}
}
src=
"https://image.xiaomaiketang.com/xm/defaultCategory.png"
alt=
""
/>
)
:
(
)
:
(
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FBD140"
}
}
>
<
img

style=
{
{
</
span
>
width
:
"24px"
,
height
:
"24px"
,
opacity
:
!
value
||
(
value
&&
item
.
categoryName
.
indexOf
(
value
)
>
-
1
)
?
1
:
0.5
,
}
}
src=
"https://image.xiaomaiketang.com/xm/hasCategory.png"
alt=
""
/>
);
);
if
(
item
.
sonCategoryList
)
{
if
(
item
.
sonCategoryList
)
{
...
@@ -574,6 +601,8 @@ class QuestionCategoryManage extends Component {
...
@@ -574,6 +601,8 @@ class QuestionCategoryManage extends Component {
placeholder=
"请输入名称"
placeholder=
"请输入名称"
style=
{
{
width
:
"calc(100% - 84px)"
}
}
style=
{
{
width
:
"calc(100% - 84px)"
}
}
onSearch=
{
(
value
)
=>
this
.
queryCategoryTree
(
"search"
,
value
)
}
onSearch=
{
(
value
)
=>
this
.
queryCategoryTree
(
"search"
,
value
)
}
className=
"search-input"
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
/>
/>
</
div
>
</
div
>
<
Button
<
Button
...
@@ -592,7 +621,10 @@ class QuestionCategoryManage extends Component {
...
@@ -592,7 +621,10 @@ class QuestionCategoryManage extends Component {
>
>
新增一级分类
新增一级分类
</
Button
>
</
Button
>
<
div
className=
"show-tips"
style=
{
{
marginTop
:
12
}
}
>
<
div
className=
"show-tips"
style=
{
{
marginTop
:
"12px"
,
width
:
"700px"
}
}
>
<
ShowTips
message=
"为方便管理,该分类用于课程、培训计划、题库、知识库等模块,改动将同步各模块更新"
/>
<
ShowTips
message=
"为方便管理,该分类用于课程、培训计划、题库、知识库等模块,改动将同步各模块更新"
/>
</
div
>
</
div
>
<
div
className=
"course-category-tree"
>
<
div
className=
"course-category-tree"
>
...
...
src/modules/teach-tool/QuestionCategoryManage.less
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-23 19:41:42
* @Date: 2021-02-23 19:41:42
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-
18 16:23:42
* @LastEditTime: 2021-03-
24 14:57:20
* @Description: 助学工具-题库-题目分类管理样式
* @Description: 助学工具-题库-题目分类管理样式
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -21,18 +21,21 @@
...
@@ -21,18 +21,21 @@
.course-category-tree {
.course-category-tree {
position: relative;
position: relative;
margin-top: 16px;
margin-top: 16px;
width: 700px;
border: 1px solid #E8E8E8;
.ant-tree.ant-tree-directory {
.ant-tree.ant-tree-directory {
font-size: 14px;
font-size: 14px;
font-weight: 400;
font-weight: 400;
color: #666666;
color: #666666;
.anticon {
.anticon {
color: #
666666
;
color: #
999999
;
}
}
.ant-tree-treenode {
.ant-tree-treenode {
height: 44px;
height: 44px;
padding: 0;
padding: 0;
span {
span {
line-height: 44px;
line-height: 44px;
vertical-align: middle;
}
}
.ant-tree-node-content-wrapper.ant-tree-node-selected {
.ant-tree-node-content-wrapper.ant-tree-node-selected {
color: #666666;
color: #666666;
...
@@ -65,4 +68,12 @@
...
@@ -65,4 +68,12 @@
color: #bfbfbf !important;
color: #bfbfbf !important;
}
}
}
}
.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle {
line-height: 37px !important;
margin-right: 8px;
}
.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before {
background-color: #F3F6FA;
}
}
}
src/modules/teach-tool/components/NewQuestionTab.jsx
View file @
16be2951
...
@@ -2,14 +2,13 @@
...
@@ -2,14 +2,13 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-25 14:34:29
* @Date: 2021-02-25 14:34:29
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
3 18:28:16
* @LastEditTime: 2021-03-2
4 14:15:12
* @Description: 助学工具-题库-题目管理-新建题目Tab
* @Description: 助学工具-题库-题目管理-新建题目Tab
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
import
React
,
{
Component
}
from
"react"
;
import
React
,
{
Component
}
from
"react"
;
import
{
Form
,
Radio
,
message
,
Checkbox
,
Tag
,
Modal
,
Input
}
from
"antd"
;
import
{
Form
,
Radio
,
message
,
Checkbox
,
Tag
,
Modal
,
Input
,
Popover
}
from
"antd"
;
import
"./NewQuestionTab.less"
;
import
"./NewQuestionTab.less"
;
import
Upload
from
"@/core/upload"
;
import
QuestionEditor
from
"./QuestionEditor"
;
import
QuestionEditor
from
"./QuestionEditor"
;
import
{
PlusOutlined
,
CloseOutlined
}
from
"@ant-design/icons"
;
import
{
PlusOutlined
,
CloseOutlined
}
from
"@ant-design/icons"
;
import
{
import
{
...
@@ -264,7 +263,7 @@ class NewQuestionTab extends Component {
...
@@ -264,7 +263,7 @@ class NewQuestionTab extends Component {
this
.
setState
({
radioValidate
:
"success"
});
this
.
setState
({
radioValidate
:
"success"
});
this
.
setState
({
radioText
:
""
});
this
.
setState
({
radioText
:
""
});
chooseIcon
.
forEach
((
item
)
=>
{
chooseIcon
.
forEach
((
item
)
=>
{
item
.
setAttribute
(
"style"
,
"border:1px solid #d9d9d9;
"
);
item
.
removeAttribute
(
"style
"
);
});
});
}
}
if
(
if
(
...
@@ -1165,12 +1164,14 @@ class NewQuestionTab extends Component {
...
@@ -1165,12 +1164,14 @@ class NewQuestionTab extends Component {
label=
{
label=
{
<
span
>
<
span
>
答案
{
" "
}
答案
{
" "
}
<
span
<
Popover
content=
{
<
div
><
div
style=
{
{
marginBottom
:
"16px"
}
}
>
一空可设置多个答案,答对任意一个即视为正确
</
div
><
img
width=
"400px"
src=
"https://image.xiaomaiketang.com/xm/gaptip.png"
alt=
""
/></
div
>
}
>
className=
"icon iconfont"
<
span
style=
{
{
color
:
"#BFBFBF"
,
fontSize
:
14
}
}
className=
"icon iconfont"
>
style=
{
{
color
:
"#BFBFBF"
,
fontSize
:
14
}
}

>
</
span
>

</
span
>
</
Popover
>
</
span
>
</
span
>
}
}
required
required
...
@@ -1260,22 +1261,24 @@ class NewQuestionTab extends Component {
...
@@ -1260,22 +1261,24 @@ class NewQuestionTab extends Component {
{
NUM_TO_WORD_MAP
[
optionIndex
]
}
.
{
NUM_TO_WORD_MAP
[
optionIndex
]
}
.
</
div
>
</
div
>
<
div
className=
"question-item_options__input"
>
<
div
className=
"question-item_options__input"
>
<
Form
.
Item
{
isJudge
?
(
validateStatus=
{
this
.
renderJudgeOption
(
questionOptionContentList
)
this
.
state
[
`optionsValidate_${optionIndex}`
]
)
:
(
}
<
Form
.
Item
help=
{
this
.
state
[
`optionsText_${optionIndex}`
]
}
validateStatus=
{
>
this
.
state
[
`optionsValidate_${optionIndex}`
]
{
isJudge
}
?
this
.
renderJudgeOption
(
questionOptionContentList
)
help=
{
this
.
state
[
`optionsText_${optionIndex}`
]
}
:
this
.
renderContent
(
>
questionOptionContentList
,
{
this
.
renderContent
(
placeHold
,
questionOptionContentList
,
mediaBtn
,
placeHold
,
"QUESTION_OPTION"
,
mediaBtn
,
this
.
state
[
`optionsValidate_${optionIndex}`
]
"QUESTION_OPTION"
,
)
}
this
.
state
[
`optionsValidate_${optionIndex}`
]
</
Form
.
Item
>
)
}
</
Form
.
Item
>
)
}
</
div
>
</
div
>
{
[
{
[
"INDEFINITE_CHOICE"
,
"INDEFINITE_CHOICE"
,
...
@@ -1286,6 +1289,7 @@ class NewQuestionTab extends Component {
...
@@ -1286,6 +1289,7 @@ class NewQuestionTab extends Component {
<
React
.
Fragment
>
<
React
.
Fragment
>
<
span
<
span
className=
"option-operate_item__icon icon iconfont"
className=
"option-operate_item__icon icon iconfont"
style=
{
{
fontSize
:
"14px"
}
}
onClick=
{
()
=>
this
.
handleDelOption
(
optionIndex
)
}
onClick=
{
()
=>
this
.
handleDelOption
(
optionIndex
)
}
>
>


...
...
src/modules/teach-tool/components/NewQuestionTab.less
View file @
16be2951
.question-input-item_wrapper {
.question-input-item_wrapper {
border-radius: 2px;
border-radius: 2px;
border: 1px solid #eeeeee;
padding: 16px;
padding: 16px;
position: relative;
position: relative;
margin-bottom: 50px;
margin-bottom: 50px;
...
@@ -9,8 +8,6 @@
...
@@ -9,8 +8,6 @@
border-radius: 4px;
border-radius: 4px;
padding: 4px 10px;
padding: 4px 10px;
border: 1px solid #e8e8e8;
border: 1px solid #e8e8e8;
// display: flex;
// justify-content: space-between;
.fill-line {
.fill-line {
padding: 0 10px;
padding: 0 10px;
border-bottom: 1px solid;
border-bottom: 1px solid;
...
@@ -71,6 +68,7 @@
...
@@ -71,6 +68,7 @@
display: flex;
display: flex;
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
border: 1px solid #e8e8e8;
}
}
.audio-box {
.audio-box {
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
...
@@ -194,7 +192,7 @@
...
@@ -194,7 +192,7 @@
transform: translateY(-100%);
transform: translateY(-100%);
font-size: 12px;
font-size: 12px;
color: #666666;
color: #666666;
line-height:
17
px;
line-height:
22
px;
}
}
.ant-radio-wrapper {
.ant-radio-wrapper {
...
@@ -221,9 +219,9 @@
...
@@ -221,9 +219,9 @@
}
}
.question-item_options__sort {
.question-item_options__sort {
line-height: 33px;
flex-shrink: 0;
flex-shrink: 0;
align-self: stretch;
align-self: stretch;
line-height: 32px;
}
}
.question-item_options__input {
.question-item_options__input {
...
@@ -250,11 +248,8 @@
...
@@ -250,11 +248,8 @@
.question-item_options__setting {
.question-item_options__setting {
flex-shrink: 0;
flex-shrink: 0;
width: 80px;
width: 80px;
height: 3
3
px;
height: 3
2
px;
text-align: center;
text-align: center;
// display: flex;
// justify-content: center;
// align-items: center;
align-self: stretch;
align-self: stretch;
}
}
...
@@ -288,29 +283,33 @@
...
@@ -288,29 +283,33 @@
.question-item_analysis__content {
.question-item_analysis__content {
flex: 1;
flex: 1;
margin-right: 187px;
.question-desc-box {
.question-desc-box {
margin-top:
12
px;
margin-top:
24
px;
.desc-picture-box {
.desc-picture-box {
margin-bottom: 28px;
margin-bottom: 28px;
.picture-box {
.picture-box {
position: relative;
position: relative;
display: inline-block;
display: inline-flex;
width: 100px;
width: 88px;
height: 100px;
height: 88px;
overflow: hidden;
border: 1px solid #e8e8e8;
align-items: center;
margin-right: 12px;
justify-content: center;
padding: 12px 12px 0 0;
img {
img {
max-width:
88px
;
max-width:
100%
;
max-height:
88px
;
max-height:
100%
;
border-radius: 4px;
border-radius: 4px;
vertical-align: middle;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
.icon_arrow {
.icon_arrow {
position: absolute;
position: absolute;
top:
0
px;
top:
-12
px;
right:
5
px;
right:
-8
px;
color: #bfbfbf;
color: #bfbfbf;
cursor: pointer;
cursor: pointer;
font-size: 16px;
font-size: 16px;
...
@@ -380,12 +379,11 @@
...
@@ -380,12 +379,11 @@
width: 100%;
width: 100%;
padding: 6px 0;
padding: 6px 0;
.gap-answer-label {
.gap-answer-label {
margin-right: 1
6
px;
margin-right: 1
2
px;
padding-top: 6px
;
white-space: nowrap
;
width: 50
px;
margin-top: 6
px;
}
}
.gap-answer-content {
.gap-answer-content {
// display: flex;
background: #ffffff;
background: #ffffff;
border-radius: 4px;
border-radius: 4px;
border: 1px solid #e8e8e8;
border: 1px solid #e8e8e8;
...
@@ -396,6 +394,8 @@
...
@@ -396,6 +394,8 @@
overflow: hidden;
overflow: hidden;
.ant-tag {
.ant-tag {
margin-bottom: 8px !important;
margin-bottom: 8px !important;
border: none;
line-height: 24px;
}
}
.gap-tag-input {
.gap-tag-input {
margin-right: 5px;
margin-right: 5px;
...
@@ -423,6 +423,9 @@
...
@@ -423,6 +423,9 @@
}
}
width: 78px;
width: 78px;
margin-right: 14px;
margin-right: 14px;
.ant-input {
background: #f7f8f9;
}
.ant-input:not(:last-child) {
.ant-input:not(:last-child) {
padding-right: 0px !important;
padding-right: 0px !important;
}
}
...
...
src/modules/teach-tool/components/QuestionBankSider.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-22 10:59:43
* @Date: 2021-02-22 10:59:43
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
3 16:28:35
* @LastEditTime: 2021-03-2
4 14:50:08
* @Description: 助学工具-题库-题库主页面侧边栏
* @Description: 助学工具-题库-题库主页面侧边栏
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -165,13 +165,17 @@ class QuestionBankSider extends Component {
...
@@ -165,13 +165,17 @@ class QuestionBankSider extends Component {
);
);
item
.
icon
=
item
.
icon
=
item
.
categoryName
===
"未分类"
?
(
item
.
categoryName
===
"未分类"
?
(
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FBD140"
}
}
>
<
img

style=
{
{
width
:
"24px"
,
height
:
"24px"
,
opacity
:
!
value
||
(
value
&&
item
.
categoryName
.
indexOf
(
value
)
>
-
1
)
?
1
:
0.5
}
}
</
span
>
src=
"https://image.xiaomaiketang.com/xm/defaultCategory.png"
alt=
""
/>
)
:
(
)
:
(
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FBD140"
}
}
>
<
img

style=
{
{
width
:
"24px"
,
height
:
"24px"
,
opacity
:
!
value
||
(
value
&&
item
.
categoryName
.
indexOf
(
value
)
>
-
1
)
?
1
:
0.5
}
}
</
span
>
src=
"https://image.xiaomaiketang.com/xm/hasCategory.png"
alt=
""
/>
);
);
if
(
item
.
sonCategoryList
)
{
if
(
item
.
sonCategoryList
)
{
item
.
children
=
this
.
renderTreeNodes
(
item
.
sonCategoryList
,
value
);
item
.
children
=
this
.
renderTreeNodes
(
item
.
sonCategoryList
,
value
);
...
@@ -197,9 +201,9 @@ class QuestionBankSider extends Component {
...
@@ -197,9 +201,9 @@ class QuestionBankSider extends Component {
className=
"sider-search"
className=
"sider-search"
placeholder=
"搜索名称分类"
placeholder=
"搜索名称分类"
onSearch=
{
(
value
)
=>
{
onSearch=
{
(
value
)
=>
{
// TODO 调用查询分类接口
this
.
queryCategoryTree
(
"change"
,
value
);
this
.
queryCategoryTree
(
"change"
,
value
);
}
}
}
}
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
/>
/>
{
User
.
getUserRole
()
!==
"CloudLecturer"
&&
(
{
User
.
getUserRole
()
!==
"CloudLecturer"
&&
(
<
div
className=
"sider-btn"
>
<
div
className=
"sider-btn"
>
...
...
src/modules/teach-tool/components/QuestionBankSider.less
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-22 12:02:34
* @Date: 2021-02-22 12:02:34
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-
18 16:22:58
* @LastEditTime: 2021-03-
24 15:57:12
* @Description: 助学工具-题库-题库主页面侧边栏样式
* @Description: 助学工具-题库-题库主页面侧边栏样式
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -18,13 +18,14 @@
...
@@ -18,13 +18,14 @@
}
}
.sider-search {
.sider-search {
margin-bottom: 16px;
margin-bottom: 16px;
width: 230px;
}
}
.sider-btn {
.sider-btn {
margin-bottom: 16px;
margin-bottom: 16px;
}
}
.sider-tree {
.sider-tree {
width: 2
66
px;
width: 2
40
px;
overflow: scroll;
overflow: scroll;
height: calc(100vh - 300px);
height: calc(100vh - 300px);
.empty-tree-tip {
.empty-tree-tip {
...
@@ -39,9 +40,9 @@
...
@@ -39,9 +40,9 @@
font-size: 14px;
font-size: 14px;
font-weight: 400;
font-weight: 400;
color: #666666;
color: #666666;
width: 2
60
px;
width: 2
34
px;
.anticon {
.anticon {
color: #
666666
;
color: #
999999
;
}
}
.ant-tree-treenode {
.ant-tree-treenode {
height: 44px;
height: 44px;
...
@@ -60,4 +61,13 @@
...
@@ -60,4 +61,13 @@
}
}
}
}
}
}
.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle {
line-height: 37px !important;
margin-right: 8px;
}
.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before {
background-color: #F3F6FA;
}
}
}
src/modules/teach-tool/components/QuestionEditor.jsx
View file @
16be2951
...
@@ -350,7 +350,7 @@ class QuestionEditor extends Component {
...
@@ -350,7 +350,7 @@ class QuestionEditor extends Component {
className=
"editor-fill-info_icon icon iconfont"
className=
"editor-fill-info_icon icon iconfont"
onClick=
{
this
.
insertBlank
}
onClick=
{
this
.
insertBlank
}
>
>

7fd
;
插入占位符

83e
;
插入占位符
</
Button
>
</
Button
>
</
div
>
</
div
>
)
}
)
}
...
@@ -366,7 +366,7 @@ class QuestionEditor extends Component {
...
@@ -366,7 +366,7 @@ class QuestionEditor extends Component {
<
div
className=
"editor-placehold"
>
{
placehold
}
</
div
>
<
div
className=
"editor-placehold"
>
{
placehold
}
</
div
>
)
}
)
}
{
visibleMediaBox
&&
!
_
.
isEmpty
(
mediaBtn
)
&&
(
{
visibleMediaBox
&&
!
_
.
isEmpty
(
mediaBtn
)
&&
(
<
div
className=
"edtior-media_box"
>
<
div
className=
"edtior-media_box"
style=
{
{
top
:
isGapFilling
&&
contentType
===
"QUESTION_STEM"
?
"53%"
:
"100%"
}
}
>
<
div
className=
"edtior-media_list"
>
<
div
className=
"edtior-media_list"
>
{
_
.
map
(
mediaBtn
,
(
mediaItem
)
=>
{
{
_
.
map
(
mediaBtn
,
(
mediaItem
)
=>
{
const
mediaBtnMap
=
_
.
find
(
const
mediaBtnMap
=
_
.
find
(
...
...
src/modules/teach-tool/components/QuestionEditor.less
View file @
16be2951
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
text-align: center;
text-align: center;
border: none;
border: none;
width: 54px;
width: 54px;
background-color: transparent;
}
}
.editor-fill-info {
.editor-fill-info {
...
@@ -17,6 +18,13 @@
...
@@ -17,6 +18,13 @@
line-height: 20px;
line-height: 20px;
color: #999999;
color: #999999;
margin-top: 8px;
margin-top: 8px;
.ant-btn {
border: none;
.ant-input {
border-color: transparent;
}
}
.editor-fill-info_icon {
.editor-fill-info_icon {
color: #5289fa !important;
color: #5289fa !important;
font-size: 14px;
font-size: 14px;
...
@@ -38,7 +46,7 @@
...
@@ -38,7 +46,7 @@
}
}
.editor-limit {
.editor-limit {
padding-right: 12px;
padding-right: 12px;
line-height:
17
px;
line-height:
22
px;
font-size: 12px;
font-size: 12px;
color: #cccccc;
color: #cccccc;
}
}
...
@@ -59,7 +67,7 @@
...
@@ -59,7 +67,7 @@
.editor-limit {
.editor-limit {
text-align: right;
text-align: right;
padding-right: 12px;
padding-right: 12px;
line-height:
17
px;
line-height:
22
px;
font-size: 12px;
font-size: 12px;
color: #cccccc;
color: #cccccc;
padding-top: 3px;
padding-top: 3px;
...
@@ -110,9 +118,8 @@
...
@@ -110,9 +118,8 @@
.edtior-media_box {
.edtior-media_box {
position: absolute;
position: absolute;
top: 100%;
left: 0;
left: 0;
padding-top:
9
px;
padding-top:
8
px;
&::before {
&::before {
content: "";
content: "";
...
...
src/modules/teach-tool/components/QuestionManageContent.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-25 11:23:47
* @Date: 2021-02-25 11:23:47
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
3 16:21:52
* @LastEditTime: 2021-03-2
4 14:55:54
* @Description: 助学工具-题库-题目管理主页面列表数据
* @Description: 助学工具-题库-题目管理主页面列表数据
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -248,6 +248,7 @@ class QuestionManageContent extends Component {
...
@@ -248,6 +248,7 @@ class QuestionManageContent extends Component {
title
:
"题型"
,
title
:
"题型"
,
key
:
"questionTypeEnum"
,
key
:
"questionTypeEnum"
,
dataIndex
:
"questionTypeEnum"
,
dataIndex
:
"questionTypeEnum"
,
width
:
200
,
render
:
(
val
)
=>
{
render
:
(
val
)
=>
{
return
questionTypeEnum
[
val
];
return
questionTypeEnum
[
val
];
},
},
...
@@ -258,6 +259,7 @@ class QuestionManageContent extends Component {
...
@@ -258,6 +259,7 @@ class QuestionManageContent extends Component {
dataIndex
:
"accuracy"
,
dataIndex
:
"accuracy"
,
sorter
:
true
,
sorter
:
true
,
showSorterTooltip
:
false
,
showSorterTooltip
:
false
,
width
:
142
,
render
:
(
val
)
=>
{
render
:
(
val
)
=>
{
return
val
+
"%"
;
return
val
+
"%"
;
},
},
...
@@ -268,6 +270,7 @@ class QuestionManageContent extends Component {
...
@@ -268,6 +270,7 @@ class QuestionManageContent extends Component {
dataIndex
:
"updateTime"
,
dataIndex
:
"updateTime"
,
sorter
:
true
,
sorter
:
true
,
showSorterTooltip
:
false
,
showSorterTooltip
:
false
,
width
:
200
,
render
:
(
val
)
=>
{
render
:
(
val
)
=>
{
return
formatDate
(
"YYYY-MM-DD H:i:s"
,
val
);
return
formatDate
(
"YYYY-MM-DD H:i:s"
,
val
);
},
},
...
@@ -276,7 +279,7 @@ class QuestionManageContent extends Component {
...
@@ -276,7 +279,7 @@ class QuestionManageContent extends Component {
title
:
"操作"
,
title
:
"操作"
,
key
:
"operate"
,
key
:
"operate"
,
dataIndex
:
"operate"
,
dataIndex
:
"operate"
,
fixed
:
"right"
,
width
:
232
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
className=
"record-operate"
>
<
div
className=
"record-operate"
>
...
@@ -412,6 +415,7 @@ class QuestionManageContent extends Component {
...
@@ -412,6 +415,7 @@ class QuestionManageContent extends Component {
onSearch=
{
()
=>
{
onSearch=
{
()
=>
{
this
.
queryQuestionPageList
();
this
.
queryQuestionPageList
();
}
}
}
}
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
/>
/>
</
div
>
</
div
>
...
@@ -423,6 +427,7 @@ class QuestionManageContent extends Component {
...
@@ -423,6 +427,7 @@ class QuestionManageContent extends Component {
style=
{
{
width
:
"calc(100% - 70px)"
}
}
style=
{
{
width
:
"calc(100% - 70px)"
}
}
showSearch
showSearch
allowClear
allowClear
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
filterOption=
{
(
inputVal
,
option
)
=>
filterOption=
{
(
inputVal
,
option
)
=>
option
.
props
.
children
.
includes
(
inputVal
)
option
.
props
.
children
.
includes
(
inputVal
)
}
}
...
@@ -460,7 +465,7 @@ class QuestionManageContent extends Component {
...
@@ -460,7 +465,7 @@ class QuestionManageContent extends Component {
</
div
>
</
div
>
{
[
"CloudManager"
,
"StoreManager"
].
includes
(
User
.
getUserRole
())
&&
{
[
"CloudManager"
,
"StoreManager"
].
includes
(
User
.
getUserRole
())
&&
!
[
"0"
,
null
].
includes
(
categoryId
)
&&
(
!
[
"0"
,
null
].
includes
(
categoryId
)
&&
(
<
Space
size=
"large"
>
<
Space
size=
{
16
}
>
<
Button
type=
"primary"
onClick=
{
this
.
handleCreateQuestionBank
}
>
<
Button
type=
"primary"
onClick=
{
this
.
handleCreateQuestionBank
}
>
新建题目
新建题目
</
Button
>
</
Button
>
...
...
src/modules/teach-tool/components/QuestionManageContent.less
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-25 11:26:28
* @Date: 2021-02-25 11:26:28
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-
16 11:14:55
* @LastEditTime: 2021-03-
24 15:57:41
* @Description: 助学工具-题库-题目管理右侧内容样式
* @Description: 助学工具-题库-题目管理右侧内容样式
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
&__item {
&__item {
width: 30%;
width: 30%;
margin-right: 3%;
margin-right: 3%;
margin-bottom: 1
2
px;
margin-bottom: 1
6
px;
.search-label {
.search-label {
vertical-align: middle;
vertical-align: middle;
display: inline-block;
display: inline-block;
...
@@ -60,7 +60,6 @@
...
@@ -60,7 +60,6 @@
overflow: hidden;
overflow: hidden;
text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
white-space: nowrap;
width: 232px;
}
}
.record-operate {
.record-operate {
display: flex;
display: flex;
...
...
src/modules/teach-tool/components/XMAudio.jsx
View file @
16be2951
...
@@ -188,11 +188,11 @@ const XMAudio = (props) => {
...
@@ -188,11 +188,11 @@ const XMAudio = (props) => {
if
(
parseInt
(
dragDiv
.
style
.
left
)
<=
0
)
{
if
(
parseInt
(
dragDiv
.
style
.
left
)
<=
0
)
{
dragDiv
.
style
.
left
=
"0px"
;
dragDiv
.
style
.
left
=
"0px"
;
}
}
if
(
parseInt
(
dragDiv
.
style
.
left
)
>=
1
81
)
{
if
(
parseInt
(
dragDiv
.
style
.
left
)
>=
1
54
)
{
dragDiv
.
style
.
left
=
"1
76
px"
;
dragDiv
.
style
.
left
=
"1
49
px"
;
}
}
setPlayedTime
(
parseInt
(
dragDiv
.
style
.
left
)
/
1
8
0
*
totalTime
)
setPlayedTime
(
parseInt
(
dragDiv
.
style
.
left
)
/
1
5
0
*
totalTime
)
}
}
// 鼠标抬起时,清除绑定在文档上的mousemove和mouseup事件
// 鼠标抬起时,清除绑定在文档上的mousemove和mouseup事件
// 否则鼠标抬起后还可以继续拖拽方块
// 否则鼠标抬起后还可以继续拖拽方块
...
...
src/modules/teach-tool/modal/BatchImportQuestionModal.less
View file @
16be2951
...
@@ -64,7 +64,7 @@
...
@@ -64,7 +64,7 @@
}
}
.down-btn {
.down-btn {
text-align: left;
text-align: left;
color: #
FC9C6B
;
color: #
5289FA
;
font-size: 12px;
font-size: 12px;
display: block;
display: block;
margin-top: 8px;
margin-top: 8px;
...
@@ -99,10 +99,6 @@
...
@@ -99,10 +99,6 @@
color: #FC9C6B;
color: #FC9C6B;
}
}
}
}
.down-btn {
margin-top: 16px;
}
}
}
}
}
}
}
\ No newline at end of file
src/modules/teach-tool/modal/NewEditQuestionBankCategory.jsx
View file @
16be2951
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-22 17:51:28
* @Date: 2021-02-22 17:51:28
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-03-2
2 09:43:18
* @LastEditTime: 2021-03-2
4 15:02:53
* @Description: 助学工具-题库-题库新建或编辑题库分类模态框
* @Description: 助学工具-题库-题库新建或编辑题库分类模态框
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -22,8 +22,8 @@ class NewEditQuestionBankCategory extends Component {
...
@@ -22,8 +22,8 @@ class NewEditQuestionBankCategory extends Component {
}
}
componentDidMount
()
{
componentDidMount
()
{
// document.getElementById("categoryName").setAttribute("style", "autocomplete","off")
this
.
queryCategoryTree
();
this
.
queryCategoryTree
();
// this.getSameLevelNodes(this.props.treeData);
}
}
// 查询分类树
// 查询分类树
...
@@ -183,6 +183,7 @@ class NewEditQuestionBankCategory extends Component {
...
@@ -183,6 +183,7 @@ class NewEditQuestionBankCategory extends Component {
defaultValue=
{
categoryName
}
defaultValue=
{
categoryName
}
placeholder=
{
`请输入${title},最多10个字`
}
placeholder=
{
`请输入${title},最多10个字`
}
maxLength=
{
10
}
maxLength=
{
10
}
autoComplete=
"off"
onChange=
{
(
e
)
=>
{
onChange=
{
(
e
)
=>
{
this
.
setState
({
this
.
setState
({
categoryName
:
e
.
target
.
value
,
categoryName
:
e
.
target
.
value
,
...
...
src/modules/teach-tool/modal/QuestionPreviewModal.jsx
View file @
16be2951
...
@@ -100,6 +100,7 @@ class QuestionPreviewModal extends Component {
...
@@ -100,6 +100,7 @@ class QuestionPreviewModal extends Component {
visible=
{
true
}
visible=
{
true
}
title=
"题目预览"
title=
"题目预览"
width=
{
560
}
width=
{
560
}
centered=
{
true
}
footer=
{
null
}
footer=
{
null
}
onCancel=
{
this
.
props
.
close
}
onCancel=
{
this
.
props
.
close
}
>
>
...
...
src/modules/teach-tool/modal/QuestionPreviewModal.less
View file @
16be2951
...
@@ -18,8 +18,16 @@
...
@@ -18,8 +18,16 @@
.question-stem {
.question-stem {
margin-bottom: 16px;
margin-bottom: 16px;
img {
img {
max-width: 88px;
max-width: 100%;
max-height: 88px;
max-height: 100%;
border-radius: 4px;
vertical-align: middle;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
&__title {
&__title {
height: 22px;
height: 22px;
...
@@ -39,8 +47,15 @@
...
@@ -39,8 +47,15 @@
}
}
}
}
.picture-box {
.picture-box {
display: inline-flex;
width: 88px;
height: 88px;
margin: 12px 12px 0 0;
margin: 12px 12px 0 0;
overflow: hidden;
display: inline-block;
align-items: center;
justify-content: center;
border: 1px solid #e8e8e8;
position: relative;
}
}
.voice-box {
.voice-box {
margin-bottom: 12px;
margin-bottom: 12px;
...
@@ -53,8 +68,16 @@
...
@@ -53,8 +68,16 @@
.question-option {
.question-option {
margin-bottom: 16px;
margin-bottom: 16px;
img {
img {
max-width: 88px;
max-width: 100%;
max-height: 88px;
max-height: 100%;
border-radius: 4px;
vertical-align: middle;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
&__title {
&__title {
height: 22px;
height: 22px;
...
@@ -83,8 +106,15 @@
...
@@ -83,8 +106,15 @@
}
}
.picture-box {
.picture-box {
display: inline-flex;
width: 88px;
height: 88px;
margin: 12px 12px 0 0;
margin: 12px 12px 0 0;
overflow: hidden;
display: inline-block;
align-items: center;
justify-content: center;
border: 1px solid #e8e8e8;
position: relative;
}
}
.voice-box {
.voice-box {
margin-bottom: 12px;
margin-bottom: 12px;
...
@@ -162,16 +192,24 @@
...
@@ -162,16 +192,24 @@
.picture-box {
.picture-box {
width: 88px;
width: 88px;
height: 88px;
height: 88px;
border-radius: 4px
;
margin: 12px 12px 0 0
;
overflow: hidden;
overflow: hidden;
display:
flex
;
display:
inline-block
;
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
margin-right: 12px;
border: 1px solid #e8e8e8;
position: relative;
.img-box {
.img-box {
max-width:
88px
;
max-width:
100%
;
max-height:
88px
;
max-height:
100%
;
border-radius: 4px;
border-radius: 4px;
vertical-align: middle;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
}
}
}
...
...
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