diff --git a/public/react/src/modules/courses/busyWork/common/WorkDetailPageHeader.js b/public/react/src/modules/courses/busyWork/common/WorkDetailPageHeader.js index c16d285dd..782a1c07d 100644 --- a/public/react/src/modules/courses/busyWork/common/WorkDetailPageHeader.js +++ b/public/react/src/modules/courses/busyWork/common/WorkDetailPageHeader.js @@ -75,12 +75,16 @@ class WorkDetailPageHeader extends Component{ return(
-
+
- + {homework_name} {/* {homework_name} */} diff --git a/public/react/src/modules/page/Index.js b/public/react/src/modules/page/Index.js index 5a37c8c66..1513405b0 100644 --- a/public/react/src/modules/page/Index.js +++ b/public/react/src/modules/page/Index.js @@ -212,7 +212,7 @@ class Index extends Component { ) :

- { allowed_unlock === true ? '隐藏测试集,暂不支持解锁和查看。' : '此为隐藏测试项。'} - { power === 0 ? showDialog({ contentText, callback: testSetUnlock , moreButtonsRender})} style={{"textDecoration": "underline"}}>解锁 : '' }

diff --git a/public/react/src/modules/page/main/LeftViewContainer.js b/public/react/src/modules/page/main/LeftViewContainer.js index 2462872f2..e53eaa92c 100644 --- a/public/react/src/modules/page/main/LeftViewContainer.js +++ b/public/react/src/modules/page/main/LeftViewContainer.js @@ -81,10 +81,10 @@ class LeftViewContainer extends Component { if ( tabIndex === 2 && this.state.gameAnswer === '') { // 参考答案 // 多级答案后换了接口 // 选择题(st === 1)还是走以前的接口 - if (true || (this.props.st === 0)) { + if ((this.props.st === 0)) { this.fetchIfCouldGetAnswerWithoutGoldForMultiLevelAnswer() } else if (this.props.st === 1) { - this.fetchIfCouldGetAnswerWithoutGold(); + this.fetchIfCouldGetAnswerWithoutGoldForChoose(); } return; } @@ -337,7 +337,41 @@ class LeftViewContainer extends Component { console.log(error); }); } - fetchIfCouldGetAnswerWithoutGold() { + // 选择题查看答案 + fetchIfCouldGetAnswerWithoutGoldForChoose() { + const url = `/tasks/${this.props.game.identifier}/get_choose_answer.json` + axios.get(url, { + // withCredentials: true, + }) + .then((response) => { + + if (response.data.status == 0) { + this.props.showSnackbar(response.data.message) + return; + } + /* + 将扣除XXX点金币,是否确认查看答案      + + 已经过职业认证的教师可以免金币查看答案哟 + 继续查看 立即认证(新开页) + */ + + // 答案测试 TODO + // if (false && response.data.view_answer === true) { + if (response.data.choose_answers) { + this.showAnswer(response.data.choose_answers) + } else if (response.data.status == 1) { + // 三个角色 普通用户、未认证教师、已认证教师,这里要区分普通用户和未认证教师用户 + this.setState({ + dialogOpen: true, + }) + } + }) + .catch(function (error) { + console.log(error); + }); + + return; // 查看是否有权限直接查看,true可以直接查看,false需要扣金币查看 // var getAnswerUrl = `/api/v1/games/${this.props.game.identifier}/answer`; var getAnswerUrl = `/tasks/${this.props.game.identifier}/answer.json` @@ -445,12 +479,16 @@ class LeftViewContainer extends Component { const challenge_score = this.props.challenge.score // 前端计算扣除金币数 let goldToMinuse = 0 - for (let i = 0; i < lockedAnswers.length; i++) { - let answer = lockedAnswers[i]; - goldToMinuse = goldToMinuse + answer.score * challenge_score / 100; - if (answer.id == paramSelectID) { - break; + if (this.state.isMultiLevelAnswer) { + for (let i = 0; i < lockedAnswers.length; i++) { + let answer = lockedAnswers[i]; + goldToMinuse = goldToMinuse + answer.score * challenge_score / 100; + if (answer.id == paramSelectID) { + break; + } } + } else { + goldToMinuse = challenge_score } this.props.readGameAnswer({ @@ -474,39 +512,26 @@ class LeftViewContainer extends Component { console.log(error); }); } - handleDialogReadAnswer(selectID) { - - this.handleMultiLevelAnswer(selectID || this.state.singleAnswerId) - return ; - - if (this.state.isMultiLevelAnswer) { - } - if (selectID) { - } - - // var getAnswerUrl = `/api/v1/games/${this.props.game.identifier}/answer_grade` - var getAnswerUrl = `/tasks/${this.props.game.identifier}/answer_grade.json` - - axios.get(getAnswerUrl, { + getChooseAnswer = () => { + const url = `/tasks/${this.props.game.identifier}/unlock_choose_answer.json` + axios.get(url, { // withCredentials: true, }) .then((response) => { - // {message: "您没有足够的金币", status: -1} if (response.data.status == 0) { - this.props.showSnackbar(response.data.message) + this.props.showSnackbar(response.data.message) return; } - - const gameAnswer = response.data.answer; - const final_score = response.data.final_score; + const gameAnswer = response.data.choose_answers; + // const final_score = response.data.final_score; const grade = response.data.grade; this.props.readGameAnswer({ - final_score, - grade, + // final_score, + grade: this.props.grade - this.props.challenge.score }) this.showAnswer(gameAnswer) @@ -516,6 +541,14 @@ class LeftViewContainer extends Component { console.log(error); }); } + handleDialogReadAnswer(selectID) { + if (this.props.st === 1) { + // 选择题 + this.getChooseAnswer() + } else { + this.handleMultiLevelAnswer(selectID || this.state.singleAnswerId) + } + } createNewComment = (page) => { const flag = this.props.createNewComment(page) if (flag === true) {