二次弹窗提示修改

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';
// @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 ESBreadcrumbComponent from './ESBreadcrumbComponent'; // 引入面包屑组件
import { withRouter, RouteComponentProps } from 'react-router-dom'; // 引入 withRouter 和 RouteComponentProps
@ -136,7 +136,16 @@ const ExamBasicInfoForm: React.FC<PropsWithRouter> = (props) => {
const handleSubmit = () => {
if (formRef.current) {
formRef.current.validateFields().then((values) => {
onFinish(values);
const text = isEdit ? '修改' : '新增';
Modal.confirm({
title: `确认${text}`,
content: `是否${text}考试?`,
onOk: () => {
onFinish(values);
},
onCancel: () => {
},
});
}).catch((errorInfo) => {
console.log('表单验证失败:', errorInfo);
});

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

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

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

@ -1,9 +1,10 @@
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 { addQuestion, findIndustry } from "api/question";
import { CloseCircleOutlined } from '@ant-design/icons';
import * as XLSX from "xlsx";
import {addExamPaper} from "../../api/examPaper";
const { Option } = Select;
@ -136,37 +137,44 @@ class QuestionAdd extends Component<any, States> {
this.formRef.current.validateFields().then((values: any) => {
const questions: any = [];
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) => {
let answer = values[`answer_${formId}`];
if (Array.isArray(answer)) {
answer.sort();
answer = answer.join(",");
}
questions.push({
questionTypes: values[`questionTypes_${formId}`],
industryId: values[`industryId_${formId}`],
serviceTypeId: values[`serviceTypeId_${formId}`],
questionContent: values[`questionContent_${formId}`],
optionA: values[`optionA_${formId}`],
optionB: values[`optionB_${formId}`],
optionC: values[`optionC_${formId}`],
optionD: values[`optionD_${formId}`],
answer: answer
});
});
questions.push({
questionTypes: values[`questionTypes_${formId}`],
industryId: values[`industryId_${formId}`],
serviceTypeId: values[`serviceTypeId_${formId}`],
questionContent: values[`questionContent_${formId}`],
optionA: values[`optionA_${formId}`],
optionB: values[`optionB_${formId}`],
optionC: values[`optionC_${formId}`],
optionD: values[`optionD_${formId}`],
answer: answer
});
});
addQuestion(questions).then((res) => {
const success = res["success"];
if (success) {
message.success(`新增成功`);
this.props.history.push("/questionList");
} else {
message.error("新增试题失败,请稍后重试");
}
}).catch(() => {
message.error("新增试题时发生错误,请检查");
addQuestion(questions).then((res) => {
const success = res["success"];
if (success) {
message.success(`新增成功`);
this.props.history.push("/questionList");
} else {
message.error("新增试题失败,请稍后重试");
}
}).catch(() => {
message.error("新增试题时发生错误,请检查");
});
},
onCancel: () => {
},
});
});
};

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

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

Loading…
Cancel
Save