tav-ui
Version:
183 lines (182 loc) • 5.63 kB
TypeScript
import type { Ref } from 'vue';
import type { FormActionType } from '../../form';
import type { BasicPropsType, FileItemType, ProvideDataType, Recordable } from './types';
declare class Handler {
private emit;
private _hyperlinkFormMethods;
private _props;
private _provide;
private set props(value);
private _params;
private _showTable;
private _refFileList;
private _uploadResponse;
private _refFileListPushEnd;
private _immediate;
private _controlInOuter;
private _fileFormatter;
/**
* newest typeCode
*/
private _typeCode;
private _isLoading;
private _dataSource;
currentTypeCodeIsHyperlink: Ref<boolean, boolean>;
private _paramsName;
private _paramsAddress;
private _apis;
currentUpload: Promise<any> | FileItemType[] | null;
get dataSource(): Ref<{
actualId?: string | undefined;
address: string;
appId?: number | undefined;
businessId?: string | undefined;
businessKey?: string | undefined;
createBy?: string | undefined;
createByName?: string | undefined;
createTime?: string | undefined;
deleted: number;
fileSize?: string | undefined;
fullName: string;
hyperlink?: number | undefined;
id?: number | undefined;
moduleCode?: string | undefined;
moduleId: number;
moduleName?: string | undefined;
name: string;
runtime?: number | undefined;
size: number;
sourceFileDownload?: number | undefined;
suffix: string;
type: number;
typeCode?: string | undefined;
typeName?: string | undefined;
version: number;
watermarkFileDownload?: number | undefined;
}[], FileItemType[] | {
actualId?: string | undefined;
address: string;
appId?: number | undefined;
businessId?: string | undefined;
businessKey?: string | undefined;
createBy?: string | undefined;
createByName?: string | undefined;
createTime?: string | undefined;
deleted: number;
fileSize?: string | undefined;
fullName: string;
hyperlink?: number | undefined;
id?: number | undefined;
moduleCode?: string | undefined;
moduleId: number;
moduleName?: string | undefined;
name: string;
runtime?: number | undefined;
size: number;
sourceFileDownload?: number | undefined;
suffix: string;
type: number;
typeCode?: string | undefined;
typeName?: string | undefined;
version: number;
watermarkFileDownload?: number | undefined;
}[]>;
get typeCode(): Ref<string | undefined, string | undefined>;
get loading(): Ref<boolean, boolean>;
get typeCodeRecord(): Recordable<import("./types").LabelValueOptions<any, any>>;
get apis(): ProvideDataType;
get getFileFormatter(): {
formatToApi: (files: FileItemType[]) => {
actualId: string;
moduleCode: string | undefined;
versionList: FileItemType[];
}[];
upadteVersion: (file: FileItemType) => void;
getFilesByActualId: (actualId: string) => FileItemType[] | undefined;
getBasicFileByActualId: (actualId: string) => FileItemType | undefined;
getNewestFileByActualId: (actualId: string) => FileItemType | undefined;
};
set paramsName(v: string);
set paramsAddress(v: string);
set uploadResponse(v: FileItemType[] | undefined);
/**
* 构造函数.
* @param props BasicPropsType
*/
constructor(props: BasicPropsType, instanceEmit: any);
/**
* 如多个文件正在上传或上传列表(变量)已清空 -> 不发请求
*/
private isInvalidRequest;
/**
* 提取文件真实id
*/
private getFileActualIds;
/**
* 返回编辑后的文件列表数据格式
* ```js
* [
* {
* moduleCode: "...",
* versionList: [
* file1,...
* ]
* }
* ]
* ```
* @returns
*/
getResult: () => {
actualId: string;
moduleCode: string | undefined;
versionList: FileItemType[];
}[];
getPropsOrProvide<T extends keyof BasicPropsType>(propName: T): BasicPropsType[T];
/**
* 将列表数据填到表格上
*/
fillDataSource: () => void;
/**
* 请求文件列表成功和上传成功时触发
* @param newRecord 新上传成功的文件
*/
private throwResponse;
/**
* 更新一条数据
* @param {Recordable} record
* @memberof Handler
**/
updateItem: (record: FileItemType, oldFileActualIds: string) => void;
/**
* 删除一条数据
* @param {Recordable} record 需要删除的文件信息
* @memberof Handler
*/
deleteItem: (record: Recordable) => void;
backfill(): Promise<void>;
/**
* 在弹窗关闭时调用
*/
clearResponse(): void;
/**
* 多个文件依次push到文件列表(变量)
* @param file 一个文件
*/
antBeforeUpload: (file: File) => false | undefined;
/**
* 将多个文件组合在一起发送上传请求
*/
customRequest: () => void;
private resetFileList;
/**
* 真正的上传请求
*/
private realUpload;
hyperlinkFormRegister: (methods: Partial<FormActionType>) => void;
/**
* 超链接上传
*/
hyperlinkUpload(): void;
preOpenChooseFile: (e: MouseEvent) => void;
}
export { Handler };