diff --git a/admin/src/pages/examinationrules/attestation/components/AutoSelector.tsx b/admin/src/pages/examinationrules/attestation/components/AutoSelector.tsx
index 3e3704d..77e37b2 100644
--- a/admin/src/pages/examinationrules/attestation/components/AutoSelector.tsx
+++ b/admin/src/pages/examinationrules/attestation/components/AutoSelector.tsx
@@ -3,7 +3,7 @@
*/
//import { AlignLeftOutlined, PlusOutlined } from '@ant-design/icons';
-import { Button, Col, InputNumber, message, Row } from 'antd';
+import { Button, Col, Input, InputNumber, message, Row } from 'antd';
//import { FooterToolbar, PageContainer } from '@ant-design/pro-layout';
//import { useRequest } from 'umi';
//import { queryFakeList } from './service';
@@ -16,11 +16,13 @@ import { forwardRef, ReactText, useEffect, useImperativeHandle, useRef, useState
//import { PlusOutlined, DeleteOutlined, DownloadOutlined, UploadOutlined, EditOutlined, EyeOutlined, EyeInvisibleOutlined, DownOutlined } from '@ant-design/icons';
import { useParams, useRequest, history, useRouteMatch } from 'umi';
import { queryCourseView } from '@/pages/course/option/service';
-import { queryQuestionList, queryQuestionType } from '@/pages/questionbank/service';
+//import { queryQuestionList, queryQuestionType } from '@/pages/questionbank/service';
+
//import ProForm, { ProFormSelect } from '@ant-design/pro-form';
import type { ActionType, ProColumns } from '@ant-design/pro-table';
import ProTable from '@ant-design/pro-table';
import { manualPaper } from '../service';
+import { queryQuestionWithoutList } from '../../service';
export type TableListItem = {
id: string;
@@ -58,7 +60,7 @@ const AutoSelector = (props: any, ref: any) => {
/** 获取常规题库试题数量 */
const { data: normalSum } = useRequest(()=>{
- return queryQuestionList({subject_id: params?.id, page_number: 1, page_size: 1, type: 0})
+ return queryQuestionWithoutList({subject_id: params?.id, page_number: 1, page_size: 1, type: 0})
},{
formatResult: (result) => {
return result.totalRow;
@@ -67,7 +69,7 @@ const AutoSelector = (props: any, ref: any) => {
/** 获取资质考试题库试题数量 */
const { data: attestationSum } = useRequest(()=>{
- return queryQuestionList({subject_id: params?.id, page_number: 1, page_size: 1, type: 1})
+ return queryQuestionWithoutList({subject_id: params?.id, page_number: 1, page_size: 1, type: 1})
},{
formatResult: (result) => {
return result.totalRow;
@@ -89,6 +91,7 @@ const AutoSelector = (props: any, ref: any) => {
return (
<>
+ 生成试卷数量:试卷数量与学生重复考试次数一致
题库选择
{`常规题库 ( ${normalQuestionSum} 道题)`}
diff --git a/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx b/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
index 529d902..ed5730c 100644
--- a/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
+++ b/admin/src/pages/examinationrules/normal/components/AutoSelector.tsx
@@ -3,7 +3,7 @@
*/
//import { AlignLeftOutlined, PlusOutlined } from '@ant-design/icons';
-import { Button, Form, InputNumber, message } from 'antd';
+import { Button, Form, Input, InputNumber, message } from 'antd';
//import { FooterToolbar, PageContainer } from '@ant-design/pro-layout';
//import { useRequest } from 'umi';
//import { queryFakeList } from './service';
@@ -50,12 +50,13 @@ type DataSourceType = {
// 需要处理
// React.forwardRef 接受渲染函数作为参数。React 将使用 props 和 ref 作为参数来调用此函数。此函数应返回 React 节点。
const AutoSelector = (props: any, ref: any) => {
+ const formRef = useRef()
/** 获取章节数据 */
// 获取主题id
console.log('props subject_id', props)
const { subjectId, questionType } = props;
console.log('questionType', questionType)
- const [typeScore, setTypeScore] = useState([]) ; // 题型分数数组 [{"question_type":0,"chapter_list": [{ "chapter_id":3, "count":1 }]}]
+ const [typeChapterCount, setTypeChapterCount] = useState([]) ; // 题型分数数组 [{"question_type":0,"chapter_list": [{ "chapter_id":3, "count":1 }]}]
//const [dataSource, setDataSource] = useState(() => defaultData);
@@ -72,22 +73,41 @@ const AutoSelector = (props: any, ref: any) => {
];
/* 动态设置题型列 */
- questionType?.forEach((item)=>{
+ questionType?.forEach((item, idx)=>{
columns.push({
- title: <>{item?.name} >,
+ title: <>{item?.name} {
+
+ }}
+ onChange={(e)=>{
+ const val = e.currentTarget.value;
+ console.log('onchange==', val)
+ const values = formRef?.current.getFieldsValue()
+ console.log('values', values)
+ const {questionType} = values;
+ const avg = val / questionType[idx].length // 平均数
+ const rem = val % questionType[idx].length // 余数
+ const _questionType = questionType[idx].map((item, key)=>{return key < rem ? Math.ceil(avg) : Math.floor(avg)})
+ console.log('questionTypeData', _questionType)
+ questionType[idx] = _questionType;
+ //[[10]]
+ formRef?.current.setFieldsValue({questionType: questionType})
+ }}
+ />>,
//key: 'code',
dataIndex: `type${item?.code}`,
- render: ( item, { defaultRender, ...rest }, form) => {
- return {
+ return {
- //
- const _data = [];
- console.log('typeScore',typeScore)
- typeScore?.forEach((item, key)=>{
- _data.push({...item, score_harf: ((index === key) ? value : item?.score_harf)})
+ console.log('record', record)
+ //{chapter_id: record?.chapter_id, count:0}
+ /*
+ console.log('typeChapterCount',typeChapterCount)
+ const data = typeChapterCount?.map((item, key)=>{
+ data.push({...item, score_harf: ((index === key) ? value : item?.score_harf)})
})
- setTypeScore(_data)
- console.log('setTypeScore',typeScore)
+ setTypeChapterCount(data)
+ console.log('setTypeChapterCount---',typeChapterCount)
+ */
}}
/>;
},
@@ -105,13 +125,18 @@ const AutoSelector = (props: any, ref: any) => {
return (
<>
- { console.log('formRef',formRef.current.getFieldsValue()); formRef.current.setFieldsValue({questionType:[['10']]})}}>show
+
>
);
};