机构名称
-
{detail.orgName}
+
{qualFilingDetail.orgName}
证书编号
-
{detail.certNo}
+
{qualFilingDetail.certNo}
业务范围
-
{detail.scopeName}
+
{qualFilingDetail.scopeName}
提交时间
@@ -57,37 +63,6 @@ const QualConfirmForm = (props) => {
- {/* 分析结果 */}
-
确认意见
@@ -118,12 +93,17 @@ const QualConfirmForm = (props) => {
{/* 操作按钮 */}
-
-
+
);
};
-export default QualConfirmForm;
+
+export default Connect(
+ [NS_QUAL_REVIEW],
+ true,
+)(QualConfirmForm);
diff --git a/src/pages/Container/QualificationReview/QualReview/index.js b/src/pages/Container/QualificationReview/QualReview/index.js
index ff71d50..276cc68 100644
--- a/src/pages/Container/QualificationReview/QualReview/index.js
+++ b/src/pages/Container/QualificationReview/QualReview/index.js
@@ -25,6 +25,7 @@ const QualReview = (props) => {
queryReviewList({
...router.query,
supervision: true,
+ applyTypeCode: 1,
});
};
@@ -175,12 +176,12 @@ const QualReview = (props) => {
showQuickJumper: true,
showTotal: (total) => `共 ${total} 条`,
current: router.query.current || 1,
- size: router.query.size || 10,
- onChange: (page, size) => {
+ pageSize: router.query.size || 10,
+ onChange: (page, pageSize) => {
router.query = {
...router.query,
current: page,
- size,
+ size: pageSize,
};
handleSearch();
},
diff --git a/src/pages/Container/QualificationReview/QualReviewForm/ReviewModal.js b/src/pages/Container/QualificationReview/QualReviewForm/ReviewModal.js
new file mode 100644
index 0000000..26a743a
--- /dev/null
+++ b/src/pages/Container/QualificationReview/QualReviewForm/ReviewModal.js
@@ -0,0 +1,157 @@
+import React, { useEffect, useMemo } from "react";
+import { Button, Form, Input, message, Modal, Select } from "antd";
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { NS_QUAL_EXPERT } from "~/enumerate/namespace";
+import { REVIEW_RESULT_OPTIONS } from "~/enumerate/constant";
+
+const { TextArea } = Input;
+
+/**
+ * 审核操作弹窗
+ * @param {boolean} open
+ * @param {string|number} filingId - 备案申请ID
+ * @param {function} onCancel
+ * @param {function} onSuccess - 审核成功后回调(刷新列表等)
+ */
+const statStyle = { background: "#fff", border: "1px solid #d9d9d9", borderRadius: 6, padding: "0.4rem", textAlign: "center" };
+const statLabelStyle = { fontSize: "0.7rem", color: "rgba(0,0,0,0.45)" };
+
+const ReviewModal = (props) => {
+ const { open, filingId, legalPassCount = 0, legalFailCount = 0, onCancel, onSuccess } = props;
+ const { qualExpert, queryExpertPage, reviewSubmit } = props;
+ const { qualExpertList, qualExpertSubmitLoading } = qualExpert || {};
+
+ const [form] = Form.useForm();
+
+ useEffect(() => {
+ if (open) {
+ form.resetFields();
+ queryExpertPage({ current: 1, size: 100 });
+ }
+ }, [open]);
+
+ const expertOptions = useMemo(
+ () =>
+ (qualExpertList || []).map((item) => ({
+ label: `${item.userName}${item.certificate ? `(${item.certificate})` : ""}`,
+ value: item.id,
+ expert: item,
+ })),
+ [qualExpertList],
+ );
+
+ const handleOk = async () => {
+ const values = await form.validateFields();
+ const selected = expertOptions.find((o) => o.value === values.filingExpertId);
+ const params = {
+ filingId,
+ reviewResult: values.reviewResult,
+ reviewResultRemark: REVIEW_RESULT_OPTIONS.find((r) => r.value === values.reviewResult)?.label,
+ filingExpertId: values.filingExpertId,
+ filingExpertName: selected?.expert?.userName,
+ reviewOpinion: values.reviewOpinion,
+ };
+ const res = await reviewSubmit(params);
+ if (res?.success !== false) {
+ message.success("审核提交成功");
+ onCancel();
+ onSuccess?.();
+ }
+ };
+
+ return (
+