diff --git a/web/src/global.less b/web/src/global.less index 4c66ee0..41d5e8b 100644 --- a/web/src/global.less +++ b/web/src/global.less @@ -72,25 +72,31 @@ ol { filter: grayscale(100%) brightness(500%); } -.pdefault{ +.answerSheet{ + +} + +.answerSheet .pdefault{ margin: -1px; border: #cccccc 1px solid; border-radius: 5px; color: #999999; width: 40px; height: 40px; - background-color: #ffffff; + // background-color: #ffffff; text-align: center; display:flex; font-size: 18px; justify-content: center; align-items: center; } -.pact{ - border: #1895ff 1px solid; +.answerSheet .pact{ + border: #1895ff 2px solid!important; color: #1895ff; } -.pok{ - border: aquamarine 1px solid; - color: aquamarine; -} \ No newline at end of file + + +.answerSheet .pok{ + border: #1895ff 1px solid; + color: #1895ff;background-color: #e6f7ff; +} diff --git a/web/src/pages/mockExamination/paper/index.tsx b/web/src/pages/mockExamination/paper/index.tsx index 8d5008d..6366cfe 100644 --- a/web/src/pages/mockExamination/paper/index.tsx +++ b/web/src/pages/mockExamination/paper/index.tsx @@ -1,19 +1,22 @@ /** 资质考试 */ import { AlignLeftOutlined, PlusOutlined } from '@ant-design/icons'; -import { Switch, Button, Card, Col, List, Menu, Progress, Row, Typography, Space, Divider, Radio, Checkbox } from 'antd'; +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 } from 'umi'; -import { useState } from 'react'; +import { useRef, useState } from 'react'; const { Text, Link } = Typography; import { getRulesPaper, getPaperQuestionList } from '../service'; import type { CardListItemDataType } from '../data'; import styles from './style.less'; import SubMenu from 'antd/lib/menu/SubMenu'; import ProCard from '@ant-design/pro-card'; +import { getDirection } from '../../../.umi/plugin-locale/localeExports'; const { Paragraph } = Typography; const CardList = () => { + const formRef = useRef(); + // 组卷详情查询 const [rulesPaperInfo, setRulesPaperInfo] = useState([]); // 试题列表 @@ -66,7 +69,7 @@ const CardList = () => { const paperList = result.question_list; const qList = params[0].question_type_count - const questionList = [] + const questionList: any[] = [] qList.map((e, i) => { if (e.count > 0) { questionList.push({ @@ -75,11 +78,11 @@ const CardList = () => { }) } }) - // 根据分类拆分试题 左侧答题卡 + // 根据分类拆分试题 左侧答题卡 state:0 未答题 1 : 已答题 paperList.map((e) => { questionList.map((item, index) => { if (item.question_type == e.question_type) { - questionList[index].children.push({ ...e, question_type: item.question_type, answerSelect: "" }) + questionList[index].children.push({ ...e, question_type: item.question_type, answerSelect: "", state: 0, answerId: "" }) } }) }) @@ -87,23 +90,32 @@ const CardList = () => { // 根据答题卡生成考试顺序 const questionInfo = [] for (let i = 0; i < questionList.length; i++) { - console.log(questionList[i], 'iiii') questionList[i].children.map((e, index) => { - console.log(e, "num"); questionInfo.push({ ...e, index: index }) }) } - - - + const nowQ = setLabVal(questionInfo[0]) setPaperInfo(questionInfo || []) - setQuestionNow(questionInfo[0] || []) + setQuestionNow(nowQ || []) setQuestionTypeList(questionList || []) } } }); + + const setLabVal = (value: []) => { + const nowQ = value + console.log(nowQ, "888888"); + + nowQ.answers.map((e, i) => { + console.log(e, 'eeeeee'); + nowQ.answers[i].label = e.answer + nowQ.answers[i].value = e.id + }) + return nowQ + } + const content = (

@@ -161,9 +173,13 @@ const CardList = () => { + {console.log("当前题号:", questionNow, "试题顺序:", paperInfo, "二维数组:", questionTypeList)} @@ -172,7 +188,7 @@ const CardList = () => { questionTypeList && ( questionTypeList.map((e, i) => { - console.log(e.children, 'e.children') + return { id={item.id} > }} @@ -227,34 +258,99 @@ const CardList = () => { headerBordered > + {/* + + + + + { + + const qArr = [] + // 默认输出答案0,0,0,0 + questionNow?.answers?.map((e, i) => { + console.log(e, i, "ei"); + item.target.value === e.id ? qArr.push("1") : qArr.push("0") + }) + console.log(qArr, 'Arr') + 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.target.value + + console.log(questionList, 'questionList11', questionAnswer) + // 提交答题卡 + setQuestionTypeList(questionList) + + // console.log('0', questionList, questionNow, item, qX, qI, questionList[qX].children[qI].answerSelect, questionAnswer) + }} defaultValue={questionNow.answerId} /> + + + + + */} {questionNow?.question_stem} + {console.log(questionNow.answerId, 'answerId', questionNow.answerId)} - { return true }} value={0} size="large"> - - {questionNow.question_type === 0 ? - ({questionNow?.answers?.map((item, index) => { - return { - const qArr = [] - questionNow?.answers?.map(() => { - qArr.push("0") - }) - qArr[index] = item.is_true - const questionAnswer = qArr.join(",") - const paperInfoTemp = paperInfo - paperInfoTemp[questionNow.index].answerSelect = questionAnswer - setPaperInfo(paperInfoTemp || []) - console.log('0', paperInfoTemp, questionNow.index) - }} value={item.id} style={{ padding: 5, fontSize: 16 }}>{tiNum(index)}{item.answer} - })}) : questionNow.question_type === 1 ? questionNow?.answers?.map((item, index) => { - return {tiNum(index)}{item.answer} - }) : questionNow.question_type === 2 ? questionNow?.answers?.map((item, index) => { - return {tiNum(index)}{item.answer} - }) : ""} - - - + + {questionNow.question_type === 0 ? + + ( +

+ + + {questionNow?.answers?.map((item, index) => { + console.log(item, 'item') + return { + const qArr = [] + // 默认输出答案0,0,0,0 + 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, questionList[qX].children[qI].answerSelect, questionAnswer) + }} + value={item.id} + style={{ padding: 5, fontSize: 16 }} + >{tiNum(index)}{item.answer} + })} + +
+ ) : questionNow.question_type === 1 ? questionNow?.answers?.map((item, index) => { + return {tiNum(index)}{item.answer} + }) : questionNow.question_type === 2 ? questionNow?.answers?.map((item, index) => { + return {tiNum(index)}{item.answer} + }) : ""} + + { return true }} value={0} size="large">