import React, {Component} from "react"; import {Link, NavLink} from 'react-router-dom'; import {WordsBtn, ActionBtn, SnackbarHOC, getImageUrl} from 'educoder'; import axios from 'axios'; import { notification, Spin, Table, Pagination, Drawer, Input, Button, Breadcrumb } from "antd"; import {TPMIndexHOC} from "../tpm/TPMIndexHOC"; import NoneData from './component/NoneData'; import './testioncss/testioncss.css'; import '../tpm/newshixuns/css/Newshixuns.css'; import Bottomsubmit from "../../modules/modals/Bottomsubmit"; import Seeoagertits from "./component/Seeoagertits"; import Paperlibraryseeid_item from './component/Paperlibraryseeid_item'; import Comthetestpaperst from '../question/comthetestpaper/Comthetestpaperst'; import Paperlibraryseeid_itemss from './component/Paperlibraryseeid_itemss'; import JudquestionEditor from "../question/component/JudquestionEditor"; import NewMyShixunModel from "../question/NewMyShixunModel"; //试卷编辑 class Paperlibraryeditid extends Component { constructor(props) { super(props); this.Judquestio = React.createRef(); this.state = { paperlibrartdata: [], disciplinesdata: [], knowledgepoints: [], disciplmy: [], item_banksedit: [], newmyshixunmodelbool:false, } } getJudquestio = (Ref) => { //console.log("子组件对象"); //console.log(Ref); this.Judquestio = Ref; } //初始化 componentDidMount() { this.getdata(); let urls = `/disciplines.json`; axios.get(urls, { params: { source: "question" } }).then((response) => { if (response) { this.setState({ disciplinesdata: response.data.disciplines, }) if (response.data) { if (response.data.disciplines) { const didata = response.data.disciplines; for (var i = 0; i < didata.length; i++) { const childern = []; //方向 const fxdidata = didata[i].sub_disciplines; for (var j = 0; j < fxdidata.length; j++) { //课程 const zsddata = fxdidata[j].tag_disciplines; childern.push( { value: fxdidata[j].id, label: fxdidata[j].name, } ) for (var k = 0; k < zsddata.length; k++) { //知识点 this.state.knowledgepoints.push(zsddata[k]); } } const datakec = { value: didata[i].id, label: didata[i].name, children: childern, } this.state.disciplmy.push(datakec); } this.setState({ knowledgepoints: this.state.knowledgepoints, disciplmy: this.state.disciplmy, }) } } } }); } getdata = () => { let urls = `/examination_banks/${this.props.match.params.id}.json`; axios.get(urls).then((response) => { if (response) { this.setState({ paperlibrartdata: response.data, item_banksedit: response.data.exam, }) } }); } //跳转道描点的地方 scrollToAnchor = (anchorName) => { try { if (anchorName) { // 找到锚点 let anchorElement = document.getElementById(anchorName); // 如果对应id的锚点存在,就跳转到锚点 if (anchorElement) { anchorElement.scrollIntoView(); } } } catch (e) { } } preservation = () => { //保存试卷 if (this.Judquestio.Getdatas().length === 0) { this.scrollToAnchor("Itembankstopid"); return; } var myrbkc=[]; var Getdatasdatas=this.Judquestio.Getdatas()[2].rbzsd; for(let myda of Getdatasdatas) { myrbkc.push(myda.id); } const url = `/examination_banks/${this.props.match.params.id}.json`; var data={ difficulty:this.Judquestio.Getdatas()[0].rbnd, name:this.Judquestio.Getdatas()[4].classroom, duration:this.Judquestio.Getdatas()[5].kssc, discipline_id: this.Judquestio.Getdatas()[3].rbkc[0], sub_discipline_id: this.Judquestio.Getdatas()[3].rbkc[1], tag_discipline_id: myrbkc, } axios.put(url, data) .then((result) => { if (result.data.status === 0) { // this.props.showNotification(`试卷更新成功`); this.props.history.push('/paperlibrary'); } }).catch((error) => { //console.log(error); }) } setitem_type = (item_type) => { } setCohetepaperbool = (bool) => { } getcontentMdRef = (Ref) => { this.contentMdRef = Ref; } setnewmyshixunmodelbool=(bool)=>{ if(bool===true){ let scrollToTop = window.setInterval(function() { let pos = window.pageYOffset; if ( pos > 0 ) { window.scrollTo( 0, pos - 20 ); // how far to scroll on each step } else { window.clearInterval( scrollToTop ); } }, 2); } this.setState({ newmyshixunmodelbool:bool }) this.getdata(); } render() { let {paperlibrartdata,newmyshixunmodelbool} = this.state; const params = this.props && this.props.match && this.props.match.params; // //console.log("newmyshixunmodelbool"); // //console.log(newmyshixunmodelbool); return ( <div> <div id={"Itembankstopid"} className="newMain clearfix intermediatecenter " > { newmyshixunmodelbool===true? <style>{ ` body{ overflow: hidden !important; } ` }</style> :"" } { newmyshixunmodelbool===true? <div className="fangdatwo"> <NewMyShixunModel {...this.state} {...this.props} exam_id={this.props.match.params.id} setnewmyshixunmodelbool={(e)=>this.setnewmyshixunmodelbool(e)}></NewMyShixunModel> </div> : "" } <style> { ` .newFooter{ display: none; } ` } </style> <div className="w1200ms"> <div className="w100s mt30"> <Breadcrumb separator=">"> <Breadcrumb.Item href="/paperlibrary">试卷库</Breadcrumb.Item> <Breadcrumb.Item className={"shubiao"}>公告试卷库</Breadcrumb.Item> <Breadcrumb.Item className={"shubiao"}>试卷编辑</Breadcrumb.Item> </Breadcrumb> </div> <Comthetestpaperst {...this.state} {...this.props} item_banksedit={this.state.item_banksedit} getJudquestio={(ref) => this.getJudquestio(ref)} ></Comthetestpaperst> <div className=" clearfix educontent Contentquestionbankstyle w100s w1200wuh mt19"> <style> { ` .seeoagertitscss .jixuxuanti{ background:#4CACFF; } ` } </style> <div className={"seeoagertitscss"}> <Seeoagertits setnewmyshixunmodelbool={(e)=>this.setnewmyshixunmodelbool(e)} all_score={paperlibrartdata && paperlibrartdata.exam && paperlibrartdata.exam.all_questions_count} all_questions_count={paperlibrartdata && paperlibrartdata.exam && paperlibrartdata.exam.all_score} difficulty={paperlibrartdata && paperlibrartdata.exam && paperlibrartdata.exam.difficulty} > </Seeoagertits> </div> <Paperlibraryseeid_itemss {...this.state} {...this.props} getdata={() => this.getdata()} single_questions={paperlibrartdata && paperlibrartdata.single_questions && paperlibrartdata.single_questions.questions.length > 0 ? paperlibrartdata.single_questions : null} multiple_questions={paperlibrartdata && paperlibrartdata.multiple_questions && paperlibrartdata.multiple_questions.questions.length > 0 ? paperlibrartdata.multiple_questions : null } judgement_questions={paperlibrartdata && paperlibrartdata.judgement_questions && paperlibrartdata.judgement_questions.questions.length > 0 ? paperlibrartdata.judgement_questions : null } program_questions={paperlibrartdata && paperlibrartdata.program_questions && paperlibrartdata.program_questions.questions.length > 0 ? paperlibrartdata.program_questions : null } ></Paperlibraryseeid_itemss> </div> </div> </div> { newmyshixunmodelbool === true ? "" : <Bottomsubmit {...this.props} {...this.state} bottomvalue={"保存"} setCohetepaperbool={(bool) => this.setCohetepaperbool(bool)} onSubmits={() => this.preservation()} url={'/paperlibrary'}></Bottomsubmit> } </div> ) } } export default SnackbarHOC()(TPMIndexHOC(Paperlibraryeditid));