/// import { IChosenFieldField, IChosenFieldFieldEvents } from '@/components/chose-field/types'; import { FieldProps } from 'choerodon-ui/pro/lib/data-set/Field'; import { SelectProps } from 'choerodon-ui/pro/lib/select/Select'; import { DatePickerProps } from 'choerodon-ui/pro/lib/date-picker/DatePicker'; import { DataSet } from 'choerodon-ui/pro'; import { ButtonProps } from 'choerodon-ui/pro/lib/button/Button'; import { CheckBoxProps } from 'choerodon-ui/pro/lib/check-box/CheckBox'; import { ITableColumnCheckBoxesDataProps, ITableColumnCheckBoxesOptionData } from '@/components/table-column-check-boxes'; import { OptionProps } from 'choerodon-ui/lib/select'; interface EventsProps extends IChosenFieldFieldEvents { loadRecordAxios?: (store: IssueExportStore) => Promise; /** 查询导出记录 */ exportBefore?: (data: any) => any; /** 导出前对数据转换 */ exportAxios?: (searchData: any, fieldSort: string | undefined) => Promise; /** 导出 */ } interface IDownLoadInfo { id: string | null; fileUrl: string | null; creationDate: string | null; lastUpdateDate: string | null; } interface IssueExportStoreProps { dataSetSystemFields?: FieldProps[]; /** dataSet 数据管理 系统字段配置 */ defaultCheckedExportFields?: string[]; /** 默认选中导出字段 */ defaultInitOptions?: (data: { options: Array; checkedOptions: string[]; dataSet: DataSet; }) => Array<{ label: string; value: string; checkBoxProps?: CheckBoxProps; }> | void; /** 初始化选择字段的字段选项时调用 当返回空时则不进行选项覆盖 */ defaultInitFieldAction?: (data: IChosenFieldField, store: IssueExportStore) => IChosenFieldField | false | undefined | void; /** 初始化字段时调用,当返回值不为IChosenFieldField 则跳过此字段 */ defaultInitFieldFinishAction?: (data: { customFields: IChosenFieldField[]; systemFields: IChosenFieldField[]; currentChosenField: Map; }, store: IssueExportStore) => void; /** 初始化字段完成时调用 */ transformSystemFilter?: (data: any) => any; /** 提交数据前 对系统筛选字段数据转换 */ transformExportFieldCodes?: (data: Array, otherData: ITableColumnCheckBoxesDataProps) => Array; /** 提交数据 对系统导出字段数据转换 */ reverseTransformExportFieldCodes?: (data: Array) => Array; events?: EventsProps; renderField?: (field: IChosenFieldField, otherComponentProps: Partial | Partial, { dataSet }: { dataSet: DataSet; }) => React.ReactElement | false | null; /** 系统筛选字段项渲染 */ extraFields?: IChosenFieldField[]; /** 额外的筛选字段项 不在下拉菜单中 */ exportButtonConfig?: { component?: React.ReactElement | ((exportEvent: (() => void)) => React.ReactElement); buttonProps?: Partial; buttonChildren?: any; }; checkboxOptionsExtraConfig?: Map; } export { IssueExportStoreProps }; declare class IssueExportStore { dataSetSystemFields: FieldProps[]; transformSystemFilter: (data: any) => object; transformExportFieldCodes: (data: any, d2: any) => string[]; reverseTransformExportFieldCodes: (data: string[]) => string[]; events: EventsProps; defaultCheckedExportFields: string[]; defaultInitFieldAction: any; defaultInitFieldFinishAction: any; defaultExportBefore: (data: any) => any; defaultInitOptions: (data: any) => void; renderField: any; exportButtonConfig: IssueExportStoreProps['exportButtonConfig']; checkboxOptionsExtraConfig: IssueExportStoreProps['checkboxOptionsExtraConfig']; innerState: import("mobx").ObservableMap; extraFields: IChosenFieldField[]; setDefaultCheckedExportFields(data: any): void; constructor(props?: IssueExportStoreProps); downloadInfo: IDownLoadInfo; exportBtnHidden: boolean; currentChosenFields: import("mobx").ObservableMap; setState(key: string, value: any): void; getState(key: string): any; setDownloadInfo(data: IDownLoadInfo): void; addExtraField(data: IChosenFieldField): void; get getExtraFields(): IChosenFieldField[]; setExportBtnHidden(data: boolean): void; get getDownloadInfo(): IDownLoadInfo; setDefaultCurrentChosenFields(dataArr: IChosenFieldField[]): void; get getCurrentChosenFieldsArr(): IChosenFieldField[]; initField(field: IChosenFieldField): IChosenFieldField | false; initFieldFinish(customFields: IChosenFieldField[], systemFields: IChosenFieldField[], currentChosenField: Map): IChosenFieldField | false; initChosenField(field: IChosenFieldField): IChosenFieldField | false; exportBefore(data: T): T; exportAxios(searchData: any, fieldSort: string | undefined): Promise; loadRecordAxios(store: IssueExportStore): Promise; } export default IssueExportStore;