Merge remote-tracking branch 'origin/dev-tmp1' into dev-tmp1
commit
b34ea35abd
|
|
@ -116,6 +116,11 @@ export const qualFilingReviewGet = declareRequest(
|
||||||
"Get > /safetyEval/qual-filing-review/page",
|
"Get > /safetyEval/qual-filing-review/page",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export const qualFilingCheckNewQual = declareRequest(
|
||||||
|
"qualFilingLoading",
|
||||||
|
"Get > /safetyEval/qual-filing/checkNewQual",
|
||||||
|
);
|
||||||
|
|
||||||
export const submitQualFiling = declareRequest(
|
export const submitQualFiling = declareRequest(
|
||||||
"qualFilingSubmitLoading",
|
"qualFilingSubmitLoading",
|
||||||
"Post > @/safetyEval/qual-filing/aggregationSaveOrEdit",
|
"Post > @/safetyEval/qual-filing/aggregationSaveOrEdit",
|
||||||
|
|
|
||||||
|
|
@ -418,9 +418,13 @@ function EquipFormModal({
|
||||||
disabled={!industryCode}
|
disabled={!industryCode}
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
|
onChange={(value, option)=>{
|
||||||
|
form.setFieldValue('deviceTypeName', option.label)
|
||||||
|
}}
|
||||||
filterOption={(input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase())}
|
filterOption={(input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase())}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Form.Item name='deviceTypeName' />
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
|
|
||||||
|
|
@ -134,9 +134,7 @@ const RiskCenter = (props) => {
|
||||||
render: (sources) => (
|
render: (sources) => (
|
||||||
<div style={{ display: "flex", flexWrap: "wrap", gap: 4 }}>
|
<div style={{ display: "flex", flexWrap: "wrap", gap: 4 }}>
|
||||||
{(sources || []).map((s, i) => (
|
{(sources || []).map((s, i) => (
|
||||||
<span key={i} className="source-pill">
|
<Tag key={i}>{s}</Tag>
|
||||||
{s}
|
|
||||||
</span>
|
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,11 @@
|
||||||
|
|
||||||
.stat-info {
|
.stat-info {
|
||||||
.stat-label {
|
.stat-label {
|
||||||
font-size: 0.82rem;
|
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-value {
|
.stat-value {
|
||||||
font-size: 1.75rem;
|
font-size: 28px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
|
|
@ -42,7 +41,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-hint {
|
.stat-hint {
|
||||||
font-size: 0.75rem;
|
font-size: 12px;
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
|
|
@ -55,7 +54,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 1.1rem;
|
font-size: 18px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -66,7 +65,7 @@
|
||||||
border: 1px solid #e2e8f0;
|
border: 1px solid #e2e8f0;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
padding: 8px 14px;
|
padding: 8px 14px;
|
||||||
font-size: 0.82rem;
|
font-size: 13px;
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -88,7 +87,7 @@
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
background: #f1f5f9;
|
background: #f1f5f9;
|
||||||
color: #475569;
|
color: #475569;
|
||||||
font-size: 0.68rem;
|
font-size: 11px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -101,7 +100,7 @@
|
||||||
|
|
||||||
.risk-toolbar-left {
|
.risk-toolbar-left {
|
||||||
.risk-toolbar-desc {
|
.risk-toolbar-desc {
|
||||||
font-size: 0.85rem;
|
font-size: 14px;
|
||||||
color: #64748b;
|
color: #64748b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Button, Form, Tag, Table, Typography, Select, Modal, Empty } from "antd";
|
import { Button, Form, Tag, Table, Typography, Select, Modal, Empty, message } from "antd";
|
||||||
import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm";
|
import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm";
|
||||||
import ControlWrapper from "@cqsjjb/jjb-react-admin-component/ControlWrapper";
|
import ControlWrapper from "@cqsjjb/jjb-react-admin-component/ControlWrapper";
|
||||||
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
|
import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction";
|
||||||
|
|
@ -37,6 +37,7 @@ export default function FilingListTable({
|
||||||
history,
|
history,
|
||||||
qualFiling,
|
qualFiling,
|
||||||
qualFilingReviewGet,
|
qualFilingReviewGet,
|
||||||
|
qualFilingCheckNewQual,
|
||||||
}) {
|
}) {
|
||||||
const statusOptions = getFilingStatusOptions(mode);
|
const statusOptions = getFilingStatusOptions(mode);
|
||||||
|
|
||||||
|
|
@ -84,6 +85,19 @@ export default function FilingListTable({
|
||||||
setReviewList([]);
|
setReviewList([]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleCreateCheck = async () => {
|
||||||
|
try {
|
||||||
|
const res = await qualFilingCheckNewQual();
|
||||||
|
if (res?.data === true) {
|
||||||
|
onCreate();
|
||||||
|
} else {
|
||||||
|
message.warning(res?.message || "已经申请或备案了资质,请勿重复操作");
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
title: "备案属地",
|
title: "备案属地",
|
||||||
|
|
@ -214,7 +228,7 @@ export default function FilingListTable({
|
||||||
}
|
}
|
||||||
extra={
|
extra={
|
||||||
onCreate && (
|
onCreate && (
|
||||||
<Button type="primary" onClick={onCreate}>
|
<Button type="primary" loading={qualFilingLoading} onClick={handleCreateCheck}>
|
||||||
{createLabel}
|
{createLabel}
|
||||||
</Button>
|
</Button>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -340,7 +340,7 @@ const FilingTabs = ({
|
||||||
<ReadonlyField label="信息公开网址 *" value={detail.infoDisclosureUrl} />
|
<ReadonlyField label="信息公开网址 *" value={detail.infoDisclosureUrl} />
|
||||||
<div style={fieldStyle}>
|
<div style={fieldStyle}>
|
||||||
<label style={labelStyle}>资质证书编号 *</label>
|
<label style={labelStyle}>资质证书编号 *</label>
|
||||||
<Input readOnly value={detail.qualCertNo || "-"} style={inputStyle} />
|
<Input readOnly value={detail.filingNo || "-"} style={inputStyle} />
|
||||||
<span style={{ color: "#8b95a5", fontSize: "0.72rem" }}>
|
<span style={{ color: "#8b95a5", fontSize: "0.72rem" }}>
|
||||||
初次申请无需填写,已有资质备案时填写
|
初次申请无需填写,已有资质备案时填写
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,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: "qualCertNo", width: 140, ellipsis: true },
|
{ title: "证书编号", dataIndex: "filingNo", width: 140, ellipsis: true },
|
||||||
{
|
{
|
||||||
title: "安全评价业务范围",
|
title: "安全评价业务范围",
|
||||||
dataIndex: "businessScope",
|
dataIndex: "businessScope",
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ const QualReview = (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: "qualCertNo", width: 140, ellipsis: true },
|
{ title: "证书编号", dataIndex: "filingNo", width: 140, ellipsis: true },
|
||||||
{
|
{
|
||||||
title: "安全评价业务范围",
|
title: "安全评价业务范围",
|
||||||
dataIndex: "businessScope",
|
dataIndex: "businessScope",
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ const ReviewModal = (props) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style={statStyle}>
|
<div style={statStyle}>
|
||||||
<div style={statLabelStyle}>条件未满足</div>
|
<div style={statLabelStyle}>风险提醒</div>
|
||||||
<div style={{ fontSize: "1.1rem", fontWeight: 700, color: "#d97706" }}>
|
<div style={{ fontSize: "1.1rem", fontWeight: 700, color: "#d97706" }}>
|
||||||
{legalWarnCount}
|
{legalWarnCount}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -198,7 +198,7 @@ const ReviewModal = (props) => {
|
||||||
name="reviewOpinion"
|
name="reviewOpinion"
|
||||||
rules={[{ required: true, message: "请输入综合审核意见" }]}
|
rules={[{ required: true, message: "请输入综合审核意见" }]}
|
||||||
>
|
>
|
||||||
<TextArea rows={3} placeholder="请输入综合审核意见..." />
|
<TextArea rows={3} placeholder="请输入综合审核意见..." maxLength={200} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Form>
|
</Form>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue