2026-07-01 10:10:11 +08:00
|
|
|
import { Upload, Button } from "antd";
|
|
|
|
|
import { UploadOutlined } from "@ant-design/icons";
|
2026-06-30 17:32:29 +08:00
|
|
|
import { parseUploadFileList, resolveUploadFileId } from "~/utils/mockUpload";
|
|
|
|
|
|
|
|
|
|
export default function FilingUpload({
|
|
|
|
|
value,
|
|
|
|
|
onChange,
|
|
|
|
|
disabled,
|
|
|
|
|
maxCount = 1,
|
|
|
|
|
accept,
|
|
|
|
|
}) {
|
|
|
|
|
const fileList = Array.isArray(value) ? value : parseUploadFileList(value);
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Upload
|
|
|
|
|
maxCount={maxCount}
|
|
|
|
|
accept={accept}
|
|
|
|
|
disabled={disabled}
|
|
|
|
|
fileList={fileList}
|
2026-07-01 10:10:11 +08:00
|
|
|
beforeUpload={() => false}
|
|
|
|
|
onChange={(info) => {
|
|
|
|
|
if (disabled) return;
|
|
|
|
|
onChange?.(info.fileList);
|
2026-06-30 17:32:29 +08:00
|
|
|
}}
|
2026-07-01 10:10:11 +08:00
|
|
|
>
|
|
|
|
|
{(!fileList || fileList.length < maxCount) && (
|
|
|
|
|
<Button icon={<UploadOutlined />}>上传</Button>
|
|
|
|
|
)}
|
|
|
|
|
</Upload>
|
2026-06-30 17:32:29 +08:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function resolveFilingUploadUrl(files) {
|
|
|
|
|
return resolveUploadFileId(files);
|
|
|
|
|
}
|