diff --git a/admin/src/pages/examinationrules/attestation/index.tsx b/admin/src/pages/examinationrules/attestation/index.tsx
index 27f10f2..48a58c0 100644
--- a/admin/src/pages/examinationrules/attestation/index.tsx
+++ b/admin/src/pages/examinationrules/attestation/index.tsx
@@ -177,7 +177,7 @@ const ExaminationRules: React.FC = () => {
valueType: 'text',
hideInSearch: true,
hideInForm: false,
- renderText: (val: string) => `${val}分`,
+ renderText: (val: string) => `${val || '-'}`,
},
{
title: '通过线',
@@ -186,7 +186,7 @@ const ExaminationRules: React.FC = () => {
valueType: 'text',
hideInSearch: true,
hideInForm: false,
- renderText: (val: string) => `${val}`,
+ renderText: (val: string) => `${val || '-'}`,
},
{
title: '操作',
diff --git a/admin/src/pages/examinationrules/attestation/step/index.tsx b/admin/src/pages/examinationrules/attestation/step/index.tsx
index 65a4cb9..aedd7db 100644
--- a/admin/src/pages/examinationrules/attestation/step/index.tsx
+++ b/admin/src/pages/examinationrules/attestation/step/index.tsx
@@ -8,7 +8,7 @@ import { Button, Checkbox, Col, Divider, Input, List, Menu, message, Radio, Row,
import { PageContainer } from '@ant-design/pro-layout';
import ProDescriptions from '@ant-design/pro-descriptions';
import styles from './index.less'
-import { saveRules, querySubjectList, queryRulesView, queryRulesList, queryRulesPaper, saveQuestionTypeScore, autoPaperOfficial, queryPaperQuestionList } from '../../service';
+import { saveRules, querySubjectList, queryRulesView, queryRulesList, queryRulesPaper, saveQuestionTypeScore, autoPaperOfficial, queryPaperQuestionList, updateScore } from '../../service';
import { queryQuestionList, queryQuestionType } from '@/pages/questionbank/service';
import ProTable, { ActionType, EditableProTable, ProColumns } from '@ant-design/pro-table';
//import { TableListPagination } from '@/pages/ListTableList2/data';
@@ -120,7 +120,7 @@ export default () => {
valueType: 'text',
hideInSearch: true,
hideInForm: false,
- renderText: (val: string) => `${val || 0} 分`,
+ renderText: (val: string) => `${val || '-'}`,
},
{
title: '通过线',
@@ -478,32 +478,31 @@ export default () => {
width="60%"
visible={scoreModalVisible}
onVisibleChange={handleScoreModalVisible}
- footer={null}
onFinish={async () => {
- const values = setterRef.current?.getData()
+ 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)})
console.log('paper', paper)
// 总分及通过分
let _sumScore = 0;
- values?.forEach((item)=>{
+ values?.forEach((item: { score: number; })=>{
console.log('item--',item)
_sumScore += item?.score
})
console.log('_sumScore', _sumScore)
- /*
// 需要处理
console.log('passSocre',passSocre)
- console.log('sumScore',sumScore)
- const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore})*/
- setSumScore(_sumScore)
+ //console.log('sumScore',sumScore)
+ const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore})
+ //setSumScore(_sumScore)
// setUuidPaper(paper?.paper_uuid)
// message.success('提交成功');
handleScoreModalVisible(false)
return true;
}}
>
-
+
{
parsingMap.clear();
}
}, [data]);
-
+
//saveQuestion
return (
@@ -315,7 +315,7 @@ const QuestionPaper = (props: any, ref: any) => {
console.log('item', item);
return (
- {`${(record?.question_type === 2) ? ['T','F'][key] : labels[key]}. ${item?.answer}`}
+ {`${(record?.question_type === 2) ? ['A','B'][key] : labels[key]}. ${item?.answer}`}
)
}}
/>
@@ -335,7 +335,7 @@ const QuestionPaper = (props: any, ref: any) => {
answer = labels?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
break;
case 2: // 判断
- answer = ['T', 'F']?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
+ answer = ['A', 'B']?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
break;
}
console.log('expandedDescRowKeys', expandedDescRowKeys)
diff --git a/admin/src/pages/examinationrules/components/ScoreSetter.tsx b/admin/src/pages/examinationrules/components/ScoreSetter.tsx
index e9e5311..006b2c6 100644
--- a/admin/src/pages/examinationrules/components/ScoreSetter.tsx
+++ b/admin/src/pages/examinationrules/components/ScoreSetter.tsx
@@ -35,8 +35,11 @@ export type TableListItem = {
// React.forwardRef 接受渲染函数作为参数。React 将使用 props 和 ref 作为参数来调用此函数。此函数应返回 React 节点。
const ScoreSetter = (props: any, ref: any) => {
- const {questionTypeValues} = props
+ const {questionTypeValues } = props
+
console.log('questionTypeValues:::', questionTypeValues)
+ //console.log('passScoreValue:::', passScoreValue)
+
const match = useRouteMatch();
console.log('match', match);
@@ -48,6 +51,7 @@ const ScoreSetter = (props: any, ref: any) => {
//const [selectedRowsState, setSelectedRows] = useState([]);
//const [addType, setAddType] = useState({name: '', value: 0});
const [sumScore, setSumScore] = useState(0);
+ const [passScore, setPassScore] = useState(0); // 设置通过分数线
//let sumScore = 0 // 总分
@@ -187,6 +191,9 @@ const ScoreSetter = (props: any, ref: any) => {
getData: () => {
return typeScore;
},
+ getValue: () => {
+ return passScore;
+ },
}));
return (
@@ -196,7 +203,9 @@ const ScoreSetter = (props: any, ref: any) => {
{
return 共计 {sumQuestion} 题, 总计 {sumScore} 分 通过分数线
-
+ {
+ setPassScore(value)
+ }} />
分}}
//formMapRef={formMapRef}
//rowKey={'code'}
diff --git a/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx b/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
index f82dca2..d7d7a46 100644
--- a/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
+++ b/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
@@ -47,15 +47,7 @@ type DataSourceType = {
children?: DataSourceType[];
};
-const defaultData: DataSourceType[] = new Array(10).fill(1).map((_, index) => {
- return {
- id: (Date.now() + index).toString(),
- title: `章节${index}`,
- decs: '这个活动真好玩',
- state: 'open',
- created_at: '2020-05-26T09:42:56Z',
- };
-});
+// 需要处理
// React.forwardRef 接受渲染函数作为参数。React 将使用 props 和 ref 作为参数来调用此函数。此函数应返回 React 节点。
const AutoSelector = (props: any, ref: any) => {
/** 获取章节数据 */
@@ -86,7 +78,7 @@ const AutoSelector = (props: any, ref: any) => {
//key: 'code',
dataIndex: `type${item?.code}`,
render: ( item, { defaultRender, ...rest }, form) => {
- return {
//
const _data = [];
@@ -105,8 +97,8 @@ const AutoSelector = (props: any, ref: any) => {
// 暴露组件的方法 接受外部获取的ref
useImperativeHandle(ref, () => ({
// 构造ref的获取数据方法
- createPaper: () => { // 组卷
- //return selectedRowsState;
+ getData: () => { // 组卷数据
+ return [];
},
}));
@@ -148,10 +140,10 @@ const AutoSelector = (props: any, ref: any) => {
// setDataSource
}}
toolBarRender={false}
- /*
+/*
editable={{
type: 'multiple',
- editableKeys,
+ //editableKeys,
actionRender: (row, config, defaultDoms) => {
return [defaultDoms.delete];
},
@@ -159,9 +151,9 @@ const AutoSelector = (props: any, ref: any) => {
console.log('rrrr',record, recordList)
// setDataSource(recordList);
},
- onChange: setEditableRowKeys,
+ //onChange: setEditableRowKeys,
}}
- */
+*/
/>
>
);
diff --git a/admin/src/pages/examinationrules/normal/components/QuestionPaper.tsx b/admin/src/pages/examinationrules/normal/components/QuestionPaper.tsx
index 18e6103..cd50805 100644
--- a/admin/src/pages/examinationrules/normal/components/QuestionPaper.tsx
+++ b/admin/src/pages/examinationrules/normal/components/QuestionPaper.tsx
@@ -315,7 +315,7 @@ const QuestionPaper = (props: any, ref: any) => {
console.log('item', item);
return (
- {`${(record?.question_type === 2) ? ['T','F'][key] : labels[key]}. ${item?.answer}`}
+ {`${(record?.question_type === 2) ? ['A','B'][key] : labels[key]}. ${item?.answer}`}
)
}}
/>
@@ -335,7 +335,7 @@ const QuestionPaper = (props: any, ref: any) => {
answer = labels?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
break;
case 2: // 判断
- answer = ['T', 'F']?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
+ answer = ['A', 'B']?.filter((x, idx, self)=>answertrue[idx] === `${idx}`).toString()
break;
}
console.log('expandedDescRowKeys', expandedDescRowKeys)
diff --git a/admin/src/pages/examinationrules/normal/index.tsx b/admin/src/pages/examinationrules/normal/index.tsx
index 28fce60..aeaaec8 100644
--- a/admin/src/pages/examinationrules/normal/index.tsx
+++ b/admin/src/pages/examinationrules/normal/index.tsx
@@ -152,7 +152,7 @@ const ExaminationRules: React.FC = () => {
valueType: 'text',
hideInForm: false,
hideInSearch: true,
- renderText: (val: string) => `${val}分`,
+ renderText: (val: string) => `${val || '-'}`,
},
{
title: '通过线',
@@ -161,7 +161,7 @@ const ExaminationRules: React.FC = () => {
valueType: 'text',
hideInForm: false,
hideInSearch: true,
- renderText: (val: string) => `${val}`,
+ renderText: (val: string) => `${val || '-'}`,
},
{
title: '操作',
diff --git a/admin/src/pages/examinationrules/normal/step/index.tsx b/admin/src/pages/examinationrules/normal/step/index.tsx
index 33c3379..d73f6f0 100644
--- a/admin/src/pages/examinationrules/normal/step/index.tsx
+++ b/admin/src/pages/examinationrules/normal/step/index.tsx
@@ -30,6 +30,7 @@ import ScoreSetter from '../../components/ScoreSetter';
import AutoSelector from '../components/AutoSelector';
import { ConsoleMessage } from 'puppeteer-core';
import { getSubjectInfo } from '@/pages/course/subject/service';
+import { forEach } from 'lodash';
/**
* 保存选题
@@ -102,7 +103,7 @@ export default () => {
const [createType, setCreateType] = useState(1); // 组卷类型
const [rulesName, setRulesName] = useState(''); // 组卷类型
const [sumScore, setSumScore] = useState(0); // 总分
- const [passSocre, setPassSocre] = useState(0); // 通过分数线
+ const [passScore, setPassScore] = useState(0); // 通过分数线
const [typeQuestionCount, setTypeQuestionCount] = useState([0, 0, 0]); // 临时卷 各题型数量
@@ -118,6 +119,7 @@ export default () => {
const [questionType, setQuestionType] = useState([]); // 题型
const [scoreValues, SetscoreValues] = useState([]); // 分值 [{"question_type": "0","score": "3","score_harf": "0"},]
+ const [paperInfo, setPaperInfo] = useState({})
/** 获取题型 */
const { data: questionTypeData } = useRequest(() => {
@@ -169,14 +171,22 @@ export default () => {
page_number: value.current,
page_size: value.pageSize
*/
-
return queryRulesPaper(params);
},{
manual: true,
formatResult: (result) => {
- return result?.table_List;
+ return result?.question_list;
}});
+ useEffect(() => {
+ console.log('paperData2', paperData)
+ if(paperData?.length > 0){
+ console.log('paperData[0]', paperData[0])
+ setPaperInfo(paperData[0])
+ }
+ console.log('PaperInfo', paperInfo)
+ }, [paperData]);
+
console.log(params, 'params');
let ruleData = {}
@@ -285,7 +295,7 @@ export default () => {
width="md"
initialValue={ruleData?.examination_time}
rules={[{ required: true, message: '请输入考试时长' }]}
- tooltip="限制考试时长的情况下,用户考试中离开,倒计时不会停止。" />
+ tooltip="单位(分钟)" />
>
)}
@@ -412,9 +422,12 @@ export default () => {
* 设置分值前需要题型数据
* [{count: 0, score: 0, score_harf: 0},{count: 0, score: 0, score_harf: 0},{count: 0, score: 0, score_harf: 0}]
*/
- //setQuestionTypeValues()
-
-
+ //
+ const _data = []
+ typeQuestionCount?.forEach((item)=>{
+ _data.push({count: item, score: 0, score_harf: 0})
+ })
+ setQuestionTypeValues(_data)
console.log('typeQuestionCount', typeQuestionCount);
handleScoreModalVisible(true)
}}>批量设置分值
@@ -468,14 +481,11 @@ export default () => {
{
{/** 需要从试卷 或 临时试卷 中读取 */}
return
- 共 0 道题, 100 分
+ 共 0 道题, {paperInfo?.sum_score} 分
单选: 0 道题 单选: 0 道题 单选: 0 道题
- 通过线 {0} 分
-
-
+ 通过线 {paperInfo?.pass_score} 分
+
}} />
-
-
}
@@ -515,11 +525,13 @@ export default () => {
width="60%"
visible={autoModalVisible}
onVisibleChange={ handleAutoModalVisible }
- footer={null}
- onFinish={async () => {
- const values = autoRef?.current?.getData()
- const {code, data: paper, msg} = await autoPaper({rules_id: Number(params?.id), auto_param: JSON.stringify(values)})
- console.log('paper', paper)
+ onFinish={async () => {
+ // 需要处理
+ //console.log('111')
+ //const values = autoRef?.current?.getData()
+ //console.log('2222')
+ //const {code, data: paper, msg} = await autoPaper({rules_id: Number(params?.id), auto_param: JSON.stringify(values)})
+ //console.log('paper', paper)
//setUuidPaper(paper?.paper_uuid)
// message.success('提交成功');
handleAutoModalVisible(false)
@@ -534,10 +546,11 @@ export default () => {
width="60%"
visible={scoreModalVisible}
onVisibleChange={handleScoreModalVisible}
- footer={null}
onFinish={async () => {
console.log('typeQuestionCount', typeQuestionCount)
- const values = setterRef.current?.getData()
+ const values = setterRef.current?.getData() // 获取题型分值数据
+ const passSocre = setterRef.current?.getValue() // 获取通过分数线
+
console.log('批量设置分值v::::2', values);
// 题型分数
const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id), type_score: JSON.stringify(values)})
@@ -547,10 +560,10 @@ export default () => {
console.log('item--',item)
_sumScore += item?.score
})
- console.log('_sumScore', _sumScore)
+ //console.log('_sumScore', _sumScore)
- console.log('passSocre',passSocre)
- console.log('sumScore',sumScore)
+ //console.log('passScore',passScore)
+ console.log('sumScore',sumScore)
const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore})
setSumScore(_sumScore)
console.log('paper', paper)
diff --git a/admin/src/pages/questionbank/index.tsx b/admin/src/pages/questionbank/index.tsx
index fffe18a..5950ce0 100644
--- a/admin/src/pages/questionbank/index.tsx
+++ b/admin/src/pages/questionbank/index.tsx
@@ -430,7 +430,7 @@ const QuestionBank = () => {
console.log('item', item);
return (
- {`${(record?.question_type === 2) ? ['T','F'][key] : labels[key]}. ${item?.answer}`}
+ {`${(record?.question_type === 2) ? ['A','B'][key] : labels[key]}. ${item?.answer}`}
)
}}
/>
@@ -450,7 +450,7 @@ const QuestionBank = () => {
answer = labels?.filter((x, idx, self)=>`${answertrue[idx]}` === `1`).toString()
break;
case 2: // 判断
- answer = ['T', 'F']?.filter((x, idx, self)=>`${answertrue[idx]}` === `1`).toString()
+ answer = ['A', 'B']?.filter((x, idx, self)=>`${answertrue[idx]}` === `1`).toString()
break;
}
console.log('expandedDescRowKeys', expandedDescRowKeys)