二次弹窗提示修改

main
hujunpeng 3 months ago
parent a8cf3d81ac
commit 7ff893b479
  1. 13
      packages/examination/src/views/exam-online/compoents/ExamEditPage.tsx
  2. 14
      packages/examination/src/views/exam-online/compoents/ExamListPage.tsx
  3. 48
      packages/examination/src/views/examPaper/examPaperAdd.tsx
  4. 20
      packages/examination/src/views/examPaper/examPaperList.tsx
  5. 68
      packages/examination/src/views/question/questionAdd.tsx
  6. 29
      packages/examination/src/views/question/questionEdit.tsx
  7. 14
      packages/examination/src/views/question/questionList.tsx

@ -1,6 +1,6 @@
import React, { useRef, useEffect, useState } from 'react'; import React, { useRef, useEffect, useState } from 'react';
// @ts-ignore // @ts-ignore
import { Form, Input, Select, DatePicker, Space, ColProps, Button, Cascader, DefaultOptionType, Rule } from 'antd'; import {Form, Input, Select, DatePicker, Space, ColProps, Button, Cascader, DefaultOptionType, Rule, Modal} from 'antd';
import type { FormProps, FormInstance } from 'antd'; import type { FormProps, FormInstance } from 'antd';
import ESBreadcrumbComponent from './ESBreadcrumbComponent'; // 引入面包屑组件 import ESBreadcrumbComponent from './ESBreadcrumbComponent'; // 引入面包屑组件
import { withRouter, RouteComponentProps } from 'react-router-dom'; // 引入 withRouter 和 RouteComponentProps import { withRouter, RouteComponentProps } from 'react-router-dom'; // 引入 withRouter 和 RouteComponentProps
@ -136,7 +136,16 @@ const ExamBasicInfoForm: React.FC<PropsWithRouter> = (props) => {
const handleSubmit = () => { const handleSubmit = () => {
if (formRef.current) { if (formRef.current) {
formRef.current.validateFields().then((values) => { formRef.current.validateFields().then((values) => {
onFinish(values); const text = isEdit ? '修改' : '新增';
Modal.confirm({
title: `确认${text}`,
content: `是否${text}考试?`,
onOk: () => {
onFinish(values);
},
onCancel: () => {
},
});
}).catch((errorInfo) => { }).catch((errorInfo) => {
console.log('表单验证失败:', errorInfo); console.log('表单验证失败:', errorInfo);
}); });

@ -241,17 +241,9 @@ const ExamListPage = ({ history }: { history: any }) => {
// 编辑 // 编辑
const handleEdit = (examId: number) => { const handleEdit = (examId: number) => {
Modal.confirm({ history.push({
title: `确认修改`, pathname: '/exam-edit',
content: `是否修改试卷?`, state: { examId },
onOk: () => {
history.push({
pathname: '/exam-edit',
state: { examId },
});
},
onCancel: () => {
},
}); });
}; };

@ -332,23 +332,39 @@ class ExamPaperAdd extends Component<any, States> {
questionIds questionIds
}; };
if (isEdit === 'true') { if (isEdit === 'true') {
const res = await editExamPaper(data); Modal.confirm({
const success = res["success"]; title: `确认修改`,
if (success) { content: `是否修改试卷?`,
message.success('试卷更新成功'); onOk: async () => {
this.props.history.push('/examPaperList'); const res = await editExamPaper(data);
} else { const success = res["success"];
message.error('试卷更新失败'); if (success) {
} message.success('试卷更新成功');
this.props.history.push('/examPaperList');
} else {
message.error('试卷更新失败');
}
},
onCancel: () => {
},
});
} else { } else {
const res = await addExamPaper(data); Modal.confirm({
const success = res["success"]; title: `确认保存`,
if (success) { content: `是否保存试卷?`,
message.success('试卷保存成功'); onOk: async () => {
this.props.history.push('/examPaperList'); const res = await addExamPaper(data);
} else { const success = res["success"];
message.error('试卷保存失败'); if (success) {
} message.success('试卷保存成功');
this.props.history.push('/examPaperList');
} else {
message.error('试卷保存失败');
}
},
onCancel: () => {
},
});
} }
} catch (error) { } catch (error) {
} }

@ -323,20 +323,12 @@ class ExamPaperList extends Component<any, States> {
width: 200, width: 200,
render: (record: any) => [ render: (record: any) => [
<span className='mr10 link' onClick={() => { <span className='mr10 link' onClick={() => {
Modal.confirm({ this.props.history.push({
title: `确认修改`, pathname: '/examPaperAdd',
content: `是否修改试卷?`, state: {
onOk: () => { id: String(record.id),
this.props.history.push({ isEdit: "true"
pathname: '/examPaperAdd', }
state: {
id: String(record.id),
isEdit: "true"
}
});
},
onCancel: () => {
},
}); });
}}></span>, }}></span>,
<span className='mr10 link' onClick={() => { <span className='mr10 link' onClick={() => {

@ -1,9 +1,10 @@
import React, { Component } from "react"; import React, { Component } from "react";
import { Form, Input, Button, Radio, Checkbox, Select, message } from "antd"; import {Form, Input, Button, Radio, Checkbox, Select, message, Modal} from "antd";
import { dictionary } from "api/dict/index"; import { dictionary } from "api/dict/index";
import { addQuestion, findIndustry } from "api/question"; import { addQuestion, findIndustry } from "api/question";
import { CloseCircleOutlined } from '@ant-design/icons'; import { CloseCircleOutlined } from '@ant-design/icons';
import * as XLSX from "xlsx"; import * as XLSX from "xlsx";
import {addExamPaper} from "../../api/examPaper";
const { Option } = Select; const { Option } = Select;
@ -136,37 +137,44 @@ class QuestionAdd extends Component<any, States> {
this.formRef.current.validateFields().then((values: any) => { this.formRef.current.validateFields().then((values: any) => {
const questions: any = []; const questions: any = [];
const { formIds } = this.state; const { formIds } = this.state;
Modal.confirm({
title: `确认保存`,
content: `是否保存试题?`,
onOk: async () => {
formIds.forEach((formId) => {
let answer = values[`answer_${formId}`];
if (Array.isArray(answer)) {
answer.sort();
answer = answer.join(",");
}
formIds.forEach((formId) => { questions.push({
let answer = values[`answer_${formId}`]; questionTypes: values[`questionTypes_${formId}`],
if (Array.isArray(answer)) { industryId: values[`industryId_${formId}`],
answer.sort(); serviceTypeId: values[`serviceTypeId_${formId}`],
answer = answer.join(","); questionContent: values[`questionContent_${formId}`],
} optionA: values[`optionA_${formId}`],
optionB: values[`optionB_${formId}`],
optionC: values[`optionC_${formId}`],
optionD: values[`optionD_${formId}`],
answer: answer
});
});
questions.push({ addQuestion(questions).then((res) => {
questionTypes: values[`questionTypes_${formId}`], const success = res["success"];
industryId: values[`industryId_${formId}`], if (success) {
serviceTypeId: values[`serviceTypeId_${formId}`], message.success(`新增成功`);
questionContent: values[`questionContent_${formId}`], this.props.history.push("/questionList");
optionA: values[`optionA_${formId}`], } else {
optionB: values[`optionB_${formId}`], message.error("新增试题失败,请稍后重试");
optionC: values[`optionC_${formId}`], }
optionD: values[`optionD_${formId}`], }).catch(() => {
answer: answer message.error("新增试题时发生错误,请检查");
}); });
}); },
onCancel: () => {
addQuestion(questions).then((res) => { },
const success = res["success"];
if (success) {
message.success(`新增成功`);
this.props.history.push("/questionList");
} else {
message.error("新增试题失败,请稍后重试");
}
}).catch(() => {
message.error("新增试题时发生错误,请检查");
}); });
}); });
}; };

@ -1,5 +1,5 @@
import React, { Component } from'react'; import React, { Component } from'react';
import { Form, Input, Button, Radio, Checkbox, Select, message } from 'antd'; import { Form, Input, Button, Radio, Checkbox, Select, message, Modal } from 'antd';
import { dictionary } from "api/dict/index"; import { dictionary } from "api/dict/index";
import { findIndustry, getQuestionDetail, editQuestion } from 'api/question'; import { findIndustry, getQuestionDetail, editQuestion } from 'api/question';
import TextArea from "antd/es/input/TextArea"; import TextArea from "antd/es/input/TextArea";
@ -91,16 +91,23 @@ class QuestionEdit extends Component<any, States> {
values.answer.sort(); values.answer.sort();
values.answer = values.answer.join(','); values.answer = values.answer.join(',');
} }
editQuestion(values).then((res) => { Modal.confirm({
const success = res['success']; title: `确认修改`,
if (success) { content: `是否修改试题?`,
message.success('修改成功'); onOk: () => {
this.props.history.push('/questionList'); editQuestion(values).then((res) => {
} else { const success = res['success'];
message.error('修改失败,请稍后重试'); if (success) {
} message.success('修改成功');
}).catch(() => { this.props.history.push('/questionList');
message.error('修改时发生错误,请检查'); } else {
message.error('修改失败,请稍后重试');
}
}).catch(() => {
message.error('修改时发生错误,请检查');
});
},
onCancel: () => {},
}); });
}); });
}; };

@ -266,17 +266,9 @@ class QuestionList extends Component<any, States> {
this.handleDeleteQuestion(record.id); this.handleDeleteQuestion(record.id);
}}></span>, }}></span>,
<span className="mr10 link" onClick={() => { <span className="mr10 link" onClick={() => {
Modal.confirm({ this.props.history.push({
title: `确认修改`, pathname: '/questionEdit',
content: `是否修改试题?`, state: { id: record.id }
onOk: () => {
this.props.history.push({
pathname: '/questionEdit',
state: { id: record.id }
});
},
onCancel: () => {
},
}); });
}}></span> }}></span>
] ]

Loading…
Cancel
Save