|
|
|
@ -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<number>(1); // 组卷类型
|
|
|
|
|
const [rulesName, setRulesName] = useState<string>(''); // 组卷类型
|
|
|
|
|
const [sumScore, setSumScore] = useState<number>(0); // 总分
|
|
|
|
|
const [passSocre, setPassSocre] = useState<number>(0); // 通过分数线
|
|
|
|
|
const [passScore, setPassScore] = useState<number>(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="单位(分钟)" />
|
|
|
|
|
</>
|
|
|
|
|
)}
|
|
|
|
|
</Col>
|
|
|
|
@ -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)
|
|
|
|
|
}}>批量设置分值</Button>
|
|
|
|
@ -468,14 +481,11 @@ export default () => {
|
|
|
|
|
<ProDescriptions.Item dataIndex="grade" label="试卷信息" valueType="text" render={()=>{
|
|
|
|
|
{/** 需要从试卷 或 临时试卷 中读取 */}
|
|
|
|
|
return <Space direction="vertical">
|
|
|
|
|
<span>共 0 道题, 100 分</span>
|
|
|
|
|
<span>共 0 道题, {paperInfo?.sum_score} 分</span>
|
|
|
|
|
<span>单选: 0 道题 单选: 0 道题 单选: 0 道题</span>
|
|
|
|
|
<span>通过线 {0} 分</span>
|
|
|
|
|
</Space>
|
|
|
|
|
|
|
|
|
|
<span>通过线 {paperInfo?.pass_score} 分</span>
|
|
|
|
|
</Space>
|
|
|
|
|
}} />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</ProDescriptions>
|
|
|
|
|
}
|
|
|
|
|
</Col>
|
|
|
|
@ -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)
|
|
|
|
|