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}分
{Inputsvaltest}
: "" } {Inputsvaltypes === true ? : "" }客观题成绩:
分 ,
总分:{objective_score} 分
{Inputsvaltests}
: "" }最终成绩:
分 ,
总分:{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}分
{Inputsvaltest}
: "" }最终成绩:
分 ,
总分:{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}分
{Inputsvaltests}
: "" }// // 该学生的最终成绩将不会按照评分规则进行计算 // //
// // //