From b5b30412cf5a7ad789a1ddb5471ad83e5015d6c1 Mon Sep 17 00:00:00 2001 From: zhengpengju Date: Fri, 4 Mar 2022 17:06:24 +0800 Subject: [PATCH] fix bug --- admin/src/app.tsx | 3 +- admin/src/pages/course/subject/step/index.tsx | 2 +- .../attestation/step/index.tsx | 19 ++++---- .../examinationrules/normal/step/index.tsx | 23 ++++++---- admin/src/pages/questionbank/index.tsx | 45 ++++++++++++------- web/src/app.tsx | 5 ++- 6 files changed, 62 insertions(+), 35 deletions(-) diff --git a/admin/src/app.tsx b/admin/src/app.tsx index 6ad7a30..4b07ed6 100644 --- a/admin/src/app.tsx +++ b/admin/src/app.tsx @@ -90,10 +90,11 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => { /** request 用于配置全局的网络请求,你可以在这里做拦截器,全局错误处理,鉴权的配置。*/ export const request: RequestConfig = { errorHandler: (error: ResponseError) => { + /* notification.error({ description: '您的网络发生异常,无法连接服务器', message: '网络异常', - }); + });*/ throw error; }, }; \ No newline at end of file diff --git a/admin/src/pages/course/subject/step/index.tsx b/admin/src/pages/course/subject/step/index.tsx index c515282..e1ce51a 100644 --- a/admin/src/pages/course/subject/step/index.tsx +++ b/admin/src/pages/course/subject/step/index.tsx @@ -151,7 +151,7 @@ export default () => { // tooltip="最长为 6 位汉字,需要与考生身份证一致" placeholder="请输入介绍" // rules={[{ required: true }]} - value="锦书" + value="" // disabled /> diff --git a/admin/src/pages/examinationrules/attestation/step/index.tsx b/admin/src/pages/examinationrules/attestation/step/index.tsx index aedd7db..a711eea 100644 --- a/admin/src/pages/examinationrules/attestation/step/index.tsx +++ b/admin/src/pages/examinationrules/attestation/step/index.tsx @@ -40,6 +40,8 @@ export default () => { const [questionTypeValues, setQuestionTypeValues] = useState([]); // 题型数据[{count:0, score:0, score_harf:0}] const [questionType, setQuestionType] = useState([]); // 题型 + const [rulesId, setRulesId] = useState(0); // 规则id, 保存新建的rules_id + /** 自动组卷窗口 */ const [autoModalVisible, handleAutoModalVisible] = useState(false); /** 分值窗口 */ @@ -165,7 +167,7 @@ export default () => { const { success } = await autoPaperOfficial( { paper_id: record?.paper_id, - rules_id: Number(params?.id), + rules_id: Number(params?.id || rulesId), question_count: '50,50', // 当前数据库没保存,只能采用默认 question_type_count: _type_count?.toString() } @@ -241,13 +243,14 @@ export default () => { } console.log(fileds, 'fileds', params); // return false - await saveRules({ + const {data} = await saveRules({ ...fileds, b_use: 0, rules_type: 1, start_time: fileds.dateRange[0], end_time: fileds.dateRange[1] }); + setRulesId(data?.rules_id) setCurrentStep(1) return true; @@ -356,7 +359,7 @@ export default () => { /** 获取试卷 */ const _data = await queryRulesPaper( { - rules_id: params?.id, + rules_id: params?.id || rulesId, page_number: value.current, page_size: value.pageSize } @@ -455,13 +458,13 @@ export default () => { { const values = autoRef.current?.getData(); console.log('系统组卷::::', values); - const {code, data: paper, msg} = await autoPaperOfficial({rules_id:Number(params?.id), question_count: values?.questionCount.toString(), question_type_count: values?.questionTypeCount.toString()}) + const {code, data: paper, msg} = await autoPaperOfficial({rules_id:Number(params?.id || rulesId), question_count: values?.questionCount.toString(), question_type_count: values?.questionTypeCount.toString()}) console.log('paper', paper) // setUuidPaper(paper?.paper_uuid) // message.success('提交成功'); @@ -470,7 +473,7 @@ export default () => { return true; }} > - + { const values = setterRef.current?.getData() // 获取题型分值数据 const passSocre = setterRef.current?.getValue() // 获取通过分数线 console.log('批量设置分值v::::', values); - const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id), type_score: JSON.stringify(values)}) + const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id || rulesId), type_score: JSON.stringify(values)}) console.log('paper', paper) // 总分及通过分 let _sumScore = 0; @@ -494,7 +497,7 @@ export default () => { // 需要处理 console.log('passSocre',passSocre) //console.log('sumScore',sumScore) - const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore}) + const {success} = await updateScore({rules_id:Number(params?.id || rulesId), pass_socre: passSocre, sum_score: _sumScore}) //setSumScore(_sumScore) // setUuidPaper(paper?.paper_uuid) // message.success('提交成功'); diff --git a/admin/src/pages/examinationrules/normal/step/index.tsx b/admin/src/pages/examinationrules/normal/step/index.tsx index 7d98cbe..a4778b6 100644 --- a/admin/src/pages/examinationrules/normal/step/index.tsx +++ b/admin/src/pages/examinationrules/normal/step/index.tsx @@ -107,6 +107,8 @@ export default () => { const [typeQuestionCount, setTypeQuestionCount] = useState([0, 0, 0]); // 临时卷 各题型数量 + const [rulesId, setRulesId] = useState(0); // 规则id, 保存新建的rules_id + const formRef = useRef(); const selectorRef = useRef(); @@ -118,7 +120,7 @@ export default () => { const params = useParams(); const [questionType, setQuestionType] = useState([]); // 题型 - const [scoreValues, SetscoreValues] = useState([]); // 分值 [{"question_type": "0","score": "3","score_harf": "0"},] + const [scoreValues, setScoreValues] = useState([]); // 分值 [{"question_type": "0","score": "3","score_harf": "0"},] const [paperInfo, setPaperInfo] = useState({}) /** 获取题型 */ @@ -190,6 +192,7 @@ export default () => { console.log(params, 'params'); let ruleData = {} + // if (params?.id) { //console.log(JSON.stringify(params), "878"); const { data } = useRequest(async () => { @@ -231,13 +234,15 @@ export default () => { }} onFinish={async (fileds) => { if (params?.id) { - fileds = { ...fileds, id: params.id } + fileds = { ...fileds, id: (params.id || rulesId) } } - await saveRules({ + const {data} = await saveRules({ ...fileds, b_use: 0, rules_type: 0, }); + + setRulesId(data?.rules_id) // 保存规则id //run({paper_uuid:1}); // 获取当前选题列表 // console.log('模拟考试基本信息', fileds) setSubjectId(fileds?.subject_id) // 设置当前关联主题 @@ -314,7 +319,9 @@ export default () => { onFinish={async () => { console.log(formRef.current?.getFieldsValue()); setCurrentStep(2) // 设置步骤号 - runPaper({rules_id: params?.id }) + alert(params?.id || rulesId) + + runPaper({rules_id: params?.id || rulesId}) return true; }} > @@ -434,7 +441,7 @@ export default () => { console.log('uuidPaper::', uuidPaper) console.log('rules_id::', params?.id) const paper_id = paper_id ? paper_id : 0; - await handleUpdatePaper(params?.id, uuidPaper, paper_id) + await handleUpdatePaper(params?.id || rulesId, uuidPaper, paper_id) }}>保存试卷 @@ -502,7 +509,7 @@ export default () => { console.log('v::::', values.name); const rows = selectorRef?.current?.getSelectedRows() console.log('rows::::', rows); - const {code, data: paper, msg} = await handleAppend(Number(params?.id), rows) + const {code, data: paper, msg} = await handleAppend(Number(params?.id || rulesId), rows) console.log('paper', paper) setUuidPaper(paper?.paper_uuid) console.log('paper_uuid', paper?.paper_uuid) @@ -552,7 +559,7 @@ export default () => { console.log('批量设置分值v::::2', values); // 题型分数 - const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id), type_score: JSON.stringify(values)}) + const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id || rulesId), type_score: JSON.stringify(values)}) // 总分及通过分 let _sumScore = 0; values?.forEach((item)=>{ @@ -563,7 +570,7 @@ export default () => { //console.log('passScore',passScore) console.log('sumScore',sumScore) - const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore}) + const {success} = await updateScore({rules_id:Number(params?.id || rulesId), pass_socre: passSocre, sum_score: _sumScore}) setSumScore(_sumScore) console.log('paper', paper) // setUuidPaper(paper?.paper_uuid) diff --git a/admin/src/pages/questionbank/index.tsx b/admin/src/pages/questionbank/index.tsx index 824e8b5..e97f2cc 100644 --- a/admin/src/pages/questionbank/index.tsx +++ b/admin/src/pages/questionbank/index.tsx @@ -90,8 +90,10 @@ const QuestionBank = () => { const [selectedRowsState, setSelectedRows] = useState([]); const [currentRow, setCurrentRow] = useState(); const [expandedDescRowKeys, setExpandedDescRowKeys] = useState([]); // 展开解析设置 - const [addType, setAddType] = useState({name: '', value: 0}); - + const [addType, setAddType] = useState({name: '', value: ''}); + + //const [answertrueValues, setAnswertrueValues] = useState(); // 编辑试题答案项值 + /** 表单项定义 */ const columns: ProColumns[] = [ { @@ -200,24 +202,29 @@ const QuestionBank = () => { // 需要处理 关联长度变化及编辑回显 console.log('edit answertrue11', item) console.log('form::::::',form.getFieldValue('answertrue')) + console.log('rest', rest) + console.log('question_type:::', form.getFieldValue('question_type')) + + if(Number(form.getFieldValue('question_type')) === 0){ + console.log('my type', Number(form.getFieldValue('question_type'))) + }else{ + console.log('====0') + } + console.log('addType?.value', addType?.value) // 0 单选 1 多选 2 判断 - return (addType?.value !== 1 ) ? + return ((addType?.value === 0) || (Number(form.getFieldValue('question_type')) === 0) || Number(form.getFieldValue('question_type')) === 2) ? { - form.setFieldsValue({answertrue: 'B'}) - }} /> : - + - + {form.setFieldsValue({answertrue:['A','C']})} + }, /* formItemProps: { @@ -559,6 +566,7 @@ const QuestionBank = () => { visible={createModalVisible} destroyOnClose onCancel={() => { + setAddType({name: '', value: ''}); // 还原题型选择 handleCreateModalVisible(false); }} footer={null} @@ -574,7 +582,8 @@ const QuestionBank = () => { console.log('values:', values); const opts = []; values?.answers?.forEach((item, key)=>{ - const isTrue = labels[key] === values?.answertrue ? 1 : 0; // 判断是否为正确答案 + // + const isTrue = (values?.answertrue.toString().indexOf(labels[key]) !== -1) ? 1 : 0; // 判断是否为正确答案 opts.push({answer:item, is_true:isTrue}) }) const success = await handleAdd({ @@ -611,6 +620,7 @@ const QuestionBank = () => { visible={updateModalVisible} destroyOnClose onCancel={() => { + setAddType({name: '', value: ''}); // 还原题型选择 handleUpdateModalVisible(false); }} footer={null} @@ -622,9 +632,14 @@ const QuestionBank = () => { wrapperCol={{ span: 12 }} request={()=>{ // - console.log('currentRow',currentRow) - //answers:currentRow?.answers.map((item)=>(item.answer)) - return {...currentRow, answers: currentRow?.answers.map((item)=>(item.answer)), answer_true: 1 } + console.log('currentRow##',currentRow) + //answers:currentRow?.answers.map((item)=>(item.answer)) + const answertrue = currentRow?.answertrue?.split(','); + const answerTrueData = labels?.filter((x, idx, self)=>answertrue[idx] === `${idx}`) +console.log('$$$', answerTrueData) + //Number(currentRow?.question_type) === 1 ? answerTrueData : answerTrueData[0] + + return {...currentRow, answers: currentRow?.answers.map((item)=>(item.answer)), answertrue: 'C' } }} onFinish={async (values: any) => { // 表单处理 diff --git a/web/src/app.tsx b/web/src/app.tsx index 6ad7a30..284f372 100644 --- a/web/src/app.tsx +++ b/web/src/app.tsx @@ -89,11 +89,12 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => { /** request 用于配置全局的网络请求,你可以在这里做拦截器,全局错误处理,鉴权的配置。*/ export const request: RequestConfig = { + errorHandler: (error: ResponseError) => { - notification.error({ + /*notification.error({ description: '您的网络发生异常,无法连接服务器', message: '网络异常', - }); + });*/ throw error; }, }; \ No newline at end of file