对接注册字段

This commit is contained in:
linxd
2025-07-16 14:01:31 +08:00
parent e76d4afa62
commit 1ff4f4dd65
3 changed files with 220 additions and 103 deletions

View File

@ -63,14 +63,14 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
const rowData = values.coscoSupplierQualifications[recordObj.name]; const rowData = values.coscoSupplierQualifications[recordObj.name];
const fields = [ const fields = [
'certType', 'certificateType',
'certName', 'name',
'certNumber', 'code',
'certLevel', 'typeLevel',
'issuingAuthority', 'authority',
'dateTime', 'dateTime',
'termOfValidity', 'termOfValidity',
'certFile', 'accessory',
]; ];
// 过滤掉当前正在验证的字段 // 过滤掉当前正在验证的字段
@ -78,7 +78,7 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
.filter((field) => field !== currentField) .filter((field) => field !== currentField)
.some((field) => { .some((field) => {
const value = rowData[field]; const value = rowData[field];
if (field === 'certFile' && value) { if (field === 'accessory' && value) {
return value.fileList && value.fileList.length > 0; return value.fileList && value.fileList.length > 0;
} }
return value !== undefined && value !== null && value !== ''; return value !== undefined && value !== null && value !== '';
@ -133,11 +133,11 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('资质证书类型'), title: createRequiredTitle('资质证书类型'),
dataIndex: 'certType', dataIndex: 'certificateType',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'certType']} name={[record.name, 'certificateType']}
rules={[createConditionalRule('certType', '请输入资质证书类型')]} rules={[createConditionalRule('certificateType', '请输入资质证书类型')]}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
> >
@ -147,11 +147,11 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('资质名称'), title: createRequiredTitle('资质名称'),
dataIndex: 'certName', dataIndex: 'name',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'certName']} name={[record.name, 'name']}
rules={[createConditionalRule('certName', '请输入资质名称')]} rules={[createConditionalRule('name', '请输入资质名称')]}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
> >
@ -161,11 +161,11 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('资质证书编号'), title: createRequiredTitle('资质证书编号'),
dataIndex: 'certNumber', dataIndex: 'code',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'certNumber']} name={[record.name, 'code']}
rules={[createConditionalRule('certNumber', '请输入资质证书编号')]} rules={[createConditionalRule('code', '请输入资质证书编号')]}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
> >
@ -175,10 +175,10 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('资质类别和等级'), title: createRequiredTitle('资质类别和等级'),
dataIndex: 'certLevel', dataIndex: 'typeLevel',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'certLevel']} name={[record.name, 'typeLevel']}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
> >
@ -188,11 +188,11 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('发证机构'), title: createRequiredTitle('发证机构'),
dataIndex: 'issuingAuthority', dataIndex: 'authority',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'issuingAuthority']} name={[record.name, 'authority']}
rules={[createConditionalRule('issuingAuthority', '请输入发证机构')]} rules={[createConditionalRule('authority', '请输入发证机构')]}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
> >
@ -202,7 +202,7 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('发证日期'), title: createRequiredTitle('发证日期'),
dataIndex: 'issueDate', dataIndex: 'dateTime',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'dateTime']} name={[record.name, 'dateTime']}
@ -220,7 +220,7 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('资质有效期至'), title: createRequiredTitle('资质有效期至'),
dataIndex: 'expiryDate', dataIndex: 'termOfValidity',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'termOfValidity']} name={[record.name, 'termOfValidity']}
@ -238,11 +238,11 @@ export const QualificationSection: React.FC<CommonFormSectionsProps> = ({ form }
}, },
{ {
title: createRequiredTitle('附件'), title: createRequiredTitle('附件'),
dataIndex: 'certFile', dataIndex: 'accessory',
render: (_, record) => ( render: (_, record) => (
<Form.Item <Form.Item
name={[record.name, 'certFile']} name={[record.name, 'accessory']}
rules={[createConditionalRule('certFile', '请上传资质证书附件')]} rules={[createConditionalRule('accessory', '请上传资质证书附件')]}
style={{ margin: 0 }} style={{ margin: 0 }}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
getValueProps={(value) => { getValueProps={(value) => {
@ -327,7 +327,7 @@ export const InvoiceSection: React.FC<CommonFormSectionsProps> = ({ form }) => {
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierInvoice', 'invoiceTitle']} name={['coscoSupplierInvoice', 'head']}
label="开票抬头" label="开票抬头"
rules={[{ required: true, message: '请输入开票抬头' }]} rules={[{ required: true, message: '请输入开票抬头' }]}
> >
@ -336,7 +336,7 @@ export const InvoiceSection: React.FC<CommonFormSectionsProps> = ({ form }) => {
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierInvoice', 'taxpayerNumber']} name={['coscoSupplierInvoice', 'taxpayerCode']}
label="纳税人识别号" label="纳税人识别号"
rules={[{ required: true, message: '请输入纳税人识别号' }]} rules={[{ required: true, message: '请输入纳税人识别号' }]}
> >
@ -344,28 +344,28 @@ export const InvoiceSection: React.FC<CommonFormSectionsProps> = ({ form }) => {
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierInvoice', 'invoiceAddress']} label="开票地址"> <Form.Item name={['coscoSupplierInvoice', 'address']} label="开票地址">
<Input placeholder="请输入开票地址" /> <Input placeholder="请输入开票地址" />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierInvoice', 'invoicePhone']} label="开票电话"> <Form.Item name={['coscoSupplierInvoice', 'phone']} label="开票电话">
<Input placeholder="请输入开票电话" /> <Input placeholder="请输入开票电话" />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierInvoice', 'invoiceBank']} label="开票户行"> <Form.Item name={['coscoSupplierInvoice', 'bank']} label="开票户行">
<Input placeholder="请输入开票银行" /> <Input placeholder="请输入开票银行" />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierInvoice', 'bankAccountNumber']} label="开票户行账号"> <Form.Item name={['coscoSupplierInvoice', 'account']} label="开票户行账号">
<Input placeholder="请输入开票户行账号" /> <Input placeholder="请输入开票户行账号" />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierInvoice', 'generalTaxpayerCert']} name={['coscoSupplierInvoice', 'qualificationCertificate']}
label="一般纳税人资格证明" label="一般纳税人资格证明"
getValueProps={(value) => { getValueProps={(value) => {
return { return {
@ -432,6 +432,26 @@ export const BankAccountSection: React.FC<CommonFormSectionsProps> = ({ form, su
render?: (text: any, record: TableRecord, index?: number) => React.ReactNode; render?: (text: any, record: TableRecord, index?: number) => React.ReactNode;
} }
// 处理地址选择,将级联值转换为国家、省份、城市
const handleAddressChange = (value: any, record: TableRecord) => {
if (value && value.length > 0) {
// 根据级联选择器的层级,设置国家、省份、城市
const formValues = form.getFieldsValue();
const bankData = formValues.coscoSupplierBank || [];
if (!bankData[record.name]) {
bankData[record.name] = {};
}
// 设置国家、省份、城市字段
bankData[record.name].nation = value[0];
bankData[record.name].province = value.length > 1 ? value[1] : undefined;
bankData[record.name].city = value.length > 2 ? value[2] : undefined;
form.setFieldsValue({ coscoSupplierBank: bankData });
}
};
return ( return (
<> <>
<div className="form-section-title"></div> <div className="form-section-title"></div>
@ -494,10 +514,10 @@ export const BankAccountSection: React.FC<CommonFormSectionsProps> = ({ form, su
const commonColumns: ColumnType[] = [ const commonColumns: ColumnType[] = [
{ {
title: '开户银行', title: '开户银行',
dataIndex: 'bankName', dataIndex: 'bank',
render: (text, record) => ( render: (text, record) => (
<Form.Item <Form.Item
name={[record.name, 'bankName']} name={[record.name, 'bank']}
noStyle noStyle
rules={[{ required: true, message: '请输入开户银行' }]} rules={[{ required: true, message: '请输入开户银行' }]}
> >
@ -520,10 +540,10 @@ export const BankAccountSection: React.FC<CommonFormSectionsProps> = ({ form, su
}, },
{ {
title: '账号', title: '账号',
dataIndex: 'accountNumber', dataIndex: 'account',
render: (text, record) => ( render: (text, record) => (
<Form.Item <Form.Item
name={[record.name, 'accountNumber']} name={[record.name, 'account']}
noStyle noStyle
rules={[{ required: true, message: '请输入账号' }]} rules={[{ required: true, message: '请输入账号' }]}
> >
@ -554,16 +574,29 @@ export const BankAccountSection: React.FC<CommonFormSectionsProps> = ({ form, su
}, },
{ {
title: '地址', title: '地址',
dataIndex: 'location', dataIndex: 'address',
render: (text, record) => ( render: (text, record) => (
<>
{/* 隐藏字段用于存储拆分后的地址值 */}
<Form.Item name={[record.name, 'nation']} hidden>
<Input />
</Form.Item>
<Form.Item name={[record.name, 'province']} hidden>
<Input />
</Form.Item>
<Form.Item name={[record.name, 'city']} hidden>
<Input />
</Form.Item>
{/* 级联选择器用于用户选择 */}
<Form.Item <Form.Item
name={[record.name, 'address']}
noStyle noStyle
rules={[{ required: true, message: '请选择地址' }]} rules={[{ required: true, message: '请选择地址' }]}
> >
<Cascader <Cascader
options={addressOptions} options={addressOptions}
placeholder="请选择地址" placeholder="请选择地址"
onChange={(value) => handleAddressChange(value, record)}
showSearch={{ showSearch={{
filter: (inputValue, path) => { filter: (inputValue, path) => {
return path.some((option) => { return path.some((option) => {
@ -578,6 +611,7 @@ export const BankAccountSection: React.FC<CommonFormSectionsProps> = ({ form, su
}} }}
/> />
</Form.Item> </Form.Item>
</>
), ),
}, },
{ {
@ -815,12 +849,36 @@ export const AttachmentSection: React.FC<CommonFormSectionsProps> = ({ form }) =
> >
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item name={[field.name, 'fileName']} hidden>
<Input />
</Form.Item>
<Form.Item name={[field.name, 'fileType']} hidden>
<Input />
</Form.Item>
<Form.Item name={[field.name, 'fileSize']} hidden>
<Input />
</Form.Item>
<Form.Item <Form.Item
name={[field.name, 'fileUrl']} name={[field.name, 'fileUrl']}
rules={[{ required: true, message: '请上传已盖章的反商业贿赂承诺书' }]} rules={[{ required: true, message: '请上传已盖章的反商业贿赂承诺书' }]}
getValueFromEvent={(value) => { getValueFromEvent={(value) => {
return value.length > 0 && value[0].url; if (value && value.length > 0) {
const file = value[0];
form.setFieldsValue({
coscoSupplierSurveyAttachments: {
[field.name]: {
fileName: file.name,
fileType: file.type,
fileSize: file.size.toString(),
fileUrl: file.url,
}
}
});
return file.url;
}
return undefined;
}} }}
getValueProps={(value) => { getValueProps={(value) => {
return { return {
@ -861,6 +919,7 @@ export const AttachmentSection: React.FC<CommonFormSectionsProps> = ({ form }) =
}} }}
> >
{index > 0 && ( {index > 0 && (
<>
<Form.Item <Form.Item
name={[field.name, 'attachmentsType']} name={[field.name, 'attachmentsType']}
initialValue="accessory" initialValue="accessory"
@ -868,13 +927,37 @@ export const AttachmentSection: React.FC<CommonFormSectionsProps> = ({ form }) =
> >
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item name={[field.name, 'fileName']} hidden>
<Input />
</Form.Item>
<Form.Item name={[field.name, 'fileType']} hidden>
<Input />
</Form.Item>
<Form.Item name={[field.name, 'fileSize']} hidden>
<Input />
</Form.Item>
</>
)} )}
{index > 0 && ( {index > 0 && (
<Form.Item <Form.Item
name={[field.name, 'fileUrl']} name={[field.name, 'fileUrl']}
getValueFromEvent={(value) => { getValueFromEvent={(value) => {
return value.length > 0 && value[0].url; if (value && value.length > 0) {
const file = value[0];
form.setFieldsValue({
coscoSupplierSurveyAttachments: {
[field.name]: {
fileName: file.name,
fileType: file.type,
fileSize: file.size.toString(),
fileUrl: file.url,
}
}
});
return file.url;
}
return undefined;
}} }}
getValueProps={(value) => { getValueProps={(value) => {
return { return {

View File

@ -48,7 +48,16 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
const [contactsTypeOptions, setContactsTypeOptions] = useState<DictItem[]>([]); const [contactsTypeOptions, setContactsTypeOptions] = useState<DictItem[]>([]);
// 企业类别 // 企业类别
const [companyTypeOptions, setCompanyTypeOptions] = useState<DictItem[]>([]); const [companyTypeOptions, setCompanyTypeOptions] = useState<DictItem[]>([]);
useEffect(() => { useEffect(() => {
// 设置供应商类型为境内企业
form.setFieldsValue({
coscoSupplierBase: {
...form.getFieldValue('coscoSupplierBase'),
supplierType: 'dvs'
}
});
// 从字典中 联系人身份类别contacts_type 获取数据 // 从字典中 联系人身份类别contacts_type 获取数据
getDictList('contacts_type').then((res) => { getDictList('contacts_type').then((res) => {
if (res.code === 200) { if (res.code === 200) {
@ -62,10 +71,16 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
} }
}); });
}, []); }, []);
return ( return (
<> <>
<div className="form-section-title"></div> <div className="form-section-title"></div>
{/* 隐藏字段 - 供应商类型 */}
<Form.Item name={['coscoSupplierBase', 'supplierType']} hidden initialValue="dvs">
<Input />
</Form.Item>
{/* 营业执照附件和有效期 */} {/* 营业执照附件和有效期 */}
<Row gutter={24}> <Row gutter={24}>
<Col span={8}> <Col span={8}>
@ -169,7 +184,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'registeredCapital']} name={['coscoSupplierBase', 'capital']}
label="注册资本" label="注册资本"
rules={[{ required: true, message: '请输入注册资本' }]} rules={[{ required: true, message: '请输入注册资本' }]}
> >
@ -178,7 +193,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'companyType']} name={['coscoSupplierBase', 'enterpriseType']}
label="企业类别" label="企业类别"
rules={[{ required: true, message: '请选择企业类别' }]} rules={[{ required: true, message: '请选择企业类别' }]}
> >
@ -206,13 +221,13 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Form.Item> </Form.Item>
</Col> */} </Col> */}
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierBase', 'parentCompanyInfo']} label="母公司/出资人"> <Form.Item name={['coscoSupplierBase', 'parentCompanyInvestor']} label="母公司/出资人">
<Input placeholder="请输入母公司或出资人信息" /> <Input placeholder="请输入母公司或出资人信息" />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'registeredAddress']} name={['coscoSupplierBase', 'regAddress']}
label="注册地址" label="注册地址"
rules={[{ required: true, message: '请输入注册地址' }]} rules={[{ required: true, message: '请输入注册地址' }]}
> >
@ -221,7 +236,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'officeAddress']} name={['coscoSupplierBase', 'workAddress']}
label="办公地址" label="办公地址"
rules={[{ required: true, message: '请输入办公地址' }]} rules={[{ required: true, message: '请输入办公地址' }]}
> >
@ -233,7 +248,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'businessScope']} name={['coscoSupplierBase', 'range']}
label="经营范围" label="经营范围"
rules={[{ required: true, message: '请输入经营范围' }]} rules={[{ required: true, message: '请输入经营范围' }]}
> >
@ -248,7 +263,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactPerson']} name={['coscoSupplierBase', 'contactsName']}
label="联系人姓名" label="联系人姓名"
rules={[{ required: true, message: '请输入联系人姓名' }]} rules={[{ required: true, message: '请输入联系人姓名' }]}
> >
@ -257,7 +272,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactPhone']} name={['coscoSupplierBase', 'contactsPhone']}
label="联系人手机" label="联系人手机"
rules={[ rules={[
{ required: true, message: '请输入联系人手机号' }, { required: true, message: '请输入联系人手机号' },
@ -283,7 +298,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'captcha']} name="captcha"
label="验证码" label="验证码"
rules={[{ required: true, message: '请输入验证码' }]} rules={[{ required: true, message: '请输入验证码' }]}
> >
@ -301,7 +316,7 @@ const DomesticForm: React.FC<DomesticFormProps> = ({
</Col> */} </Col> */}
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactEmail']} name={['coscoSupplierBase', 'contactsEmail']}
label="联系人邮箱" label="联系人邮箱"
rules={[ rules={[
{ type: 'email', message: '请输入有效的电子邮箱' }, { type: 'email', message: '请输入有效的电子邮箱' },

View File

@ -45,6 +45,14 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
// 币种 // 币种
const [currencyOptions, setCurrencyOptions] = useState<DictItem[]>([]); const [currencyOptions, setCurrencyOptions] = useState<DictItem[]>([]);
useEffect(() => { useEffect(() => {
// 设置供应商类型为境外企业
form.setFieldsValue({
coscoSupplierBase: {
...form.getFieldValue('coscoSupplierBase'),
supplierType: 'ovs'
}
});
getregionInternational().then((res) => { getregionInternational().then((res) => {
if (res.code === 200) { if (res.code === 200) {
setRegionOptions(res.data); setRegionOptions(res.data);
@ -69,10 +77,15 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
{/* 境外企业特有的基本信息部分 */} {/* 境外企业特有的基本信息部分 */}
<div className="form-section-title"></div> <div className="form-section-title"></div>
{/* 隐藏字段 - 供应商类型 */}
<Form.Item name={['coscoSupplierBase', 'supplierType']} hidden initialValue="ovs">
<Input />
</Form.Item>
<Row gutter={24}> <Row gutter={24}>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'companyName']} name={['coscoSupplierBase', 'name']}
label="企业名称" label="企业名称"
rules={[{ required: true, message: '请输入企业名称' }]} rules={[{ required: true, message: '请输入企业名称' }]}
> >
@ -81,7 +94,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'companyEnglishName']} name={['coscoSupplierBase', 'nameEn']}
label="企业英文名称" label="企业英文名称"
rules={[{ required: true, message: '请输入企业英文名称' }]} rules={[{ required: true, message: '请输入企业英文名称' }]}
> >
@ -89,19 +102,24 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierBase', 'vat']} label="税号"> <Form.Item name={['coscoSupplierBase', 'vat']} label="增值税号VAT">
<Input placeholder="请输入税号" /> <Input placeholder="请输入增值税号" />
</Form.Item> </Form.Item>
</Col> </Col>
{/* <Col span={8}>
<Form.Item name={['coscoSupplierBase', 'taxpayerId']} label="境外纳税人ID号">
<Input placeholder="请输入境外纳税人ID号" />
</Form.Item>
</Col> */}
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'country']} name={['coscoSupplierBase', 'nation']}
label="国家/地区" label="国家/地区"
rules={[{ required: true, message: '请选择国家/地区' }]} rules={[{ required: true, message: '请选择国家/地区' }]}
> >
<Select placeholder="请选择国家/地区"> <Select placeholder="请选择国家/地区">
{regionOptions.map((item) => { {regionOptions.map((item) => {
return <Option value={item.id}>{item.name}</Option>; return <Option key={item.id} value={item.id}>{item.name}</Option>;
})} })}
</Select> </Select>
</Form.Item> </Form.Item>
@ -141,18 +159,18 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
<Input.Password placeholder="请再次输入密码" /> <Input.Password placeholder="请再次输入密码" />
</Form.Item> </Form.Item>
</Col> */} </Col> */}
{/* <Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name="registeredAddress" name={['coscoSupplierBase', 'regAddress']}
label="注册地址" label="注册地址"
rules={[{ required: true, message: '请输入注册地址' }]} rules={[{ required: true, message: '请输入注册地址' }]}
> >
<Input prefix={<EnvironmentOutlined />} placeholder="请具体注明" /> <Input prefix={<EnvironmentOutlined />} placeholder="请具体注明" />
</Form.Item> </Form.Item>
</Col> */} </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'officeAddress']} name={['coscoSupplierBase', 'workAddress']}
label="办公地址" label="办公地址"
rules={[{ required: true, message: '请输入办公地址' }]} rules={[{ required: true, message: '请输入办公地址' }]}
> >
@ -161,7 +179,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'businessScope']} name={['coscoSupplierBase', 'range']}
label="经营范围" label="经营范围"
rules={[{ required: true, message: '请输入经营范围' }]} rules={[{ required: true, message: '请输入经营范围' }]}
> >
@ -169,7 +187,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item name={['coscoSupplierBase', 'parentCompanyInfo']} label="母公司/出资人"> <Form.Item name={['coscoSupplierBase', 'parentCompanyInvestor']} label="母公司/出资人">
<Input placeholder="请输入母公司或出资人信息" /> <Input placeholder="请输入母公司或出资人信息" />
</Form.Item> </Form.Item>
</Col> </Col>
@ -178,19 +196,21 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
<Input placeholder="请输入企业法定代表人" /> <Input placeholder="请输入企业法定代表人" />
</Form.Item> </Form.Item>
</Col> </Col>
{/*
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name="companyType" name={['coscoSupplierBase', 'enterpriseType']}
label="企业类别" label="企业类别"
rules={[{ required: true, message: '请选择企业类别' }]} rules={[{ required: true, message: '请选择企业类别' }]}
> >
<Select placeholder="请选择企业类别" options={companyTypeOptions.map(item => ({ <Select
placeholder="请选择企业类别"
options={companyTypeOptions.map(item => ({
label: item.dicName, label: item.dicName,
value: item.code, value: item.code,
}))} /> }))}
/>
</Form.Item> </Form.Item>
</Col> */} </Col>
{/* <Col span={8}> {/* <Col span={8}>
<Form.Item <Form.Item
name="supplierType" name="supplierType"
@ -208,7 +228,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
<Col span={8}> <Col span={8}>
<Form.Item label="注册资本" required> <Form.Item label="注册资本" required>
<Input.Group compact style={{ display: 'flex' }}> <Input.Group compact style={{ display: 'flex' }}>
<Form.Item name={['coscoSupplierBase', 'capitalCurrency']} noStyle initialValue="USD"> <Form.Item name={['coscoSupplierBase', 'currency']} noStyle initialValue="USD">
<Select <Select
style={{ width: 100, borderRadius: '2px 0 0 2px' }} style={{ width: 100, borderRadius: '2px 0 0 2px' }}
options={currencyOptions.map((item) => ({ options={currencyOptions.map((item) => ({
@ -218,7 +238,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
/> />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'capitalAmount']} name={['coscoSupplierBase', 'capital']}
noStyle noStyle
rules={[{ required: true, message: '请输入注册资本金额' }]} rules={[{ required: true, message: '请输入注册资本金额' }]}
> >
@ -234,7 +254,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactName']} name={['coscoSupplierBase', 'contactsName']}
label="联系人姓名" label="联系人姓名"
rules={[{ required: true, message: '请输入联系人姓名' }]} rules={[{ required: true, message: '请输入联系人姓名' }]}
> >
@ -243,7 +263,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactEmail']} name={['coscoSupplierBase', 'contactsEmail']}
label="联系人邮箱" label="联系人邮箱"
rules={[ rules={[
{ type: 'email', message: '请输入有效的电子邮箱' }, { type: 'email', message: '请输入有效的电子邮箱' },
@ -269,7 +289,7 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'verificationCode']} name="captcha"
label="验证码" label="验证码"
rules={[ rules={[
{ required: true, message: '请输入验证码' }, { required: true, message: '请输入验证码' },
@ -281,12 +301,17 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
</Col> </Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
name={['coscoSupplierBase', 'contactPhone']} name={['coscoSupplierBase', 'contactsPhone']}
label="联系人手机" label="联系人手机"
> >
<Input placeholder="请输入企业联系电话" prefix={<MobileOutlined />} /> <Input placeholder="请输入企业联系电话" prefix={<MobileOutlined />} />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}>
<Form.Item name={['coscoSupplierBase', 'telephone']} label="固定电话">
<Input placeholder="请输入企业固定电话" />
</Form.Item>
</Col>
{/* <Col span={8}> {/* <Col span={8}>
<Form.Item <Form.Item
name="contactIdType" name="contactIdType"
@ -308,12 +333,6 @@ const ForeignForm: React.FC<ForeignFormProps> = ({
<Input placeholder="请填写联系人正确的身份证号" /> <Input placeholder="请填写联系人正确的身份证号" />
</Form.Item> </Form.Item>
</Col> */} </Col> */}
{/* <Col span={8}>
<Form.Item name="telephone" label="固定电话">
<Input placeholder="请输入企业联系电话" />
</Form.Item>
</Col> */}
</Row> </Row>
{/* 使用通用表单组件 */} {/* 使用通用表单组件 */}