UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

121 lines (120 loc) 3.59 kB
import React from 'react'; import { Api } from '../../../../types'; import { FormInstance } from 'antd/es/form'; import { RendererEnv } from '../../../../env'; import { LabelData, PrinterParam, Template } from '../type'; declare type SelectOptions = { optionName: string; optionValue: string; }[]; interface LabelPrintProps { defValAddApi: Api; defValDelApi: Api; defValGetApi: Api; labelDataApi: Api; templateApi: Api; callbackApi: any; numberField?: string[]; 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; remark?: React.ReactNode; isRow?: boolean; query?: any; filterKey?: string; [key: string]: any; printers: string[]; baseUrl: string; modalContainer?: () => HTMLElement; popupContainer?: () => HTMLElement; } interface LabelPrintState { templateInputShow: boolean; templateInputValue: string; templateSelectValue: string | number; printConfigs: PrintConfig[]; templateInfos: Template[]; typeOptions: SelectOptions; operateOptions: SelectOptions; showEmpty: boolean; previewLoading: boolean; } interface PrintConfig { caption: string; printer: string; pageSize: string; templateId: string; direction: 0 | 1; width: number; height: number; topMargin: number; bottomMargin: number; leftMargin: number; rightMargin: number; rowSpacing: number; colSpacing: number; horArrange: 0 | 1; } interface LabelPrintFormValues { printer: string; label: string; range: number; startPage: number; endPage: number; /** 纵向/横向 */ direction: 0 | 1; /** 全部数据/选中数据 */ content: 0 | 1; pageSize: string; pageWidth: number; pageHeight: number; marginTop: number; marginBottom: number; marginLeft: number; marginRight: number; rowSpacing: number; colSpacing: number; /** 排列 */ repeat: 0 | 1; /** 打印份数 */ count: number; type: string; operate: string; } export default class LabelPrint extends React.Component<LabelPrintProps, LabelPrintState> { formRef: React.RefObject<FormInstance<LabelPrintFormValues>>; cacheLabelData?: LabelData; constructor(props: LabelPrintProps); componentDidMount(): Promise<void>; getTemplateInfos(): Promise<Template[]>; getPrintConfigs(): Promise<PrintConfig[]>; setPrintConfig(value: string | number): void; addPrintConfig(): Promise<void>; deletePrintConfig(value: string | number): void; savePrintInfo(): void; handleClose(e: MouseEvent): void; handleAddInput(): void; getLabelPrintData(isAll: boolean): Promise<LabelData | null | undefined>; arrangeData(labelPrintData: LabelData): Promise<{ handlePrintData: any[]; previewData: { [key: string]: any; }[]; templateInfo: Template | undefined; }>; private showModalTip; handleLabelPrint(preview: boolean): Promise<void>; callLabelPreview(templateContent: string, printData: any, printerParam: PrinterParam, countOfPage: number, countOfColumn: number): void; render(): JSX.Element; } export {};