资质考试

master
wangxi 3 years ago
parent dae2c0281d
commit 1c9b8f147f

@ -2,10 +2,10 @@
import { AlignLeftOutlined, PlusOutlined } from '@ant-design/icons';
import { Switch, Button, Card, Col, List, Menu, Progress, Row, Typography, Space, Divider, Radio, Checkbox, Form } from 'antd';
import { PageContainer } from '@ant-design/pro-layout';
import { useParams, useRequest, history } from 'umi';
import { useParams, useRequest,history } from 'umi';
import { useEffect, useRef, useState } from 'react';
const { Text, Link } = Typography;
import { getRulesPaper, getPaperQuestionList, finishExamination, getPersonPaperId } from './examAnser';
import { getRulesPaper, getPaperQuestionList, finishExamination,getPersonPaperId } from './examAnser';
import type { CardListItemDataType } from '../data';
import styles from './style.less';
import cookie from 'react-cookies';
@ -101,11 +101,11 @@ const CardList = () => {
const params = useParams();
const { loading, data } = useRequest(() => {
return getPersonPaperId({
examination_id: params.examination_id,
person_id: cookie.load('person_id')
});
},
return getPersonPaperId({
examination_id: params.examination_id,
person_id:cookie.load('person_id')
});
},
{
formatResult: (result) => {
return result;
@ -132,27 +132,27 @@ const CardList = () => {
// 试题列表
const paperList = result.question_list;
const arr = [[], [], []];
const question_type_count = [
{ count: 0, question_type: 0, type_name: '单选' },
{ count: 0, question_type: 1, type_name: '多选' },
{ count: 0, question_type: 2, type_name: '填空' },
let arr=[[],[],[]];
let question_type_count=[
{count:0,question_type:0,type_name:'单选'},
{count:0,question_type:1,type_name:'多选'},
{count:0,question_type:2,type_name:'填空'},
];
if (result.question_list.length !== 0) {
if(result.question_list.length!==0){
setRuleId(result.question_list[0].rules_id)
result.question_list.forEach((item) => {
if (item.question_type === 0) {
result.question_list.forEach((item)=>{
if(item.question_type===0){
arr[0].push(item)
} else if (item.question_type === 1) {
}else if(item.question_type===1){
arr[1].push(item)
} else {
}else {
arr[2].push(item)
}
})
}
question_type_count[0].count = arr[0].length;
question_type_count[1].count = arr[1].length;
question_type_count[2].count = arr[2].length;
question_type_count[0].count=arr[0].length;
question_type_count[1].count=arr[1].length;
question_type_count[2].count=arr[2].length;
const qList = question_type_count
const questionList: any[] = []
@ -179,9 +179,7 @@ const CardList = () => {
const questionInfo = []
for (let i = 0; i < questionList.length; i++) {
questionList[i].children.map((e, index) => {
questionInfo.push({ ...e, index: [i, index] })
questionList[i].children[index].index = [i, index]
questionInfo.push({ ...e, index: index })
})
}
@ -205,9 +203,9 @@ const CardList = () => {
return result;
},
onSuccess: (result, params) => {
if (result.success) {
const time = new Date(timeData).getTime();
const timeDiff = params.duration / 1000 - time;
if(result.success){
const time=new Date(timeData).getTime();
const timeDiff=params.duration/1000-time;
// console.log('timeDiff',timeDiff)
history.push(`/dashboard/qualification/result/${result.data.pass_score}/${result.data.score}/${result.data.sum_score}/${params.examination_id}/${params.examination_name}/${timeDiff}`);
}
@ -304,38 +302,38 @@ const CardList = () => {
questionTypeList.map((e, i) => {
return <List
key={i}
header={e.type_name}
footer={false}
bordered
dataSource={e.children}
renderItem={(item, index) => {
// console.log(item, 'list')
return <List.Item
id={item.id}
> <Button
className={
`pdefault ${item.state === 1 ? "pok" : ""} ${questionNow.id === item.id ? "pact" : ""}`
return <List
key={i}
header={e.type_name}
footer={false}
bordered
dataSource={e.children}
renderItem={(item, index) => {
// console.log(item, 'list')
return <List.Item
id={item.id}
> <Button
className={
`pdefault ${item.state === 1 ? "pok" : ""} ${questionNow.id === item.id ? "pact" : ""}`
}
onClick={() => {
// 查看解析关闭
setParsingShow(false)
paperInfo.map((e) => {
if (e.id === item.id) {
// 重写单选的label、valueindex保存当前试题的index。
setQuestionNow({ ...item, index: e.index })
}
})
}}
>{index + 1}</Button> </List.Item>
}}
style={{ background: '#ffffff', margin: '-25px -24px 24px -24px' }}
/>
}
}
onClick={() => {
// 查看解析关闭
setParsingShow(false)
paperInfo.map((e) => {
if (e.id === item.id) {
// 重写单选的label、valueindex保存当前试题的index。
setQuestionNow({ ...item, index: e.index })
}
})
}}
>{index + 1}</Button> </List.Item>
}}
style={{ background: '#ffffff', margin: '-25px -24px 24px -24px' }}
/>
}
)
@ -371,32 +369,32 @@ const CardList = () => {
<Space direction="vertical">{questionNow?.answers?.map((item, index) => {
return <Radio key={item.id}
onChange={() => {
const qArr = []
// 默认输出答案0000
questionNow?.answers?.map(() => {
qArr.push("0")
})
// 修改用户答案
qArr[index] = item.is_true
const questionList = questionTypeList
const questionAnswer = qArr.join(",")
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[questionNow.index[0]].children[questionNow.index[1]].answerSelect = questionAnswer;
// 答题状态
questionList[questionNow.index[0]].children[questionNow.index[1]].state = 1
questionList[questionNow.index[0]].children[questionNow.index[1]].answerId = item.id
// 提交答题卡
setQuestionTypeList(questionList)
// console.log('0', questionList, questionNow, item, qX, qI)
}}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
onChange={() => {
const qArr = []
// 默认输出答案0000
questionNow?.answers?.map(() => {
qArr.push("0")
})
// 修改用户答案
qArr[index] = item.is_true
const questionList = questionTypeList
const questionAnswer = qArr.join(",")
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[qX].children[qI].answerSelect = questionAnswer;
// 答题状态
questionList[qX].children[qI].state = 1
questionList[qX].children[qI].answerId = item.id
// 提交答题卡
setQuestionTypeList(questionList)
// console.log('0', questionList, questionNow, item, qX, qI)
}}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
>{tiNum(index)}{item.answer}</Radio>
})}</Space></Radio.Group>
@ -415,10 +413,10 @@ const CardList = () => {
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[questionNow.index[0]].children[questionNow.index[1]].answerSelect = questionAnswer;
questionList[qX].children[qI].answerSelect = questionAnswer;
// 答题状态
questionList[questionNow.index[0]].children[questionNow.index[1]].state = 1
questionList[questionNow.index[0]].children[questionNow.index[1]].answerId = e
questionList[qX].children[qI].state = 1
questionList[qX].children[qI].answerId = e
// 提交答题卡
setQuestionTypeList(questionList)
@ -428,8 +426,8 @@ const CardList = () => {
return <Checkbox key={item.id}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
>{tiNum(index)}{item.answer}</Checkbox>
})}
@ -439,31 +437,31 @@ const CardList = () => {
<Space direction="vertical">{questionNow?.answers?.map((item, index) => {
return <Radio key={item.id}
onChange={() => {
const qArr = []
// 默认输出答案0000
questionNow?.answers?.map(() => {
qArr.push("0")
})
// 修改用户答案
qArr[index] = item.is_true
const questionList = questionTypeList
const questionAnswer = qArr.join(",")
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[questionNow.index[0]].children[questionNow.index[1]].answerSelect = questionAnswer;
// 答题状态
questionList[questionNow.index[0]].children[questionNow.index[1]].state = 1
questionList[questionNow.index[0]].children[questionNow.index[1]].answerId = item.id
// 提交答题卡
setQuestionTypeList(questionList)
// console.log('0', questionList, questionNow, item, qX, qI)
}}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
onChange={() => {
const qArr = []
// 默认输出答案0000
questionNow?.answers?.map(() => {
qArr.push("0")
})
// 修改用户答案
qArr[index] = item.is_true
const questionList = questionTypeList
const questionAnswer = qArr.join(",")
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[qX].children[qI].answerSelect = questionAnswer;
// 答题状态
questionList[qX].children[qI].state = 1
questionList[qX].children[qI].answerId = item.id
// 提交答题卡
setQuestionTypeList(questionList)
// console.log('0', questionList, questionNow, item, qX, qI)
}}
value={item.id}
style={{ padding: 5, fontSize: 16 }}
>{tiNum(index)}{item.answer}</Radio>
})}</Space></Radio.Group>
@ -505,9 +503,9 @@ const CardList = () => {
const nextTemp = paperInfo[i - 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].children.map((item, index) => {
questionList[nextTemp.question_type].children.map((item, index) => {
if (item.id === nextTemp.id) {
nextData = item
nextData = { ...item, index: index }
}
})
setQuestionNow(nextData)
@ -521,44 +519,56 @@ const CardList = () => {
block></Button>
<Button size="large"
disabled={nextBtnShow}
block onClick={() => {
paperInfo.map((e, i) => {
if (e.id === questionNow.id) {
const nextTemp = paperInfo[i + 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].children.map((item, index) => {
if (item.id === nextTemp.id) {
nextData = item
}
})
setQuestionNow(nextData)
}
disabled={nextBtnShow}
block onClick={() => {
paperInfo.map((e, i) => {
if (e.id === questionNow.id) {
const nextTemp = paperInfo[i + 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.question_type].children.map((item, index) => {
if (item.id === nextTemp.id) {
nextData = { ...item, index: index }
}
})
setQuestionNow(nextData)
}
})
})
// console.log(nextQuestionData, "下一题")
}}></Button>
// console.log(nextQuestionData, "下一题")
}}></Button>
<Button size="large" type="primary"
onClick={() => {
onClick={() => {
const questionFinishId = []
questionTypeList.map((e, i) => {
questionTypeList[i].children.map((e, index) => {
const answerId = e.answerId
answerId !== "" ? questionFinishId.push({
answer_id: (answerId instanceof Array) ? answerId.join(',') : answerId,
question_id: e.id,
question_type: e.question_type
}) : ""
})
})
const questionFinish = {
answers: JSON.stringify(questionFinishId),
examination_id: params.examination_id,
person_id: cookie.load('person_id'),
paper_id: rulesPaperInfo
}
const questionFinish = {
answers: JSON.stringify(questionFinishId),
examination_id:params.examination_id,
person_id: cookie.load('person_id'),
paper_id: rulesPaperInfo
}
// console.log(questionFinish, 'questionFinish', rulesPaperInfo)
runFinishExamination(questionFinish)
// console.log(questionTypeList)
// console.log(questionNow)
// console.log(questionFinish, 'questionFinish', rulesPaperInfo)
runFinishExamination(questionFinish)
// console.log(questionTypeList)
// console.log(questionNow)
}}
block></Button>
}}
block></Button>
</Space>
</div>
</Col>

Loading…
Cancel
Save