调整数据

yslnewtiku
杨树林 6 years ago
parent b40f9626f5
commit 329cec5830

@ -37,10 +37,13 @@ class Questionitem_banks extends Component {
item_type: null, item_type: null,
item_banksedit: [], item_banksedit: [],
myquestion_choicesco: [], myquestion_choicesco: [],
disciplinesdata: [],
knowledgepoints: [],
disciplmy:[]
} }
} }
//初始化 //初始化
componentDidMount() { componentDidMount() {
// let {defaultActiveKey}= this.state; // let {defaultActiveKey}= this.state;
@ -96,9 +99,64 @@ class Questionitem_banks extends Component {
} }
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 fxdidata = didata[i].sub_disciplines;
for (var j = 0; j < fxdidata.length; j++) {
//课程
const zsddata = fxdidata[j].tag_disciplines;
const datakec={
value: didata[i].id,
label: didata[i].name,
children: [
{
value: fxdidata[j].id,
label: fxdidata[j].name,
},
],
}
this.state.disciplmy.push(datakec);
for (var k = 0; k < zsddata.length; k++) {
//知识点
this.state.knowledgepoints.push(zsddata[k]);
} }
}
}
this.setState({
knowledgepoints: this.state.knowledgepoints,
disciplmy:this.state.disciplmy,
})
}
}
}
});
}
getdata = (data) => { getdata = (data) => {
@ -202,7 +260,6 @@ class Questionitem_banks extends Component {
} }
// repertoire_id:1, // repertoire_id:1,
// sub_repertoire_id:1, // sub_repertoire_id:1,
// tag_repertoire_id:[1,3], // tag_repertoire_id:[1,3],
@ -316,11 +373,6 @@ class Questionitem_banks extends Component {
} }
} }
} }
@ -381,11 +433,6 @@ class Questionitem_banks extends Component {
} }
} }
} }
@ -393,16 +440,9 @@ class Questionitem_banks extends Component {
//编程题 跳转到 oj 中创建 //编程题 跳转到 oj 中创建
} }
} }
@ -412,13 +452,18 @@ class Questionitem_banks extends Component {
}) })
} }
render() { render() {
let {page, limit, count, Headertop, visible, placement, modalsType, item_type} = this.state; let {page, limit, count, Headertop, visible, placement, modalsType, item_type} = this.state;
{/*<Option value="SINGLE">单选题</Option>*/} {/*<Option value="SINGLE">单选题</Option>*/
{/*<Option value="MULTIPLE">多选题</Option>*/} }
{/*<Option value="JUDGMENT">判断题</Option>*/} {/*<Option value="MULTIPLE">多选题</Option>*/
{/*<Option value="PROGRAM">编程题</Option>*/} }
{/*<Option value="JUDGMENT">判断题</Option>*/
}
{/*<Option value="PROGRAM">编程题</Option>*/
}
//////console.log("塞选的数据"); //////console.log("塞选的数据");
//////console.log(item_type); //////console.log(item_type);
@ -427,9 +472,7 @@ class Questionitem_banks extends Component {
return ( return (
<div> <div>
<div id={"Itembankstopid"} className="newMain clearfix intermediatecenter " <div id={"Itembankstopid"} className="newMain clearfix intermediatecenter "
style={{ style={{}}
}}
> >
<style> <style>
@ -496,28 +539,22 @@ class Questionitem_banks extends Component {
</div> </div>
: item_type && item_type === "PROGRAM" ? : item_type && item_type === "PROGRAM" ?
"" ""
: "" : ""
} }
</div> </div>
</div> </div>
{ {
item_type === null ? item_type === null ?
"" ""
: :
<Bottomsubmit {...this.props} {...this.state} bottomvalue={item_type==="PROGRAM"?"创建":"保存"} onSubmits={() => this.preservation()} url={'/question'}></Bottomsubmit> <Bottomsubmit {...this.props} {...this.state} bottomvalue={item_type === "PROGRAM" ? "创建" : "保存"}
onSubmits={() => this.preservation()} url={'/question'}></Bottomsubmit>
} }
</div> </div>
) )
@ -525,8 +562,8 @@ class Questionitem_banks extends Component {
} }
} }
export default SnackbarHOC()(TPMIndexHOC(Questionitem_banks)); export default SnackbarHOC()(TPMIndexHOC(Questionitem_banks));
// { // {

