From a419834198aa6ad9c8b5a65c0a35c220073d5f6f Mon Sep 17 00:00:00 2001 From: linxd <544554903@qq.com> Date: Thu, 17 Jul 2025 14:47:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=AF=B9=E6=8E=A5=E6=B3=A8?= =?UTF-8?q?=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/en-US/home.ts | 1 + src/locales/zh-CN/home.ts | 1 + src/pages/index/index.less | 4 + src/pages/index/index.tsx | 11 +- src/pages/register/supplier.tsx | 1 - .../register/supplier/CommonFormSections.tsx | 969 +++++++++++------- src/pages/register/supplier/DomesticForm.tsx | 71 +- src/pages/register/supplier/ForeignForm.tsx | 38 +- src/servers/api/register.ts | 24 +- src/servers/api/typings.d.ts | 8 + 10 files changed, 695 insertions(+), 433 deletions(-) diff --git a/src/locales/en-US/home.ts b/src/locales/en-US/home.ts index 9d35421..d833622 100644 --- a/src/locales/en-US/home.ts +++ b/src/locales/en-US/home.ts @@ -3,4 +3,5 @@ export default { 'home.data.contactsEmail': 'contactsEmailEn', 'home.data.address': 'addressEn', 'home.data.addressEn': 'address', + 'home.data.contactsConsult': 'contactsConsultEn', }; diff --git a/src/locales/zh-CN/home.ts b/src/locales/zh-CN/home.ts index 8406e22..6d2b168 100644 --- a/src/locales/zh-CN/home.ts +++ b/src/locales/zh-CN/home.ts @@ -3,4 +3,5 @@ export default { 'home.data.contactsEmail': 'contactsEmail', 'home.data.address': 'address', 'home.data.addressEn': 'addressEn', + 'home.data.contactsConsult': 'contactsConsult', }; diff --git a/src/pages/index/index.less b/src/pages/index/index.less index 3a1a9fc..d79c3c1 100644 --- a/src/pages/index/index.less +++ b/src/pages/index/index.less @@ -194,10 +194,14 @@ .questionItem { line-height: 50px; border-bottom: 1px solid rgba(@main-text-color-2, 0.5); + display: flex; .icon { margin-right: 10px; font-size: 18px; } + p{ + margin: 0; + } } } } diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index c2c05a8..7e6c371 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -316,15 +316,15 @@ const IndexPage: React.FC = ({ user }) => {
- {aboutUs[intl.formatMessage({ id: 'home.data.address' })]} +
- {aboutUs[intl.formatMessage({ id: 'home.data.contactsPhone' })]} +
- {aboutUs[intl.formatMessage({ id: 'home.data.contactsEmail' })]} +
@@ -346,10 +346,7 @@ const IndexPage: React.FC = ({ user }) => {
联系方式
-

客服1: 400-300-9989

-

客服1: 400-300-9989

-

客服1: 400-300-9989

-

客服1: 400-300-9989

+
diff --git a/src/pages/register/supplier.tsx b/src/pages/register/supplier.tsx index 3fc94f4..8d05e19 100644 --- a/src/pages/register/supplier.tsx +++ b/src/pages/register/supplier.tsx @@ -49,7 +49,6 @@ const SupplierRegister: React.FC = () => { } } catch (error) { console.error('获取问卷列表出错:', error); - message.error(intl.formatMessage({ id: 'register.submit.error' })); } finally { setFetchingQuestions(false); } diff --git a/src/pages/register/supplier/CommonFormSections.tsx b/src/pages/register/supplier/CommonFormSections.tsx index 09e5d95..f6880c9 100644 --- a/src/pages/register/supplier/CommonFormSections.tsx +++ b/src/pages/register/supplier/CommonFormSections.tsx @@ -2,12 +2,13 @@ * 供应商注册表单通用部分 * 封装了国内企业和境外企业注册表单相同的部分 */ -import React, { useEffect, useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { Form, Input, Button, Select, + Upload, DatePicker, Row, Col, @@ -16,80 +17,99 @@ import { Cascader, Empty, } from 'antd'; -import { PlusOutlined, DeleteOutlined } from '@ant-design/icons'; +import { UploadOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons'; import { message } from 'antd'; -import { useIntl } from 'umi'; -import FileUpload from '@/components/FileUpload'; -import type { DictItem } from '@/servers/api/dict'; +import { validateFileSize } from '@/utils/utils'; +import { getRegionTree, getregionInternational } from '@/servers/api/register'; import { getDictList } from '@/servers/api/dict'; +import type { DictItem } from '@/servers/api/dict'; +import FileUpload from '@/components/FileUpload/FileUpload'; const { Option } = Select; -// 中国省市区级联数据 -export const addressOptions = [ - { - value: '330000', - label: '浙江省', - children: [ - { - value: '330100', - label: '杭州市', - children: [ - { value: '330102', label: '上城区' }, - { value: '330103', label: '下城区' }, - { value: '330104', label: '江干区' }, - { value: '330105', label: '拱墅区' }, - { value: '330106', label: '西湖区' }, - { value: '330108', label: '滨江区' }, - ], - }, - ], - }, - { - value: '310000', - label: '上海市', - children: [ - { - value: '310100', - label: '上海市', - children: [ - { value: '310101', label: '黄浦区' }, - { value: '310104', label: '徐汇区' }, - { value: '310105', label: '长宁区' }, - ], - }, - ], - }, -]; - interface CommonFormSectionsProps { form: any; + supplierType?: string; } // 扩展问卷部分的属性接口 interface SurveySectionProps extends CommonFormSectionsProps { surveyQuestions?: API.SurveyQuestionResponse; } - +function convertToCascaderOptions(data: any[]): any[] { + return data.map((item) => ({ + label: item.name, + value: item.id, + children: + item.children && item.children.length > 0 + ? convertToCascaderOptions(item.children) + : undefined, + })); +} /** * 资质信息表单部分 * 包含资质证书类型、名称、编号、等级、发证机构、发证日期、有效期等 */ export const QualificationSection: React.FC = ({ form }) => { - const intl = useIntl(); - // 资质证书类型 - const [certTypeList, setCertTypeList] = useState([]); - const getDict = async () => { - // qualification_type 资质证书类型 - const certTypeResponse = await getDictList('certificate'); - setCertTypeList(certTypeResponse.data || []); + // 检查行是否有任何字段被填写 + const hasRowValue = (formInstance: any, recordObj: any, currentField: string) => { + const values = formInstance.getFieldsValue(['coscoSupplierQualifications']); + if ( + !values.coscoSupplierQualifications || + !values.coscoSupplierQualifications[recordObj.name] + ) { + return false; + } + + const rowData = values.coscoSupplierQualifications[recordObj.name]; + const fields = [ + 'certificateType', + 'name', + 'code', + 'typeLevel', + 'authority', + 'dateTime', + 'termOfValidity', + 'accessory', + ]; + + // 过滤掉当前正在验证的字段 + return fields + .filter((field) => field !== currentField) + .some((field) => { + const value = rowData[field]; + if (field === 'accessory' && value) { + return value.fileList && value.fileList.length > 0; + } + return value !== undefined && value !== null && value !== ''; + }); }; - useEffect(() => { - getDict(); - }, []); + + // 生成条件性验证规则 + const createConditionalRule = (fieldName: string, errorMsg: string) => ({ + validator: (_: any, value: any, callback: any) => { + const record = _.field.split('.')[1]; + + // 如果当前字段有值,或者行中有任何字段有值,则该字段为必填 + if (value || hasRowValue(form, { name: record }, fieldName)) { + if (!value) { + return Promise.reject(new Error(errorMsg)); + } + } + return Promise.resolve(); + }, + }); + + // 创建带必填标识的表头 + const createRequiredTitle = (title: string) => ( + + {title} * + + ); + return ( -
-
{intl.formatMessage({ id: 'register.form.section.qualification' })}
+ <> +
资质信息
{(fields, { add, remove }) => ( @@ -106,89 +126,92 @@ export const QualificationSection: React.FC = ({ form } rowKey="key" columns={[ { - title: intl.formatMessage({ id: 'register.form.table.no' }), + title: '序号', dataIndex: 'name', width: 60, render: (_, __, index) => index + 1, }, { - title: intl.formatMessage({ id: 'register.qualification.certType' }), - dataIndex: 'certType', + title: createRequiredTitle('资质证书类型'), + dataIndex: 'certificateType', render: (_, record) => ( - + ), }, { - title: intl.formatMessage({ id: 'register.qualification.certName' }), - dataIndex: 'certName', + title: createRequiredTitle('资质名称'), + dataIndex: 'name', render: (_, record) => ( - + ), }, { - title: intl.formatMessage({ id: 'register.qualification.certNumber' }), - dataIndex: 'certNumber', + title: createRequiredTitle('资质证书编号'), + dataIndex: 'code', render: (_, record) => ( - + ), }, { - title: intl.formatMessage({ id: 'register.qualification.certLevel' }), - dataIndex: 'certLevel', + title: createRequiredTitle('资质类别和等级'), + dataIndex: 'typeLevel', render: (_, record) => ( - - + + ), }, { - title: intl.formatMessage({ id: 'register.qualification.issuingAuthority' }), - dataIndex: 'issuingAuthority', + title: createRequiredTitle('发证机构'), + dataIndex: 'authority', render: (_, record) => ( - + ), }, { - title: intl.formatMessage({ id: 'register.qualification.issueDate' }), - dataIndex: 'issueDate', + title: createRequiredTitle('发证日期'), + dataIndex: 'dateTime', render: (_, record) => ( @@ -196,16 +219,17 @@ export const QualificationSection: React.FC = ({ form } ), }, { - title: intl.formatMessage({ id: 'register.qualification.expiryDate' }), - dataIndex: 'expiryDate', + title: createRequiredTitle('资质有效期至'), + dataIndex: 'termOfValidity', render: (_, record) => ( @@ -213,26 +237,35 @@ export const QualificationSection: React.FC = ({ form } ), }, { - title: intl.formatMessage({ id: 'register.form.attachment' }), - dataIndex: 'certFile', + title: createRequiredTitle('附件'), + dataIndex: 'accessory', render: (_, record) => ( { + return { + value: value?.length > 0 ? value[0]?.url : undefined, + }; + }} + getValueFromEvent={(value) => { + return value.length > 0 && value[0].url; + }} > ), }, { - title: intl.formatMessage({ id: 'register.form.operation' }), + title: '操作', width: 70, render: (_, record) => ( ), }, @@ -249,13 +282,13 @@ export const QualificationSection: React.FC = ({ form } /> )} -
+ ); }; @@ -264,187 +297,306 @@ export const QualificationSection: React.FC = ({ form } * 包含纳税人类型、开票抬头、纳税人识别号、开票地址等 */ export const InvoiceSection: React.FC = ({ form }) => { - const intl = useIntl(); - // 纳税人类型 - const [taxpayerTypeList, setTaxpayerTypeList] = useState([]); - const getDict = async () => { - // taxpayer_type 纳税人类型 - const taxpayerTypeResponse = await getDictList('taxpayer_type'); - setTaxpayerTypeList(taxpayerTypeResponse.data || []); - }; + const [taxpayerTypeOptions, setTaxpayerTypeOptions] = useState([]); useEffect(() => { - getDict(); + getDictList('taxpayer_type').then((res) => { + if (res.code === 200) { + setTaxpayerTypeOptions(res.data); + } + }); }, []); return ( -
-
{intl.formatMessage({ id: 'register.form.section.invoice' })}
+ <> +
开票信息
- + + - + - - + + - - + + - - + + - - + + { + return { + value: value?.length > 0 ? value[0]?.url : undefined, + }; + }} + getValueFromEvent={(value) => { + return value.length > 0 && value[0].url; + }} > -
+ ); }; /** * 银行账户表单部分 * 包含开户银行、账户名称、账号、所在地区等 + * supplierType dvs 境内 ovs 境外 */ -export const BankAccountSection: React.FC = ({ form }) => { - const intl = useIntl(); +export const BankAccountSection: React.FC = ({ form, supplierType }) => { + // 地区 + const [addressOptions, setAddressOptions] = useState([]); + const [currencyOptions, setCurrencyOptions] = useState([]); + useEffect(() => { + getDictList('currency').then((res) => { + if (res.code === 200) { + setCurrencyOptions(res.data); + } + }); + }, []); + useEffect(() => { + if (supplierType) { + const submitInterface = supplierType === 'dvs' ? getRegionTree : getregionInternational; + submitInterface().then((res) => { + if (res.code === 200) { + setAddressOptions(convertToCascaderOptions(res.data)); + } + }); + } + }, [supplierType]); + + // 定义表格记录和表格列类型 + interface TableRecord { + name: number; + key: React.Key; + fieldKey: number; + [key: string]: any; + } + + interface ColumnType { + title: string; + dataIndex?: string; + width?: number; + 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 ( -
-
{intl.formatMessage({ id: 'register.form.section.bankAccount' })}
+ <> +
银行账户
- {(fields, { add, remove }) => ( - <> - ({ - ...field, - key: field.key, - fieldKey: field.name, - }))} - pagination={false} - bordered - size="middle" - rowKey="key" - columns={[ - { - title: intl.formatMessage({ id: 'register.form.table.no' }), - dataIndex: 'name', - width: 60, - render: (_, __, index) => index + 1, - }, - { - title: intl.formatMessage({ id: 'register.bank.bankName' }), - dataIndex: 'bankName', - render: (_, record) => ( - - + {(fields, { add, remove }) => { + // 根据供应商类型定义表格列 + const getColumns = () => { + // 基础列定义 + const baseColumns: ColumnType[] = [ + { + title: '序号', + dataIndex: 'name', + width: 60, + render: (text, record, index = 0) => index + 1, + }, + ]; + + // 境内企业特有列 + const domesticColumns: ColumnType[] = + supplierType === 'dvs' + ? [ + { + title: '银联号', + dataIndex: 'interbankNumber', + render: (text, record) => ( + + + + ), + }, + ] + : []; + + // 境外企业特有列 + const foreignColumns: ColumnType[] = + supplierType === 'ovs' + ? [ + { + title: 'SWIFT CODE', + dataIndex: 'swiftCode', + render: (text, record) => ( + + + + ), + }, + ] + : []; + + // 通用列 + const commonColumns: ColumnType[] = [ + { + title: '开户银行', + dataIndex: 'bank', + render: (text, record) => ( + + + + ), + }, + { + title: '账户名称', + dataIndex: 'accountName', + render: (text, record) => ( + + + + ), + }, + { + title: '账号', + dataIndex: 'account', + render: (text, record) => ( + + + + ), + }, + { + title: '币种', + dataIndex: 'currency', + width: 200, + render: (text, record) => ( + + - ), - }, - { - title: intl.formatMessage({ id: 'register.bank.accountName' }), - dataIndex: 'accountName', - render: (_, record) => ( - - + - ), - }, - { - title: intl.formatMessage({ id: 'register.bank.accountNumber' }), - dataIndex: 'accountNumber', - render: (_, record) => ( - - + - ), - }, - { - title: intl.formatMessage({ id: 'register.bank.location' }), - dataIndex: 'location', - render: (_, record) => ( + + {/* 级联选择器用于用户选择 */} handleAddressChange(value, record)} showSearch={{ filter: (inputValue, path) => { return path.some((option) => { @@ -459,33 +611,53 @@ export const BankAccountSection: React.FC = ({ form }) }} /> - ), - }, - { - title: intl.formatMessage({ id: 'register.form.operation' }), - width: 70, - render: (_, record) => ( - - ), - }, - ]} - /> - - - - - )} + + ), + }, + { + title: '操作', + width: 70, + render: (text, record) => ( + + ), + }, + ]; + + // 合并所有列 + return [...baseColumns, ...domesticColumns, ...foreignColumns, ...commonColumns]; + }; + + return ( + <> +
({ + ...field, + key: field.key, + fieldKey: field.name, + }))} + pagination={false} + bordered + size="middle" + rowKey="key" + columns={getColumns()} + /> + + + + + ); + }} - + ); }; @@ -494,148 +666,136 @@ export const BankAccountSection: React.FC = ({ form }) * 包含填写人信息和问卷内容 */ export const SurveySection: React.FC = ({ form, surveyQuestions }) => { - const intl = useIntl(); // 使用API获取的问卷数据,如果没有则显示无数据状态 - const hasQuestions = - surveyQuestions && Array.isArray(surveyQuestions) && surveyQuestions.length > 0; - - // 调试日志 - console.log('调查问卷数据:', surveyQuestions); + const hasQuestions = surveyQuestions && surveyQuestions.length > 0; return ( -
-
{intl.formatMessage({ id: 'register.form.section.survey' })}
+ <> +
社会准则符合性自查问卷
-
{intl.formatMessage({ id: 'register.survey.fillerInfo' })}:
+
填写人信息:
- + - + - + - + - + - +
- {intl.formatMessage({ id: 'register.survey.questionnaire' })}: + 问卷:
{hasQuestions ? ( - ({ - surveyQuestionId: q.id, - replyValue: '', - }))} - > + {(fields, { add, remove }) => { - console.log('Form.List fields:', fields); + // 确保有足够的表单项对应每个问题 + if (fields.length < surveyQuestions.length) { + const diff = surveyQuestions.length - fields.length; + for (let i = 0; i < diff; i++) { + add(); + } + } return (
`survey_question_${index}`} + rowKey="id" dataSource={surveyQuestions} columns={[ { - title: intl.formatMessage({ id: 'register.form.table.no' }), + title: '序号', dataIndex: 'id', width: 60, align: 'center', render: (text, record, index) => index + 1, }, { - title: intl.formatMessage({ id: 'register.survey.question' }), + title: '问题', dataIndex: 'questionName', render: (text) =>
{text}
, }, { - title: intl.formatMessage({ id: 'register.survey.reply' }), + title: '回复', width: 650, - render: (_, record, index) => { - return ( - <> - - - {record.coscoSurveyQuestionOptionList && - record.coscoSurveyQuestionOptionList.length > 0 ? ( - - {record.coscoSurveyQuestionOptionList.map((option: any) => ( - - {option.optionName} - - ))} - - ) : ( - - )} - - - ); - }, + render: (_, record, index) => ( + <> + + + + {record.coscoSurveyQuestionOptionList?.map((option: any) => ( + + {option.optionName} + + ))} + + + + ), }, ]} /> @@ -644,10 +804,10 @@ export const SurveySection: React.FC = ({ form, surveyQuesti ) : (
- +
)} - + ); }; @@ -655,20 +815,19 @@ export const SurveySection: React.FC = ({ form, surveyQuesti * 供应商反商业贿赂承诺书和其他附件部分 */ export const AttachmentSection: React.FC = ({ form }) => { - const intl = useIntl(); return ( -
-
{intl.formatMessage({ id: 'register.form.section.commitment' })}
+ <> +
供应商反商业贿赂承诺书
- {intl.formatMessage({ id: 'register.attachment.stampUpload' })} + 请加盖公司公章后上传
@@ -690,43 +849,49 @@ export const AttachmentSection: React.FC = ({ form }) = > + + + + - { - if (fileList && fileList.length > 0) { - const file = fileList[0]; - if (file.status === 'done' && file.response) { - const response = file.response; - if (response && response.success) { - // 填充文件信息 - form.setFieldsValue({ - coscoSupplierSurveyAttachments: [ - { - ...form.getFieldValue([ - 'coscoSupplierSurveyAttachments', - field.name, - ]), - fileName: file.name, - fileType: file.type, - fileSize: file.size?.toString(), - filePath: response.filePath || response.url, - }, - ], - }); - message.success(`${file.name} 上传成功`); + rules={[{ required: true, message: '请上传已盖章的反商业贿赂承诺书' }]} + getValueFromEvent={(value) => { + 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) => { + return { + value: value?.length > 0 ? value[0]?.url : undefined, + }; + }} + > + @@ -738,13 +903,13 @@ export const AttachmentSection: React.FC = ({ form }) = -
{intl.formatMessage({ id: 'register.form.section.otherAttachments' })}
+
其他附件
{(fields, { add, remove }) => ( <> -
{intl.formatMessage({ id: 'register.attachment.otherAttachments.hint' })}
+
其他附件(非必须上传)
{fields.map((field, index) => (
= ({ form }) = }} > {index > 0 && ( + <> = ({ form }) = > + + + + )} {index > 0 && ( - - { - if (fileList && fileList.length > 0) { - const file = fileList[0]; - if (file.status === 'done' && file.response) { - const response = file.response; - if (response && response.success) { - // 填充文件信息 - const fieldValue = form.getFieldValue([ - 'coscoSupplierSurveyAttachments', - field.name, - ]); - form.setFieldsValue({ - coscoSupplierSurveyAttachments: [ - { - ...fieldValue, - fileName: file.name, - fileType: file.type, - fileSize: file.size?.toString(), - filePath: response.filePath || response.url, - }, - ], - }); - message.success(`${file.name} 上传成功`); + { + 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) => { + return { + value: value?.length > 0 ? value[0]?.url : undefined, + }; + }} + > + )} @@ -809,13 +982,13 @@ export const AttachmentSection: React.FC = ({ form }) = icon={} style={{ marginTop: 8 }} > - {intl.formatMessage({ id: 'register.attachment.addMore' })} + 添加更多附件 )} -
+ ); }; diff --git a/src/pages/register/supplier/DomesticForm.tsx b/src/pages/register/supplier/DomesticForm.tsx index 0765ecb..f721907 100644 --- a/src/pages/register/supplier/DomesticForm.tsx +++ b/src/pages/register/supplier/DomesticForm.tsx @@ -1,10 +1,11 @@ /* 境内企业/机构 表单项 */ -import React from 'react'; -import { Form, Input, Button, Select, DatePicker, Row, Col, message } from 'antd'; +import React, { useEffect, useState } from 'react'; +import { Form, Input, Button, Select, DatePicker, Row, Col, message, Space } from 'antd'; import { MobileOutlined, MailOutlined, EnvironmentOutlined } from '@ant-design/icons'; import { useIntl } from 'umi'; import FileUpload from '@/components/FileUpload'; import type { DictItem } from '@/servers/api/dict'; +import { getDictList } from '@/servers/api/dict'; /** * 引入通用表单组件 @@ -45,7 +46,32 @@ const DomesticForm: React.FC = ({ entTypeList, }) => { const intl = useIntl(); + // 企业类别 + const [companyTypeOptions, setCompanyTypeOptions] = useState([]); + // 联系人身份类别 + const [contactsTypeOptions, setContactsTypeOptions] = useState([]); + useEffect(() => { + // 设置供应商类型为境内企业 + form.setFieldsValue({ + coscoSupplierBase: { + ...form.getFieldValue('coscoSupplierBase'), + supplierType: 'dvs', + }, + }); + // 从字典中 联系人身份类别contacts_type 获取数据 + getDictList('contacts_type').then((res) => { + if (res.code === 200) { + setContactsTypeOptions(res.data); + } + }); + // 企业类别 + getDictList('enterprise_type').then((res) => { + if (res.code === 200) { + setCompanyTypeOptions(res.data); + } + }); + }, []); return ( <>
@@ -72,7 +98,7 @@ const DomesticForm: React.FC = ({ id: 'register.domestic.enterpriseType.placeholder', })} > - {entTypeList.map((item) => ( + {companyTypeOptions.map((item) => ( @@ -265,13 +291,36 @@ const DomesticForm: React.FC = ({
- - + + + + + + + + + @@ -352,7 +401,7 @@ const DomesticForm: React.FC = ({ placeholder={intl.formatMessage({ id: 'register.captcha.placeholder' })} addonAfter={ @@ -137,7 +147,7 @@ const ForeignForm: React.FC = ({ - +