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;
						overflow：hidden;
						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));
