dev_aliyun2
harry 5 years ago
parent 769584ca24
commit 168994cfb3

@ -644,7 +644,377 @@ class ExerciseReviewAndAnswer extends Component {
// console.log(data&&data.exercise.user_name)
document.title = courseName && courseName;
return (
return (<div className="newMain" style={{ paddingTop: "0px" }}>
<Spin size="large" spinning={isSpin}>
<style>{`
.inputNumber30{
height:30px;
width:115px;
}
.inputNumber30 .ant-input-number-input-wrap{
line-height: 28px;
}
.inputNumber30 .ant-input-number-input-wrap .ant-input-number-input{
height: 28px;
}
.setRadioStyle{
width:100%;
cursor:pointer;
}
.setRadioStyle > span:last-child{
flex:1;
display:flex;
}
.setRadioStyle .ant-radio,.setRadioStyle .ant-checkbox{
height:16px;
margin-top:5px;
}
.standardAnswer.editormd-html-preview,.answerStyle.editormd-html-preview{
width:100%!important
}
`}</style>
{/*<p style={{height:"60px"}}></p>*/}
<Modals
modalsType={Modalstype}
modalsTopval={Modalstopval}
modalsBottomval={modalsBottomval}
modalCancel={ModalCancel}
modalSave={ModalSave}
loadtype={Loadtype}
/>
<div className="educontent mt10 mb50">
<p className="clearfix mb20">
<WordsBtn style="grey" className="fl" to={current_user && current_user.first_category_url}>{courseName}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl" to={`/classrooms/${coursesId}/exercises/${data && data.left_banner_id}`}>{data && data.left_banner_name}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" to={`/classrooms/${coursesId}/exercises/${eId}/student_exercise_list?tab=0`} className="fl mr3">{data && data.left_banner_name}详情</WordsBtn>&gt;
<span className="ml3">{exercise_answer_user && exercise_answer_user.user_name}{data && data.exercise.user_name}</span>
</p>
<p className="clearfix">
<span className="color-grey-3 font-24 fl lineh-40" >{exercise && exercise.exercise_name}</span>
<span className="fl mt8">
<CoursesListType typelist={[`${statudmap[exercise && exercise.exercise_status]}`]} typesylename={""} />
</span>
{
(isAdmin || (isStudent && exercise && user_exercise_status == 1)) ?
<WordsBtn className="fr font-16 lineh-40" style="grey" onClick={this.returnBtn}>返回</WordsBtn>
:
time && time != 0 ?
<div className="fr">
<Countdown value={this.state.Datetime} onFinish={this.autoCommitExercise} />
</div>
: ""
}
{/*<div className="fr remainingTime">*/}
{/* <li>{ hour >= 10 ? hour : '0'+hour}</li>*/}
{/* <span>:</span>*/}
{/* <li>{ minute >= 10 ? minute : '0'+minute}</li>*/}
{/* <span>:</span>*/}
{/* <li>{ second >= 10 ? second : '0'+second}</li>*/}
{/*</div>*/}
{
isAdmin && <WordsBtn className="fr font-16 lineh-40 mr30" style="blue" onClick={this.RepeatExercise}>打回重做</WordsBtn>
}
</p>
{
exercise && exercise.exercise_description &&
<p className="color-grey-3 edu-back-white padding15 mt30">{exercise.exercise_description}</p>
}
<p className="padding20-30 clearfix">
{
exercise_types && exercise_types.q_singles > 0 &&
<span className="color-grey-9 mr15">单选题 {exercise_types.q_singles} , {exercise_types && exercise_types.q_singles_scores} </span>
}
{
exercise_types && exercise_types.q_doubles > 0 &&
<span className="color-grey-9 mr15">多选题 {exercise_types.q_doubles} , {exercise_types && exercise_types.q_doubles_scores} </span>
}
{
exercise_types && exercise_types.q_judges > 0 &&
<span className="color-grey-9 mr15">判断题 {exercise_types.q_judges} , {exercise_types && exercise_types.q_judges_scores} </span>
}
{
exercise_types && exercise_types.q_nulls > 0 &&
<span className="color-grey-9 mr15">填空题 {exercise_types.q_nulls} , {exercise_types && exercise_types.q_nulls_scores} </span>
}
{
exercise_types && exercise_types.q_mains > 0 &&
<span className="color-grey-9 mr15">简答题 {exercise_types.q_mains} , {exercise_types && exercise_types.q_mains_scores} </span>
}
{
exercise_types && exercise_types.q_shixuns > 0 &&
<span className="color-grey-9 mr15">实训题 {exercise_types.q_shixuns} , {exercise_types && exercise_types.q_shixuns_scores} </span>
}
<span className="color-grey-3 fr"><span className="color-orange-tip"> {exercise_types && exercise_types.q_scores} </span></span>
<span className="color-grey-3 fr">合计<span className="color-blue"> {exercise_types && exercise_types.q_counts} </span></span>
</p>
<div className="edu-back-white">
<div className={questionPanelFixed == true ? "questionsfixed padding30" : "questionsNo padding30"} style={{ borderBottom: "none" }}>
<span className="clearfix font-16">
{
exercise_start_at && <span className="fl color-grey-9">开始答题时间{exercise_start_at && moment(exercise_start_at).format(format)}</span>
}
{
(isAdmin || (isStudent && exercise && exercise.exercise_status == 3)) && exerciseTotalScore &&
<span className="color-grey-9 fr">总分<span className="color-orange-tip"> {exerciseTotalScore}</span> </span>
}
</span>
{
// 老师身份 || 学生身份且试卷已经截止
(isAdmin || (isStudent && exercise && exercise.exercise_status == 3)) &&
<div className="mt10">
{
exercise_scores && exercise_scores.objective_scores && exercise_scores.objective_scores.length > 0 &&
<div>
<p className="clearfix">
<span className="font-16 mr40">客观题</span>
<span className="mr40 answerTure">正确</span>
<span className="mr40 answerFalse">错误</span>
<span className="mr40 answerHalf">部分得分</span>
</p>
<ul className="clearfix leaderMainNav mb20">
{
exercise_scores.objective_scores.map((item, key) => {
return (
<a className={item.answer_status == 1 ? "acted" : item.answer_status == 2 ? "half" : ""} onClick={() => this.scrollToAnchor(`${item.ques_position}`)}>{item.ques_position}</a>
)
})
}
</ul>
</div>
}
{
exercise_scores && exercise_scores.subjective_scores.length > 0 &&
<div>
<p className="clearfix">
<span className="font-16 mr40">主观题</span>
<span className="mr40 answered">已评</span>
<span className="unanswer">未评</span>
</p>
<ul className="clearfix leaderNav">
{
exercise_scores.subjective_scores.map((item, key) => {
return (
<a className={item.answer_status == 0 ? "" : "acted"} onClick={() => this.scrollToAnchor(`${item.ques_position}`)}>{item.ques_position}</a>
)
})
}
</ul>
</div>
}
</div>
}
{
//学生身份 且试卷还未截止
isStudent && exercise && exercise.exercise_status == 2 ?
<div className="mt20">
<p className="clearfix">
<span className="mr40 answered ml20">已答</span>
<span className="unanswer">未答</span>
</p>
<ul className="clearfix leaderNav">
{
question_status && question_status.map((item, key) => {
return (
<a className={item.ques_status == 1 ? "acted" : ""} onClick={() => this.scrollToAnchor(`${item.ques_number}`)}>{item.ques_number}</a>
)
})
}
</ul>
</div> : ""
}
</div>
{/* 试卷题目 */}
<div>
{
exercise_questions && exercise_questions.map((item, key) => {
let list = ajustSore && ajustSore.filter(obj => obj.id === item.question_id);
return (
<div className="bor-top-greyE pt30 pb30" id={"Anchor_" + parseInt(key + 1)}>
<p className="clearfix font-16 pl30 pr30">
<span className="color-blue mr5">{item.q_position}{type[item.question_type]}</span><span className="color-grey-9 mr5">({item.question_score})</span>
<span className="fr">
{
// 填空(一直都有调分),和简答题调分:老师身份 已经评分的才能出现调分按钮
isAdmin && ((parseInt(item.answer_status) != 0 && item.question_type == 4) || item.question_type == 3 || item.question_type == 1) ?
<WordsBtn style="blue" className="ml20 font-16 fl" onClick={() => this.showSetScore(key, item.setScore, item.q_position, item.question_type, item.question_id)}>调分</WordsBtn> : ""
}
{
// 简答题,未评分的显示未批
isAdmin && parseInt(item.answer_status) == 0 && item.question_type == 4 ?
<span className="color-red fl ml20">未批</span> : ""
}
{
// 客观题:老师||学生(试卷已截止且答案公开)显示正确答案
item.question_type < 3 && item.standard_answer_show ?
<span className="font-16 fl ml20">
正确答案{item.standard_answer_show}
</span> : ""
}
{
//(老师身份且除实训题外) || (学生身份且试卷已经截止)就显示用户当前题目所得分数
(isAdmin || (isStudent && exercise.exercise_status == 3)) && item.question_type != 5 && item.user_score ?
<span className="font-16 ml20 fl">
<span><span className={parseInt(item.answer_status) == 0 ? "color-red" : parseInt(item.answer_status) == 1 ? "color-green" : "color-orange-tip"}>{item.user_score}</span> </span>
</span> : ""
}
{
//实训题 ,答题
item.question_type == 5 &&
<a href={"/shixuns/" + item.shixun_identifier + "/challenges"} target="_blank" class="font-16 color-blue fl" target={"_blank"}>实训详情</a>
}
</span>
</p>
<li className="break_word mt15 mb15 pl30 pr30">
{/* <p className="standardAnswer markdown-body" dangerouslySetInnerHTML={{__html: markdownToHTML1(item.question_type == 5 ? item.shixun_name : item.question_title).replace(/▁/g,"▁▁▁")}}></p> */}
<MarkdownToHtml content={(item.question_type == 5 ? item.shixun_name : item.question_title)} selector={'answer_' + key}
className="standardAnswer"
></MarkdownToHtml>
</li>
{
// 选择题和判断题共用
(item.question_type == 0 || item.question_type == 2) &&
<Single
{...this.props}
{...this.state}
exercise={exercise}
questionType={item}
user_exercise_status={user_exercise_status}
changeOption={(index, ids) => this.changeOption(index, ids)}
changeQuestionStatus={(No, flag) => this.changeQuestionStatus(No, flag)}
index={key}
></Single>
}
{
// 多选题
item.question_type == 1 &&
<Multiple
{...this.props}
{...this.state}
exercise={exercise}
questionType={item}
user_exercise_status={user_exercise_status}
changeOption={(index, ids) => this.changeOption(index, ids)}
changeQuestionStatus={(No, flag) => this.changeQuestionStatus(No, flag)}
index={key}
></Multiple>
}
{
// 填空题
item.question_type == 3 &&
<FillEmpty
{...this.props}
{...this.state}
exercise={exercise}
questionType={item}
user_exercise_status={user_exercise_status}
changeQuestionStatus={(No, flag) => this.changeQuestionStatus(No, flag)}
index={key}
></FillEmpty>
}
{
// 简答题
item.question_type == 4 &&
<SimpleAnswer
{...this.props}
{...this.state}
exercise={exercise}
questionType={item}
user_exercise_status={user_exercise_status}
changeQuestionStatus={(No, flag) => this.changeQuestionStatus(No, flag)}
changeA_flag={(index, status) => this.changeA_flag(index, status)}
index={key}
></SimpleAnswer>
}
{
// 实训题
item.question_type == 5 &&
<ShixunAnswer
{...this.props}
{...this.state}
exercise={exercise}
questionType={item}
user_exercise_status={user_exercise_status}
id={this.state.Id}
index={key}
></ShixunAnswer>
}
{
//调分理由部分
item.question_comments && item.question_comments.comment && (item.question_type == 3 || item.question_type == 4 || item.question_type == 1) &&
<div className="ml30 mr30 bor-top-greyE pt30 mt20 clearfix df">
<img src={getImageUrl(`images/${item.question_comments.user_picture}`)} width="48" height="48" className="radius mr10" />
<div className="flex1">
<li className="lineh-20 mb7">
<span className="color-grey-3 mr20">{item.question_comments.user_name}</span>
<span className="color-grey-9 mr20">{moment(item.question_comments.updated_at).format(format)}</span>
</li>
<li className="break_word lineh-20">{item.question_comments.comment}</li>
</div>
</div>
}
{
// 调分输入部分
isAdmin && ((item.setScore && item.question_type == 3) || (item.setScore && item.question_type == 1) || ((item.setScore || parseInt(item.answer_status) == 0) && item.question_type == 4)) ?
<div className="ml30 mr30 bor-top-greyE pt20 mt20" id={`${"Anchor_" + item.q_position + "_" + item.question_type}`}>
<div className="edu-txt-right">
<span><span className="color-red">*</span></span>
<li className="fr">
<p>
<InputNumber
placeholder="请填写分数"
min={0}
// max={item.question_score}
value={list && list.length > 0 && list[0].inputSore}
step={0.1}
precision={1}
className={list && list.length > 0 && list[0].setTip != "" ? "edu-txt-center winput-115-40 fl mt3 noticeTip inputNumber30" : "edu-txt-center winput-115-40 fl mt3 inputNumber30"}
onChange={(value) => this.inputScore(value, item.question_id)}
id={`${"input_" + item.q_position + "_" + item.question_type}`}
></InputNumber>
<span className="ml5"></span>
{
parseInt(item.answer_status) == 0 && item.question_type == 4 ? <span className="color-red ml10 font-16">未评分</span> : ''
}
<ActionBtn style="blue" className="middle ml20" onClick={() => this.setAction(key, item.question_id, item.question_score, item.user_score)}>确认</ActionBtn>
</p>
{
list && list.length > 0 && list[0].setTip != "" ? <p className="color-red edu-txt-left">{list[0].setTip}</p> : ""
}
</li>
</div>
<Textarea className="winput-100-150 mt20" value={list && list.length > 0 && list[0].desc} style={{ height: "180px" }} maxLength="100" onChange={(e) => this.changeScoreReasons(e, item.question_id)} placeholder="请您输入评语最大限制100个字符"></Textarea>
</div> : ""
}
</div>
)
})
}
</div>
</div>
{
isStudent && user_exercise_status == 0 ?
<p className="edu-txt-right mt20 clearfix">
<a className="defalutSubmitbtn fr" onClick={this.commitExercise}>交卷</a>
<a className="defalutCancelbtn fr mr20" onClick={this.saveExercise}>保存</a>
{
exercise && time != null ?
<span className="color-grey-9 font-12 mr20 fr lineh-40">保存或者离开页面后系统将持续计时到达时长系统将自动交卷</span>
: ""
}
</p> : ""
}
</div>
</Spin>
</div>
)
}
}

