fastlion-amis
Version:
一种MIS页面生成工具
58 lines (57 loc) • 1.71 kB
TypeScript
import React from "react";
import { Api } from '../../../../types';
import { RendererEnv } from '../../../../env';
import { FormInstance } from "antd/es/form";
import { Template, LabelData } from '../type';
interface BillPrintProps {
labelDataApi: Api;
templateApi: Api;
callbackApi?: any;
labelId?: string;
env: RendererEnv;
classnames: (...args: any[]) => string;
ctx: {
items: Array<any>;
rows: Array<any>;
selectedItems: Array<any>;
unSelectedItems: Array<any>;
ids: string;
primaryField?: string;
[key: string]: any;
};
onHide: (e?: any) => void;
isRow?: boolean;
query?: any;
filterKey?: string;
[key: string]: any;
printers: string[];
baseUrl: string;
modalContainer?: () => HTMLElement;
popupContainer?: () => HTMLElement;
}
interface BillPrintState {
previewLoading: boolean;
templates: Template[];
}
interface BillPrintFormValues {
printer: string;
label: string;
/** 纵向/横向 */
direction: 0 | 1;
/** 打印份数 */
count: number;
}
export default class BillPrint extends React.Component<BillPrintProps, BillPrintState> {
formRef: React.RefObject<FormInstance<BillPrintFormValues>>;
cacheLabelData?: LabelData;
constructor(props: BillPrintProps);
componentDidMount(): Promise<void>;
componentWillUnmount(): void;
getTemplates(): Promise<Template[]>;
getLabelData(): Promise<LabelData | null | undefined>;
handleBillPreview(): Promise<void>;
handleBillPrint(): Promise<void>;
savePrintInfo(): void;
render(): JSX.Element;
}
export {};