ab-plugin-aft @前端AFT类组件

# ab-plugin-aft @前端AFT类组件

1.引入

import { TENativeAft } from '@agree/ab-plugin-aft';

2.使用

# printPreviewXmlString --xml打印预览

支持柜面渠道

let xmlString = `<xml?XXXXXX>`;  //打印xml入参
let res = await AFT.printPreviewXmlString(xmlString);
  • 参数列表:
参数 类型 必填参数 默认值 说明
xmlString string x 打印xml字符串入参
  • 返回值: Object
参数 类型 说明
res.result string 预览页面的url

对应柜面原SDK: Printer.printPreviewXmlString(xmlString)


# printWordPreview --word打印预览

支持柜面渠道

let path = "d://test.docx";  //word文件路径 
let res = await AFT.printWordPreview(path);
  • 参数列表:
参数 类型 必填参数 默认值 说明
path string x word文件路径
  • 返回值: Object
参数 类型 说明
res.result string "true"

对应柜面原SDK: Printer.printWordPreview(path)


# printExcelPreview --excel打印预览

支持柜面渠道

let path = "d://test.xlsx"; //excel文件路径
let res = await AFT.printExcelPreview(path);
  • 参数列表:
参数 类型 必填参数 默认值 说明
path string x excel文件路径
  • 返回值: Object
参数 类型 说明
res.result string "true"

对应柜面原SDK: Printer.printExcelPreview(path)


# parseAft --解析aft文件

支持柜面渠道

let path = "www/test.aft";  //aft资源文件路径
let map = {
      account: "1,230.00",
      text: "test",
      namelist:[{
        name:'hg',
        sexual:'male',
        age:'29'
        },{
        name:'ly',
        sexual:'famle',
        age:'18'
        }],
      huangguan:['123','456'],
      male:['nan','nv','other']
    };   //映射mapping
let controlParam = {
      notRepeatPrintHeaderFooter: "6,10"
    };    //打印配置,详细请参考打印文件aft说明
let result = await AFT.parseAft(path, map, controlParam);
  • 参数列表:
参数 类型 必填参数 默认值 说明
path string x aft资源文件路径
map obj x 映射mapping
controlParam obj x 打印配置,详细请参考打印文件aft说明
  • 返回值: Object
参数 类型 说明
res.transferContent string 解析后的xml字符串
res.totalHeight string 解析后xml的高度

对应柜面原SDK: Printer.parseAft(path, map, controlParam)


# parseMultiPageAft --解析循环打印文件

支持柜面渠道

let path = "/www/FCClient/print/1/T00401017.aft"; //aft资源文件路径
let map = {
         ORG_NUM:"12",
         ORG_NO:"34",
         PRT_DT:"2019-09",
         data:{
           //[序号,扣款日期,待报解账户,批次号,证件号码,姓名,扣款账号,扣款金额,扣款结果]
           "tablePrintSerach_Id":[
           ["1","20200518","371342289","23023"],
           ["2","20200519","222222223","234023"],
           ["3","20200511","2122222313","23423"],
           ["4","20200512","2132222122","23423"],
           ["5","20200513","213222222","23"],
           ["6","20200514","213222214","2023"],
           ["7","20200515","2132222412","234223"],
           ["8","20200516","212222342","2343"],
           ["9","20200516","212222342","2343"],
           ["0","20200516","212222342","2343"]
           ]
         }
      }; //映射mapping
let para = {
        //控制分页有两种参数
        // notRepeatPrintHeaderFooter: "6,10",
        TableRowNumOfPage:"34",
        TableColWidth:["30","30","30","30"],
      }; //打印配置,详细请参考打印文件aft说明
let prtRes = await AFT.parseMultiPageAft(path, map, para);
  • 参数列表:
参数 类型 必填参数 默认值 说明
path string x aft资源文件路径
map obj x 映射mapping
para obj x 打印配置,详细请参考打印文件aft说明
  • 返回值: Object
参数 类型 说明
res.result array 解析后的xml字符串数组

对应柜面原SDK: Printer.parseMultiPageAft(path, map, para)


# combineAndClipAft --拼接并分割已解析好的aft字符串,合并多个利用ParseAftCommandHandler解析出的Xml字符串.根据参数切割并返回可供打印的xml字符串List

支持柜面渠道