@ -40,8 +40,8 @@ class PollInfo extends Component {
}
componentDidMount(){
if(this.props.current_user){
componentDidMount() {
if (this.props.current_user) {
this.getInfo();
}
@ -107,19 +107,19 @@ class PollInfo extends Component {
}
//选中选择题(单选题)选项保存
ChangeOptionSingle=(item)=>{
let arr=item.target.name
let txt=Object.assign({}, this.state.inputArray[parseInt(arr[1])]);
let ids=item.target.value;
let list=txt.answersList.filter(element => element.answer_id == ids);
ChangeOptionSingle = (item) => {
let arr = item.target.name
let txt = Object.assign({}, this.state.inputArray[parseInt(arr[1])]);
let ids = item.target.value;
let list = txt.answersList.filter(element => element.answer_id == ids);
this.postAnswer(arr[0],ids,list[0].answer_text=="其他"?txt.text:"",arr[1]);
this.postAnswer(arr[0], ids, list[0].answer_text == "其他" ? txt.text : "", arr[1]);
}
//选中选择题(多选题)选项保存
ChangeOptionMuntil=(a_id,q_id,key)=>{
let ind=Object.assign({}, this.state.inputArray[parseInt(key)]);
let count=0;
ChangeOptionMuntil = (a_id, q_id, key) => {
let ind = Object.assign({}, this.state.inputArray[parseInt(key)]);
let count = 0;
a_id.forEach(element => {
let list = ind.answersList.filter(item => item.answer_id == element);
if (list[0].answer_text == "其他") {
@ -192,11 +192,7 @@ class PollInfo extends Component {
//提交主观题
commitText = (key, q_id) => {
const text = Object.assign({}, this.state.inputArray[key]).text;
let url='/poll_questions/'+q_id+'/poll_votes.json?';
let url = '/poll_questions/' + q_id + '/poll_votes.json?';
const ans = Object.assign({}, this.state.question_answered[key]);
ans.ques_status = text ? 1 : 0;
const questionAnswered = this.state.question_answered;
@ -261,7 +257,7 @@ class PollInfo extends Component {
}
cancelSubmit=()=>{
cancelSubmit = () => {
this.setState({
modalsType: false,
modalsTopval: "",
@ -270,18 +266,18 @@ class PollInfo extends Component {
}
sureSubmit=()=>{
let pollId=this.props.match.params.pollId;
let url=`/polls/${pollId}/commit_poll.json`
axios.post(url).then((result)=>{
if(result.status == 200){
sureSubmit = () => {
let pollId = this.props.match.params.pollId;
let url = `/polls/${pollId}/commit_poll.json`
axios.post(url).then((result) => {
if (result.status == 200) {
this.props.showNotification(result.data.message)
this.setState({
modalsType: false,
modalsTopval: "",
modalsBottomval: ""
})
window.location.href=`/classrooms/${this.props.match.params.coursesId}/polls/${pollId}/detail`
window.location.href = `/classrooms/${this.props.match.params.coursesId}/polls/${pollId}/detail`
}
}).catch((error) => {
console.log(error);
@ -321,13 +317,13 @@ class PollInfo extends Component {
<WordsBtn style="grey" className="fl" to={`/classrooms/${this.props.match.params.coursesId}/polls/${poll && poll.left_banner_id}`}>问卷</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" to={`/classrooms/${coursesId}/polls/${this.props.match.params.pollId}/detail`} className="fl mr3">问卷详情</WordsBtn>&gt;
<span className="ml3">{question_types&&question_types.user_name}</span>
<span className="ml3">{question_types && question_types.user_name}</span>
</p>
<p className="clearfix mb20">
<span className="color-grey-3 font-24 fl task-hide break-word" style={{ maxWidth: "900px", lineHeight: "30px" }}>{poll && poll.polls_name}</span>
<CoursesListType typelist={[`${statudmap[poll && poll.poll_status]}`]} typesylename={""} />
{
isAdmin || (poll && poll.user_poll_status == 1) ? <WordsBtn className="fr font-16 mt5" style="grey" to={`/classrooms/${coursesId}/polls/${this.props.match.params.pollId}/detail`}>返回</WordsBtn> :''
isAdmin || (poll && poll.user_poll_status == 1) ? <WordsBtn className="fr font-16 mt5" style="grey" to={`/classrooms/${coursesId}/polls/${this.props.match.params.pollId}/detail`}>返回</WordsBtn> : ''
}
</p>
@ -355,7 +351,7 @@ class PollInfo extends Component {
}
</p>
<div className={ questionPanelFixed==true ? "questionsfixed":"questionsNo"}>
<div className={questionPanelFixed == true ? "questionsfixed" : "questionsNo"}>
<p className="clearfix pl20">
<span className="mr40 answered">已答</span>
<span className="unanswer">未答</span>
@ -383,8 +379,8 @@ class PollInfo extends Component {
<div className="previewList" id={'Anchor_' + `${key}`}>
<div className="pl30 pr30 mt30 mb10 clearfix">
<span className="color-blue fl font-16">{item.question.question_number}{map[item.question.question_type]}</span>
{ item.question.is_necessary==1 ? <span className="mustAnswer fl ml10 mr10 mt5">必答</span>:<span className="mustAnswer fl ml10 mr10 mt5"></span> }
{ item.question.question_type == 2 && item.question.min_choices && item.question.max_choices ?
{item.question.is_necessary == 1 ? <span className="mustAnswer fl ml10 mr10 mt5">必答</span> : <span className="mustAnswer fl ml10 mr10 mt5"></span>}
{item.question.question_type == 2 && item.question.min_choices && item.question.max_choices ?
<span className="color-grey-9 font-14 fl mt2">
{
item.question.min_choices == item.question.max_choices ? "可选" + item.question.max_choices + "项" :
@ -400,8 +396,8 @@ class PollInfo extends Component {
}}>{item.question.question_title}</span></p>
{
//单选
item.question.question_type==1 &&
<Radio.Group disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1)?true:false} className="answerList" defaultValue={item.question.poll_answer_ids[0]} name={[item.question.id,key]} onChange={this.ChangeOptionSingle}>
item.question.question_type == 1 &&
<Radio.Group disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1) ? true : false} className="answerList" defaultValue={item.question.poll_answer_ids[0]} name={[item.question.id, key]} onChange={this.ChangeOptionSingle}>
{
item.question.answers && item.question.answers.map((i, k) => {
return (
@ -409,26 +405,26 @@ class PollInfo extends Component {
<Radio name={[item.question.id, key]} className="fl" value={i.answer_id} ></Radio>
<span className="break-word fl" style={{ maxWidth: "1116px" }}>{i.answer_text}</span>
{
i.answer_text=="其他" ?
<React.Fragment>
{
inputArray && inputArray.map((j,k)=>{
return(
<React.Fragment>
{
j.id == item.question.id ?
<Input type="text" className="otherTxt" autoComplete="off" value={j.text && j.text} name={key}
onInput={this.blurTxt}
onBlur={(e)=>this.saveInputAndAnswer(e,i.answer_id,item.question.id,key,item.question.question_type)}
/>
: ""
}
</React.Fragment>
)
})
}
</React.Fragment>
: ""
i.answer_text == "其他" ?
<React.Fragment>
{
inputArray && inputArray.map((j, k) => {
return (
<React.Fragment>
{
j.id == item.question.id ?
<Input type="text" className="otherTxt" autoComplete="off" value={j.text && j.text} name={key}
onInput={this.blurTxt}
onBlur={(e) => this.saveInputAndAnswer(e, i.answer_id, item.question.id, key, item.question.question_type)}
/>
: ""
}
</React.Fragment>
)
})
}
</React.Fragment>
: ""
}
</li>
)
@ -438,13 +434,13 @@ class PollInfo extends Component {
}
{
//多选
item.question.question_type==2 &&
item.question.question_type == 2 &&
<Checkbox.Group
onChange={(value)=>this.ChangeOptionMuntil(value,item.question.id,key)}
disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1)?true:false}
defaultValue={item.question.poll_answer_ids}
className="answerList"
name={key}>
onChange={(value) => this.ChangeOptionMuntil(value, item.question.id, key)}
disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1) ? true : false}
defaultValue={item.question.poll_answer_ids}
className="answerList"
name={key}>
{
item.question.answers && item.question.answers.map((i, k) => {
return (
@ -452,26 +448,26 @@ class PollInfo extends Component {
<Checkbox className="fl mr8" value={i.answer_id} key={i.answer_id}></Checkbox>
<span className="break-word fl" style={{ maxWidth: "1116px" }}>{i.answer_text}</span>
{
i.answer_text=="其他"?
<React.Fragment>
{
inputArray && inputArray.map((j,k)=>{
return(
<React.Fragment>
{
j.id == item.question.id ?
<Input type="text" className="otherTxt" autoComplete="off" value={j.text && j.text} name={key}
onInput={this.blurTxt}
onBlur={(e)=>this.saveInputAndAnswer(e,i.answer_id,item.question.id,key,item.question.question_type)}
/>
: ""
}
</React.Fragment>
)
})
}
</React.Fragment>
:""
i.answer_text == "其他" ?
<React.Fragment>
{
inputArray && inputArray.map((j, k) => {
return (
<React.Fragment>
{
j.id == item.question.id ?
<Input type="text" className="otherTxt" autoComplete="off" value={j.text && j.text} name={key}
onInput={this.blurTxt}
onBlur={(e) => this.saveInputAndAnswer(e, i.answer_id, item.question.id, key, item.question.question_type)}
/>
: ""
}
</React.Fragment>
)
})
}
</React.Fragment>
: ""
}
</li>
)
@ -481,17 +477,17 @@ class PollInfo extends Component {
}
{
//主观题
item.question.question_type==3 &&
item.question.question_type == 3 &&
<div className="mt10 pl30 pr30 pb20">
{
inputArray && inputArray.map((j, k) => {
return (
<React.Fragment>
{
j.id == item.question.id ?
<textarea placeholder="在此填入答案" disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1) ? true:false} value={j.text && j.text} className="winput-100-130" name={key} onInput={this.blurTxt} onBlur={()=>this.commitText(key,item.question.id)}></textarea>
: ""
}
{
j.id == item.question.id ?
<textarea placeholder="在此填入答案" disabled={isAdmin || (isStudent && poll && poll.user_poll_status == 1) ? true : false} value={j.text && j.text} className="winput-100-130" name={key} onInput={this.blurTxt} onBlur={() => this.commitText(key, item.question.id)}></textarea>
: ""
}
</React.Fragment>
)
})
@ -507,10 +503,10 @@ class PollInfo extends Component {
</div>
{
isStudent && poll && poll.user_poll_status == 0 ?
<div className="mt30 mb50">
<a type="primary" className="defalutSubmitbtn" onClick={this.submitPoll}>提交</a>
</div>
:""
<div className="mt30 mb50">
<a type="primary" className="defalutSubmitbtn" onClick={this.submitPoll}>提交</a>
</div>
: ""
}
</div>
</div>

@ -92,10 +92,6 @@ const ControlSetting = (props) => {
const handleDebuggerCode = (values) => {
// 改变状态值
changeLoadingState(true);
// 调用代码保存接口, 成功后再调用调试接口
// updateCode(identifier, values, 'debug');
// 调用调试接口
// debuggerCode(identifier, values);
onDebuggerCode(values);
}
// icon-shangjiantou
@ -133,17 +129,9 @@ const ControlSetting = (props) => {
<Button
type="link"
style={{ color: '#fff' }}
<<<<<<< HEAD
// onClick={handleShowControl}
>
控制台
{/* <Icon type={ showTextResult ? "down" : "up" } /> */}
</Button>
=======
>
控制台
</Button>
>>>>>>> 1b23635... fix 提交代码与编辑代码不一致情况
<p>
<Button ghost
loading={loading}
@ -156,10 +144,6 @@ const ControlSetting = (props) => {
type="primary"
onClick={handleSubmit}
>
<<<<<<< HEAD
{/* {props.identifier ? '更新' : '提交'} */}
=======
>>>>>>> 1b23635... fix 提交代码与编辑代码不一致情况
提交
</Button>
</p>
@ -171,11 +155,7 @@ const ControlSetting = (props) => {
const mapStateToProps = (state) => {
const { commonReducer, ojForUserReducer } = state;
const { loading, excuteState, submitLoading, showOrHideControl } = commonReducer;
<<<<<<< HEAD
const { commitTestRecordDetail, hack, userCode } = ojForUserReducer;
=======
const { commitTestRecordDetail, hack, editor_code } = ojForUserReducer;
>>>>>>> 1b23635... fix 提交代码与编辑代码不一致情况
return {
hack,
editor_code,

@ -146,12 +146,12 @@ const AddTestDemo = (props) => {
}
return (
<Collapse className={'collapse_area'} activeKey={isOpen?'1':''} onChange={() => handleChangeCollapse()}>
<Panel header={`测试用例${props.index + 1}`} extra={props.index===0?false:genExtra()} key="1">
<Collapse className={'collapse_area'} activeKey={isOpen ? '1' : ''} onChange={() => handleChangeCollapse()}>
<Panel header={`测试用例${props.index + 1}`} extra={props.index === 0 ? false : genExtra()} key="1">
<Form>
<FormItem
label={<span className={''}>输入</span>}
colon={ false }
colon={false}
>
<TextArea
rows={5}
@ -162,18 +162,9 @@ const AddTestDemo = (props) => {
</FormItem>
<FormItem
label={<span className={'label_text'}>输出</span>}
<<<<<<< HEAD
<<<<<<< HEAD
validateStatus={testCaseValidate.output.validateStatus}
help={testCaseValidate.output.errMsg}
colon={false}
=======
=======
validateStatus={testCaseValidate.output.validateStatus}
help={testCaseValidate.output.errMsg}
>>>>>>> 91fc391... 调整
colon={ false }
>>>>>>> 8f5b1de... 题库地址
>
<TextArea
rows={5}

Loading…
Cancel
Save