safety-eval-service-frontend/src/pages/Container/QualApplication/FilingForm/components/BasicInfoStep.jsx

204 lines
7.4 KiB
React
Raw Normal View History

2026-06-30 17:32:29 +08:00
import { Form, Input, InputNumber, Row, Col, Select } from "antd";
2026-07-01 17:57:42 +08:00
import {
CHONGQING_DISTRICTS,
QUALIFICATION_INDUSTRY_OPTIONS,
} from "~/enumerate/enterpriseOptions";
2026-06-30 17:32:29 +08:00
import { FILING_UNIT_TYPE_OPTIONS } from "~/enumerate/qualFilingOptions";
2026-07-01 17:57:42 +08:00
import AttachmentUpload from "~/components/AttachmentUpload";
2026-06-30 17:32:29 +08:00
2026-08-04 11:06:32 +08:00
export default function BasicInfoStep({ form, disabled, mode }) {
2026-06-30 17:32:29 +08:00
return (
<Form form={form} layout="vertical" disabled={disabled}>
<Row gutter={16}>
<Col span={24}>
2026-07-01 17:57:42 +08:00
<Form.Item
name="businessScope"
2026-08-04 11:06:32 +08:00
label={mode === 'filed' ? "已有资质备案" : "申请的业务范围"}
2026-07-01 17:57:42 +08:00
rules={[{ required: !disabled, message: "请选择业务范围" }]}
>
<Select
options={QUALIFICATION_INDUSTRY_OPTIONS}
2026-07-14 11:29:29 +08:00
mode="multiple"
2026-07-01 17:57:42 +08:00
placeholder="请选择证照类型"
/>
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-01 17:57:42 +08:00
<Form.Item
name="filingTerritoryName"
label="备案属地"
rules={[{ required: !disabled, message: "请选择备案属地" }]}
>
<Select
options={CHONGQING_DISTRICTS}
placeholder="请选择"
showSearch
optionFilterProp="label"
/>
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-08-04 11:06:32 +08:00
<Form.Item name="filingUnitName" label="备案单位" rules={[{ required: !disabled, message: "请输入备案单位" }]}>
2026-07-10 09:52:23 +08:00
<Input placeholder="备案单位" maxLength={64} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-08-04 11:06:32 +08:00
<Form.Item name="filingUnitTypeName" label="备案单位类型" rules={[{ required: !disabled, message: "请选择备案单位类型" }]}>
2026-06-30 17:32:29 +08:00
<Select options={FILING_UNIT_TYPE_OPTIONS} placeholder="请选择" />
</Form.Item>
</Col>
<Col span={12}>
2026-08-04 11:06:32 +08:00
<Form.Item name="creditCode" label="统一社会信用代码" rules={[{ required: !disabled, message: "请输入统一社会信用代码" }]}>
2026-07-10 09:52:23 +08:00
<Input placeholder="统一社会信用代码" maxLength={18} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={24}>
2026-08-04 11:06:32 +08:00
<Form.Item name="officeAddress" label="办公地址" rules={[{ required: !disabled, message: "请输入办公地址" }]}>
2026-07-10 09:52:23 +08:00
<Input placeholder="办公地址" maxLength={128} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={24}>
2026-08-04 11:06:32 +08:00
<Form.Item name="registerAddress" label="注册地址" rules={[{ required: !disabled, message: "请输入注册地址" }]}>
2026-07-10 09:52:23 +08:00
<Input placeholder="注册地址" maxLength={128} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
2026-08-04 16:42:46 +08:00
{mode!=='application' &&<Col span={12}>
2026-08-04 11:06:32 +08:00
<Form.Item name="qualCertNo" label="资质证书编号" rules={[{ required: !disabled, message: "请输入资质证书编号" }]}>
2026-07-10 09:52:23 +08:00
<Input placeholder="资质证书编号" maxLength={32} />
2026-06-30 17:32:29 +08:00
</Form.Item>
2026-08-04 16:42:46 +08:00
</Col>}
2026-06-30 17:32:29 +08:00
<Col span={12}>
2026-07-10 09:52:23 +08:00
<Form.Item
name="infoDisclosureUrl"
label="信息公开网址"
rules={[
2026-08-04 11:06:32 +08:00
{ required: !disabled, message: "请输入信息公开网址" },
2026-07-10 09:52:23 +08:00
{
pattern: /^https?:\/\/[^\s]+$/,
message: "请输入正确的网址,需以 http:// 或 https:// 开头",
},
]}
>
<Input placeholder="信息公开网址" maxLength={128} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-13 15:31:49 +08:00
<Form.Item
name="legalPersonPhone"
label="法人代表电话"
rules={[
2026-08-04 11:06:32 +08:00
{ required: !disabled, message: "请输入法人代表电话" },
2026-07-13 15:31:49 +08:00
{
pattern: /^(1\d{10}|0\d{2,3}-?\d{7,8})$/,
message: "请输入正确的手机号或座机号",
},
]}
>
<Input placeholder="请输入法人代表电话" maxLength={11} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-13 15:31:49 +08:00
<Form.Item
name="contactPhone"
label="联系人电话"
rules={[
2026-08-04 11:06:32 +08:00
{ required: !disabled, message: "请输入联系人电话" },
2026-07-13 15:31:49 +08:00
{
pattern: /^(1\d{10}|0\d{2,3}-?\d{7,8})$/,
message: "请输入正确的手机号或座机号",
},
]}
>
<Input placeholder="请输入联系人电话" maxLength={11} />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-03 17:55:26 +08:00
<Form.Item
name="fixedAssetAmount"
label="固定资产总值(万元)"
2026-07-10 09:52:23 +08:00
rules={[
{ required: !disabled, message: "请输入固定资产总值" },
2026-07-10 14:38:17 +08:00
2026-07-10 09:52:23 +08:00
]}
2026-07-03 17:55:26 +08:00
>
2026-07-10 09:52:23 +08:00
<InputNumber
style={{ width: "100%" }}
min={0}
max={100000000}
precision={2}
placeholder="万元"
/>
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-07 15:45:52 +08:00
<Form.Item
name="workplaceArea"
label="工作场所建筑面积(㎡)"
2026-07-10 09:52:23 +08:00
rules={[
{ required: !disabled, message: "请输入工作场所建筑面积" },
2026-07-10 14:38:17 +08:00
2026-07-10 09:52:23 +08:00
]}
2026-07-07 15:45:52 +08:00
>
2026-07-10 09:52:23 +08:00
<InputNumber
style={{ width: "100%" }}
min={0}
max={100000000}
precision={2}
placeholder="㎡"
/>
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-10 09:52:23 +08:00
<Form.Item
name="archiveRoomArea"
label="档案室面积(㎡)"
2026-08-04 11:06:32 +08:00
rules={[{ required: !disabled, message: "请输入档案室面积" }]}
2026-07-10 09:52:23 +08:00
>
<InputNumber
style={{ width: "100%" }}
min={0}
max={100000000}
precision={2}
placeholder="㎡"
/>
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-01 17:57:42 +08:00
<Form.Item
name="fulltimeEvaluatorCount"
label="专职安全评价师数量(人)"
2026-08-04 11:06:32 +08:00
rules={[{ required: !disabled, message: "请输入专职安全评价师数量" }]}
2026-07-01 17:57:42 +08:00
>
2026-07-10 09:52:23 +08:00
<InputNumber style={{ width: "100%" }} min={0} max={100000000} maxLength={9} placeholder="人" />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={12}>
2026-07-01 17:57:42 +08:00
<Form.Item
name="registeredEngineerCount"
label="注册安全工程师数量(人)"
2026-08-04 11:06:32 +08:00
rules={[{ required: !disabled, message: "请输入注册安全工程师数量" }]}
2026-07-01 17:57:42 +08:00
>
2026-07-10 09:52:23 +08:00
<InputNumber style={{ width: "100%" }} min={0} max={100000000} maxLength={9} placeholder="人" />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={24}>
2026-08-04 11:06:32 +08:00
<Form.Item name="unitIntro" label="单位基本情况介绍" rules={[{ required: !disabled, message: "请输入单位基本情况介绍" }]}>
2026-07-10 09:52:23 +08:00
<Input.TextArea rows={3} placeholder="请输入单位基本情况介绍" maxLength={500} showCount />
2026-06-30 17:32:29 +08:00
</Form.Item>
</Col>
<Col span={24}>
2026-07-03 17:55:26 +08:00
<AttachmentUpload
name="attachmentUrl"
2026-08-04 11:06:32 +08:00
rules={[{ required: !disabled, message: "请上传附件" }]}
2026-07-03 17:55:26 +08:00
label="上传附件"
disabled={disabled}
2026-07-13 15:31:49 +08:00
extra={'最多上传12个PDF、DOC、DOCX格式文件'}
2026-07-09 18:35:05 +08:00
maxCount={12}
accept=".pdf,.doc,.docx"
2026-07-03 17:55:26 +08:00
/>
2026-06-30 17:32:29 +08:00
</Col>
</Row>
</Form>
);
}