tangjie 2026-07-08 17:18:14 +08:00
parent 683496c5af
commit 4bcdfb894b
8 changed files with 83 additions and 31 deletions

View File

@ -363,6 +363,11 @@ export const qualFilingChangeSubmit = declareRequest("qualFilingLoading", safeAc
return apiPost("/safetyEval/qual-filing-change/submit", { draftFilingId: asId(draftFilingId) });
}));
export const qualFilingReviewGet = declareRequest(
"qualFilingLoading",
"Get > /safetyEval/qual-filing-review/page",
);
export const submitQualFiling = declareRequest(
"qualFilingSubmitLoading",
"Post > @/safetyEval/qual-filing/aggregationSaveOrEdit",

View File

@ -99,10 +99,4 @@ export function canStartFilingChange(statusCode) {
return Number(statusCode) === 1;
}
/** 已备案资质管理:周期性填报审核中可修改 */
export function isFiledManageEditable(statusCode, mode) {
if (mode !== FILING_FORM_MODE.FILED) {
return isQualFilingEditable(statusCode);
}
return Number(statusCode) === 2;
}

View File

@ -1,5 +1,5 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Form, message } from "antd";
import { Button, Empty, Form, Modal, Table } from "antd";
import { useEffect, useState } from "react";
import { tools } from "@cqsjjb/jjb-common-lib";
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
@ -12,6 +12,8 @@ import { goFilingForm } from "../../filingPaths";
const { router } = tools;
function FiledManageListPage(props) {
const { qualFiling } = props;
const {qualFilingLoading}= qualFiling;
const [searchForm] = Form.useForm();
const [loading, setLoading] = useState(false);
const [dataSource, setDataSource] = useState([]);
@ -57,22 +59,76 @@ function FiledManageListPage(props) {
goFilingForm({ mode: FILING_FORM_MODE.FILED });
};
const [reviewModalOpen, setReviewModalOpen] = useState(false);
const [reviewList, setReviewList] = useState([]);
const handleShowReview = async (record) => {
setReviewModalOpen(true);
setReviewList([]);
try {
const res = await props.qualFilingReviewGet({ filingId: record.filingId || record.id, current: 1, size: 999 });
setReviewList(res?.data || []);
} catch {
setReviewList([]);
}
};
const handleCloseReview = () => {
setReviewModalOpen(false);
setReviewList([]);
};
const REVIEW_RESULT_MAP = { 1: "通过", 2: "待定", 3: "不通过" };
const reviewColumns = [
{ title: "审核结果", dataIndex: "reviewResult", width: 100, render: (v) => REVIEW_RESULT_MAP[v] || v || "-" },
{ title: "审核结果说明", dataIndex: "reviewResultRemark", ellipsis: true },
{ title: "审核专家", dataIndex: "filingExpertName", width: 120 },
{ title: "综合审核意见", dataIndex: "reviewOpinion", ellipsis: true },
];
return (
<FilingListTable
PageLayout={PageLayout}
listTitle="已备案资质管理"
listDesc="对已备案资质进行周期性填报与维护。"
createLabel="资质备案填报"
mode={FILING_FORM_MODE.FILED}
dataSource={dataSource}
total={total}
loading={loading}
scrollY={props.scrollY}
searchForm={searchForm}
onSearch={handleSearch}
onPageChange={handlePageChange}
onCreate={handleCreate}
/>
<>
<FilingListTable
PageLayout={PageLayout}
listTitle="已备案资质管理"
listDesc="对已备案资质进行周期性填报与维护。"
createLabel="资质备案填报"
mode={FILING_FORM_MODE.FILED}
dataSource={dataSource}
total={total}
loading={loading}
scrollY={props.scrollY}
searchForm={searchForm}
onSearch={handleSearch}
onPageChange={handlePageChange}
onCreate={handleCreate}
extraActions={(record) =>
Number(record.filingStatusCode) === 3
? <Button type="link" size="small" onClick={() => handleShowReview(record)}>打回原因</Button>
: null
}
/>
<Modal
open={reviewModalOpen}
title="打回原因"
width={800}
loading={qualFilingLoading}
cancelText="关闭"
okButtonProps={{ style: { display: "none" } }}
onCancel={handleCloseReview}
>
{reviewList.length ? (
<Table
rowKey="id"
size="small"
bordered
pagination={false}
dataSource={reviewList}
columns={reviewColumns}
/>
) : !qualFilingLoading ? <Empty /> : null}
</Modal>
</>
);
}

View File

@ -6,7 +6,6 @@ import { CHONGQING_DISTRICTS } from "~/enumerate/enterpriseOptions";
import {
FILING_FORM_MODE,
getFilingStatusOptions,
isFiledManageEditable,
isQualFilingEditable,
QUAL_FILING_STATUS_COLOR,
} from "~/enumerate/qualFilingOptions";
@ -35,9 +34,7 @@ export default function FilingListTable({
const statusOptions = getFilingStatusOptions(mode);
const canEditRow = (record) => {
if (mode === FILING_FORM_MODE.FILED) {
return isFiledManageEditable(record.filingStatusCode, mode);
}
return isQualFilingEditable(record.filingStatusCode);
};

View File

@ -61,7 +61,7 @@ const ExpertVerification = (props) => {
ellipsis: true,
},
{ title: "机构类型", dataIndex: "filingUnitTypeName", width: 100 },
{ title: "证书编号", dataIndex: "filingNo", width: 140, ellipsis: true },
{ title: "证书编号", dataIndex: "qualCertNo", width: 140, ellipsis: true },
{
title: "安全评价业务范围",
dataIndex: "businessScope",

View File

@ -54,7 +54,7 @@ const QualConfirm = (props) => {
},
{ title: "机构名称", dataIndex: "filingUnitName", width: 220, ellipsis: true },
{ title: "机构类型", dataIndex: "filingUnitTypeName", width: 100 },
{ title: "证书编号", dataIndex: "filingNo", width: 140, ellipsis: true },
{ title: "证书编号", dataIndex: "qualCertNo", width: 140, ellipsis: true },
{ title: "安全评价业务范围", dataIndex: "businessScope", width: 180, ellipsis: true },
{
title: "确认状态",

View File

@ -60,7 +60,7 @@ const QualConfirmForm = (props) => {
</div>
<div>
<div className="summary-label">证书编号</div>
<div className="summary-value">{qualFilingDetail.filingNo || '--'}</div>
<div className="summary-value">{qualFilingDetail.qualCertNo || '--'}</div>
</div>
<div>
<div className="summary-label">业务范围</div>

View File

@ -149,7 +149,7 @@ const QualReview = (props) => {
allowClear
style={{ width: "100%" }}
>
<Select.Option value="1">已审核</Select.Option>
<Select.Option value="2">审核中</Select.Option>
<Select.Option value="3">打回</Select.Option>
</ControlWrapper.Select>