dev_aliyun_beta
hjm 6 years ago
parent 9875e7c962
commit 6e905c40f4

@ -37,7 +37,7 @@ class ShixunChooseModal extends Component{
hometypepvisible:loading hometypepvisible:loading
}) })
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
let url ="/courses/"+coursesId+"/homework_commons/shixuns.json"; let url = this.props.shixunsUrl || "/courses/"+coursesId+"/homework_commons/shixuns.json";
axios.get(url, { axios.get(url, {
params: { params: {
@ -76,7 +76,7 @@ class ShixunChooseModal extends Component{
}) })
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
let url ="/courses/"+coursesId+"/homework_commons/shixuns.json"; let url = this.props.shixunsUrl || "/courses/"+coursesId+"/homework_commons/shixuns.json";
axios.get(url).then((result)=>{ axios.get(url).then((result)=>{
if(result.status===200){ if(result.status===200){

@ -25,7 +25,7 @@ class ShixunModal extends Component{
hometypepvisible:true, hometypepvisible:true,
}) })
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
let url ="/courses/"+coursesId+"/homework_commons/shixuns.json"; let url = this.props.shixunsUrl || "/courses/"+coursesId+"/homework_commons/shixuns.json";
axios.get(url).then((result)=>{ axios.get(url).then((result)=>{
if(result.status===200){ if(result.status===200){
@ -51,7 +51,7 @@ class ShixunModal extends Component{
hometypepvisible:loading hometypepvisible:loading
}) })
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
let url ="/courses/"+coursesId+"/homework_commons/shixuns.json"; let url = this.props.shixunsUrl || "/courses/"+coursesId+"/homework_commons/shixuns.json";
axios.get(url, { axios.get(url, {
params: { params: {

@ -80,13 +80,15 @@ class ExerciseNewCommon extends Component{
fetchExercise = () => { fetchExercise = () => {
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
this.isEdit = !!Id this.isEdit = this.props.isEdit || !!Id
if (Id) { if (this.isEdit) {
const url = `/exercises/${Id}/edit.json` const url = this.props.exercise_url ? `/${this.props.exercise_url }/${Id}.json` : `/exercises/${Id}/edit.json`
axios.get(url) axios.get(url)
.then((response) => { .then((response) => {
if (response.data.status == 0) { if (response.data.exercise) {
const { exercise, ...others } = response.data const { exercise, ...others } = response.data
exercise.exercise_name = exercise.exercise_name || exercise.name
exercise.exercise_description = exercise.exercise_description || exercise.description
this.setState({ this.setState({
...exercise, ...exercise,
...others, ...others,
@ -126,7 +128,8 @@ class ExerciseNewCommon extends Component{
const exercise_id = this.props.match.params.Id const exercise_id = this.props.match.params.Id
const courseId = this.props.match.params.coursesId const courseId = this.props.match.params.coursesId
if (this.isEdit) { if (this.isEdit) {
const editUrl = `/exercises/${exercise_id}.json` // /exercise_banks/:id.json
const editUrl = `/${this.props.exercise_url ? this.props.exercise_url : 'exercises'}/${exercise_id}.json`
axios.put(editUrl, { axios.put(editUrl, {
exercise_name, exercise_name,
exercise_description exercise_description
@ -380,6 +383,15 @@ class ExerciseNewCommon extends Component{
const courseId = this.props.match.params.coursesId const courseId = this.props.match.params.coursesId
this.props.history.push(`/courses/${courseId}/exercises/${exercise_id}/student_exercise_list?tab=2`) this.props.history.push(`/courses/${courseId}/exercises/${exercise_id}/student_exercise_list?tab=2`)
} }
getAddQuestionUrl = () => {
const Id = this.props.match.params.Id
const url = this.props.exercise_url_questions ? `/${this.props.exercise_url_questions}.json` : `/exercises/${Id}/exercise_questions.json`
return url;
}
getEditQuestionUrl = (question_id) => {
const editUrl = this.props.exercise_url_questions ? `/${this.props.exercise_url_questions}/${question_id}.json` : `/exercise_questions/${question_id}.json`
return editUrl;
}
render() { render() {
let { exercise_name, exercise_description, course_id, exercise_types, let { exercise_name, exercise_description, course_id, exercise_types,
exercise_questions, left_banner_id } = this.state; exercise_questions, left_banner_id } = this.state;
@ -419,7 +431,10 @@ class ExerciseNewCommon extends Component{
onSortUp: this.onSortUp, onSortUp: this.onSortUp,
displayCount: exercise_questions.length, displayCount: exercise_questions.length,
exercise_status: this.state.exercise_status, exercise_status: this.state.exercise_status,
exerciseIsPublish: this.state.exercise_status >= 2 exerciseIsPublish: this.state.exercise_status >= 2,
getAddQuestionUrl: this.getAddQuestionUrl,
getEditQuestionUrl: this.getEditQuestionUrl,
} }
return( return(
<React.Fragment> <React.Fragment>
@ -428,6 +443,7 @@ class ExerciseNewCommon extends Component{
chooseShixun={this.chooseShixun} chooseShixun={this.chooseShixun}
{...this.props} {...this.props}
singleChoose={true} singleChoose={true}
shixunsUrl={this.props.shixunsUrl}
></ShixunChooseModal> ></ShixunChooseModal>
<style>{` <style>{`
.courseForm .formBlock { .courseForm .formBlock {

@ -85,7 +85,7 @@ class SingleEditor extends Component{
}*/ }*/
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
if (question_id) { if (question_id) {
const editUrl = `/exercise_questions/${question_id}.json` const editUrl = this.props.getEditQuestionUrl(question_id);
axios.put(editUrl, { axios.put(editUrl, {
question_title, question_title,
question_type: 2, question_type: 2,
@ -105,9 +105,10 @@ class SingleEditor extends Component{
console.log(error); console.log(error);
}); });
} else { } else {
const url = `/exercises/${Id}/exercise_questions.json` const url = this.props.getAddQuestionUrl();
axios.post(url, { axios.post(url, {
exercise_bank_id: Id,
question_title, question_title,
question_type: 2, question_type: 2,
question_score, question_score,

@ -70,7 +70,7 @@ class MainEditor extends Component{
}*/ }*/
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
if (question_id) { if (question_id) {
const editUrl = `/exercise_questions/${question_id}.json` const editUrl = this.props.getEditQuestionUrl(question_id);
axios.put(editUrl, { axios.put(editUrl, {
question_title, question_title,
question_type: 4, question_type: 4,
@ -88,9 +88,10 @@ class MainEditor extends Component{
console.log(error); console.log(error);
}); });
} else { } else {
const url = `/exercises/${Id}/exercise_questions.json` const url = this.props.getAddQuestionUrl();
axios.post(url, { axios.post(url, {
exercise_bank_id: Id,
question_title, question_title,
question_type: 4, question_type: 4,
question_score, question_score,

@ -124,7 +124,7 @@ class NullEditor extends Component{
}*/ }*/
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
if (question_id) { if (question_id) {
const editUrl = `/exercise_questions/${question_id}.json` const editUrl = this.props.getEditQuestionUrl(question_id);
axios.put(editUrl, { axios.put(editUrl, {
question_title, question_title,
question_type: 3, question_type: 3,
@ -145,9 +145,10 @@ class NullEditor extends Component{
console.log(error); console.log(error);
}); });
} else { } else {
const url = `/exercises/${Id}/exercise_questions.json` const url = this.props.getAddQuestionUrl();
axios.post(url, { axios.post(url, {
exercise_bank_id: Id,
question_title, question_title,
question_type: 3, question_type: 3,
question_score, question_score,

@ -113,7 +113,7 @@ class ShixunEditor extends Component{
}*/ }*/
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
if (question_id) { if (question_id) {
const editUrl = `/exercise_questions/${question_id}.json` const editUrl = this.props.getEditQuestionUrl(question_id);
axios.put(editUrl, { axios.put(editUrl, {
question_title, question_title,
question_type: 5, question_type: 5,
@ -131,9 +131,10 @@ class ShixunEditor extends Component{
console.log(error); console.log(error);
}); });
} else { } else {
const url = `/exercises/${Id}/exercise_questions.json` const url = this.props.getAddQuestionUrl();
axios.post(url, { axios.post(url, {
exercise_bank_id: Id,
question_title, question_title,
question_type: 5, question_type: 5,
question_scores, question_scores,

@ -123,7 +123,7 @@ class SingleEditor extends Component{
}*/ }*/
const Id = this.props.match.params.Id const Id = this.props.match.params.Id
if (question_id) { if (question_id) {
const editUrl = `/exercise_questions/${question_id}.json` const editUrl = this.props.getEditQuestionUrl(question_id);
axios.put(editUrl, { axios.put(editUrl, {
question_title, question_title,
question_type: answerArray.length > 1 ? 1 : 0, question_type: answerArray.length > 1 ? 1 : 0,
@ -143,9 +143,10 @@ class SingleEditor extends Component{
console.log(error); console.log(error);
}); });
} else { } else {
const url = `/exercises/${Id}/exercise_questions.json` const url = this.props.getAddQuestionUrl();
axios.post(url, { axios.post(url, {
exercise_bank_id: Id,
question_title, question_title,
question_type: answerArray.length > 1 ? 1 : 0, question_type: answerArray.length > 1 ? 1 : 0,
question_score, question_score,

Loading…
Cancel
Save