From 229016237ec2b2ce1497ef598aedff363b59aba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 31 Dec 2019 10:30:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/question/Paperreview.js | 2 +- .../comthetestpaper/comthetestpapers.js | 696 ++++++++++++++++++ 2 files changed, 697 insertions(+), 1 deletion(-) create mode 100644 public/react/src/modules/question/comthetestpaper/comthetestpapers.js diff --git a/public/react/src/modules/question/Paperreview.js b/public/react/src/modules/question/Paperreview.js index 01be54a73..8194fb016 100644 --- a/public/react/src/modules/question/Paperreview.js +++ b/public/react/src/modules/question/Paperreview.js @@ -177,7 +177,7 @@ class Paperreview extends Component { - this.props.getdata(data)}> + this.getdata(data)}> diff --git a/public/react/src/modules/question/comthetestpaper/comthetestpapers.js b/public/react/src/modules/question/comthetestpaper/comthetestpapers.js new file mode 100644 index 000000000..b5d682a35 --- /dev/null +++ b/public/react/src/modules/question/comthetestpaper/comthetestpapers.js @@ -0,0 +1,696 @@ +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, + Radio, + Checkbox, + Form, + Input, + Select, + Cascader, + AutoComplete, + Col, Row, InputNumber, DatePicker, AutoComplete, Button, Tag +} from "antd"; +import './../questioncss/questioncom.css'; + +const InputGroup = Input.Group; +const {Option} = Select; +const options = [ + { + value: '方向', + label: '方向', + children: [ + { + value: '课程', + label: '课程', + }, + ], + }, + { + value: 'jiangsu', + label: 'Jiangsu', + children: [ + { + value: 'nanjing', + label: 'Nanjing', + }, + ], + }, +]; + +class Itembankstop extends Component { + constructor(props) { + super(props); + this.contentMdRef = React.createRef() + this.state = { + page: 1, + Knowpoints: [], + rbtx: undefined, + rbkc: undefined, + knowledgepoints: [], + options: [], + } + } + + //初始化 + componentDidMount() { + try { + this.props.getcontentMdRef(this); + } catch (e) { + + } + this.setState({ + options: this.props.disciplmy + }) + // knowledgepoints:this.props.knowledgepoints, + + ////console.log("componentDidMount"); + ////console.log(this.state); + ////console.log(this.props); + // let homeworkid = this.props.match.params.homeworkid; + // let url = "/homework_commons/" + homeworkid + "/end_groups.json"; + // axios.get(url).then((response) => { + // if (response.status === 200) { + // this.setState({}) + // } + // }).catch((error) => { + // ////console.log(error) + // });() + // 题型 + + + } + + componentDidUpdate(prevProps) { + + if (prevProps.item_banksedit !== this.props.item_banksedit) { + if (this.props.item_banksedit.item_type) { + this.handleFormtixing(this.props.item_banksedit.item_type); + } + if (this.props.item_banksedit.difficulty) { + this.handleFormLayoutChange(this.props.item_banksedit.difficulty); + } + if (this.props.item_banksedit.tag_disciplines) { + this.handletag_disciplinesChange(this.props.item_banksedit.tag_disciplines); + } + + if (this.props.item_banksedit.discipline &&this.props.item_banksedit.sub_discipline) { + this.handdisciplinesChange(this.props.item_banksedit.discipline,this.props.item_banksedit.sub_discipline); + } + } + if (prevProps.disciplmy !== this.props.disciplmy) { + this.setState({ + options: this.props.disciplmy + }) + } + + } + handdisciplinesChange =(name,title)=>{ + this.setState({ + rbkc:[name.id,title.id] + }) + this.props.form.setFieldsValue({ + rbkc: [name.id,title.id], + }); + + if(this.props.item_banksedit.tag_disciplines.length===0){ + const didata = this.props.disciplinesdata; + const knowledgepointsdata = []; + + for (var i = 0; i < didata.length; i++) { + //方向 + if (name.id === didata[i].id) { + const fxdidata = didata[i].sub_disciplines; + for (var j = 0; j < fxdidata.length; j++) { + //课程 + if (title.id === fxdidata[j].id) { + const zsddata = fxdidata[j].tag_disciplines; + for (var k = 0; k < zsddata.length; k++) { + //知识点 + knowledgepointsdata.push(zsddata[k]); + + + } + + } + + } + } + + + } + + this.setState({ + Knowpoints: [], + knowledgepoints: knowledgepointsdata, + }) + + } + + + + + + + + + + + } + handletag_disciplinesChange = (data) => { + try { + var sju=data[data.length-1].name; + this.setState({ + rbzsd:sju, + Knowpoints:data, + }) + this.props.form.setFieldsValue({ + rbzsd: sju, + }); + }catch (e) { + + } + } + onChange = (e) => { + + } + Getdatas = () => { + return this.handleSubmits(); + } + handleSubmits = () => { + var data = []; + this.props.form.validateFields((err, values) => { + data = [] + if (!err) { + // ////console.log("获取的form 数据"); + // ////console.log(values); + data.push({ + rbnd: parseInt(values.rbnd) + }) + data.push({ + rbtx: values.rbtx + }) + data.push({ + rbzsd: this.state.Knowpoints + }) + data.push({ + rbkc: values.rbkc + }) + + } + }); + + return data; + + } + handleSubmit = (e) => { + e.preventDefault(); + this.props.form.validateFields((err, values) => { + if (!err) { + ////console.log("获取的form 数据"); + ////console.log(values); + + } + + + }); + } + + handleFormLayoutChange = (value) => { + //难度塞选 + ////console.log("难度塞选"); + ////console.log(value); + this.props.form.setFieldsValue({ + rbnd: value + "", + }); + this.setState({ + rbnd: value + "", + }) + + } + handleFormkechen = (value) => { + //课程 + ////console.log("课程"); + ////console.log(value); + var valuename = undefined; + this.props.form.setFieldsValue({ + rbzsd: value, + }); + + var arr = this.state.knowledgepoints; + for (let data of arr) { + if (data.id === value) { + this.state.Knowpoints.push(data); + valuename = data.name; + } + } + + var tmp = JSON.parse(JSON.stringify(this.state.knowledgepoints)); + for (var i = 0; i < tmp.length; i++) { + if (tmp[i].id === value) { + this.state.knowledgepoints.splice(i, 1); + } + } + + this.setState({ + rbzsd: valuename, + Knowpoints: this.state.Knowpoints, + knowledgepoints: this.state.knowledgepoints, + }) + + } + + handleFormzhishidian = (value) => { + console.log("handleFormzhishidian 课程"); + console.log(value); + + //课程 + this.props.form.setFieldsValue({ + rbkc: value, + }); + this.setState({ + rbkc:value, + }) + // console.log("handleFormzhishidian"); + // console.log(this.props.disciplinesdata); + + const didata = this.props.disciplinesdata; + const knowledgepointsdata = []; + + for (var i = 0; i < didata.length; i++) { + //方向 + if (value[0] === didata[i].id) { + const fxdidata = didata[i].sub_disciplines; + for (var j = 0; j < fxdidata.length; j++) { + //课程 + if (value[1] === fxdidata[j].id) { + const zsddata = fxdidata[j].tag_disciplines; + for (var k = 0; k < zsddata.length; k++) { + //知识点 + knowledgepointsdata.push(zsddata[k]); + + + } + + } + + } + } + + + } + + this.setState({ + Knowpoints: [], + knowledgepoints: knowledgepointsdata, + }) + + this.props.form.setFieldsValue({ + rbzsd: undefined, + }); + this.setState({ + rbzsd: undefined, + }) + } + + handleFormtixing = (value) => { + //题型 + //console.log("题型"); + //console.log(value); + this.setState({ + rbtx: value + "", + }) + this.props.form.setFieldsValue({ + rbtx: value + "", + }); + this.props.setitem_type(value); + } + preventDefault = (e) => { + e.preventDefault(); + ////console.log('Clicked! But prevent default.'); + } + deletesobject = (item, index) => { + var arr = this.state.Knowpoints; + for (let data of arr) { + if (data.id === item.id) { + this.state.knowledgepoints.push(data); + } + } + + + var tmp = JSON.parse(JSON.stringify(this.state.Knowpoints)); + for (var i = 0; i < tmp.length; i++) { + if (i >= index) { + var pos = this.state.Knowpoints.indexOf(tmp[i]); + this.state.Knowpoints.splice(pos, 1); + } + } + + this.props.form.setFieldsValue({ + rbzsd: this.state.Knowpoints, + }); + + + this.setState({ + Knowpoints: this.state.Knowpoints, + }) + + if (this.state.Knowpoints.length === 0) { + this.setState({ + rbzsd: undefined, + }) + } else if (this.state.Knowpoints.length > 0) { + try { + const myknowda = this.state.Knowpoints; + this.setState({ + rbzsd: myknowda[this.state.Knowpoints.length - 1].name, + }) + } catch (e) { + + } + + } + + } + handleSearch=(value)=>{ + + + if(value!=""){ + this.props.form.setFieldsValue({ + classroom:value, + // course:value + }); + // this.Searchvalue(value) + } + + }; + + handleChange=(e)=>{ + console.log(e); + this.props.form.setFieldsValue({ + // course:value, + classroom:e.target.value, + }) + if(e.target.value){ + if(e.target.value.length>60){ + this.setState({ + bordebool:true, + }) + }else if(e.target.value.length===0){ + this.setState({ + bordebool:true, + }) + }else{ + this.setState({ + bordebool:false, + }) + } + }else{ + this.setState({ + bordebool:true + }) + + } + + }; + + render() { + let {page} = this.state; + const {getFieldDecorator} = this.props.form; + const options = this.state.searchlist && this.state.searchlist.map(d => ); + var addonAfterthree=this.props.form&&this.props.form.getFieldValue('classroom'); + var addonAfteronelens3=0; + if(addonAfterthree){ + addonAfteronelens3=String(addonAfterthree).length; + } + return ( + +
+ +
+ + + {getFieldDecorator("rbkc", + { + rules: [{required: true, message: '请选择课程'}], + } + )( +
+ + + + + + {/*
*/} + + {/* {this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => {*/} + {/* return (*/} + {/*
*/} + {/*

{object}

*/} + {/* this.deletesobject(object,index)}>*/} + {/*
*/} + {/* )*/} + {/* })}*/} + + {/*
*/} +
+ )} +
+
+ + {getFieldDecorator("rbzsd" + )( +
+ + + +
+ + {this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => { + return ( +
+

{object.name}

+ this.deletesobject(object, index)}> +
+ ) + })} + +
+
+ )} +
+ + +
+ + + + {getFieldDecorator('classroom', { + rules: [{required: true, message: "不能为空"}], + })( + + + + + )} +
+
+ + +
+ + + {getFieldDecorator("rbtx", + { + rules: [{required: true, message: '请选择题型'}], + } + )( + + + + )} + + + + +
+ + {getFieldDecorator('rbnd', + { + rules: [{required: true, message: '请选择难度'}], + } + )( + + 简单 + 适中 + 困难 + , + )} + +
+ {/**/} + {/* */} + {/**/} + +
+
+
+ ) + + } + + +} + +const Itembankstops = Form.create({name: 'Itembankstops'})(Itembankstop); +export default Itembankstops;