import React, {Component} from "react"; import {Modal, Checkbox, Upload, Button, Icon, message, Input, Form} from "antd"; import {WordNumberTextarea} from 'educoder'; import './Newshixunmodel.css' //调分 class ModulationModal_exercise extends Component { constructor(props) { super(props); this.state = { score: 0, subjective_questions: 0, objective_questions: 0, subjective_score: 0, objective_score: 0, subool: false, Inputsval: '', Inputsvals: '', Inputsvaltype: false, Inputsvaltypes: false, Inputsvaltest: "", Inputsvaltests: "", } //因为主观题加客观题的和是总分 } componentDidMount = () => { console.log("ModulationModal_exercise"); console.log(this.props); this.setState({ subjective_score: this.props.subjective_score, objective_score: this.props.objective_score, }) if (this.props.subjective_score > 0 && this.props.objective_score > 0) { this.setState({ subool: false, }) } else { this.setState({ subool: true }) } } Saves = () => { let { textareaval, subjective_questions, objective_questions, score, subool, Inputsval, subjective_score, objective_score, Inputsvals } = this.state; let re = /^[0-9]+.?[0-9]*$/;//判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/ if (subool === false) { //不是总分模式 if (Inputsval === undefined || Inputsval === null || Inputsval === "") { this.setState({ Inputsval: "", Inputsvaltype: true, Inputsvaltest: "请填写分数", }) return } //判断主观题 var nubmer = Inputsval; if (!re.test(nubmer)) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: "请输入0-100的分数", }) return; } if (0 > parseFloat(Inputsval)) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: "成绩不能小于零", }) return; } else if (parseFloat(Inputsval) > this.props.subjective_score) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: `成绩不能大于${this.props.subjective_score}`, }) return; } //判断客观题 if (Inputsvals === undefined || Inputsvals === null || Inputsvals === "") { this.setState({ Inputsvals: "", Inputsvaltypes: true, Inputsvaltests: "请填写分数", }) return } var nubmers = Inputsvals; if (!re.test(nubmers)) { this.setState({ Inputsvals: "", Inputsvaltypes: true, Inputsvaltests: "请输入0-100的分数", }) return; } if (0 > parseFloat(Inputsvals)) { this.setState({ Inputsvals: Inputsvals, Inputsvaltypes: true, Inputsvaltests: "请输入0-100的分数", }) return; } else if (parseFloat(Inputsval) > 100) { this.setState({ Inputsvals: Inputsvals, Inputsvaltypes: true, Inputsvaltests: `成绩不能大于${this.props.objective_score}`, }) return; } } else { //总分模式 if (subjective_score > 0) { //主观题 if (Inputsval === undefined || Inputsval === null || Inputsval === "") { this.setState({ Inputsval: "", Inputsvaltype: true, Inputsvaltest: "请填写分数", }) return } //判断主观题 var nubmer = Inputsval; if (!re.test(nubmer)) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: "请输入0-100的分数", }) return; } if (0 > parseFloat(Inputsval)) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: "成绩不能小于零", }) return; } else if (parseFloat(Inputsval) > this.props.subjective_score) { this.setState({ Inputsval: Inputsval, Inputsvaltype: true, Inputsvaltest: `成绩不能大于${this.props.subjective_score}`, }) return; } } else if (objective_score > 0) { //客观题 if (Inputsvals === undefined || Inputsvals === null || Inputsvals === "") { this.setState({ Inputsvals: "", Inputsvaltypes: true, Inputsvaltests: "请填写分数", }) return } var nubmers = Inputsvals; if (!re.test(nubmers)) { this.setState({ Inputsvals: "", Inputsvaltypes: true, Inputsvaltests: "请输入0-100的分数", }) return; } if (0 > parseFloat(Inputsvals)) { this.setState({ Inputsvals: Inputsvals, Inputsvaltypes: true, Inputsvaltests: "请输入0-100的分数", }) return; } else if (parseFloat(Inputsvals) > 100) { this.setState({ Inputsvals: Inputsvals, Inputsvaltypes: true, Inputsvaltests: `成绩不能大于${this.props.objective_score}`, }) return; } } } this.props.Saves(Inputsval, Inputsvals); } settextarea = (e) => { this.setState({ textareaval: e.target.value }) } //主观题 setInputs = (e) => { console.log("主"); console.log(e.target.value); this.setState({ Inputsval: e.target.value, Inputsvaltype: false, }) } //客观题 setInputss = (e) => { console.log("客"); console.log(e.target.value); this.setState({ Inputsvals: e.target.value, Inputsvaltypes: false, }) } //最终成绩主观题 setInputsss = (e) => { console.log("终主"); console.log(e.target.value); this.setState({ Inputsval: e.target.value, Inputsvaltype: false, }) } //最终成绩客观题 setInputssss = (e) => { console.log("终客"); console.log(e.target.value); this.setState({ Inputsvals: e.target.value, Inputsvaltypes: false, }) } render() { let { Inputsvaltype, Inputsvaltypes, Inputsvaltest, Inputsvaltests, subjective_score, objective_score, Inputsval, Inputsvals, } = this.state; return (
{ subjective_score > 0 && objective_score > 0 ?
{Inputsvaltype === true ? : "" }

主观题成绩:

分 ,

总分:{subjective_score}

{ Inputsvaltype === true ?

{Inputsvaltest}

: "" } {Inputsvaltypes === true ? : "" }

客观题成绩:

分 ,

总分:{objective_score}

{ Inputsvaltypes === true ?

{Inputsvaltests}

: "" }
:
{ subjective_score > 0 && objective_score === 0 ?
{Inputsvaltype === true ? : "" }

最终成绩:

分 ,

总分:{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}

{ Inputsvaltype === true ?

{Inputsvaltest}

: "" }
: "" } { objective_score > 0 && subjective_score === 0 ?
{Inputsvaltypes === true ? : "" }

最终成绩:

分 ,

总分:{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}

{ Inputsvaltypes === true ?

{Inputsvaltests}

: "" }
: "" }
{this.props.Cancelname || '取消'} {this.props.Savesname || '保存'}
}
) } } export default ModulationModal_exercise; //
//

// // 该学生的最终成绩将不会按照评分规则进行计算 // //

// // //
// {/**/} // // this.settextarea(e)} // value={textareaval} // maxlength={100} // /> // // {/*
  • 原因不能为空
  • */} //
    //
    // // // //
  • // //
  • //
  • 分数不能为空
  • //
    // {this.props.Cancelname || '取消'} // {this.props.Savesname || '保存'} {/*
    */ } {/*
    */ }