let aftXmls = this.prtlist; //解析好的aft字符串List 必输
let gaps = ["2","2","2"];  //合并时每页面之间域的间距List 必输
let insertElemMarginTop = "15";  //insertXml插入新页时距离顶部的偏移量 undefined时视作0
let insertElemMarginBottom = "5"; //insertXml插入新页时底部距离下一field的偏移量,insertXml为空时可视作页面顶部偏移量 必输
let insertXml = this.head;  //每次换页时在头部插入的aft Xml String,可以为null
let clipThreshold = "250";   //切割切割限制,合并时位置超出此高度的域会被加入下页的大小
let result = await AFT.combineAndClipAft(aftXmls, gaps, insertElemMarginTop, insertElemMarginBottom, insertXml, clipThreshold);
  • 参数列表:
参数 类型 必填参数 默认值 说明
aftXmls list x 解析好的aft字符串List
gaps list x 合并时每页面之间域的间距List
insertElemMarginTop string x x insertXml插入新页时距离顶部的偏移量
insertElemMarginBottom string x insertXml插入新页时底部距离下一field的偏移量
insertXml string x x 每次换页时在头部插入的aft
clipThreshold string x 切割切割限制,合并时位置超出此高度的域会被加入下页的大小
  • 返回值: Object
参数 类型 说明
res.result array 解析后的xml字符串数组

对应柜面原SDK: Printer.combineAndClipAft(aftXmls, gaps, insertElemMarginTop, insertElemMarginBottom, insertXml, clipThreshold)


# combineAftWithHeadAndTail --拼接Aft包含头和尾

支持柜面渠道

let head =this.head;  //解析后的xml字符串
let tail =this.tail;  //解析后的xml字符串
let aftXmls = this.prtlist;  //解析后的xml字符串数组
let offsets = [["10", "0"], ["10", "0"], ["10", "0"]]; 
let pageTop = "10.0";
let pageBottom = "10.0";
let gap = "10.0";
let result = await AFT.combineAftWithHeadAndTail(aftXmls,head,tail,offsets,pageTop,pageBottom,gap);
  • 参数列表:
参数 类型 必填参数 默认值 说明
aftXmls list x 解析后的xml字符串数组
head string x 解析后的xml字符串
tail string x 解析后的xml字符串
offsets array x insertXml插入新页时底部距离下一field的偏移量
pageTop string x 距离头部的距离
pageBottom string x 距离底部的距离
gap string x 暂时未知
  • 返回值: Object
参数 类型 说明
res.result array 解析后的xml字符串数组

对应柜面原SDK: Printer.combineAftWithHeadAndTail(aftXmls,head,tail,offsets,pageTop,pageBottom,gap)


# combineAft --拼接Aft字符串

支持柜面渠道

let aftPaths =["/www/FCClient/print/1/T00401017.aft","/www/FCClient/print/1/T00401018.aft"]; //aft资源文件路径数组
let mapping ={ 
    ORG_NUM:"12",
    ORG_NO:"34",
    PRT_DT:"2019-09"}; //映射mapping
let controlParams ={ 
    //控制分页有两种参数
    // notRepeatPrintHeaderFooter: "6,10",
    TableRowNumOfPage:"34",
    TableColWidth:["30","30","30","30"]}; //打印配置,详细请参考打印文件aft说明
let bodyOffsetTop = "10";
let tailOffsetTop = "10";
let res = await AFT.combineAft(aftPaths,mapping,controlParams,bodyOffsetTop,tailOffsetTop);

  • 参数列表:
参数 类型 必填参数 默认值 说明
aftPaths array x aft资源文件路径数组
mapping map x 映射mapping
controlParams map x 打印配置,详细请参考打印文件aft说明
bodyOffsetTop string x body距离头部的距离
tailOffsetTop string x 底部到头部的距离
  • 返回值: Object
参数 类型 说明
res.result string 解析后的xml字符串

对应柜面原SDK: Printer.combineAft(aftPaths,mapping,controlParams,bodyOffsetTop,tailOffsetTop)


# aftToPdf --aft转换为pdf (壳子无相应支持,勿调用!)

支持柜面渠道(壳子无相应支持,勿调用!)

