declare module 'yh-hiprint'; /** JQuery 简化dom操作的库 */ export declare const jquery: JQuery; /** hiprint 字体大小配置 */ export declare const fontSize; /** hiprint 缩放配置 */ export declare const scale; /** hiprint 层级配置 */ export declare const zIndex; /** hiprint 侧边栏配置 */ export declare const panel; export declare const defaultElementTypeProvider: (options: any) => { addElementTypes: (context) => void; }; export declare const print; export declare const print2; export declare const usePaper; /** * 打印组件的缩放 * @param callback 每次缩放后都会执行的回调函数 */ export declare const useScale: (callback: () => void) => { /** 当前缩放值 */ scaleValue: Ref; /** 当前百分比展示字符串 */ scalePercentage: ComputedRef; /** 当前是否能缩小 */ canZoomIn: ComputedRef; /** 当前是否能放大 */ canZoomOut: ComputedRef; /** 缩小 */ zoomIn: () => void; /** 放大 */ zoomOut: () => void; }; /** * 打印组件数据源 * @param axios 系统中的请求实体 `src/libs/api.request.js` */ export declare const useDataSource: (axios) => { detailData: Ref; getDetail: (id) => void; listCode: Ref; dataSourceList: Ref; listColumns: ComputedRef; formCode: Ref; formColumns: ComputedRef; dataSourceForm: Ref; codeMapDataSource: Ref; getDataSourceList: () => void; dataSource: Ref; }; export declare interface HiprintOption { code: string; params: Object; data: Record | Record[]; isCustom: boolean; } //#region Hiprint 类型文件 /** 打印元素唯一标识 */ type Tid = string; export interface Field { field: string; text: string; } export interface TextPrintElementType { printElementType: { tid: Tid; title: string; field: string; data: string; formatter: (title,value,options,templateData,target) => string; styler: (value,options,target,templateData,) => CSSStyleDeclaration; onRendered: (target,options,paperTarget) => void; fields: Field[], }, options: { /** * 标题 * field 存在则 */ title: string; /** 字段名称,从数据源获取数据的属性名称 */ field: string; /** 测试数据 设计时使用 */ testData: string; /** 字体名称 */ fontFamily: string; /** 字体大小 */ fontSize: string; /** 字体粗细 */ fontWeight: string; /** 字体间距 */ letterSpacing: number; /** 字体颜色 */ color: string; /** 文本描述 */ textDecoration: string; /** 文字水平对齐 */ textAlign: 'left'|'center'|'right'; /** 行高 数字带单位 例如 18pt */ lineHeight: string; /** * 文本类型 * text - 纯文本 * barcode - 条形码 * qrcode - 二维码 */ textType: 'text' | 'barcode' | 'qrcode'; /** 条形码格式 */ barcodeMode: string; /** 因此标题 */ hideTitle: boolean; /** * 页眉/页脚/固定定位等元素显示规则 * first - 首页显示 * odd - 奇数页显示 */ showInPage: 'first' | 'odd' | 'even' | 'last'; /** 固定定位 */ fixed: boolean; /** 打印设计时拖拽方向 */ axis: 'v' | 'h'; /** 旋转角度 */ transform: number; } } export interface ImagePrintElementType { printElementType: { tid: string; field: string; data: string; formatter: () => void; styler: () => void; onRendered: () => void; fields: Field[]; }, options: { title: string; field: string; src: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface HlinePrintElementType { printElementType: { tid: string; onRendered: () => void; }, options: { borderColor: string; borderWidth: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface VlinePrintElementType { printElementType: { tid: string; onRendered: () => void; }, options: { borderColor: string; borderWidth: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface RectPrintElementType { printElementType: { tid: string; onRendered: () => void; }, options: { borderColor: string; borderWidth: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface OvalPrintElementType { printElementType: { tid: string; onRendered: () => void; }, options: { borderColor: string; borderWidth: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface HlinePrintElementType { printElementType: { tid: string; onRendered: () => void; }, options: { borderColor: string; borderWidth: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } export interface TableColumn { width: number; title: string; field: string; fixed: boolean; rowspan: number; colspan: number; align: string; halign: string; formater: () => void; styler: () => void; } export interface TablePrintElementType { printElementType: { tid: string; title: string; field: string; columns: TableColumn[] styler: () => void; rowStyler: () => void; formatter: () => void; groupFields: any[]; groupFormatter: () => void; fotterFormatter: () => void; gridColumnsFooterFormatter: () => void; groupFooterFormatter: () => void; onRendered: () => void; fields: Field[]; }, options: { field: string; fontFamily: string; fontSize: number; lineHeight: number; textAlign: 'left'|'center'|'right'; tableBorder: 'noBorder' | 'border'; tableHeaderBorder: 'noBorder'|'border'|'topBorder'|'bottomBorder'|'topBottomBorder'; tableHeaderCellBorder: 'noBorder'|'border'; tableHeaderRowHeight: number; tableHeaderBackground: string; tableHeaderFontSize: number; tableHeaderFontWeight: string; tableBodyCellBorder: string; tableBodyRowBorder: string; tableBodyRowHeight: number; axis: 'v' | 'h'; lHeight: number; } } export interface LongTextPrintElementType { printElementType: { tid: string; title: string; field: string; data: string; formatter: () => void; styler: () => void; onRendered: () => void; fields: Field[]; }, options: { title: string; field: string; testData: string; fontFamily: string; fontSize: number; fontWeight: string; letterSpacing: number; color: string; textDecoration: string; textAlign: string; lineHeight: number; hideTitle: boolean; longTextIndent: number; showInPage: string; fixed: boolean; leftSpaceRemoved: boolean; axis: string; lHeight: number; transform: number; } } export interface HTMLPrintElementType { printElementType: { tid: string; title: string; field: string; data: string; formatter: () => void; styler: () => void; onRendered: () => void; }, options: { title: string; field: string; testData: string; fontFamily: string; showInPage: string; fixed: boolean; axis: string; transform: number; } } /** Hiprint 打印面板对象 */ export interface PrintPanel { addPrintText: (options?) => void; addPrintLongText: () => void; } /** Hprint 打印面板创建配置对象 */ export interface PrintPanelOptions { /** 宽度 */ width: number; /** 高度 */ height: number; /** 页脚高度 */ paperFotter: number; /** 页眉高度 */ paperHeader: number; } export interface PrintTemplateData { } export interface PrintTemplateOptions { template: PrintTemplateData } export interface PrintTemplate { addPrintPanel:(options:PrintPanelOptions) => void; design: () => void; } export declare const hiprint = { /** 初始化 Hiprint */ init:() => viod, /** 创建打印模板对象 */ PrintTemplate: { new (options: PrintTemplateOptions): PrintTemplate; } } //#endregion