对接注册字段
This commit is contained in:
@ -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 {
|
||||||
|
@ -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: '请输入有效的电子邮箱' },
|
||||||
|
@ -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>
|
||||||
|
|
||||||
{/* 使用通用表单组件 */}
|
{/* 使用通用表单组件 */}
|
||||||
|
Reference in New Issue
Block a user