let aftPath ="D://test.aft";  //aft文件路径 相对路径      
let pdfPath ="D://test.pdf";  //pdf文件路径 绝对路径
let mapping = {ORG_NUM:"12",ORG_NO:"34",PRT_DT:"2019-09"}; //所有文本框的赋值
let controlParams ={ //控制分页有两种参数
        // notRepeatPrintHeaderFooter: "6,10",
        TableRowNumOfPage:"34",
        TableColWidth:["30","30","30","30"]}; //打印配置,详细请参考打印文件aft说明
let waterMarkName = ""; //水印值
let font = "";  //水印字体大小
let res = await AFT.aftToPdf(aftPath,pdfPath,mapping,controlParams,waterMarkName,font)
参数 类型 必填参数 默认值 说明
aftPath any x aft文件路径
pdfPath any x pdf文件路径
mapping any x 所有文本框的赋值
controlParams any x 打印配置,详细请参考打印文件aft说明
waterMarkName any x 水印值
font any x 水印字体大小
  • 返回值: Object
参数 类型 说明
res.result string 暂时未知

对应柜面原SDK: Printer.aftToPdf(aftPath,pdfPath,mapping,controlParams,waterMarkName,font)


# looperAftToPdf --循环打印PDF(壳子无相应支持,勿调用!)

支持柜面渠道(壳子无相应支持,勿调用!)

let aftPath ="D://test.aft";  //aft文件路径 相对路径      
let pdfPath ="D://test.pdf";  //pdf文件路径 绝对路径
let jointString ="";  //一页中aft的数量,false确认一页一个
let mapping = {ORG_NUM:"12",ORG_NO:"34",PRT_DT:"2019-09"}; //所有文本框的赋值
let controlParams ={ //控制分页有两种参数
        // notRepeatPrintHeaderFooter: "6,10",
        TableRowNumOfPage:"34",
        TableColWidth:["30","30","30","30"]}; //打印配置,详细请参考打印文件aft说明
let waterMarkName = ""; //水印值
let font = "";  //水印字体大小
let res = await AFT.looperAftToPdf(aftPath,pdfPath,jointString,mapping,controlParams,waterMarkName,font)
参数 类型 必填参数 默认值 说明
aftPath any x aft文件路径
pdfPath any x pdf文件路径
jointString any x 一页中aft的数量,false确认一页一个
mapping any x 所有文本框的赋值
controlParams any x 打印配置,详细请参考打印文件aft说明
waterMarkName any x 水印值
font any x 水印字体大小
  • 返回值: Object
参数 类型 说明
res.result string 暂时未知

对应柜面原SDK: Printer.looperAftToPdf(aftPath,pdfPath,jointString,mapping,controlParams,waterMarkName,font)


# selectDirector --选择文件夹目录(壳子无相应支持,勿调用!)

支持柜面渠道(壳子无相应支持,勿调用!)

let mkdirOrGet = ""; //文件夹目录判断变量 mkdir 打开弹窗 get 返回路径
let result = await AFT.selectDirector(mkdirOrGet)
参数 类型 必填参数 默认值 说明
mkdirOrGet string x 文件夹目录判断变量
  • 返回值: Object
参数 类型 说明
res.result string 暂时未知

对应柜面原SDK: Printer.selectDirector(mkdirOrGet)


# concatAft --合并aft(壳子无相应支持,勿调用!)

支持柜面渠道(壳子无相应支持,勿调用!)

let aftList =["/www/FCClient/print/1/T00401017.aft","/www/FCClient/print/1/T00401018.aft"];  //所有aft文件路径 相对路径
let pdfString ="D://test.pdf";  //pdf文件路径 绝对路径
let mapping = {ORG_NUM:"12",ORG_NO:"34",PRT_DT:"2019-09"}; //所以文本框的赋值 list<map>
let controlParams = { //控制分页有两种参数
        // notRepeatPrintHeaderFooter: "6,10",
        TableRowNumOfPage:"34",
        TableColWidth:["30","30","30","30"]}; //打印配置,详细请参考打印文件aft说明
let waterMarkName = "";  //水印值
let font = "";  //水印字体大小
let result = await AFT.concatAft(aftList,pdfString,mapping,controlParams,waterMarkName,font)
参数 类型 必填参数 默认值 说明
aftList list x 所有aft文件路径
pdfString string x pdf文件路径
mapping map x 所有文本框的赋值
controlParams map x 打印配置,详细请参考打印文件aft说明
waterMarkName string x 水印值
font string x 水印字体大小
  • 返回值: Object
