6.5需求变更
parent
81f785ad5c
commit
592a6a1992
|
|
@ -20,7 +20,7 @@ module.exports = {
|
|||
// 应用后端分支名称,部署上线需要
|
||||
javaGitBranch: "<branch-name>",
|
||||
// 接口服务地址
|
||||
API_HOST: "https://gbs-gateway.qhdsafety.com",
|
||||
API_HOST: "",
|
||||
},
|
||||
},
|
||||
// 应用唯一标识符
|
||||
|
|
@ -29,8 +29,9 @@ module.exports = {
|
|||
contextInject: {
|
||||
// 应用Key
|
||||
appKey: "",
|
||||
fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/",
|
||||
// fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/",
|
||||
// fileUrl: "http://192.168.20.240:9787/mnt/",
|
||||
fileUrl: "https://skqhdg.porthebei.com:9004/file/uploadFiles2/",
|
||||
},
|
||||
// public/index.html注入全局变量
|
||||
windowInject: {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,19 @@ import useUploadFile from "zy-react-library/hooks/useUploadFile";
|
|||
import { getLabelName, validatorEndTime, validatorTimeGECurrentDay } from "zy-react-library/utils";
|
||||
import { NS_QUALIFICATION_APPLY, NS_QUALIFICATION_MAINTENANCE } from "~/enumerate/namespace";
|
||||
|
||||
const hasSelectedValue = value => Array.isArray(value) ? value.length > 0 : !!value;
|
||||
|
||||
const validateQualificationBusiness = (values) => {
|
||||
if (values.qualificationsTypeId !== "sbl")
|
||||
return true;
|
||||
|
||||
if ([values.maintain, values.detection, values.otherHighRiskName].some(hasSelectedValue))
|
||||
return true;
|
||||
|
||||
message.error("“维修、保养”“检测”“其它高风险业务”,至少选择一项。");
|
||||
return false;
|
||||
};
|
||||
|
||||
function Add(props) {
|
||||
const query = useGetUrlQuery();
|
||||
const [form] = Form.useForm();
|
||||
|
|
@ -33,6 +46,11 @@ function Add(props) {
|
|||
|
||||
const getData = async () => {
|
||||
const { data } = await props["qualificationApplyInfo"]({ id: query.id });
|
||||
console.log(data);
|
||||
data.maintain = data.maintain && data.maintain.split(",")
|
||||
data.detection = data.detection && data.detection.split(",")
|
||||
data.otherHighRisk = data.otherHighRisk && data.otherHighRisk.split(",")
|
||||
|
||||
// 重新提交时,删除id
|
||||
if (query.resubmit) {
|
||||
delete data.id;
|
||||
|
|
@ -122,6 +140,8 @@ const StepOneComponent = (props) => {
|
|||
|
||||
const getQualificationsListAll = async () => {
|
||||
const { data } = await props["qualificationsListAll"]({ qualificationsTypeId, stakeholderLevel, status: 0 });
|
||||
|
||||
|
||||
setQualificationsListAll(data);
|
||||
};
|
||||
|
||||
|
|
@ -161,6 +181,9 @@ const StepOneComponent = (props) => {
|
|||
form={form}
|
||||
loading={props.qualificationApply.qualificationApplyLoading}
|
||||
onFinish={(values) => {
|
||||
if (!validateQualificationBusiness(values))
|
||||
return;
|
||||
|
||||
props.setCurrentStep(2);
|
||||
props.setFormValues(values);
|
||||
}}
|
||||
|
|
@ -278,10 +301,12 @@ const StepOneComponent = (props) => {
|
|||
items: qualificationsListAll,
|
||||
itemsField: { labelKey: "qualificationsName", valueKey: "id" },
|
||||
},
|
||||
|
||||
{
|
||||
name: "maintain",
|
||||
label: "维修、保养",
|
||||
hidden:qualificationsTypeId !=="sbl",
|
||||
required:false,
|
||||
render: (
|
||||
<DictionarySelect
|
||||
dictValue="maintain"
|
||||
|
|
@ -298,6 +323,7 @@ const StepOneComponent = (props) => {
|
|||
name: "detection",
|
||||
label: "检测",
|
||||
hidden:qualificationsTypeId !=="sbl",
|
||||
required:false,
|
||||
render: (
|
||||
<DictionarySelect
|
||||
dictValue="detection"
|
||||
|
|
@ -312,6 +338,7 @@ const StepOneComponent = (props) => {
|
|||
{
|
||||
name: "otherHighRisk",
|
||||
label: "其它高风险业务",
|
||||
required:false,
|
||||
hidden:qualificationsTypeId !=="sbl",
|
||||
render: (
|
||||
<DictionarySelect
|
||||
|
|
@ -429,6 +456,9 @@ const StepTwoComponent = forwardRef((props, ref) => {
|
|||
};
|
||||
|
||||
const onSubmit = async () => {
|
||||
if (!validateQualificationBusiness(props.formValues))
|
||||
return;
|
||||
|
||||
if (!validateFileList(specialList))
|
||||
return;
|
||||
for (let i = 0; i < specialList.length; i++) {
|
||||
|
|
|
|||
|
|
@ -73,9 +73,9 @@ function View(props) {
|
|||
|
||||
...(
|
||||
info.qualificationsTypeId === "sbl" ? [
|
||||
{label: "维修、保养", children: info.maintainName && info.maintainName.join(" , ")},
|
||||
{label: "检测", children: info.detectionName && info.detectionName.join(" , ")},
|
||||
{label: "其它高风险业务", children: info.otherHighRiskName && info.otherHighRiskName.join(" , "), span: 2},
|
||||
{label: "维修、保养", children: info.maintainName && info.maintainName},
|
||||
{label: "检测", children: info.detectionName && info.detectionName},
|
||||
{label: "其它高风险业务", children: info.otherHighRiskName && info.otherHighRiskName, span: 2},
|
||||
] : []
|
||||
),
|
||||
{ label: "备注", children: info.remarks },
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
import { WarningOutlined } from "@ant-design/icons";
|
||||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space, Tooltip } from "antd";
|
||||
import {Button, Descriptions, Form, Modal, Space, Tooltip} from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace";
|
||||
import {NS_QUALIFICATION_APPLY, NS_QUALIFICATION_RECORDS} from "~/enumerate/namespace";
|
||||
import {useState} from "react";
|
||||
|
||||
function List(props) {
|
||||
const [form] = Form.useForm();
|
||||
const [rejectReasonModalOpen, setRejectReasonModalOpen] = useState(false);
|
||||
const [rejectReason, setRejectReason] = useState(false);
|
||||
const { tableProps, getData } = useTable(props["qualificationRecordsList"], {
|
||||
form,
|
||||
transform: (formData) => {
|
||||
|
|
@ -21,7 +24,11 @@ function List(props) {
|
|||
};
|
||||
},
|
||||
});
|
||||
|
||||
const onViewRejectReason = async (id) => {
|
||||
const { data } = await props["qualificationApplyRejectReason"]({ id });
|
||||
setRejectReason(data);
|
||||
setRejectReasonModalOpen(true);
|
||||
};
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<Search
|
||||
|
|
@ -113,26 +120,63 @@ function List(props) {
|
|||
{
|
||||
title: "操作",
|
||||
fixed: "right",
|
||||
width: 130,
|
||||
hidden: !props.permission("fgs-bwtshjl-ck"),
|
||||
width: 160,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
props.history.push(`../ViewInfo?id=${record.id}`);
|
||||
}}
|
||||
>
|
||||
查看
|
||||
</Button>
|
||||
{
|
||||
props.permission("fgs-bwtshjl-ck") &&
|
||||
(
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
props.history.push(`../ViewInfo?id=${record.id}`);
|
||||
}}
|
||||
>
|
||||
查看
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
<Button
|
||||
type="link"
|
||||
danger
|
||||
disabled={record.status !== 300}
|
||||
onClick={() => {
|
||||
onViewRejectReason(record.id);
|
||||
}}
|
||||
>
|
||||
查看驳回原因
|
||||
</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
{rejectReasonModalOpen && <RejectReason rejectReason={rejectReason} onCancel={() => setRejectReasonModalOpen(false)} />}
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
export default Connect([NS_QUALIFICATION_RECORDS], true)(Permission(List));
|
||||
const RejectReason = (props) => {
|
||||
return (
|
||||
<Modal
|
||||
title="查看驳回原因"
|
||||
width={600}
|
||||
open
|
||||
maskClosable={false}
|
||||
onCancel={props.onCancel}
|
||||
footer={[
|
||||
<Button key="cancel" onClick={props.onCancel}>关闭</Button>,
|
||||
]}
|
||||
>
|
||||
<Descriptions
|
||||
bordered
|
||||
column={1}
|
||||
styles={{ label: { width: 200 } }}
|
||||
items={[
|
||||
{ label: "驳回原因", children: props.rejectReason },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
export default Connect([NS_QUALIFICATION_RECORDS,NS_QUALIFICATION_APPLY], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ function List(props) {
|
|||
return {
|
||||
auditProcess: auditStatus[0],
|
||||
auditStatus: 400,
|
||||
status: 400
|
||||
};
|
||||
},
|
||||
onSuccess: (data) => {
|
||||
|
|
@ -140,6 +141,7 @@ function List(props) {
|
|||
查看
|
||||
</Button>
|
||||
)}
|
||||
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ const PassModalComponent = (props) => {
|
|||
options={[
|
||||
{
|
||||
name: "isLongTerm",
|
||||
label: "供应商时效属性",
|
||||
label: "相关方时效属性",
|
||||
span: 24,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ bianma: 1, name: "长期" }, { bianma: 0, name: "短期" }],
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ function Review(props) {
|
|||
{ label: "注册资金(万元)", children: info.corpInfo?.regcapital },
|
||||
{ label: "企业类型", children: getLabelName({ list: typeList, status: info.corpInfo?.type }) },
|
||||
{ label: "营业执照", children: <PreviewImg files={info.corpInfo?.qiyefile || []} /> },
|
||||
{ label: "营业执照有效期", children: info.corpInfo?.licenseStart ? `${info.corpInfo?.licenseStart}-${info.corpInfo?.licenseEnd}` : "-" },
|
||||
// { label: "营业执照有效期", children: info.corpInfo?.licenseStart ? `${info.corpInfo?.licenseStart}-${info.corpInfo?.licenseEnd}` : "-" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
import { WarningOutlined } from "@ant-design/icons";
|
||||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space, Tooltip } from "antd";
|
||||
import {Button, Descriptions, Form, Modal, Space, Tooltip} from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
import { NS_QUALIFICATION_RECORDS } from "~/enumerate/namespace";
|
||||
import {NS_QUALIFICATION_APPLY, NS_QUALIFICATION_RECORDS} from "~/enumerate/namespace";
|
||||
import {useState} from "react";
|
||||
|
||||
function List(props) {
|
||||
const [form] = Form.useForm();
|
||||
const [rejectReasonModalOpen, setRejectReasonModalOpen] = useState(false);
|
||||
const [rejectReason, setRejectReason] = useState(false);
|
||||
const { tableProps, getData } = useTable(props["qualificationRecordsList"], {
|
||||
form,
|
||||
transform: (formData) => {
|
||||
|
|
@ -21,7 +24,11 @@ function List(props) {
|
|||
};
|
||||
},
|
||||
});
|
||||
|
||||
const onViewRejectReason = async (id) => {
|
||||
const { data } = await props["qualificationApplyRejectReason"]({ id });
|
||||
setRejectReason(data);
|
||||
setRejectReasonModalOpen(true);
|
||||
};
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<Search
|
||||
|
|
@ -113,7 +120,7 @@ function List(props) {
|
|||
{
|
||||
title: "操作",
|
||||
fixed: "right",
|
||||
width: 130,
|
||||
width: 180,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
{props.permission("zrzz-jgd-zrzzjl-btn-ck") && (
|
||||
|
|
@ -126,14 +133,49 @@ function List(props) {
|
|||
查看
|
||||
</Button>
|
||||
)}
|
||||
<Button
|
||||
type="link"
|
||||
danger
|
||||
disabled={record.status !== 300}
|
||||
onClick={() => {
|
||||
onViewRejectReason(record.id);
|
||||
}}
|
||||
>
|
||||
查看驳回原因
|
||||
</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
{rejectReasonModalOpen && <RejectReason rejectReason={rejectReason} onCancel={() => setRejectReasonModalOpen(false)} />}
|
||||
</Page>
|
||||
|
||||
);
|
||||
}
|
||||
const RejectReason = (props) => {
|
||||
return (
|
||||
<Modal
|
||||
title="查看驳回原因"
|
||||
width={600}
|
||||
open
|
||||
maskClosable={false}
|
||||
onCancel={props.onCancel}
|
||||
footer={[
|
||||
<Button key="cancel" onClick={props.onCancel}>关闭</Button>,
|
||||
]}
|
||||
>
|
||||
<Descriptions
|
||||
bordered
|
||||
column={1}
|
||||
styles={{ label: { width: 200 } }}
|
||||
items={[
|
||||
{ label: "驳回原因", children: props.rejectReason },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
|
||||
export default Connect([NS_QUALIFICATION_RECORDS], true)(Permission(List));
|
||||
export default Connect([NS_QUALIFICATION_RECORDS,NS_QUALIFICATION_APPLY], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ const PassModalComponent = (props) => {
|
|||
options={[
|
||||
{
|
||||
name: "isLongTerm",
|
||||
label: "供应商时效属性",
|
||||
label: "相关方时效属性",
|
||||
span: 24,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ bianma: 1, name: "长期" }, { bianma: 0, name: "短期" }],
|
||||
|
|
|
|||
|
|
@ -95,9 +95,9 @@ function ViewInfo(props) {
|
|||
|
||||
...(
|
||||
info.qualificationsTypeId === "sbl" ? [
|
||||
{label: "维修、保养", children: info.maintainName && info.maintainName.join(" , ")},
|
||||
{label: "检测", children: info.detectionName && info.detectionName.join(" , ")},
|
||||
{label: "其它高风险业务", children: info.otherHighRiskName && info.otherHighRiskName.join(" , "), span: 2},
|
||||
{label: "维修、保养", children: info.maintainName && info.maintainName},
|
||||
{label: "检测", children: info.detectionName && info.detectionName},
|
||||
{label: "其它高风险业务", children: info.otherHighRiskName && info.otherHighRiskName, span: 2},
|
||||
] : []
|
||||
),
|
||||
|
||||
|
|
@ -175,7 +175,7 @@ function ViewInfo(props) {
|
|||
children: getLabelName({ status: corpInfoData.type, list: ENTERPRISE_TYPE }),
|
||||
},
|
||||
{ label: "营业执照", children: <PreviewImg files={corpInfoData.licenseFile} /> },
|
||||
{ label: "营业执照有效期", children: corpInfoData.licenseStart ? `${corpInfoData.licenseStart} 至 ${corpInfoData.licenseEnd}` : "" },
|
||||
// { label: "营业执照有效期", children: corpInfoData.licenseStart ? `${corpInfoData.licenseStart} 至 ${corpInfoData.licenseEnd}` : "" },
|
||||
]}
|
||||
/>
|
||||
</Spin>
|
||||
|
|
|
|||
Loading…
Reference in New Issue