@icreate/ics-chromely-plugin-report-js-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.0.10 • Public • Published

Usage

npm i @icreate/ics-chromely-plugin-report-js-sdk

Features

0.0.9-beta.1 注册数据源时允许指定字段类型
0.0.9 优化和完善导出pdf流
0.0.8-beta.1 增加导出pdf流示例
0.0.8 增加导出pdf流支持
0.0.7 修复打印和准备打印方法调用不传打印机名称时使用默认打印机
0.0.6 修改print和printPrepared的printerName允许为空
0.0.5 增加打印准备报表printPrepared
0.0.4 增加预览准备报表showPrepared
0.0.3  将注册数据源数据转为为json字符串
  • ReportHelper:报表

Importing library

You can import the generated bundle to use the whole library generated by this starter:

import ReportHelper from '@icreate/ics-chromely-plugin-report-js-sdk'

ReportHelper

  // 指定文件加载报表
   load(fileName: string): Promise<any> 
  // 根据Id加载报表
   loadFromId(reportId: string): Promise<any> 
 // 清空数据源
   clearData(): Promise<any> 
  // 注册数据源
   registerData(name: string, data: Array<any>): Promise<any>
  // 设置双面打印
   doublePass(value: Boolean): Promise<any>
  // 准备报表
   prepare(append: Boolean): Promise<any>
  // 添加参数
   addParameter(name: string, value: string): Promise<any>
  // 设计报表
   design(): Promise<any> 
  // 预览报表
   show(): Promise<any>
  // 预览准备报表
   showPrepared(): Promise<any>
  // 打印报表
   print(printerName?: string): Promise<any>
  // 打印准备报表
   printPrepared(printerName?: string): Promise<any>
  //  导出pdf:文件名称,如果不传则返回流
   ExportToPdf(fileName: string): Promise<any> 
  //  导出html
   exportToHtml(fileName: string): Promise<any> 
  // 释放报表
   dispose(): Promise<any>

一般设计打印示例

  const reportHelper = new ReportHelper()
  await reportHelper.clearData()
  await reportHelper.load('xxxx.frx')
  await reportHelper.registerData('患者基本信息',[{ id:"1",name:"张三"}])
  await reportHelper.design() //设计报表
  await reportHelper.show() //预览报表
  await reportHelper.print() //打印报表

指定字段类型示例

  const reportHelper = new ReportHelper()
  await reportHelper.clearData()
  await reportHelper.load('xxxx.frx')
  //指定数据源中字段对应的类型,{id:"string",name:"string", birthday: "date"}
  //可指定 string|bool|date|datetime|decimal|double|float|int|long|object|short
  //格式: {"id":"string","flag":"int","birthday":"date","total":"decimal"}
  await reportHelper.registerData('患者基本信息',[{ id:"1",name:"张三",birthday:"1988-05-26"}],{id:"string",name:"string", birthday: "date"})
  await reportHelper.design() //设计报表
  await reportHelper.show() //预览报表
  await reportHelper.print() //打印报表

字段类型说明

类型 描述 范围 默认值
bool 布尔值 True 或 False FALSE
byte 8 位无符号整数 0 到 255 0
char 16 位 Unicode 字符 U +0000 到 U +ffff '\0'
decimal 128 位精确的十进制值,28-29 有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M
double 64 位双精度浮点型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D
float 32 位单精度浮点型 -3.4 x 1038 到 + 3.4 x 1038 0.0F
int 32 位有符号整数类型 -2,147,483,648 到 2,147,483,647 0
long 64 位有符号整数类型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
sbyte 8 位有符号整数类型 -128 到 127 0
short 16 位有符号整数类型 -32,768 到 32,767 0
uint 32 位无符号整数类型 0 到 4,294,967,295 0
ulong 64 位无符号整数类型 0 到 18,446,744,073,709,551,615 0
ushort 16 位无符号整数类型 0 到 65,535 0
date 日期 0001/1/1 00:00:00到9999/12/31 00:00:00之间 0001/1/1 0:00:00
datetime 日期时间 0001/1/1 00:00:00到9999/12/31 23:59:59之间 0001/1/1 0:00:00

合并打印示例

  const reportHelper = new ReportHelper()
  //加载报表1
  await reportHelper.clearData()
  await reportHelper.load('xxxx.frx')
  await reportHelper.registerData('患者基本信息',[{ id:"1",name:"张三"}])
  await reportHelper.prepare(false)
  //加载报表2
  await reportHelper.clearData()
  await reportHelper.load('xxxx.frx')
  await reportHelper.registerData('患者基本信息',[{ id:"1",name:"李四"}])
  await reportHelper.prepare(true)
  await reportHelper.showPrepared() //预览准备报表
  await reportHelper.printPrepared() //打印准备报表

导出pdf流示例

  const reportHelper = new ReportHelper()
  await reportHelper.clearData()
  await reportHelper.load('xxxx.frx')
  await reportHelper.registerData('患者基本信息', [
    { id: '1', name: '张三' }
  ])
  await reportHelper.prepare(true)
  const blob = await reportHelper.ExportToPdf() // 设计报表
  //直接使用blob展示[vue-pdf-embed](https://github.com/hrynko/vue-pdf-embed)  
  const source = await blob.arrayBuffer()
  console.log(source, 'arrayBuffer')
  //生成pdf内存url
  const source = URL.createObjectURL(blob)
  console.log(source, 'url')

Readme

Keywords

none

Package Sidebar

Install

npm i @icreate/ics-chromely-plugin-report-js-sdk

Weekly Downloads

1

Version

0.0.10

License

MIT

Unpacked Size

54.5 kB

Total Files

13

Last publish

Collaborators

  • xyzhang59
  • liqing1014
  • zhangmenglei
  • zer001
  • jiangbing
  • zhu_enrui
  • flown
  • liuzk
  • hanmeng_mon
  • yujian01
  • z5y
  • dingwei1
  • restlife1994
  • c_zhu
  • wenbei