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
94697b9f
Commit
94697b9f
authored
Jun 09, 2021
by
guomingpang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'rc' of
ssh://xmgit.ixm5.cn:10022/xiaomai-cloud-class/xiaomai-cloud-class-web
into rc
parents
a5fe9f45
762f942a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
194 additions
and
67 deletions
+194
-67
src/modules/teach-tool/paper-manage/OperatePaper.jsx
+173
-49
src/modules/teach-tool/question-manage/components/OperateQuestionTab.jsx
+20
-17
src/modules/teach-tool/question-manage/modal/PreviewQuestionModal.less
+1
-1
No files found.
src/modules/teach-tool/paper-manage/OperatePaper.jsx
View file @
94697b9f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-03-27 16:15:13
* @Date: 2021-03-27 16:15:13
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-06-0
1 17:07:30
* @LastEditTime: 2021-06-0
9 15:17:17
* @Description: 助学工具-新建/复制/编辑试卷
* @Description: 助学工具-新建/复制/编辑试卷
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -19,6 +19,8 @@ import {
...
@@ -19,6 +19,8 @@ import {
message
,
message
,
Modal
,
Modal
,
Spin
,
Spin
,
Space
,
Radio
,
}
from
"antd"
;
}
from
"antd"
;
import
{
PlusOutlined
}
from
"@ant-design/icons"
;
import
{
PlusOutlined
}
from
"@ant-design/icons"
;
import
{
XMTable
}
from
"@/components"
;
import
{
XMTable
}
from
"@/components"
;
...
@@ -33,6 +35,7 @@ import Bus from "@/core/bus";
...
@@ -33,6 +35,7 @@ import Bus from "@/core/bus";
import
{
Route
,
withRouter
}
from
"react-router-dom"
;
import
{
Route
,
withRouter
}
from
"react-router-dom"
;
import
*
as
paperEmpty
from
'../../lottie/paperEmpty/data.json'
;
import
*
as
paperEmpty
from
'../../lottie/paperEmpty/data.json'
;
import
AddExam
from
"@/modules/teach-tool/examination-manager/AddExam"
;
import
AddExam
from
"@/modules/teach-tool/examination-manager/AddExam"
;
import
_
from
"underscore"
;
const
questionTypeEnum
=
{
const
questionTypeEnum
=
{
SINGLE_CHOICE
:
"单选题"
,
SINGLE_CHOICE
:
"单选题"
,
...
@@ -70,12 +73,38 @@ class OperatePaper extends Component {
...
@@ -70,12 +73,38 @@ class OperatePaper extends Component {
},
},
selectQuestionModal
:
null
,
selectQuestionModal
:
null
,
paperPreviewModal
:
null
,
paperPreviewModal
:
null
,
quickSortModalVisible
:
false
,
// 快捷排序弹窗显隐
selectQuestionList
:
[],
selectQuestionList
:
[],
currentOperate
:
""
,
currentOperate
:
""
,
currentNav
:
""
,
currentNav
:
""
,
currentCategoryPapers
:
[],
currentCategoryPapers
:
[],
loading
:
false
,
loading
:
false
,
check
:
false
,
check
:
false
,
sorterMethod
:
"addOrder"
,
sorterBy
:
[
"SINGLE_CHOICE"
,
"MULTI_CHOICE"
,
"JUDGE"
,
"GAP_FILLING"
,
"INDEFINITE_CHOICE"
,
],
sorterTypeList
:
[
{
typeKey
:
"SINGLE_CHOICE"
,
},
{
typeKey
:
"MULTI_CHOICE"
,
},
{
typeKey
:
"JUDGE"
,
},
{
typeKey
:
"GAP_FILLING"
,
},
{
typeKey
:
"INDEFINITE_CHOICE"
,
},
],
};
};
}
}
...
@@ -128,10 +157,10 @@ class OperatePaper extends Component {
...
@@ -128,10 +157,10 @@ class OperatePaper extends Component {
};
};
const
res
=
await
AidToolService
.
queryPaperDetail
(
query
);
const
res
=
await
AidToolService
.
queryPaperDetail
(
query
);
const
{
result
}
=
res
;
const
{
result
}
=
res
;
const
{
paperName
,
passRate
}
=
result
;
const
{
paperName
,
passRate
,
questionList
}
=
result
;
this
.
setState
(
this
.
setState
(
{
{
selectQuestionList
:
result
.
questionList
,
selectQuestionList
:
questionList
,
formData
:
{
formData
:
{
...
result
,
...
result
,
paperId
:
getParameterByName
(
"paperId"
),
paperId
:
getParameterByName
(
"paperId"
),
...
@@ -145,7 +174,11 @@ class OperatePaper extends Component {
...
@@ -145,7 +174,11 @@ class OperatePaper extends Component {
paperName
:
this
.
state
.
formData
.
paperName
,
paperName
:
this
.
state
.
formData
.
paperName
,
passRate
,
passRate
,
});
});
this
.
setFormData
(
result
.
questionList
);
questionList
.
map
((
item
,
index
)
=>
{
item
.
sorterIndex
=
index
;
return
item
;
});
this
.
setFormData
(
questionList
);
}
}
);
);
};
};
...
@@ -196,30 +229,8 @@ class OperatePaper extends Component {
...
@@ -196,30 +229,8 @@ class OperatePaper extends Component {
return
prev
+
Number
(
cur
.
score
)
||
0
;
return
prev
+
Number
(
cur
.
score
)
||
0
;
},
0
);
},
0
);
const
sortedTableData
=
[
...
singleQuestion
,
...
multiQuestion
,
...
indefiniteQuestion
,
...
judgeQuestion
,
...
gapQuestion
,
];
let
currentQuestionList
=
[];
switch
(
sorter
)
{
case
"ascend"
:
currentQuestionList
=
sortedTableData
;
break
;
case
"descend"
:
currentQuestionList
=
sortedTableData
.
reverse
();
break
;
default
:
currentQuestionList
=
_selectQuestionList
;
break
;
}
const
passScore
=
Math
.
round
(
totalScore
*
formData
.
passRate
*
0.01
);
const
passScore
=
Math
.
round
(
totalScore
*
formData
.
passRate
*
0.01
);
this
.
setState
({
this
.
setState
({
selectQuestionList
:
currentQuestionList
,
formData
:
{
formData
:
{
...
formData
,
...
formData
,
singleChoiceCnt
:
singleQuestion
.
length
,
singleChoiceCnt
:
singleQuestion
.
length
,
...
@@ -241,12 +252,14 @@ class OperatePaper extends Component {
...
@@ -241,12 +252,14 @@ class OperatePaper extends Component {
// 选择题目
// 选择题目
chooseQuestion
=
()
=>
{
chooseQuestion
=
()
=>
{
const
{
selectQuestionList
,
sorterMethod
,
sorterBy
}
=
this
.
state
;
const
m
=
(
const
m
=
(
<
SelectQuestionModal
<
SelectQuestionModal
getSelectedQuestion=
{
this
.
state
.
selectQuestionList
}
getSelectedQuestion=
{
selectQuestionList
}
setSelectedQuestion=
{
(
list
)
=>
{
setSelectedQuestion=
{
(
list
)
=>
{
this
.
setState
({
selectQuestionModal
:
null
},
()
=>
{
this
.
setState
({
selectQuestionModal
:
null
},
()
=>
{
this
.
setFormData
(
list
);
this
.
setFormData
(
list
);
this
.
quickSorter
(
list
,
sorterMethod
,
sorterBy
);
});
});
}
}
}
}
close=
{
()
=>
{
close=
{
()
=>
{
...
@@ -261,7 +274,7 @@ class OperatePaper extends Component {
...
@@ -261,7 +274,7 @@ class OperatePaper extends Component {
// 移动已选题目
// 移动已选题目
handleMoveItem
=
(
index
,
moveLength
)
=>
{
handleMoveItem
=
(
index
,
moveLength
)
=>
{
const
{
selectQuestionList
}
=
this
.
state
;
const
selectQuestionList
=
[...
this
.
state
.
selectQuestionList
]
;
const
item
=
selectQuestionList
.
splice
(
index
+
moveLength
,
1
);
const
item
=
selectQuestionList
.
splice
(
index
+
moveLength
,
1
);
selectQuestionList
.
splice
(
index
,
0
,
item
[
0
]);
selectQuestionList
.
splice
(
index
,
0
,
item
[
0
]);
this
.
setState
({
selectQuestionList
},
()
=>
this
.
setState
({
selectQuestionList
},
()
=>
...
@@ -472,14 +485,6 @@ class OperatePaper extends Component {
...
@@ -472,14 +485,6 @@ class OperatePaper extends Component {
});
});
};
};
// 题型排序
sortByQuestionType
=
(
pagination
,
filters
,
sorter
)
=>
{
const
{
columnKey
,
order
}
=
sorter
;
if
(
columnKey
===
"questionType"
)
{
this
.
setFormData
(
this
.
state
.
selectQuestionList
,
order
);
}
};
// 表头设置
// 表头设置
parseColumns
=
()
=>
{
parseColumns
=
()
=>
{
const
{
selectQuestionList
}
=
this
.
state
;
const
{
selectQuestionList
}
=
this
.
state
;
...
@@ -498,8 +503,6 @@ class OperatePaper extends Component {
...
@@ -498,8 +503,6 @@ class OperatePaper extends Component {
dataIndex
:
"questionType"
,
dataIndex
:
"questionType"
,
key
:
"questionType"
,
key
:
"questionType"
,
width
:
"12%"
,
width
:
"12%"
,
sorter
:
true
,
showSorterTooltip
:
false
,
filters
:
[
filters
:
[
{
{
text
:
"单选题"
,
text
:
"单选题"
,
...
@@ -680,11 +683,37 @@ class OperatePaper extends Component {
...
@@ -680,11 +683,37 @@ class OperatePaper extends Component {
return
columns
;
return
columns
;
};
};
// 上下移题型
handleMoveTypeSorter
=
(
index
,
moveLength
)
=>
{
const
sorterTypeList
=
[...
this
.
state
.
sorterTypeList
];
const
item
=
sorterTypeList
.
splice
(
index
+
moveLength
,
1
);
sorterTypeList
.
splice
(
index
,
0
,
item
[
0
]);
const
sorterBy
=
_
.
pluck
(
sorterTypeList
,
"typeKey"
);
this
.
setState
({
sorterTypeList
,
sorterBy
});
};
// 快捷排序
quickSorter
=
(
list
,
sorterMethod
,
sorterBy
)
=>
{
this
.
setState
({
selectQuestionList
:
sorterMethod
===
"addOrder"
?
list
.
sort
((
a
,
b
)
=>
a
.
sorterIndex
-
b
.
sorterIndex
)
:
list
.
sort
(
(
a
,
b
)
=>
sorterBy
.
indexOf
(
a
.
questionTypeEnum
||
a
.
questionType
)
-
sorterBy
.
indexOf
(
b
.
questionTypeEnum
||
b
.
questionType
)
),
});
};
render
()
{
render
()
{
const
{
const
{
selectQuestionModal
,
selectQuestionModal
,
paperPreviewModal
,
paperPreviewModal
,
selectQuestionList
,
quickSortModalVisible
,
sorterMethod
,
sorterTypeList
,
sorterBy
,
currentNav
,
currentNav
,
formData
,
formData
,
loading
,
loading
,
...
@@ -709,6 +738,52 @@ class OperatePaper extends Component {
...
@@ -709,6 +738,52 @@ class OperatePaper extends Component {
totalScore
,
totalScore
,
}
=
formData
;
}
=
formData
;
const
{
match
}
=
this
.
props
;
const
{
match
}
=
this
.
props
;
const
selectQuestionList
=
[...
this
.
state
.
selectQuestionList
];
const
questionTypeEnum
=
{
SINGLE_CHOICE
:
"【单选题】"
,
MULTI_CHOICE
:
"【多选题】"
,
JUDGE
:
"【判断题】"
,
GAP_FILLING
:
"【填空题】"
,
INDEFINITE_CHOICE
:
"【不定项选择题】"
,
};
const
typeColumns
=
[
{
title
:
"题型"
,
dataIndex
:
"typeKey"
,
key
:
"typeKey"
,
render
:
(
text
,
record
,
index
)
=>
<
span
style=
{
{
color
:
'#333333'
}
}
>
{
questionTypeEnum
[
text
]
}
</
span
>,
},
{
title
:
"操作"
,
key
:
"action"
,
align
:
'right'
,
render
:
(
text
,
record
,
index
)
=>
(
<
Space
size=
"middle"
>
<
span
style=
{
{
color
:
index
>
0
?
'#2966FF'
:
'#CCCCCC'
,
cursor
:
'pointer'
}
}
onClick=
{
()
=>
{
index
>
0
&&
this
.
handleMoveTypeSorter
(
index
,
-
1
);
}
}
>
上移
</
span
>
<
span
style=
{
{
color
:
'#BFBFBF'
}
}
>
|
</
span
>
<
span
style=
{
{
color
:
index
<
4
?
'#2966FF'
:
'#CCCCCC'
,
cursor
:
'pointer'
}
}
onClick=
{
()
=>
{
index
<
4
&&
this
.
handleMoveTypeSorter
(
index
,
1
);
}
}
>
下移
</
span
>
</
Space
>
),
},
];
return
(
return
(
<
div
>
<
div
>
<
div
className=
"page operate-paper-page"
>
<
div
className=
"page operate-paper-page"
>
...
@@ -743,7 +818,6 @@ class OperatePaper extends Component {
...
@@ -743,7 +818,6 @@ class OperatePaper extends Component {
/>
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"passRate"
name=
"passRate"
label=
"及格线:"
label=
"及格线:"
...
@@ -778,14 +852,26 @@ class OperatePaper extends Component {
...
@@ -778,14 +852,26 @@ class OperatePaper extends Component {
</
div
>
</
div
>
</
Form
.
Item
>
</
Form
.
Item
>
<
Button
<
Space
size=
{
8
}
>
className=
"choose-btn"
<
Button
type=
"primary"
className=
"choose-btn"
icon=
{
<
PlusOutlined
/>
}
type=
"primary"
onClick=
{
this
.
chooseQuestion
}
icon=
{
<
PlusOutlined
/>
}
>
onClick=
{
this
.
chooseQuestion
}
自选题目
>
</
Button
>
自选题目
</
Button
>
<
Button
className=
"choose-btn"
onClick=
{
()
=>
{
this
.
setState
({
quickSortModalVisible
:
true
,
});
}
}
>
快捷排序
</
Button
>
</
Space
>
{
questionCnt
>
0
&&
(
{
questionCnt
>
0
&&
(
<
div
<
div
className=
"paper-info-tip"
className=
"paper-info-tip"
...
@@ -812,7 +898,6 @@ class OperatePaper extends Component {
...
@@ -812,7 +898,6 @@ class OperatePaper extends Component {
columns=
{
this
.
parseColumns
()
}
columns=
{
this
.
parseColumns
()
}
dataSource=
{
selectQuestionList
}
dataSource=
{
selectQuestionList
}
pagination=
{
false
}
pagination=
{
false
}
onChange=
{
this
.
sortByQuestionType
}
renderEmpty=
{
{
renderEmpty=
{
{
image
:
paperEmpty
,
image
:
paperEmpty
,
description
:
<
span
style=
{
{
display
:
'block'
,
paddingBottom
:
24
}
}
>
请在左上角添加题目
</
span
>
description
:
<
span
style=
{
{
display
:
'block'
,
paddingBottom
:
24
}
}
>
请在左上角添加题目
</
span
>
...
@@ -833,6 +918,45 @@ class OperatePaper extends Component {
...
@@ -833,6 +918,45 @@ class OperatePaper extends Component {
</
Spin
>
</
Spin
>
{
selectQuestionModal
}
{
selectQuestionModal
}
{
paperPreviewModal
}
{
paperPreviewModal
}
<
Modal
maskClosable=
{
false
}
title=
"快捷排序"
width=
{
560
}
visible=
{
quickSortModalVisible
}
onOk=
{
()
=>
{
this
.
setState
(
{
quickSortModalVisible
:
false
,
},
()
=>
this
.
quickSorter
(
selectQuestionList
,
sorterMethod
,
sorterBy
)
);
}
}
onCancel=
{
()
=>
{
this
.
setState
({
quickSortModalVisible
:
false
});
}
}
>
<
Radio
.
Group
onChange=
{
(
e
)
=>
this
.
setState
({
sorterMethod
:
e
.
target
.
value
,
})
}
value=
{
sorterMethod
}
>
<
Radio
value=
{
"addOrder"
}
>
按添加顺序排序
</
Radio
>
<
Radio
value=
{
"typeOrder"
}
>
按题型排序
</
Radio
>
</
Radio
.
Group
>
{
sorterMethod
===
"typeOrder"
&&
(
<
Table
rowClassName=
"table-row-style"
style=
{
{
marginTop
:
'24px'
}
}
showHeader=
{
false
}
columns=
{
typeColumns
}
dataSource=
{
sorterTypeList
}
pagination=
{
false
}
/>
)
}
</
Modal
>
</
div
>
</
div
>
<
Route
<
Route
path=
{
`${match.url}/exam-operate-page`
}
path=
{
`${match.url}/exam-operate-page`
}
...
...
src/modules/teach-tool/question-manage/components/OperateQuestionTab.jsx
View file @
94697b9f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: yuananting
* @Author: yuananting
* @Date: 2021-02-25 14:34:29
* @Date: 2021-02-25 14:34:29
* @LastEditors: yuananting
* @LastEditors: yuananting
* @LastEditTime: 2021-06-0
4 17:06:46
* @LastEditTime: 2021-06-0
9 12:00:12
* @Description: 助学工具-题库-操作题目Tab
* @Description: 助学工具-题库-操作题目Tab
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -66,12 +66,17 @@ class OperateQuestionTab extends Component {
...
@@ -66,12 +66,17 @@ class OperateQuestionTab extends Component {
}
}
componentDidMount
()
{
componentDidMount
()
{
const
{
chooseOptions
}
=
this
.
state
;
const
{
questionTypeKey
}
=
this
.
props
;
const
{
questionTypeKey
}
=
this
.
props
;
const
isEditCurrent
=
getParameterByName
(
"id"
)
&&
getParameterByName
(
"type"
)
===
questionTypeKey
;
const
isEditCurrent
=
getParameterByName
(
"id"
)
&&
getParameterByName
(
"type"
)
===
questionTypeKey
;
const
optionSize
=
isEditCurrent
?
20
:
4
;
const
optionSize
=
isEditCurrent
?
20
:
4
;
if
([
"INDEFINITE_CHOICE"
,
"MULTI_CHOICE"
,
"SINGLE_CHOICE"
].
includes
(
questionTypeKey
))
{
if
(
// 选择题(单选 多选 不定项)-插入4条默认选项
[
"INDEFINITE_CHOICE"
,
"MULTI_CHOICE"
,
"SINGLE_CHOICE"
].
includes
(
questionTypeKey
)
)
{
// 选择题(单选 多选 不定项)-插入4条默认选项
for
(
var
i
=
0
;
i
<
optionSize
;
i
++
)
{
for
(
var
i
=
0
;
i
<
optionSize
;
i
++
)
{
this
.
handleAddOption
();
this
.
handleAddOption
();
this
.
setState
({
this
.
setState
({
...
@@ -631,9 +636,9 @@ class OperateQuestionTab extends Component {
...
@@ -631,9 +636,9 @@ class OperateQuestionTab extends Component {
this
.
state
.
stemContent
,
this
.
state
.
stemContent
,
(
contentItem
)
=>
contentItem
.
type
===
"RICH_TEXT"
(
contentItem
)
=>
contentItem
.
type
===
"RICH_TEXT"
);
);
if
(
stemContent
.
textLength
>
1000
)
{
if
(
stemContent
.
textLength
>
1000
)
{
validateError
++
;
validateError
++
;
}
}
let
stem
=
stemContent
.
content
.
replace
(
/<
[^
>
]
+>/g
,
""
);
let
stem
=
stemContent
.
content
.
replace
(
/<
[^
>
]
+>/g
,
""
);
stem
=
stem
.
replace
(
/
\&
nbsp
\;
/gi
,
""
);
stem
=
stem
.
replace
(
/
\&
nbsp
\;
/gi
,
""
);
stem
=
stem
.
replace
(
/
\s
+/g
,
""
);
stem
=
stem
.
replace
(
/
\s
+/g
,
""
);
...
@@ -691,7 +696,7 @@ class OperateQuestionTab extends Component {
...
@@ -691,7 +696,7 @@ class OperateQuestionTab extends Component {
optionUnChecked
=
item
.
isCorrectAnswer
optionUnChecked
=
item
.
isCorrectAnswer
?
optionUnChecked
?
optionUnChecked
:
optionUnChecked
+
1
;
:
optionUnChecked
+
1
;
if
(
optionContent
[
0
].
textLength
>
1000
)
{
if
(
optionContent
[
0
].
textLength
>
1000
)
{
validateError
++
;
validateError
++
;
}
}
let
optionInput
=
optionContent
[
0
].
content
.
replace
(
/<
[^
>
]
+>/g
,
""
);
let
optionInput
=
optionContent
[
0
].
content
.
replace
(
/<
[^
>
]
+>/g
,
""
);
...
@@ -1037,11 +1042,11 @@ class OperateQuestionTab extends Component {
...
@@ -1037,11 +1042,11 @@ class OperateQuestionTab extends Component {
return
dom
?
(
return
dom
?
(
<
div
<
div
className=
"question-item_question-content"
className=
"question-item_question-content"
style=
{
{
style=
{
display
:
[
"PICTURE"
,
"VIDEO"
].
includes
(
type
)
!
[
"PICTURE"
,
"VIDEO"
].
includes
(
type
)
?
"inline-grid"
?
{
display
:
"flex"
}
:
"flex"
,
:
{
float
:
"left"
}
}
}
}
key=
{
index
}
key=
{
index
}
>
>
{
dom
}
{
dom
}
...
@@ -1191,10 +1196,8 @@ class OperateQuestionTab extends Component {
...
@@ -1191,10 +1196,8 @@ class OperateQuestionTab extends Component {
data
-
label=
"正确答案"
data
-
label=
"正确答案"
>
>
{
_
.
map
(
chooseOptions
,
(
optionItem
,
optionIndex
)
=>
{
{
_
.
map
(
chooseOptions
,
(
optionItem
,
optionIndex
)
=>
{
const
{
const
{
questionOptionContentList
,
isCorrectAnswer
}
=
questionOptionContentList
,
optionItem
;
isCorrectAnswer
,
}
=
optionItem
;
optionItem
.
optionSort
=
optionIndex
;
optionItem
.
optionSort
=
optionIndex
;
const
mediaBtn
=
[
"VOICE"
,
"AUDIO"
,
"PICTURE"
];
const
mediaBtn
=
[
"VOICE"
,
"AUDIO"
,
"PICTURE"
];
const
placeHold
=
const
placeHold
=
...
...
src/modules/teach-tool/question-manage/modal/PreviewQuestionModal.less
View file @
94697b9f
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
color: #666666;
color: #666666;
.input-box {
.input-box {
margin-bottom: 8px;
margin-bottom: 8px;
display: inline-block;
//
display: inline-block;
*:not(p) {
*:not(p) {
font-weight: normal !important;
font-weight: normal !important;
font-size: 14px !important;
font-size: 14px !important;
...
...
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