From 478caa7f7e180b7aaa9cecd219b9a12696d00546 Mon Sep 17 00:00:00 2001 From: tangjiang <465264938@qq.com> Date: Fri, 3 Jan 2020 17:41:55 +0800 Subject: [PATCH] save oj init value --- .../modules/developer/newOrEditTask/index.js | 3 +-- .../newOrEditTask/leftpane/editorTab/index.js | 7 +++--- .../modules/question/Questionitem_banks.js | 18 ++++++++++--- public/react/src/redux/actions/ojForm.js | 25 ++++++++++++++++--- .../react/src/redux/reducers/ojFormReducer.js | 4 +-- 5 files changed, 43 insertions(+), 14 deletions(-) diff --git a/public/react/src/modules/developer/newOrEditTask/index.js b/public/react/src/modules/developer/newOrEditTask/index.js index eb894d1d0..24d2ebd7d 100644 --- a/public/react/src/modules/developer/newOrEditTask/index.js +++ b/public/react/src/modules/developer/newOrEditTask/index.js @@ -67,9 +67,8 @@ const NewOrEditTask = (props) => { props.getOJFormById(id); } else { // 清空store中的测试用例集合 - props.clearOJFormStore(); + // props.clearOJFormStore(); } - return () => {} }, []); diff --git a/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js b/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js index 250437bcd..1ef2c66e6 100644 --- a/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js +++ b/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-20 10:35:40 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-03 11:28:26 + * @LastEditTime : 2020-01-03 17:35:45 */ import './index.scss'; // import 'katex/dist/katex.css'; @@ -179,9 +179,10 @@ class EditTab extends React.Component { tag_discipline_id, knowledges } = this.props; - console.log('knowledge======>>>>>>', knowledges); + // console.log('knowledge======>>>>>>', knowledges); // const {knowledges} = this.state; // 表单label + // console.log('props=====>>>>', this.props); const myLabel = (name, subTitle, nostar) => { if (subTitle) { return ( @@ -313,7 +314,7 @@ class EditTab extends React.Component { // debugger; if (sub_id && t.children) { t.children.forEach(c => { - if (c.value === sub_id) { + if (c.value === +sub_id) { choid_ids = [t.value, c.value]; // tempKnowledges = c.children || []; } diff --git a/public/react/src/modules/question/Questionitem_banks.js b/public/react/src/modules/question/Questionitem_banks.js index 3608b7ad0..2cf27f321 100644 --- a/public/react/src/modules/question/Questionitem_banks.js +++ b/public/react/src/modules/question/Questionitem_banks.js @@ -20,7 +20,8 @@ import SingleEditor from "./component/SingleEditor"; import ChoquesEditor from "./component/ChoquesEditor" import JudquestionEditor from "./component/JudquestionEditor"; import Bottomsubmit from "../../modules/modals/Bottomsubmit"; - +import { connect } from 'react-redux'; +import actions from "../../redux/actions"; class Questionitem_banks extends Component { constructor(props) { super(props); @@ -93,7 +94,11 @@ class Questionitem_banks extends Component { } - + // this.props.setOjInitialValue({ + // difficult: 1, + // sub_discipline_id: '3', + // tag_discipline_id: [3, 4] + // }); let urls = `/disciplines.json`; axios.get(urls, { params: { @@ -565,7 +570,14 @@ class Questionitem_banks extends Component { } +const mapStateToProps = (state) => ({}); +const mapDispatchToProps = (dispatch) => ({ + setOjInitialValue: (params) => dispatch(actions.setOjInitialValue(params)) +}); -export default SnackbarHOC()(TPMIndexHOC(Questionitem_banks)); +export default connect( + mapStateToProps, + mapDispatchToProps +)(SnackbarHOC()(TPMIndexHOC(Questionitem_banks))); diff --git a/public/react/src/redux/actions/ojForm.js b/public/react/src/redux/actions/ojForm.js index 6d2da50a3..bcdd19daa 100644 --- a/public/react/src/redux/actions/ojForm.js +++ b/public/react/src/redux/actions/ojForm.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-20 16:35:46 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-03 16:40:54 + * @LastEditTime : 2020-01-03 17:39:32 */ import types from './actionTypes'; import CONST from '../../constants'; @@ -675,14 +675,31 @@ export const updateOpenTestCaseIndex = (value) => { // 获取课程题库 export const getQuestion = (params) => { - return (dispatch) => { - fetchQuestion(params).then(res => { + return (dispatch, getState) => { + const {ojForm: {sub_discipline_id}} = getState().ojFormReducer; + fetchQuestion(params, ).then(res => { const { data = {} } = res; const { disciplines = [] } = data; dispatch({ type: types.GET_COURSE_QUESTION, payload: disciplines - }) + }); + + let temp_knowledges = []; + // console.log('选择的课程: =====>>>>>>', sub_discipline_id); + disciplines.forEach(c => { + if (sub_discipline_id && c.sub_disciplines) { + c.sub_disciplines.forEach(sub => { + if (+sub.id === +sub_discipline_id) { + temp_knowledges = sub.tag_disciplines || []; + } + }); + } + }); + dispatch({ + type: types.CHANGE_KNOWLEDGES, + payload: temp_knowledges + }); }) } } diff --git a/public/react/src/redux/reducers/ojFormReducer.js b/public/react/src/redux/reducers/ojFormReducer.js index 95236b821..0da4d415b 100644 --- a/public/react/src/redux/reducers/ojFormReducer.js +++ b/public/react/src/redux/reducers/ojFormReducer.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-20 16:40:32 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-03 16:39:09 + * @LastEditTime : 2020-01-03 17:38:50 */ import { Base64 } from 'js-base64'; import types from '../actions/actionTypes'; @@ -231,7 +231,7 @@ const ojFormReducer = (state = initialState, action) => { courseQuestions.forEach(c => { if (sub_discipline_id && c.sub_disciplines) { c.sub_disciplines.forEach(sub => { - if (+sub.id === sub_discipline_id) { + if (+sub.id === +sub_discipline_id) { temp_knowledges = sub.tag_disciplines || []; } });