参数 类型 说明
res.result string 暂时未知

对应柜面原SDK: Printer.concatAft(aftList,pdfString,mapping,controlParams,waterMarkName,font)


# looperAddPicture --AFT中按需求添加图片(壳子无相应支持,勿调用!)

支持柜面渠道(壳子无相应支持,勿调用!)

let aftPath = "D://test.aft"; //本体表单的aft路径,图片的aft路径
let pdfPath = "D://test.pdf"; //pdf文件路径 绝对路径
let mapping = {ORG_NUM:"12",ORG_NO:"34",PRT_DT:"2019-09"}; //所有文本框的赋值 list<map>
let ImgSrcKey = ""; //图片src的值
let controlParams = { //控制分页有两种参数
        // notRepeatPrintHeaderFooter: "6,10",
        TableRowNumOfPage:"34",
        TableColWidth:["30","30","30","30"]}; //Map<String, Object>
let waterMarkName = ""; //水印值
let font = ""; //水印字体大小
let result = await AFT.looperAddPicture(aftPath,pdfPath,mapping,ImgSrcKey,controlParams,waterMarkName,font)
参数 类型 必填参数 默认值 说明
aftPath list x 本体表单的aft路径,图片的aft路径
pdfPath string x pdf文件路径
mapping map x 所有文本框的赋值
ImgSrcKey map x 图片src的值
controlParams map x 打印配置,详细请参考打印文件aft说明
waterMarkName string x 水印值
font string x 水印字体大小
  • 返回值: Object
参数 类型 说明
res.result string 暂时未知

对应柜面原SDK: Printer.looperAddPicture(aftPath,pdfPath,mapping,ImgSrcKey,controlParams,waterMarkName,font)


# printTable --通用表格打印(不带线)

支持柜面渠道

let dataList = [
["柜员号", "身份证号码", "柜员类型", "库管员标志", "现金业务类型"],
["002001", "371481198303070032", "A", "N-否", "Y-是"],
["002002", "371481198303070032", "1-一般柜员", "Y-是", "Y-是"]
]; //表格数据
let encoding = "GBK"; //字符编码
let separator = "  ";  //单元要素分隔符
let columnLenList = ""; //单元格宽度List
let endWithSeparator = "*"; //结束符
let flushRight = true; //是否右对齐 是true 否false
let maxLength = 100; //单行最大长度
let data = "hello world"; //额外要素内容
let result = await AFT.printTable(dataList,encoding,separator,columnLenList,endWithSeparator,flushRight,maxLength,data);
参数 类型 必填参数 默认值 说明
dataList list x 表格数据
encoding string x 字符编码
separator string x 单元要素分隔符
columnLenList string x 单元格宽度List
endWithSeparator string x 结束符
flushRight bollean x 是否右对齐
maxLength number x 单行最大长度
data string x 额外要素内容
  • 返回值: Object
参数 类型 说明
res.result string 解析后的xml字符串

对应柜面原SDK: Printer.printTable(dataList, encoding, separator, columnLenList, endWithSeparator, flushRight, maxLength, data)


# printTableWithLine --通用表格打印(带线)

支持柜面渠道

let path = "www/table.aft"; //通用aft路径
let map = {
    TranNm: "我是表头!",
    _printDate_: "打印时间!",
    BrahNum: "打印机构!",
    PRT_CZY: "操作员",
    PRT_SQY: "授权员",
    PRT_FHY: "复核员"
    }; //数据映射关系
let data = [
    ["第一行第一列", "第一行第二列","第一行第三列","第一行第四列"],
    ["第二行第一列", "第二行第二列"]
    ]; //表格数据
let colWidth = 50; //单元格宽度
let controlParam = {
    TableColWidth: "true"
    }; //配置参数
let result = await AFT.printTableWithLine(path,map,data,colWidth,controlParam);
参数 类型 必填参数 默认值 说明
path list x 通用aft路径
map string x 数据映射关系
data string x 表格数据
colWidth string x 单元格宽度
controlParam string x 配置参数
  • 返回值: Object
参数 类型 说明
res.result array 解析后的xml字符串数组

对应柜面原SDK: Printer.printTableWithLine(path,map,data,colWidth,controlParam)


Last Updated: 2022/4/15 下午5:07:24