调整题库

yslnewtiku
杨树林 6 years ago
parent 4954d244b4
commit d6de7bf531

@ -429,7 +429,7 @@ class Questionitem_banks extends Component {
name: anserdata[0], name: anserdata[0],
item_type: Getdatasdata[1].rbtx, item_type: Getdatasdata[1].rbtx,
difficulty:Getdatasdata[0].rbnd, difficulty:Getdatasdata[0].rbnd,
analysis: anserdata[3], analysis: anserdata[2],
choices: choices, choices: choices,
}; };
@ -507,6 +507,7 @@ class Questionitem_banks extends Component {
</Breadcrumb> </Breadcrumb>
</div> </div>
{/*题目头部操作*/}
<Itembankstop <Itembankstop
{...this.state} {...this.state}

@ -81,6 +81,9 @@ class Headplugselection extends Component {
// console.log(this.props.disciplinesdata); // console.log(this.props.disciplinesdata);
// disciplinesdatakc:kc, // disciplinesdatakc:kc,
// disciplinesdatazsd:zsd, // disciplinesdatazsd:zsd,
console.log(this.props.disciplinesdatakc);
console.log(this.props.disciplinesdatazsd);
return ( return (
<div className=" clearfix mt21 "> <div className=" clearfix mt21 ">
<div className="educontent w1200dbl"> <div className="educontent w1200dbl">

@ -1,6 +1,6 @@
import React, {Component} from "react"; import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom'; import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn,SnackbarHOC,getImageUrl} from 'educoder'; import {WordsBtn, ActionBtn, SnackbarHOC, getImageUrl} from 'educoder';
import axios from 'axios'; import axios from 'axios';
import { import {
notification, notification,
@ -13,11 +13,12 @@ import {
Input, Input,
Select, Select,
Cascader, Cascader,
Col, Row, InputNumber, DatePicker, AutoComplete,Button,Tag Col, Row, InputNumber, DatePicker, AutoComplete, Button, Tag
} from "antd"; } from "antd";
import './../questioncss/questioncom.css'; import './../questioncss/questioncom.css';
const InputGroup = Input.Group; const InputGroup = Input.Group;
const { Option } = Select; const {Option} = Select;
const options = [ const options = [
{ {
value: '方向', value: '方向',
@ -40,28 +41,30 @@ const options = [
], ],
}, },
]; ];
class Itembankstop extends Component { class Itembankstop extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.contentMdRef = React.createRef() this.contentMdRef = React.createRef()
this.state = { this.state = {
page:1, page: 1,
Knowpoints:[], Knowpoints: [],
rbtx:undefined, rbtx: undefined,
rbkc:undefined, rbkc: undefined,
knowledgepoints:[], knowledgepoints: [],
options:[], options: [],
} }
} }
//初始化 //初始化
componentDidMount(){ componentDidMount() {
try { try {
this.props.getcontentMdRef(this); this.props.getcontentMdRef(this);
}catch (e) { } catch (e) {
} }
this.setState({ this.setState({
options:this.props.disciplmy options: this.props.disciplmy
}) })
// knowledgepoints:this.props.knowledgepoints, // knowledgepoints:this.props.knowledgepoints,
@ -80,63 +83,122 @@ class Itembankstop extends Component {
// 题型 // 题型
} }
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
// //console.log("componentDidUpdate");
// //console.log(prevProps);
// //console.log(this.props.item_banksedit);
if(prevProps.item_banksedit !== this.props.item_banksedit){ if (prevProps.item_banksedit !== this.props.item_banksedit) {
if(this.props.item_banksedit.item_type){ if (this.props.item_banksedit.item_type) {
this.handleFormtixing(this.props.item_banksedit.item_type); this.handleFormtixing(this.props.item_banksedit.item_type);
} }
if(this.props.item_banksedit.difficulty){ if (this.props.item_banksedit.difficulty) {
this.handleFormLayoutChange(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
})
} }
// if(prevProps.knowledgepoints !== this.props.knowledgepoints){ }
// this.setState({ handdisciplinesChange =(name,title)=>{
// knowledgepoints:this.props.knowledgepoints 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]);
}
}
}
}
}
if(prevProps.disciplmy !== this.props.disciplmy){
this.setState({ this.setState({
options:this.props.disciplmy Knowpoints: [],
knowledgepoints: knowledgepointsdata,
}) })
} }
} }
onChange=(e)=> { handletag_disciplinesChange = (data) => {
////console.log(`checked = ${e.target.checked}`); try {
var sju=data[data.length-1].name;
this.setState({
rbzsd:sju,
Knowpoints:data,
})
this.props.form.setFieldsValue({
rbzsd: sju,
});
}catch (e) {
}
} }
Getdatas=()=>{ onChange = (e) => {
return this.handleSubmits();
}
Getdatas = () => {
return this.handleSubmits();
} }
handleSubmits=()=>{ handleSubmits = () => {
var data=[]; var data = [];
this.props.form.validateFields((err, values) => { this.props.form.validateFields((err, values) => {
data=[] data = []
if (!err) { if (!err) {
// ////console.log("获取的form 数据"); // ////console.log("获取的form 数据");
// ////console.log(values); // ////console.log(values);
data.push({ data.push({
rbnd:parseInt(values.rbnd) rbnd: parseInt(values.rbnd)
}) })
data.push({ data.push({
rbtx:values.rbtx rbtx: values.rbtx
}) })
data.push({ data.push({
rbzsd:this.state.Knowpoints rbzsd: this.state.Knowpoints
}) })
data.push({ data.push({
rbkc:values.rbkc rbkc: values.rbkc
}) })
} }
@ -145,7 +207,7 @@ class Itembankstop extends Component {
return data; return data;
} }
handleSubmit=(e)=>{ handleSubmit = (e) => {
e.preventDefault(); e.preventDefault();
this.props.form.validateFields((err, values) => { this.props.form.validateFields((err, values) => {
if (!err) { if (!err) {
@ -158,76 +220,81 @@ class Itembankstop extends Component {
}); });
} }
handleFormLayoutChange=(value)=>{ handleFormLayoutChange = (value) => {
//难度塞选 //难度塞选
////console.log("难度塞选"); ////console.log("难度塞选");
////console.log(value); ////console.log(value);
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbnd:value+"", rbnd: value + "",
}); });
this.setState({ this.setState({
rbnd:value+"", rbnd: value + "",
}) })
} }
handleFormkechen=(value)=>{ handleFormkechen = (value) => {
//课程 //课程
////console.log("课程"); ////console.log("课程");
////console.log(value); ////console.log(value);
var valuename=undefined; var valuename = undefined;
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbzsd:value, rbzsd: value,
}); });
var arr= this.state.knowledgepoints; var arr = this.state.knowledgepoints;
for(let data of arr) { for (let data of arr) {
if(data.id===value){ if (data.id === value) {
this.state.Knowpoints.push(data); this.state.Knowpoints.push(data);
valuename=data.name; valuename = data.name;
} }
} }
var tmp = JSON.parse(JSON.stringify(this.state.knowledgepoints)); var tmp = JSON.parse(JSON.stringify(this.state.knowledgepoints));
for(var i=0;i<tmp.length;i++){ for (var i = 0; i < tmp.length; i++) {
if(tmp[i].id===value) { if (tmp[i].id === value) {
this.state.knowledgepoints.splice(i, 1); this.state.knowledgepoints.splice(i, 1);
} }
} }
this.setState({ this.setState({
rbzsd:valuename, rbzsd: valuename,
Knowpoints:this.state.Knowpoints, Knowpoints: this.state.Knowpoints,
knowledgepoints:this.state.knowledgepoints, knowledgepoints: this.state.knowledgepoints,
}) })
} }
handleFormzhishidian=(value)=>{ handleFormzhishidian = (value) => {
console.log("handleFormzhishidian 课程");
console.log(value);
//课程 //课程
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbkc:value, rbkc: value,
}); });
this.setState({
rbkc:value,
})
// console.log("handleFormzhishidian"); // console.log("handleFormzhishidian");
// console.log(this.props.disciplinesdata); // console.log(this.props.disciplinesdata);
const didata = this.props.disciplinesdata; const didata = this.props.disciplinesdata;
const knowledgepointsdata=[]; const knowledgepointsdata = [];
for (var i = 0; i < didata.length; i++) { for (var i = 0; i < didata.length; i++) {
//方向 //方向
if(value[0]===didata[i].id){ if (value[0] === didata[i].id) {
const fxdidata = didata[i].sub_disciplines; const fxdidata = didata[i].sub_disciplines;
for (var j = 0; j < fxdidata.length; j++) { for (var j = 0; j < fxdidata.length; j++) {
//课程 //课程
if(value[1]===fxdidata[j].id){ if (value[1] === fxdidata[j].id) {
const zsddata = fxdidata[j].tag_disciplines; const zsddata = fxdidata[j].tag_disciplines;
for (var k = 0; k < zsddata.length; k++) { for (var k = 0; k < zsddata.length; k++) {
//知识点 //知识点
knowledgepointsdata.push(zsddata[k]); knowledgepointsdata.push(zsddata[k]);
} }
} }
@ -238,71 +305,71 @@ class Itembankstop extends Component {
} }
this.setState({ this.setState({
Knowpoints:[], Knowpoints: [],
knowledgepoints:knowledgepointsdata, knowledgepoints: knowledgepointsdata,
}) })
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbzsd:undefined, rbzsd: undefined,
}); });
this.setState({ this.setState({
rbzsd:undefined, rbzsd: undefined,
}) })
} }
handleFormtixing=(value)=>{ handleFormtixing = (value) => {
//题型 //题型
//console.log("题型"); //console.log("题型");
//console.log(value); //console.log(value);
this.setState({ this.setState({
rbtx:value+"", rbtx: value + "",
}) })
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbtx:value+"", rbtx: value + "",
}); });
this.props.setitem_type(value); this.props.setitem_type(value);
} }
preventDefault=(e)=> { preventDefault = (e) => {
e.preventDefault(); e.preventDefault();
////console.log('Clicked! But prevent default.'); ////console.log('Clicked! But prevent default.');
} }
deletesobject=(item,index)=>{ deletesobject = (item, index) => {
var arr= this.state.Knowpoints ; var arr = this.state.Knowpoints;
for(let data of arr) { for (let data of arr) {
if(data.id===item.id){ if (data.id === item.id) {
this.state.knowledgepoints.push(data); this.state.knowledgepoints.push(data);
} }
} }
var tmp = JSON.parse(JSON.stringify(this.state.Knowpoints)); var tmp = JSON.parse(JSON.stringify(this.state.Knowpoints));
for(var i=0;i<tmp.length;i++){ for (var i = 0; i < tmp.length; i++) {
if(i>=index){ if (i >= index) {
var pos = this.state.Knowpoints.indexOf(tmp[i]); var pos = this.state.Knowpoints.indexOf(tmp[i]);
this.state.Knowpoints.splice(pos, 1); this.state.Knowpoints.splice(pos, 1);
} }
} }
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbzsd:this.state.Knowpoints, rbzsd: this.state.Knowpoints,
}); });
this.setState({ this.setState({
Knowpoints:this.state.Knowpoints, Knowpoints: this.state.Knowpoints,
}) })
if(this.state.Knowpoints.length===0){ if (this.state.Knowpoints.length === 0) {
this.setState({ this.setState({
rbzsd:undefined, rbzsd: undefined,
}) })
} else if(this.state.Knowpoints.length>0){ } else if (this.state.Knowpoints.length > 0) {
try { try {
const myknowda=this.state.Knowpoints; const myknowda = this.state.Knowpoints;
this.setState({ this.setState({
rbzsd:myknowda[this.state.Knowpoints.length-1].name, rbzsd: myknowda[this.state.Knowpoints.length - 1].name,
}) })
}catch (e) { } catch (e) {
} }
@ -311,17 +378,16 @@ class Itembankstop extends Component {
} }
render() { render() {
let {page,options}=this.state; let {page, options} = this.state;
const { getFieldDecorator } = this.props.form; const {getFieldDecorator} = this.props.form;
//console.log("renderrenderrender"); //console.log("renderrenderrender");
//console.log(this.props.item_banksedit); //console.log(this.props.item_banksedit);
//console.log("renderrenderrendersssss"); //console.log("renderrenderrendersssss");
//console.log(this.state.rbtx); //console.log(this.state.rbtx);
return ( return (
<div className=" clearfix educontent Contentquestionbankstyle w100s w1200fpx mt19" > <div className=" clearfix educontent Contentquestionbankstyle w100s w1200fpx mt19">
<style> <style>
{ {
` `
@ -353,61 +419,59 @@ class Itembankstop extends Component {
</style> </style>
<div className="h12"></div> <div className="h12"></div>
<Form.Item <Form.Item
label="课程" label="课程"
> >
{getFieldDecorator("rbkc", {getFieldDecorator("rbkc",
{ {
rules: [{ required: true, message: '请选择课程' }], rules: [{required: true, message: '请选择课程'}],
} }
)( )(
<div className="sortinxdirection"> <div className="sortinxdirection">
<InputGroup compact > <InputGroup compact>
<Cascader style={{ width: '258px' }} options={options} onChange={this.handleFormzhishidian} placeholder="请选择..." /> <Cascader style={{width: '258px'}} value={this.state.rbkc} options={options} onChange={this.handleFormzhishidian}
</InputGroup> placeholder="请选择..."/>
</InputGroup>
{/*<div className="sortinxdirection" style={{*/}
{/* height: "33px",*/}
{/* lineHeight: "28px",*/}
{/*}}>*/}
{/* {this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => {*/}
{/* return (*/}
{/* <div className="mytags" style={{*/}
{/* position: "relative",*/}
{/* }}>*/}
{/* <p className="w100s stestcen lh32">{object}</p>*/}
{/* <i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss" onClick={()=>this.deletesobject(object,index)}></i>*/}
{/* </div>*/}
{/* )*/}
{/* })}*/}
{/*</div>*/}
</div>
)} {/*<div className="sortinxdirection" style={{*/}
</Form.Item> {/* height: "33px",*/}
<Form onSubmit={this.handleSubmit}> {/* lineHeight: "28px",*/}
{/*}}>*/}
{/* {this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => {*/}
{/* return (*/}
{/* <div className="mytags" style={{*/}
{/* position: "relative",*/}
{/* }}>*/}
{/* <p className="w100s stestcen lh32">{object}</p>*/}
{/* <i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss" onClick={()=>this.deletesobject(object,index)}></i>*/}
{/* </div>*/}
{/* )*/}
{/* })}*/}
{/*</div>*/}
</div>
)}
</Form.Item>
<Form onSubmit={this.handleSubmit}>
<Form.Item <Form.Item
label="知识点" label="知识点"
> >
{getFieldDecorator("rbzsd", {getFieldDecorator("rbzsd"
{
rules: [{ required: true, message: '请选择知识点' }],
}
)( )(
<div className="sortinxdirection"> <div className="sortinxdirection">
<InputGroup compact > <InputGroup compact>
<Select style={{ width: '258px' }} value={this.state.rbzsd} onChange={this.handleFormkechen} placeholder="请选择..."> <Select style={{width: '258px'}} value={this.state.rbzsd} onChange={this.handleFormkechen}
{this.state.knowledgepoints&&this.state.knowledgepoints.map((object, index) => { placeholder="请选择...">
return ( {this.state.knowledgepoints && this.state.knowledgepoints.map((object, index) => {
<Option value={object.id}>{object.name}</Option> return (
) <Option value={object.id}>{object.name}</Option>
})} )
</Select> })}
</InputGroup> </Select>
</InputGroup>
<div className="sortinxdirection" style={{ <div className="sortinxdirection" style={{
height: "33px", height: "33px",
lineHeight: "28px", lineHeight: "28px",
@ -420,7 +484,8 @@ class Itembankstop extends Component {
position: "relative", position: "relative",
}}> }}>
<p className="w100s stestcen lh32">{object.name}</p> <p className="w100s stestcen lh32">{object.name}</p>
<i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss" onClick={()=>this.deletesobject(object,index)}></i> <i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss"
onClick={() => this.deletesobject(object, index)}></i>
</div> </div>
) )
})} })}
@ -435,11 +500,12 @@ class Itembankstop extends Component {
> >
{getFieldDecorator("rbtx", {getFieldDecorator("rbtx",
{ {
rules: [{ required: true, message: '请选择题型'}], rules: [{required: true, message: '请选择题型'}],
} }
)( )(
<InputGroup compact> <InputGroup compact>
<Select style={{ width: '258px' }} value={this.state.rbtx} onChange={this.handleFormtixing} placeholder="请选择..."> <Select style={{width: '258px'}} value={this.state.rbtx} onChange={this.handleFormtixing}
placeholder="请选择...">
<Option value="SINGLE">单选题</Option> <Option value="SINGLE">单选题</Option>
<Option value="MULTIPLE">多选题</Option> <Option value="MULTIPLE">多选题</Option>
<Option value="JUDGMENT">判断题</Option> <Option value="JUDGMENT">判断题</Option>
@ -504,20 +570,19 @@ class Itembankstop extends Component {
} }
</style> </style>
<div className="rbndclass"> <div className="rbndclass">
<Form.Item label="难度"> <Form.Item label="难度">
{getFieldDecorator('rbnd', {getFieldDecorator('rbnd',
{ {
rules: [{ required: true, message: '请选择难度'}], rules: [{required: true, message: '请选择难度'}],
} }
)( )(
<Radio.Group value={this.state.rbnd} onChange={this.handleFormLayoutChange}>
<Radio.Group value={this.state.rbnd} onChange={this.handleFormLayoutChange} > <Radio.Button value="1">简单</Radio.Button>
<Radio.Button value="1">简单</Radio.Button> <Radio.Button value="2">适中</Radio.Button>
<Radio.Button value="2">适中</Radio.Button> <Radio.Button value="3">困难</Radio.Button>
<Radio.Button value="3">困难</Radio.Button> </Radio.Group>,
</Radio.Group>, )}
)} </Form.Item>
</Form.Item>
</div> </div>
{/*<Form.Item>*/} {/*<Form.Item>*/}
{/* <Button type="primary" htmlType="submit" className="login-form-button">*/} {/* <Button type="primary" htmlType="submit" className="login-form-button">*/}
@ -533,7 +598,7 @@ class Itembankstop extends Component {
} }
} }
const Itembankstops = Form.create({ name: 'Itembankstops' })(Itembankstop);
const Itembankstops = Form.create({name: 'Itembankstops'})(Itembankstop);
export default Itembankstops; export default Itembankstops;

Loading…
Cancel
Save