@ -20,18 +20,12 @@ const InputGroup = Input.Group;
const { Option } = Select; const { Option } = Select;
const options = [ const options = [
{ {
value: 'zhejiang', value: '方向',
label: 'Zhejiang', label: '方向',
children: [ children: [
{ {
value: 'hangzhou', value: '课程',
label: 'Hangzhou', label: '课程',
children: [
{
value: 'xihu',
label: 'West Lake',
},
],
}, },
], ],
}, },
@ -42,12 +36,6 @@ const options = [
{ {
value: 'nanjing', value: 'nanjing',
label: 'Nanjing', label: 'Nanjing',
children: [
{
value: 'zhonghuamen',
label: 'Zhong Hua Men',
},
],
}, },
], ],
}, },
@ -60,6 +48,8 @@ class Itembankstop extends Component {
page:1, page:1,
Knowpoints:[], Knowpoints:[],
rbtx:undefined, rbtx:undefined,
knowledgepoints:[],
options:[],
} }
} }
//初始化 //初始化
@ -69,6 +59,10 @@ class Itembankstop extends Component {
}catch (e) { }catch (e) {
} }
this.setState({
knowledgepoints:this.props.knowledgepoints,
options:this.props.disciplmy
})
////console.log("componentDidMount"); ////console.log("componentDidMount");
////console.log(this.state); ////console.log(this.state);
////console.log(this.props); ////console.log(this.props);
@ -101,6 +95,21 @@ class Itembankstop extends Component {
} }
} }
if(prevProps.knowledgepoints !== this.props.knowledgepoints){
this.setState({
knowledgepoints:this.props.knowledgepoints
})
}
if(prevProps.disciplmy !== this.props.disciplmy){
this.setState({
options:this.props.disciplmy
})
}
} }
onChange=(e)=> { onChange=(e)=> {
////console.log(`checked = ${e.target.checked}`); ////console.log(`checked = ${e.target.checked}`);
@ -155,6 +164,26 @@ class Itembankstop extends Component {
rbkc:value, rbkc:value,
}); });
var arr= this.state.knowledgepoints;
for(let data of arr) {
if(data.id===value){
this.state.Knowpoints.push(data);
}
}
var tmp = JSON.parse(JSON.stringify(this.state.knowledgepoints));
for(var i=0;i<tmp.length;i++){
debugger
if(tmp[i].id===value) {
this.state.knowledgepoints.splice(i, 1);
}
}
this.setState({
Knowpoints:this.state.Knowpoints,
knowledgepoints:this.state.knowledgepoints,
})
} }
handleFormzhishidian=(value)=>{ handleFormzhishidian=(value)=>{
@ -164,9 +193,7 @@ class Itembankstop extends Component {
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
rbzsd:value, rbzsd:value,
}); });
this.setState({
Knowpoints:value,
})
} }
handleFormtixing=(value)=>{ handleFormtixing=(value)=>{
@ -186,6 +213,14 @@ class Itembankstop extends Component {
////console.log('Clicked! But prevent default.'); ////console.log('Clicked! But prevent default.');
} }
deletesobject=(item,index)=>{ 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)); 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){
@ -197,22 +232,17 @@ class Itembankstop extends Component {
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,
}) })
// ////console.log("deletesobject");
// ////console.log(item);
// ////console.log(index);
// ////console.log(this.state.Knowpoints);
// ////console.log("tmp");
// ////console.log(tmp);
} }
render() { render() {
let {page}=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);
@ -251,39 +281,62 @@ class Itembankstop extends Component {
} }
</style> </style>
<div className="h12"></div> <div className="h12"></div>
<Form onSubmit={this.handleSubmit}>
<Form.Item <Form.Item
label="课程" label="课程"
> >
{getFieldDecorator("rbkc", {getFieldDecorator("rbzsd",
{ {
rules: [{ required: true, message: '请选择课程' }], rules: [{ required: true, message: '请选择课程' }],
} }
)( )(
<div className="sortinxdirection">
<InputGroup compact > <InputGroup compact >
<Select style={{ width: '258px' }} onChange={this.handleFormkechen} placeholder="请选择..."> <Cascader style={{ width: '258px' }} defaultValue={this.state.Knowpoints} options={options} onChange={this.handleFormzhishidian} placeholder="请选择..." />
<Option value="Home">Home</Option>
<Option value="Company">Company</Option>
</Select>
</InputGroup> </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>
)} )}
</Form.Item> </Form.Item>
<Form onSubmit={this.handleSubmit}>
<Form.Item <Form.Item
label="知识点" label="知识点"
> >
{getFieldDecorator("rbzsd", {getFieldDecorator("rbkc",
{ {
rules: [{ required: true, message: '请选择知识点' }], rules: [{ required: true, message: '请选择知识点' }],
} }
)( )(
<div className="sortinxdirection"> <div className="sortinxdirection">
<InputGroup compact > <InputGroup compact >
<Cascader style={{ width: '258px' }} defaultValue={this.state.Knowpoints} options={options} onChange={this.handleFormzhishidian} placeholder="请选择..." /> <Select style={{ width: '258px' }} onChange={this.handleFormkechen} placeholder="请选择...">
{this.state.knowledgepoints&&this.state.knowledgepoints.map((object, index) => {
return (
<Option value={object.id}>{object.name}</Option>
)
})}
</Select>
</InputGroup> </InputGroup>
<div className="sortinxdirection" style={{ <div className="sortinxdirection" style={{
height: "33px", height: "33px",
lineHeight: "28px", lineHeight: "28px",
@ -295,7 +348,7 @@ class Itembankstop extends Component {
<div className="mytags" style={{ <div className="mytags" style={{
position: "relative", position: "relative",
}}> }}>
<p className="w100s stestcen lh32">{object}</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>
) )
@ -303,7 +356,6 @@ class Itembankstop extends Component {
</div> </div>
</div> </div>
)} )}
</Form.Item> </Form.Item>

Loading…
Cancel
Save