diff --git a/public/react/src/modules/courses/exercise/new/SingleEditor.js b/public/react/src/modules/courses/exercise/new/SingleEditor.js index 0b1b7599a..8585e0a82 100644 --- a/public/react/src/modules/courses/exercise/new/SingleEditor.js +++ b/public/react/src/modules/courses/exercise/new/SingleEditor.js @@ -8,8 +8,9 @@ import { import TPMMDEditor from '../../../tpm/challengesnew/TPMMDEditor'; import axios from 'axios' import update from 'immutability-helper' - import {getUrl, ActionBtn, DMDEditor, ConditionToolTip} from 'educoder'; +import QuillForEditor from "../../../../common/quillForEditor"; + const { TextArea } = Input; const confirm = Modal.confirm; const $ = window.$ @@ -47,6 +48,9 @@ class SingleEditor extends Component{ question_title: this.props.question_title || '', question_type: this.props.question_type || 0, question_score: this.props.question_score || this.props.init_question_score, + choice_editor: 'md', + quill_question_title: '', + quill_default_title: '' } } addOption = () => { @@ -205,8 +209,33 @@ class SingleEditor extends Component{ toShowMode = () => { } + + // 切换编辑器 + handleChangeEditor = (e) => { + const {quill_question_title} = this.state; + const value = e.target.value + if (value === 'quill') { + const _val = quill_question_title ? JSON.parse(quill_question_title) : ''; + this.setState({ + quill_default_title: _val + }) + } + this.setState({ + choice_editor: value + }); + } + + // quill编辑器内容变化时调用此接口 + handleCtxChange = (ctx) => { + console.log('编辑器内容', ctx); + // 保存编辑器内容 + this.setState({ + quill_question_title: JSON.stringify(ctx) + }); + } + render() { - let { question_title, question_score, question_type, question_choices, standard_answers } = this.state; + let { question_title, question_score, question_type, question_choices, standard_answers, choice_editor, quill_default_title } = this.state; let { question_id, index, exerciseIsPublish, // question_title, // question_type, @@ -245,18 +274,51 @@ class SingleEditor extends Component{ max-width: 1056px; word-break:break-all; } + .editor_area{ + display: inline-block; + float: right; + // line-height: 30px; + // height: 30px; + } + .editor_txt{ + margin-right: 10px; + font-size: 12px; + color: #999; + } + .radio_style{ + display: inline-block; + vertical: center; + } `}

{/* {!question_id ? '新建' : '编辑'} */} 选择题 (客观题,由系统自动评分,请设置标准答案) + {/* */} + {/*

+ 切换编辑器: + + MD + Quill + +
*/}

- this.setState({ question_title: val})} - ref="titleEditor" + {choice_editor === 'md' + ? this.setState({ question_title: val})} + ref="titleEditor" + > - > + : + } {question_choices.map( (item, index) => { const bg = standard_answers[index] ? 'check-option-bg' : '' diff --git a/public/react/src/modules/question/component/ChoquesEditor.js b/public/react/src/modules/question/component/ChoquesEditor.js index c3412467d..1dc35ef4c 100644 --- a/public/react/src/modules/question/component/ChoquesEditor.js +++ b/public/react/src/modules/question/component/ChoquesEditor.js @@ -234,8 +234,8 @@ class ChoquesEditor extends Component{ // 处理编辑器内容为空 texts=""; } else { - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=301){ + var result = _text.substring(0,300); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { @@ -277,8 +277,8 @@ class ChoquesEditor extends Component{ } else { // 提交到后台的内容需要处理一下; var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { @@ -301,8 +301,8 @@ class ChoquesEditor extends Component{ } else { // 提交到后台的内容需要处理一下; var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { diff --git a/public/react/src/modules/question/component/Itembankstop.js b/public/react/src/modules/question/component/Itembankstop.js index 5192eca4e..581baf844 100644 --- a/public/react/src/modules/question/component/Itembankstop.js +++ b/public/react/src/modules/question/component/Itembankstop.js @@ -413,6 +413,10 @@ class Itembankstop extends Component { } NewknTypedeldel=(bool)=>{ + if(this.state.rbkc===undefined || this.state.rbkc===null || this.state.rbkc===""){ + this.props.showNotification(`请选择课程方向`); + return; + } this.setState({ NewknTypedel:bool }) @@ -431,10 +435,6 @@ class Itembankstop extends Component { return } - if(this.state.rbkc===undefined || this.state.rbkc===null || this.state.rbkc===""){ - this.props.showNotification(`请选择课程方向`); - return; - } var data={ name:value, sub_discipline_id:this.state.rbkc[1] diff --git a/public/react/src/modules/question/component/JudquestionEditor.js b/public/react/src/modules/question/component/JudquestionEditor.js index 08aa54955..65a80b8ab 100644 --- a/public/react/src/modules/question/component/JudquestionEditor.js +++ b/public/react/src/modules/question/component/JudquestionEditor.js @@ -289,8 +289,8 @@ class JudquestionEditor extends Component{ } else { // 提交到后台的内容需要处理一下; var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { @@ -313,8 +313,8 @@ class JudquestionEditor extends Component{ } else { // 提交到后台的内容需要处理一下; var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { diff --git a/public/react/src/modules/question/component/SingleEditor.js b/public/react/src/modules/question/component/SingleEditor.js index bf2c27b36..0b0a8b5f7 100644 --- a/public/react/src/modules/question/component/SingleEditor.js +++ b/public/react/src/modules/question/component/SingleEditor.js @@ -255,8 +255,8 @@ class SingleEditor extends Component{ // 处理编辑器内容为空 texts=""; } else { - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=301){ + var result = _text.substring(0,300); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { @@ -296,8 +296,8 @@ class SingleEditor extends Component{ } else { // 提交到后台的内容需要处理一下; var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else { @@ -319,8 +319,8 @@ class SingleEditor extends Component{ }) } else { var texts=""; - if(_text.length>=101){ - var result = _text.substring(0,100); + if(_text.length>=1001){ + var result = _text.substring(0,1000); texts={"ops":[{"insert":result}]}; texts=JSON.stringify(texts); }else {