forgeplus-react/src/modules/question/Question.js

1280 lines
32 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React, { Component } from "react";
import { SnackbarHOC } from 'educoder';
import axios from 'axios';
import { Pagination, Drawer, } from "antd";
import Headplugselections from "./component/Headplugselections";
import QuestionModal from "./component/QuestionModal";
import QuestionModals from "./component/QuestionModals";
import Contentpart from "./component/Contentpart";
import { TPMIndexHOC } from "../tpm/TPMIndexHOC";
import NoneData from './component/NoneData';
import './questioncss/questioncom.css';
import SiderBars from "../question/component/SiderBars";
import QuestionModalys from "./component/QuestionModalys";
import Certifiedprofessional from "../modals/Certifiedprofessional";
import SiderBar from "../tpm/SiderBar";
var Undoclickable = true;
var myGrandtotal = false;
class Question extends Component {
constructor(props) {
super(props);
this.state = {
count: 50,
defaultActiveKey: "0",
Headertop: "",
Footerdown: "",
visible: false,
placement: 'right',
modalsType: false,
modalsTypeInaudit: false,
modalsTypes: false,
titilesm: "在平台审核后,所有成员均可使用试题",
titiless: "是否设置为公开?",
titilesms: "单选题",
titbool: false,
Contentdata: [],
difficulty: null,
visiblemys: false,
visiblemyss: false,
item_type: null,
keyword: null,
timuid: null,
items_count: 0,
basket_list: [],
completion_questions_count: 0,
judgement_questions_count: 0,
multiple_questions_count: 0,
practical_questions_count: 0,
program_questions_count: 0,
single_questions_count: 0,
subjective_questions_count: 0,
page: 1,
per_page: 10,
disciplinesdata: [],
discipline_id: null,
sub_discipline_id: null,
tag_discipline_id: null,
booljupyterurls: false,
disciplinesdatakc: 0,
disciplinesdatazsd: 0,
selectallquestionsonthispages: false,
oj_status: null,
isVisible: false,
selectionbools: false,
chakanjiexiboolindex: "无",
mydisplay: false,
occupation: 2,
myqyespull: true
}
}
chakanjiexibool = (index) => {
if (this.state.chakanjiexiboolindex === index) {
this.setState({
chakanjiexiboolindex: "无",
})
return
}
this.setState({
chakanjiexiboolindex: index,
})
}
setmychakanjiexibool = (str) => {
this.setState({
chakanjiexiboolindex: str,
})
}
setdiscipline_id = (discipline_id) => {
this.setState({
discipline_id: discipline_id,
sub_discipline_id: null,
tag_discipline_id: null,
keyword: "",
page: 1,
per_page: 10,
oj_status: null
})
var data = {
discipline_id: discipline_id,
sub_discipline_id: null,
tag_discipline_id: null,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: null,
page: this.state.page,
per_page: 10,
oj_status: null
};
this.getdata(data);
}
setsub_discipline_id = (discipline_id, sub_discipline_id) => {
this.setState({
sub_discipline_id: sub_discipline_id,
discipline_id: discipline_id,
tag_discipline_id: null,
keyword: "",
page: 1,
per_page: 10,
oj_status: null
})
var data = {
discipline_id: discipline_id,
sub_discipline_id: sub_discipline_id,
tag_discipline_id: null,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: null,
page: 1,
per_page: 10,
oj_status: null
};
this.getdata(data);
}
settag_discipline_id = (tag_discipline_id) => {
this.setState({
tag_discipline_id: tag_discipline_id,
keyword: "",
page: 1,
per_page: 10,
oj_status: null
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: null,
page: 1,
per_page: 10,
oj_status: null
};
this.getdata(data);
}
//初始化
componentDidMount() {
let url = `/users/get_navigation_info.json`;
axios.get(url, {}).then((response) => {
if (response != undefined) {
if (response.status === 200) {
this.setState({
Headertop: response.data.top,
Footerdown: response.data.down
})
}
}
});
this.getbasket_listdata();
//获取题库筛选资料
let urls = `/disciplines.json`;
axios.get(urls, {
params: {
source: "question"
}
}).then((response) => {
if (response) {
this.setState({
disciplinesdata: response.data.disciplines,
})
}
});
}
//公共和我的
callback = (key) => {
this.setState({
defaultActiveKey: key,
selectallquestionsonthispages: false,
difficulty: null,
page: 1,
oj_status: null
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: key,
item_type: this.state.item_type,
difficulty: null,
page: 1,
per_page: 10,
oj_status: null
};
this.getdata(data);
}
//刷新加载
getdata = (data, bool) => {
const url = `/item_banks.json`;
if (bool) {
this.setState({
selectionbools: false,
})
} else {
this.setState({
booljupyterurls: true,
selectionbools: false,
})
}
axios.get((url), { params: data }).then((response) => {
this.setState({
booljupyterurls: false,
})
if (response === null || response === undefined) {
return
}
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
} else {
}
this.setState({
Contentdata: response.data,
items_count: response.data.items_count,
})
this.getdataslen(response.data.items);
}).catch((error) => {
this.setState({
booljupyterurls: false,
})
});
}
//不刷新加载
getdatasy = (data) => {
const url = `/item_banks.json`;
this.setState({
selectionbools: false,
})
axios.get((url), { params: data }).then((response) => {
if (response === null || response === undefined) {
return
}
this.setState({
Contentdata: response.data,
items_count: response.data.items_count,
})
this.getdataslen(response.data.items);
}).catch((error) => {
});
}
//计算
getdataslen = (arr) => {
myGrandtotal = false;
let contes = 0;
let Grandtotal = 0;
for (let data of arr) {
if (data.item_type === "PROGRAM") {
//编程题
if (data.choosed === true) {
} else {
//未选用
if (data.program_attr.status === 1) {
//已发布1 未发布0
contes = contes + 1;
} else {
Grandtotal = Grandtotal + 1;
}
}
} else {
//不是编程题
if (data.choosed === true) {
} else {
//未选用
contes = contes + 1;
}
}
}
if (contes > 0) {
this.setState({
selectionbools: false,
selectallquestionsonthispages: false,
})
} else {
try {
if (arr.length === Grandtotal) {
myGrandtotal = true;
this.setState({
selectionbools: false,
selectallquestionsonthispages: false,
})
} else {
this.setState({
selectionbools: true,
selectallquestionsonthispages: true,
})
}
} catch (e) {
this.setState({
selectionbools: true,
selectallquestionsonthispages: true,
})
}
}
}
paginationonChange = (pageNumber) => {
this.setState({
page: pageNumber,
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: pageNumber,
per_page: 10,
oj_status: this.state.oj_status
};
this.getdata(data);
this.setmychakanjiexibool("无")
}
showDrawer = () => {
if (this.state.visible === true) {
this.setState({
visible: false,
});
} else {
this.setState({
visible: true,
});
this.getbasket_listdata();
}
};
onClose = () => {
this.setState({
visible: false,
});
};
onChange = e => {
this.setState({
placement: e.target.value,
});
};
getContainer = () => {
return this.container;
};
saveContainer = container => {
this.container = container;
};
showmodels = (id) => {
this.setState({
modalsType: true,
titilesm: "在平台审核后,所有成员均可使用试题",
titiless: "是否设置为公开?",
titbool: true,
timuid: id,
myqyespull: true
})
};
setasprivates = (id) => {
this.setState({
modalsType: true,
titilesm: "设为私有后,试题仅您自己可见",
titiless: "是否设置为私有?",
titbool: true,
timuid: id,
myqyespull: false
})
};
showmodelsInaudit = (e) => {
this.setState({
modalsTypeInaudit: true,
titilesm: "公开申请已提交,请等待管理员的审核",
titiless: "我们将在1-2个工作日内完成审核",
})
};
showmodelysl = (id) => {
this.setState({
modalsType: true,
titilesm: "确认删除后,无法撤销",
titiless: "是否确认删除?",
titbool: false,
timuid: id
})
};
modalsTypeInauditbool = () => {
this.setState({
modalsTypeInaudit: false,
})
}
modalCancel = () => {
this.setState({
modalsType: false
})
}
modalCancels = () => {
this.setState({
modalsTypes: false
})
}
showQuestionModals = (item_type) => {
this.setState({
modalsTypes: true,
titilesms: item_type,
})
}
setDownloads = (item_type) => {
this.Deletebigquestiontype(item_type);
this.setState({
modalsTypes: false
})
}
setDownload = () => {
//确认
if (this.state.titbool === true) {
//公开
if (this.state.myqyespull === true) {
this.publicopentimu(this.state.timuid);
} else {
this.Setasprivate(this.state.timuid);
}
} else {
// 删除
this.deletetimu(this.state.timuid);
}
this.setState({
modalsType: false
})
}
setdifficulty = (difficulty) => {
this.setState({
difficulty: difficulty,
visiblemys: false,
page: 1,
per_page: 10,
keyword: "",
oj_status: null
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: difficulty,
item_type: this.state.item_type,
keyword: null,
page: 1,
per_page: 10,
oj_status: null
};
this.getdata(data);
}
setitem_types = (item_type) => {
this.setState({
item_type: item_type,
visiblemyss: false,
page: 1,
per_page: 10,
keyword: "",
oj_status: null
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: item_type,
page: 1,
per_page: 10,
keyword: null,
oj_status: null
};
this.getdata(data);
}
handleVisibleChange = (boll) => {
if (this.state.visiblemyss === true) {
this.setState({
visiblemys: boll,
visiblemyss: false,
})
} else {
this.setState({
visiblemys: boll,
})
}
}
handleVisibleChanges = (boll) => {
if (this.state.visiblemys === true) {
this.setState({
visiblemyss: boll,
visiblemys: false,
})
} else {
this.setState({
visiblemyss: boll,
})
}
}
setdatafunsval = (e) => {
this.setState({
keyword: e.target.value
})
}
setdatafuns = (value) => {
this.setState({
keyword: value,
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: value,
page: 1,
per_page: 10,
oj_status: this.state.oj_status
};
this.getdata(data);
}
deletetimu = (id) => {
const url = `/item_banks/${id}.json`;
axios.delete(url)
.then((response) => {
if (response.data.status == 0) {
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdata(data, true);
}
})
.catch(function (error) {
});
}
//设为公开
publicopentimu = (id) => {
const url = `/item_banks/${id}/set_public.json`;
axios.post(url)
.then((result) => {
if (result.data.status == 0) {
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdata(data, true);
}
}).catch((error) => {
////console.log(error);
})
}
//设为私有
Setasprivate = (id) => {
const url = `/item_banks/${id}/set_private.json`;
axios.post(url)
.then((result) => {
if (result.data.status == 0) {
// this.props.showNotification(`设为私有成功`);
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdata(data, true);
}
}).catch((error) => {
////console.log(error);
})
}
//跳转道描点的地方
scrollToAnchor = (anchorName) => {
if (anchorName) {
// 找到锚点
let anchorElement = document.getElementById(anchorName);
// 如果对应id的锚点存在就跳转到锚点
if (anchorElement) {
anchorElement.scrollIntoView();
}
}
}
getbasket_listdata = () => {
// 获取试题篮展开的数据
const url = "/item_baskets/basket_list.json";
axios.get(url)
.then((result) => {
this.setState({
completion_questions_count: result.data.completion_questions_count,
judgement_questions_count: result.data.judgement_questions_count,
multiple_questions_count: result.data.multiple_questions_count,
practical_questions_count: result.data.practical_questions_count,
program_questions_count: result.data.program_questions_count,
single_questions_count: result.data.single_questions_count,
subjective_questions_count: result.data.subjective_questions_count,
})
}).catch((error) => {
this.setState({
completion_questions_count: 0,
judgement_questions_count: 0,
multiple_questions_count: 0,
practical_questions_count: 0,
program_questions_count: 0,
single_questions_count: 0,
subjective_questions_count: 0,
})
})
}
// 不选用 NewMyShixunModel.js 页面也有个
NOgetitem_baskets = (data) => {
let url = "/examination_banks/cancel_items.json";
axios.post(url, data)
.then((result) => {
if (result.data.status == 0) {
// this.props.showNotification(`选用成功`);
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdatasy(data);
this.getbasket_listdata();
}
}).catch((error) => {
////console.log(error);
})
}
//选用 NewMyShixunModel.js 页面也有个
getitem_baskets = (data) => {
//选用题型可以上传单个 或者多个题型
let url = "/item_baskets.json";
axios.post(url, data)
.then((result) => {
if (result.data.status == 0) {
// this.props.showNotification(`选用成功`);
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdatasy(data);
this.getbasket_listdata();
// this.setState({
// visible:true
// })
}
}).catch((error) => {
////console.log(error);
})
}
// 撤销
getitem_basketss = (id) => {
if (Undoclickable === true) {
Undoclickable = false;
//选用题型可以上传单个 或者多个题型
let url = `/item_baskets/${id}.json`;
axios.delete(url)
.then((result) => {
if (result.data.status == 0) {
// this.props.showNotification(`撤销成功`);
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdatasy(data);
this.getbasket_listdata();
}
setTimeout(() => {
Undoclickable = true;
}, 1000);
}).catch((error) => {
////console.log(error);
setTimeout(() => {
Undoclickable = true;
}, 1000);
})
}
}
//全选试题库
selectallquestionsonthispage = (bool) => {
if (bool === true) {
//bool 是选中状态
let {
completion_questions_count, judgement_questions_count, multiple_questions_count, practical_questions_count,
program_questions_count, single_questions_count, subjective_questions_count,
} = this.state;
const Datacount = completion_questions_count + judgement_questions_count
+ multiple_questions_count + practical_questions_count
+ program_questions_count
+ single_questions_count
+ subjective_questions_count;
if (Datacount === 100) {
this.props.showNotification(`已选100个试题不能在选用更多试题`);
return;
}
}
if (myGrandtotal === true) {
this.props.showNotification(`本页全部试题未发布,不能选择`);
return
}
var item_idsdata = [];
var arr = this.state.Contentdata.items;
for (let data of arr) {
if (data.item_type === "PROGRAM") {
//编程题
if (data.choosed === true) {
if (data.program_attr.status === 1) {
//已发布
item_idsdata.push(data.id);
}
} else {
//未选用
if (data.program_attr.status === 1) {
//已发布
item_idsdata.push(data.id);
}
}
} else {
//不是编程题
if (data.choosed === true) {
item_idsdata.push(data.id);
} else {
//未选用
item_idsdata.push(data.id);
}
}
}
const data = {
item_ids: item_idsdata
}
if (bool === false) {
this.getitem_baskets(data);
this.setState({
selectallquestionsonthispages: true,
})
} else {
this.NOgetitem_baskets(data);
this.setState({
selectallquestionsonthispages: false,
})
}
}
//全选的状态
//删除大题型
Deletebigquestiontype = (item_type) => {
const url = `/item_baskets/delete_item_type.json`;
axios.delete((url), {
data: {
item_type: item_type
}
})
.then((response) => {
if (response.data.status == 0) {
// this.props.showNotification('删除成功');
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
};
this.getdata(data);
this.getbasket_listdata();
}
})
.catch(function (error) {
////console.log(error);
});
}
HideAddcoursestypess = (i) => {
console.log("调用了");
this.setState({
mydisplay: true,
occupation: i,
})
}
mydisplayHidedel = () => {
this.setState({
mydisplay: false,
})
}
//跳转
gotopaperreview = () => {
let isysladmins = false;
if (this.props) {
if (this.props.current_user) {
if (this.props.current_user.admin) {
isysladmins = true;
}
else if (this.props.current_user.business) {
isysladmins = true;
}
}
}
this.props.history.replace("/paperreview/artificial");
}
setoj_status = (oj_status) => {
//编程题发布未发布
this.setState({
selectallquestionsonthispages: false,
difficulty: null,
oj_status: oj_status
})
var data = {
discipline_id: this.state.discipline_id,
sub_discipline_id: this.state.sub_discipline_id,
tag_discipline_id: this.state.tag_discipline_id,
public: this.state.defaultActiveKey,
difficulty: this.state.difficulty,
item_type: this.state.item_type,
keyword: this.state.keywords,
page: this.state.page,
per_page: 10,
oj_status: oj_status
};
this.getdata(data);
}
render() {
let {
page, per_page, items_count, Headertop, visible, placement, modalsType, modalsTypes, basket_list,
completion_questions_count, judgement_questions_count, multiple_questions_count, practical_questions_count,
program_questions_count, single_questions_count, subjective_questions_count, selectionbools,
modalsTypeInaudit, mydisplay
} = this.state;
const Datacount = completion_questions_count + judgement_questions_count
+ multiple_questions_count + practical_questions_count
+ program_questions_count
+ single_questions_count
+ subjective_questions_count;
let isysladmins = false;
const is_teacher = this.props && this.props.current_user && this.props.current_user.is_teacher ? this.props.current_user.is_teacher : false;
const professional_certification = this.props && this.props.current_user && this.props.current_user.professional_certification ? this.props.current_user.professional_certification : false;
try {
if (this.props) {
if (this.props.current_user) {
if (this.props.current_user.admin) {
isysladmins = true;
}
else if (this.props.current_user.business) {
isysladmins = true;
}
}
}
} catch (e) {
}
let Periofters = false;
if (this.props) {
if (this.props.current_user) {
if (this.props.current_user.admin) {
Periofters = true;
}
else if (this.props.current_user.business) {
Periofters = true;
}
else if (this.props.current_user.is_shixun_marker) {
Periofters = true;
}
else if (this.props.current_user.is_teacher) {
Periofters = true;
} else if (this.props.current_user.user_identity !== "学生") {
Periofters = true;
}
}
}
return (
<div className="newMain clearfix" ref={this.saveContainer}>
{
mydisplay === true ?
<Certifiedprofessional {...this.props} {...this.state} ModalCancelsy={this.mydisplayHidedel} />
: ""
}
{
mydisplay === true ?
<style>
{
`
body{
overflow:hidden!important;
}
`
}
</style>
: ""
}
{
visible === true ?
<style>
{
`
.ant-drawer {
z-index: 800 !important;
}
.ant-notification{
position: fixed;
z-index: 1500 !important;
}
`
}
</style>
: ""
}
<div
style={{
marginTop: "81px"
}}></div>
{
modalsTypes === true ?
<QuestionModals {...this.props}{...this.state} modalsTypes={modalsTypes} modalCancels={() => this.modalCancels()}
setDownloads={(e) => this.setDownloads(e)}></QuestionModals>
: ""
}
{
modalsType === true ?
<QuestionModal {...this.props}{...this.state} modalsType={modalsType} modalCancel={() => this.modalCancel()}
setDownload={() => this.setDownload()}></QuestionModal>
: ""
}
{
modalsTypeInaudit === true ?
<QuestionModalys {...this.props}{...this.state} modalsType={modalsTypeInaudit} modalCancel={() => this.modalsTypeInauditbool()}
setDownload={() => this.modalsTypeInauditbool()}></QuestionModalys>
: ""
}
<style>
{
`
.-task-sidebar{
height: 30%;
}
`
}
</style>
{
Periofters === false ?
<SiderBar
{...this.props}
{...this.state}
showDrawer={() => this.showDrawer()}
Headertop={Headertop} />
:
<SiderBars
Datacount={Datacount}
myvisible={visible}
{...this.props}
{...this.state}
showDrawer={() => this.showDrawer()}
Headertop={Headertop}
/>
}
{/*顶部*/}
<div id={"questionid"}></div>
<Headplugselections
disciplinesdata={this.state.disciplinesdata}
{...this.props}
{...this.state}
setdifficulty={(e) => this.setdifficulty(e)}
setitem_types={(e) => this.setitem_types(e)}
setdiscipline_id={(e) => this.setdiscipline_id(e)}
setsub_discipline_id={(e, id) => this.setsub_discipline_id(e, id)}
settag_discipline_id={(e) => this.settag_discipline_id(e)}
/>
{/*头部*/}
<Contentpart {...this.state} {...this.props}
pages={this.state.page}
Isitapopup={"false"}
Datacount={Datacount}
Datacountbool={true}
chakanjiexiboolindex={this.state.chakanjiexiboolindex}
chakanjiexibool={(e) => this.chakanjiexibool(e)}
getitem_basketss={(id) => this.getitem_basketss(id)}
selectallquestionsonthispage={(bool) => this.selectallquestionsonthispage(bool)}
getitem_baskets={(e) => this.getitem_baskets(e)}
setdatafuns={(e) => this.setdatafuns(e)}
setdatafunsval={(e) => this.setdatafunsval(e)}
handleVisibleChanges={(e) => this.handleVisibleChanges(e)}
handleVisibleChange={(e) => this.handleVisibleChange(e)}
showmodels={(e) => this.showmodels(e)}
showmodelysl={(e) => this.showmodelysl(e)}
callback={(e) => this.callback(e)}
setoj_status={(e) => this.setoj_status(e)}
showmodelsInaudit={(e) => this.showmodelsInaudit(e)}
setasprivates={(e) => this.setasprivates(e)}
></Contentpart>
{
items_count && items_count > 10 ?
<div className="mb60 clearfix educontent mt40 intermediatecenter">
<Pagination showQuickJumper current={page} onChange={this.paginationonChange}
pageSize={per_page}
total={items_count}></Pagination>
</div>
: <div className="h30 clearfix educontent mt40 intermediatecenter">
</div>
}
{/*抽屉效果*/}
<style>
{
`
.ant-drawer-content-wrapper{
width: 160px !important;
overflowhidden;
margin-top: 62px;
}
.ant-drawer-body{
height: 100%;
background:rgba(234,234,234,1);
}
.ant-drawer-close{
height: 40px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color:#ffffff;
}
.ant-drawer-close:hover{
color:#ffffff;
}
.ant-drawer-close:active{
color:#ffffff;
}
`
}
</style>
<Drawer
className="drawercontainer"
placement={placement}
closable={false}
onClose={() => this.onClose()}
visible={visible}
mask={false}
>
{Datacount && Datacount > 0 ?
<div>
<div className="shitilang">
试题篮
</div>
<div className="mt25 mb26">
</div>
{
single_questions_count === 0 ?
""
: <div className="sortinxdirection " >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">单选题{'('}{single_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("SINGLE")}></i></p>
</div>
}
{
multiple_questions_count === 0 ?
""
:
<div className="sortinxdirection" >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">多选题{'('}{multiple_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("MULTIPLE")}></i></p>
</div>
}
{
judgement_questions_count === 0 ?
""
:
<div className="sortinxdirection" >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">判断题{'('}{judgement_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("JUDGMENT")}></i></p>
</div>
}
{
completion_questions_count === 0 ?
""
:
<div className="sortinxdirection" >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">填空题{'('}{completion_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("COMPLETION")}></i></p>
</div>
}
{
subjective_questions_count === 0 ?
""
:
<div className="sortinxdirection" >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">简答题{'('}{subjective_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("SUBJECTIVE")}></i></p>
</div>
}
{
practical_questions_count === 0 ?
""
:
<div className="sortinxdirection">
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">实训题{'('}{practical_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor "></i></p>
</div>
}
{
program_questions_count === 0 ?
""
:
<div className="sortinxdirection" >
<p
className="w80s intermediatecenterysls sortinxdirection font-14 xiaoshou xiaoshoums">编程题{'('}{program_questions_count}{')'}</p>
<p className="w20s intermediatecenterysls xaxisreverseorder"><i
className="iconfont icon-shanchu1 font-14 lg lh30 icondrawercolor " onClick={() => this.showQuestionModals("PROGRAM")}></i></p>
</div>
}
<div className="intermediatecenter verticallayout mt42">
<div className="drawerbutton xiaoshou" onClick={() => this.gotopaperreview()}>
试卷预览
</div>
</div>
</div>
:
<div className="drawernonedatadiv intermediatecenter">
<NoneData></NoneData>
</div>
}
</Drawer>
</div>
)
}
}
export default SnackbarHOC()(TPMIndexHOC(Question));