wangxi 3 years ago
commit 55a1119d72

@ -90,10 +90,11 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => {
/** request 用于配置全局的网络请求,你可以在这里做拦截器,全局错误处理,鉴权的配置。*/
export const request: RequestConfig = {
errorHandler: (error: ResponseError) => {
/*
notification.error({
description: '您的网络发生异常,无法连接服务器',
message: '网络异常',
});
});*/
throw error;
},
};

@ -151,7 +151,7 @@ export default () => {
// tooltip="最长为 6 位汉字,需要与考生身份证一致"
placeholder="请输入介绍"
// rules={[{ required: true }]}
value="锦书"
value=""
// disabled
/>

@ -34,8 +34,8 @@ type AnalysisProps = {
const Analysis: FC<AnalysisProps> = () => {
//const { loading: subjectAndCourseLoading, data: subjectAndCourseData = [] } = useRequest(subjectAndCourseNumberStatistics); // 主题数、课程数统计
useRequest(fakeChartData)
const [salesType, setSalesType] = useState<SalesType>('all');
const [currentTabKey, setCurrentTabKey] = useState<string>('');
@ -43,8 +43,8 @@ const Analysis: FC<AnalysisProps> = () => {
getTimeDistance('year'),
);
const { loading, data } = useRequest(fakeChartData);
const loading = ""
const handleRangePickerChange = (value: RangePickerValue) => {
setRangePickerValue(value);
};
@ -62,11 +62,10 @@ const Analysis: FC<AnalysisProps> = () => {
{/** 课程浏览量/月柱形图 需要处理 */}
<CourseRow
rangePickerValue={rangePickerValue}
salesData={data?.salesData || []}
isActive={true}
handleRangePickerChange={handleRangePickerChange}
loading={loading}
visitData={data?.visitData || []}
/>
</Suspense>
</>

@ -40,6 +40,8 @@ export default () => {
const [questionTypeValues, setQuestionTypeValues] = useState([]); // 题型数据[{count:0, score:0, score_harf:0}]
const [questionType, setQuestionType] = useState([]); // 题型
const [rulesId, setRulesId] = useState(0); // 规则id, 保存新建的rules_id
/** 自动组卷窗口 */
const [autoModalVisible, handleAutoModalVisible] = useState<boolean>(false);
/** 分值窗口 */
@ -165,7 +167,7 @@ export default () => {
const { success } = await autoPaperOfficial(
{
paper_id: record?.paper_id,
rules_id: Number(params?.id),
rules_id: Number(params?.id || rulesId),
question_count: '50,50', // 当前数据库没保存,只能采用默认
question_type_count: _type_count?.toString()
}
@ -241,13 +243,14 @@ export default () => {
}
console.log(fileds, 'fileds', params);
// return false
await saveRules({
const {data} = await saveRules({
...fileds,
b_use: 0,
rules_type: 1,
start_time: fileds.dateRange[0],
end_time: fileds.dateRange[1]
});
setRulesId(data?.rules_id)
setCurrentStep(1)
return true;
@ -356,7 +359,7 @@ export default () => {
/** 获取试卷 */
const _data = await queryRulesPaper(
{
rules_id: params?.id,
rules_id: params?.id || rulesId,
page_number: value.current,
page_size: value.pageSize
}
@ -455,13 +458,13 @@ export default () => {
</StepsForm>
</ProCard>
<ModalForm
title="系统组卷"
title="系统组卷 "
visible={autoModalVisible}
onVisibleChange={handleAutoModalVisible}
onFinish={async () => {
const values = autoRef.current?.getData();
console.log('系统组卷::::', values);
const {code, data: paper, msg} = await autoPaperOfficial({rules_id:Number(params?.id), question_count: values?.questionCount.toString(), question_type_count: values?.questionTypeCount.toString()})
const {code, data: paper, msg} = await autoPaperOfficial({rules_id:Number(params?.id || rulesId), question_count: values?.questionCount.toString(), question_type_count: values?.questionTypeCount.toString()})
console.log('paper', paper)
// setUuidPaper(paper?.paper_uuid)
// message.success('提交成功');
@ -470,7 +473,7 @@ export default () => {
return true;
}}
>
<AutoSelector ref={autoRef} questionType={questionType} />
<AutoSelector ref={autoRef} questionType={questionType} />
</ModalForm>
<ModalForm
title={`批量设置分值`}
@ -482,7 +485,7 @@ export default () => {
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)})
const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id || rulesId), type_score: JSON.stringify(values)})
console.log('paper', paper)
// 总分及通过分
let _sumScore = 0;
@ -494,7 +497,7 @@ export default () => {
// 需要处理
console.log('passSocre',passSocre)
//console.log('sumScore',sumScore)
const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore})
const {success} = await updateScore({rules_id:Number(params?.id || rulesId), pass_socre: passSocre, sum_score: _sumScore})
//setSumScore(_sumScore)
// setUuidPaper(paper?.paper_uuid)
// message.success('提交成功');

@ -107,6 +107,8 @@ export default () => {
const [typeQuestionCount, setTypeQuestionCount] = useState([0, 0, 0]); // 临时卷 各题型数量
const [rulesId, setRulesId] = useState(0); // 规则id, 保存新建的rules_id
const formRef = useRef<ProFormInstance>();
const selectorRef = useRef();
@ -118,7 +120,7 @@ export default () => {
const params = useParams();
const [questionType, setQuestionType] = useState([]); // 题型
const [scoreValues, SetscoreValues] = useState([]); // 分值 [{"question_type": "0","score": "3","score_harf": "0"},]
const [scoreValues, setScoreValues] = useState([]); // 分值 [{"question_type": "0","score": "3","score_harf": "0"},]
const [paperInfo, setPaperInfo] = useState({})
/** 获取题型 */
@ -190,6 +192,7 @@ export default () => {
console.log(params, 'params');
let ruleData = {}
//
if (params?.id) {
//console.log(JSON.stringify(params), "878");
const { data } = useRequest(async () => {
@ -231,13 +234,15 @@ export default () => {
}}
onFinish={async (fileds) => {
if (params?.id) {
fileds = { ...fileds, id: params.id }
fileds = { ...fileds, id: (params.id || rulesId) }
}
await saveRules({
const {data} = await saveRules({
...fileds,
b_use: 0,
rules_type: 0,
});
setRulesId(data?.rules_id) // 保存规则id
//run({paper_uuid:1}); // 获取当前选题列表
// console.log('模拟考试基本信息', fileds)
setSubjectId(fileds?.subject_id) // 设置当前关联主题
@ -314,7 +319,9 @@ export default () => {
onFinish={async () => {
console.log(formRef.current?.getFieldsValue());
setCurrentStep(2) // 设置步骤号
runPaper({rules_id: params?.id })
alert(params?.id || rulesId)
runPaper({rules_id: params?.id || rulesId})
return true;
}}
>
@ -434,7 +441,7 @@ export default () => {
console.log('uuidPaper::', uuidPaper)
console.log('rules_id::', params?.id)
const paper_id = paper_id ? paper_id : 0;
await handleUpdatePaper(params?.id, uuidPaper, paper_id)
await handleUpdatePaper(params?.id || rulesId, uuidPaper, paper_id)
}}></Button>
</Space>
</div>
@ -502,7 +509,7 @@ export default () => {
console.log('v::::', values.name);
const rows = selectorRef?.current?.getSelectedRows()
console.log('rows::::', rows);
const {code, data: paper, msg} = await handleAppend(Number(params?.id), rows)
const {code, data: paper, msg} = await handleAppend(Number(params?.id || rulesId), rows)
console.log('paper', paper)
setUuidPaper(paper?.paper_uuid)
console.log('paper_uuid', paper?.paper_uuid)
@ -552,7 +559,7 @@ export default () => {
console.log('批量设置分值v::::2', values);
// 题型分数
const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id), type_score: JSON.stringify(values)})
const {code, data: paper, msg} = await saveQuestionTypeScore({rules_id:Number(params?.id || rulesId), type_score: JSON.stringify(values)})
// 总分及通过分
let _sumScore = 0;
values?.forEach((item)=>{
@ -563,7 +570,7 @@ export default () => {
//console.log('passScore',passScore)
console.log('sumScore',sumScore)
const {success} = await updateScore({rules_id:Number(params?.id), pass_socre: passSocre, sum_score: _sumScore})
const {success} = await updateScore({rules_id:Number(params?.id || rulesId), pass_socre: passSocre, sum_score: _sumScore})
setSumScore(_sumScore)
console.log('paper', paper)
// setUuidPaper(paper?.paper_uuid)

@ -90,8 +90,10 @@ const QuestionBank = () => {
const [selectedRowsState, setSelectedRows] = useState<API.RuleListItem[]>([]);
const [currentRow, setCurrentRow] = useState<TableListItem>();
const [expandedDescRowKeys, setExpandedDescRowKeys] = useState<readonly ReactText[]>([]); // 展开解析设置
const [addType, setAddType] = useState({name: '', value: 0});
const [addType, setAddType] = useState({name: '', value: ''});
//const [answertrueValues, setAnswertrueValues] = useState(); // 编辑试题答案项值
/** 表单项定义 */
const columns: ProColumns<TableListItem>[] = [
{
@ -200,24 +202,29 @@ const QuestionBank = () => {
// 需要处理 关联长度变化及编辑回显
console.log('edit answertrue11', item)
console.log('form::::::',form.getFieldValue('answertrue'))
console.log('rest', rest)
console.log('question_type:::', form.getFieldValue('question_type'))
if(Number(form.getFieldValue('question_type')) === 0){
console.log('my type', Number(form.getFieldValue('question_type')))
}else{
console.log('====0')
}
console.log('addType?.value', addType?.value)
// 0 单选 1 多选 2 判断
return (addType?.value !== 1 ) ?
return ((addType?.value === 0) || (Number(form.getFieldValue('question_type')) === 0) || Number(form.getFieldValue('question_type')) === 2) ?
<Radio.Group
name="answertrue"
defaultValue={'A'}
options={['A', 'B', 'C', 'D']}
onChange={(e)=>{
form.setFieldsValue({answertrue: 'B'})
}}
/>
:
<ProFormCheckbox.Group
<>
<Checkbox.Group
name="answertrue"
label=""
initialValue={[]}
options={['A', 'B', 'C', 'D']}
/>
{form.setFieldsValue({answertrue:['A','C']})}
</>
},
/*
formItemProps: {
@ -559,6 +566,7 @@ const QuestionBank = () => {
visible={createModalVisible}
destroyOnClose
onCancel={() => {
setAddType({name: '', value: ''}); // 还原题型选择
handleCreateModalVisible(false);
}}
footer={null}
@ -574,7 +582,8 @@ const QuestionBank = () => {
console.log('values:', values);
const opts = [];
values?.answers?.forEach((item, key)=>{
const isTrue = labels[key] === values?.answertrue ? 1 : 0; // 判断是否为正确答案
//
const isTrue = (values?.answertrue.toString().indexOf(labels[key]) !== -1) ? 1 : 0; // 判断是否为正确答案
opts.push({answer:item, is_true:isTrue})
})
const success = await handleAdd({
@ -611,6 +620,7 @@ const QuestionBank = () => {
visible={updateModalVisible}
destroyOnClose
onCancel={() => {
setAddType({name: '', value: ''}); // 还原题型选择
handleUpdateModalVisible(false);
}}
footer={null}
@ -622,9 +632,14 @@ const QuestionBank = () => {
wrapperCol={{ span: 12 }}
request={()=>{
//
console.log('currentRow',currentRow)
//answers:currentRow?.answers.map((item)=>(item.answer))
return {...currentRow, answers: currentRow?.answers.map((item)=>(item.answer)), answer_true: 1 }
console.log('currentRow##',currentRow)
//answers:currentRow?.answers.map((item)=>(item.answer))
const answertrue = currentRow?.answertrue?.split(',');
const answerTrueData = labels?.filter((x, idx, self)=>answertrue[idx] === `${idx}`)
console.log('$$$', answerTrueData)
//Number(currentRow?.question_type) === 1 ? answerTrueData : answerTrueData[0]
return {...currentRow, answers: currentRow?.answers.map((item)=>(item.answer)), answertrue: 'C' }
}}
onFinish={async (values: any) => {
// 表单处理

@ -89,11 +89,12 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => {
/** request 用于配置全局的网络请求,你可以在这里做拦截器,全局错误处理,鉴权的配置。*/
export const request: RequestConfig = {
errorHandler: (error: ResponseError) => {
notification.error({
/*notification.error({
description: '您的网络发生异常,无法连接服务器',
message: '网络异常',
});
});*/
throw error;
},
};
Loading…
Cancel
Save