公司信息 列表作废以及基本信息 营业执照
This commit is contained in:
@ -4,7 +4,7 @@ import { Form, Input, Select, Row, Col, message, Upload, Button } from 'antd';
|
||||
import type { UploadProps } from 'antd';
|
||||
import { UploadOutlined } from '@ant-design/icons';
|
||||
import { uploadFile } from '../services';
|
||||
|
||||
import type { UploadFile } from 'antd/es/upload/interface';
|
||||
import { getDictList } from '@/servers/api/dicts';
|
||||
import type { DictItem } from '@/servers/api/dicts';
|
||||
const { Option } = Select;
|
||||
@ -22,6 +22,8 @@ interface ForeignFormProps {
|
||||
const DomesticForm: React.FC<ForeignFormProps> = ({ form, countdown, handleGetCaptcha }) => {
|
||||
const [contactsType, setContactsType] = useState<DictItem[]>([]);
|
||||
const [enterpriseType, setEnterpriseType] = useState<DictItem[]>([]);
|
||||
//上传得图片
|
||||
const [licenceFileList, setLicenceFileList] = useState<UploadFile[]>([]);
|
||||
useEffect(() => {
|
||||
getDictList('contacts_type').then((res) => {
|
||||
if (res.code === 200) {
|
||||
@ -33,11 +35,26 @@ const DomesticForm: React.FC<ForeignFormProps> = ({ form, countdown, handleGetCa
|
||||
setEnterpriseType(res.data);
|
||||
}
|
||||
});
|
||||
const licenceAccessory = form.getFieldValue(['coscoSupplierBase', 'licenceAccessory']);
|
||||
if (licenceAccessory) {
|
||||
setLicenceFileList([{
|
||||
uid: '-1',
|
||||
name: '营业执照',
|
||||
status: 'done',
|
||||
url: licenceAccessory,
|
||||
thumbUrl: licenceAccessory,
|
||||
}]);
|
||||
} else {
|
||||
setLicenceFileList([]);
|
||||
}
|
||||
|
||||
}, [])
|
||||
//上传接口
|
||||
const uploadProps: UploadProps = {
|
||||
name: 'file',
|
||||
accept: 'image/*',
|
||||
fileList: licenceFileList,
|
||||
maxCount: 1,
|
||||
showUploadList: true,
|
||||
beforeUpload: (file) => {
|
||||
if (file.size > 1048576) { // 1MB
|
||||
@ -50,18 +67,39 @@ const DomesticForm: React.FC<ForeignFormProps> = ({ form, countdown, handleGetCa
|
||||
try {
|
||||
const realFile = file as File;
|
||||
const res = await uploadFile(realFile);
|
||||
const uploadedFile = {
|
||||
uid: res.fileSize,
|
||||
const uploadedFile: UploadFile = {
|
||||
uid: String(res.fileSize),
|
||||
name: res.fileName,
|
||||
status: 'done',
|
||||
url: res.url,
|
||||
thumbUrl: res.url,
|
||||
};
|
||||
setLicenceFileList([uploadedFile]);
|
||||
|
||||
// 让表单跟随
|
||||
form.setFieldsValue({
|
||||
coscoSupplierBase: {
|
||||
...form.getFieldValue('coscoSupplierBase'),
|
||||
licenceAccessoryD: [uploadedFile]
|
||||
}
|
||||
});
|
||||
|
||||
onSuccess?.(uploadedFile, new XMLHttpRequest())
|
||||
message.success('上传成功');
|
||||
} catch (err: any) {
|
||||
onError?.(err);
|
||||
message.error(err.message || '上传失败');
|
||||
}
|
||||
},
|
||||
onRemove: () => {
|
||||
setLicenceFileList([]);
|
||||
form.setFieldsValue({
|
||||
coscoSupplierBase: {
|
||||
...form.getFieldValue('coscoSupplierBase'),
|
||||
licenceAccessoryD: []
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
};
|
||||
return (
|
||||
@ -281,20 +319,26 @@ const DomesticForm: React.FC<ForeignFormProps> = ({ form, countdown, handleGetCa
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={24}>
|
||||
<Form.Item
|
||||
name={['coscoSupplierBase', 'licenceAccessoryD']}
|
||||
label="营业执照附件"
|
||||
rules={[{ required: true, message: '请上传营业执照' }]}
|
||||
getValueFromEvent={e => Array.isArray(e) ? e : e?.fileList}
|
||||
>
|
||||
<Upload {...uploadProps} maxCount={1} listType="picture-card" showUploadList={true}>
|
||||
<Form.Item
|
||||
name={['coscoSupplierBase', 'licenceAccessoryD']}
|
||||
label="营业执照附件"
|
||||
valuePropName="fileList"
|
||||
getValueFromEvent={e => Array.isArray(e) ? e : e?.fileList}
|
||||
rules={[{ required: true, message: '请上传营业执照' }]}
|
||||
>
|
||||
<Upload {...uploadProps}>
|
||||
{licenceFileList.length < 1 && (
|
||||
<Button icon={<UploadOutlined />}>上传文件</Button>
|
||||
</Upload>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
)}
|
||||
</Upload>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Form.Item name={['coscoSupplierBase', 'id']} noStyle>
|
||||
<Input type="hidden" />
|
||||
</Form.Item>
|
||||
<Form.Item name={['coscoSupplierBase', 'supplierType']} noStyle>
|
||||
<Input type="hidden" />
|
||||
</Form.Item>
|
||||
</Row>
|
||||
|
||||
</>
|
||||
|
Reference in New Issue
Block a user