commit
080691d675
|
|
@ -362,6 +362,11 @@ export const qualFilingChangeSubmit = declareRequest("qualFilingLoading", safeAc
|
||||||
return apiPost("/safetyEval/qual-filing-change/submit", { draftFilingId: asId(draftFilingId) });
|
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(
|
export const submitQualFiling = declareRequest(
|
||||||
"qualFilingSubmitLoading",
|
"qualFilingSubmitLoading",
|
||||||
"Post > @/safetyEval/qual-filing/aggregationSaveOrEdit",
|
"Post > @/safetyEval/qual-filing/aggregationSaveOrEdit",
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ export const FILING_TYPE_OPTIONS = [
|
||||||
|
|
||||||
/** 监管端已备案机构 - 备案类型搜索 */
|
/** 监管端已备案机构 - 备案类型搜索 */
|
||||||
export const REGISTERED_ORG_FILING_TYPE_SEARCH_OPTIONS = [
|
export const REGISTERED_ORG_FILING_TYPE_SEARCH_OPTIONS = [
|
||||||
{ label: "全部", value: "" },
|
|
||||||
{ label: "审核备案", value: "1" },
|
{ label: "审核备案", value: "1" },
|
||||||
{ label: "确认备案", value: "2" },
|
{ label: "确认备案", value: "2" },
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -99,10 +99,4 @@ export function canStartFilingChange(statusCode) {
|
||||||
return Number(statusCode) === 1;
|
return Number(statusCode) === 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 已备案资质管理:周期性填报审核中可修改 */
|
|
||||||
export function isFiledManageEditable(statusCode, mode) {
|
|
||||||
if (mode !== FILING_FORM_MODE.FILED) {
|
|
||||||
return isQualFilingEditable(statusCode);
|
|
||||||
}
|
|
||||||
return Number(statusCode) === 2;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,7 @@ if (!window.__POWERED_BY_QIANKUN__) {
|
||||||
window.__coreLib.ReactDOM = require("react-dom");
|
window.__coreLib.ReactDOM = require("react-dom");
|
||||||
window.__coreLib.jjbCommonLib = require("@cqsjjb/jjb-common-lib");
|
window.__coreLib.jjbCommonLib = require("@cqsjjb/jjb-common-lib");
|
||||||
|
|
||||||
// 本地开发时注入 Token,使 API 请求可携带认证信息
|
|
||||||
const tokenValue = "jjb-saas-auth:oauth:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJjbGllbnRJZFwiOlwiNzJjZjRmNjU5ZGM1NGRjZmFlZWNkMzJlYWJmNDgzYjVcIixcImFjY291bnRJZFwiOjEsXCJ1c2VyVHlwZUVudW1cIjpcIlBMQVRGT1JNXCIsXCJ1c2VySWRcIjoxLFwibmFtZVwiOlwi6LaF57qn566h55CG5ZGYXCIsXCJhY2Nlc3NUaWNrZXRcIjpcIkc5Z3hoNkZYWUNpRThORFlWUlM2aW1pMGJ3WURZeHlXaUdnRDBRbVl2SFE1NEk3Ym5YeHlFaGRxdkNHclwiLFwicmVmcmVzaFRpY2tldFwiOlwiaDM4U3doemhVM0hIdk5pREI2dnU1NG0zaGRIZE1FRGhLZ2VSdTJsbzhwb3g3RlJHUFA4elF4WE5VWXJPXCIsXCJleHBpcmVJblwiOjkwMDAwMCxcInJlZnJlc2hFeHBpcmVzSW5cIjo5MDAwMDAsXCJvcmdJZFwiOjEsXCJvcmdOYW1lXCI6XCLlubPlj7BcIixcIm9yZ0lkc1wiOlsxXSxcInJvbGVzVHlwZXNcIjpbXCJTVVBFUl9BRE1JTlwiXSxcInJvbGVJZHNcIjpbMTAwXSxcInNjb3Blc1wiOltdLFwicnBjVHlwZUVudW1cIjpcIkhUVFBcIixcImJpbmRNb2JpbGVTaWduXCI6XCJUUlVFXCJ9IiwiaXNzIjoicHJvLXNlcnZlciIsImV4cCI6MTc4NDQwMjM3OH0.misilejhwf1sJBpZJSanAKkwbMXIZqeSn7pKIMlMOYs";
|
|
||||||
localStorage.setItem("token", tokenValue);
|
|
||||||
sessionStorage.setItem("token", tokenValue);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import {
|
||||||
ENTERPRISE_SCALE_OPTIONS,
|
ENTERPRISE_SCALE_OPTIONS,
|
||||||
ENTERPRISE_STATUS_OPTIONS,
|
ENTERPRISE_STATUS_OPTIONS,
|
||||||
FILING_RECORD_STATUS_OPTIONS,
|
FILING_RECORD_STATUS_OPTIONS,
|
||||||
FILING_TYPE_OPTIONS,
|
REGISTERED_ORG_FILING_TYPE_SEARCH_OPTIONS,
|
||||||
} from "~/enumerate/enterpriseOptions";
|
} from "~/enumerate/enterpriseOptions";
|
||||||
import { NS_ORG_INFO } from "~/enumerate/namespace";
|
import { NS_ORG_INFO } from "~/enumerate/namespace";
|
||||||
import { mockUploadFileList } from "~/utils/mockUpload";
|
import { mockUploadFileList } from "~/utils/mockUpload";
|
||||||
|
|
@ -428,7 +428,7 @@ function OrgInfoPage(props) {
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Form.Item name="filingTypeName" label="备案类型">
|
<Form.Item name="filingTypeName" label="备案类型">
|
||||||
<Select
|
<Select
|
||||||
options={FILING_TYPE_OPTIONS}
|
options={REGISTERED_ORG_FILING_TYPE_SEARCH_OPTIONS}
|
||||||
placeholder="请选择备案类型"
|
placeholder="请选择备案类型"
|
||||||
allowClear
|
allowClear
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
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 { useEffect, useState } from "react";
|
||||||
import { tools } from "@cqsjjb/jjb-common-lib";
|
import { tools } from "@cqsjjb/jjb-common-lib";
|
||||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||||
|
|
@ -12,6 +12,8 @@ import { goFilingForm } from "../../filingPaths";
|
||||||
const { router } = tools;
|
const { router } = tools;
|
||||||
|
|
||||||
function FiledManageListPage(props) {
|
function FiledManageListPage(props) {
|
||||||
|
const { qualFiling } = props;
|
||||||
|
const {qualFilingLoading}= qualFiling;
|
||||||
const [searchForm] = Form.useForm();
|
const [searchForm] = Form.useForm();
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [dataSource, setDataSource] = useState([]);
|
const [dataSource, setDataSource] = useState([]);
|
||||||
|
|
@ -57,22 +59,76 @@ function FiledManageListPage(props) {
|
||||||
goFilingForm({ mode: FILING_FORM_MODE.FILED });
|
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 (
|
return (
|
||||||
<FilingListTable
|
<>
|
||||||
PageLayout={PageLayout}
|
<FilingListTable
|
||||||
listTitle="已备案资质管理"
|
PageLayout={PageLayout}
|
||||||
listDesc="对已备案资质进行周期性填报与维护。"
|
listTitle="已备案资质管理"
|
||||||
createLabel="资质备案填报"
|
listDesc="对已备案资质进行周期性填报与维护。"
|
||||||
mode={FILING_FORM_MODE.FILED}
|
createLabel="资质备案填报"
|
||||||
dataSource={dataSource}
|
mode={FILING_FORM_MODE.FILED}
|
||||||
total={total}
|
dataSource={dataSource}
|
||||||
loading={loading}
|
total={total}
|
||||||
scrollY={props.scrollY}
|
loading={loading}
|
||||||
searchForm={searchForm}
|
scrollY={props.scrollY}
|
||||||
onSearch={handleSearch}
|
searchForm={searchForm}
|
||||||
onPageChange={handlePageChange}
|
onSearch={handleSearch}
|
||||||
onCreate={handleCreate}
|
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>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import { CHONGQING_DISTRICTS } from "~/enumerate/enterpriseOptions";
|
||||||
import {
|
import {
|
||||||
FILING_FORM_MODE,
|
FILING_FORM_MODE,
|
||||||
getFilingStatusOptions,
|
getFilingStatusOptions,
|
||||||
isFiledManageEditable,
|
|
||||||
isQualFilingEditable,
|
isQualFilingEditable,
|
||||||
QUAL_FILING_STATUS_COLOR,
|
QUAL_FILING_STATUS_COLOR,
|
||||||
} from "~/enumerate/qualFilingOptions";
|
} from "~/enumerate/qualFilingOptions";
|
||||||
|
|
@ -35,9 +34,7 @@ export default function FilingListTable({
|
||||||
const statusOptions = getFilingStatusOptions(mode);
|
const statusOptions = getFilingStatusOptions(mode);
|
||||||
|
|
||||||
const canEditRow = (record) => {
|
const canEditRow = (record) => {
|
||||||
if (mode === FILING_FORM_MODE.FILED) {
|
|
||||||
return isFiledManageEditable(record.filingStatusCode, mode);
|
|
||||||
}
|
|
||||||
return isQualFilingEditable(record.filingStatusCode);
|
return isQualFilingEditable(record.filingStatusCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ const ExpertVerification = (props) => {
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
{ title: "机构类型", dataIndex: "filingUnitTypeName", width: 100 },
|
{ title: "机构类型", dataIndex: "filingUnitTypeName", width: 100 },
|
||||||
{ title: "证书编号", dataIndex: "filingNo", width: 140, ellipsis: true },
|
{ title: "证书编号", dataIndex: "qualCertNo", width: 140, ellipsis: true },
|
||||||
{
|
{
|
||||||
title: "安全评价业务范围",
|
title: "安全评价业务范围",
|
||||||
dataIndex: "businessScope",
|
dataIndex: "businessScope",
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ const QualConfirm = (props) => {
|
||||||
},
|
},
|
||||||
{ title: "机构名称", dataIndex: "filingUnitName", width: 220, ellipsis: true },
|
{ title: "机构名称", dataIndex: "filingUnitName", width: 220, ellipsis: true },
|
||||||
{ title: "机构类型", dataIndex: "filingUnitTypeName", width: 100 },
|
{ 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: "安全评价业务范围", dataIndex: "businessScope", width: 180, ellipsis: true },
|
||||||
{
|
{
|
||||||
title: "确认状态",
|
title: "确认状态",
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ const QualConfirmForm = (props) => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="summary-label">证书编号</div>
|
<div className="summary-label">证书编号</div>
|
||||||
<div className="summary-value">{qualFilingDetail.filingNo || '--'}</div>
|
<div className="summary-value">{qualFilingDetail.qualCertNo || '--'}</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="summary-label">业务范围</div>
|
<div className="summary-label">业务范围</div>
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,7 @@ const QualReview = (props) => {
|
||||||
allowClear
|
allowClear
|
||||||
style={{ width: "100%" }}
|
style={{ width: "100%" }}
|
||||||
>
|
>
|
||||||
|
<Select.Option value="1">已审核</Select.Option>
|
||||||
<Select.Option value="2">审核中</Select.Option>
|
<Select.Option value="2">审核中</Select.Option>
|
||||||
<Select.Option value="3">打回</Select.Option>
|
<Select.Option value="3">打回</Select.Option>
|
||||||
</ControlWrapper.Select>
|
</ControlWrapper.Select>
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ function OrgAccountPage(props) {
|
||||||
<strong>{record.orgName}</strong>
|
<strong>{record.orgName}</strong>
|
||||||
的密码重置为初始密码?
|
的密码重置为初始密码?
|
||||||
</p>
|
</p>
|
||||||
<p style={{ color: "rgba(0,0,0,0.45)", fontSize: 12 }}>初始密码:Ap@123456</p>
|
<p style={{ color: "rgba(0,0,0,0.45)", fontSize: 12 }}>初始密码:a123456</p>
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
okText: "确认重置",
|
okText: "确认重置",
|
||||||
|
|
@ -166,7 +166,7 @@ function OrgAccountPage(props) {
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: "机构名称", dataIndex: "orgName", ellipsis: true },
|
{ title: "机构名称", dataIndex: "orgName", ellipsis: true },
|
||||||
{ title: "属地", dataIndex: "district", width: 100 },
|
{ title: "属地", dataIndex: "district", width: 260 },
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "状态",
|
||||||
width: 80,
|
width: 80,
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,10 @@ const ExperManage = (props) => {
|
||||||
{qualExpertDetail?.idCardNo || "--"}
|
{qualExpertDetail?.idCardNo || "--"}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="证书" span={2}>
|
<Descriptions.Item label="证书" span={2}>
|
||||||
{(qualExpertDetail?.certificate? JSON.parse(qualExpertDetail?.certificate): [])?.map((item) => (
|
{(Array.isArray(qualExpertDetail?.certificate)
|
||||||
|
? qualExpertDetail?.certificate
|
||||||
|
: JSON.parse(qualExpertDetail?.certificate || "[]")
|
||||||
|
)?.map((item) => (
|
||||||
<a key={item.id} href={item.url} target="_blank">
|
<a key={item.id} href={item.url} target="_blank">
|
||||||
{item.name}
|
{item.name}
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue