Web扩展功能安装使用说明

打天下对接说明

  1. PrintWorld.rar解压。

  2. 复制两个文件:functions.js,PrintWorld.js到软件安装目录SSSoft\WEB\MyWeb

  3. 记事本打开SSSoft\WEMyWeb\index.html,添加代码到末尾:

    
    

    
    

    image-20240719141853692

打天下快速提交模板

​ 提交URL:http://119.3.88.107:9004/uploadTemplate

​ 查看所有模板:http://erpvb.com:9004/fmx_list

模板调用说明

在需要打印的模板内添加按钮触发的JS代码,多个明细打印示例:

    var obj = MWE.Obj;
    var printer = 'Gprinter GP-1134T' //getFieldValue('标签打印_主表','打印机名称')
    let fieldConfig = {
        tableName: '标签打印_主表',
        fieldsName: ['全局打印份数', '打印标题'],
    }
    let detailConfig = [
        {
            tableName: '标签打印_明细', //数据明细数据表名称
            templateDetail: "明细", //打天下模板明细
            fieldsName: ['序号', '文本', '长文本', '日期', '小数', '二维码内容'], //要打印的字段
        },//字段名需要写数据表管理理的`显示别名`!!!,且要跟打天下模板中的字段名完全对应。
        {
            tableName: '标签打印_明细2', //数据明细数据表名称
            templateDetail: "明细2", //打天下模板明细
            fieldsName: ['明细字段1', '明细字段2'], //要打印的字段
        }
    ]

    sheetIndex = 0 //打印模板所在的sheet索引,从0开始
    let templateUrl = 'http://192.168.0.154/pTemplates/主副表模板.fmx'//打印模板Web绝对路径,
    isPriview = true //是否预览,true为预览,false为直接打印
    printCount = 1 //打印份数,默认为1
    printToPrintWorldD(fieldConfig, detailConfig, sheetIndex, templateUrl, printCount, isPriview,printer)

这一段为一个明细表配置,可重复添加

{
    tableName: '标签打印_明细2', //数据明细数据表名称
    templateDetail: "明细2", //打天下模板明细
    fieldsName: ['明细字段1', '明细字段2'], //要打印的字段
}

如果只打印明细且需要循环打印则将filedConfig内配置留空

let  fieldConfig={
    tableName:'',
    fieldsName:[],
}

如果只打印主表则将detailConfig内配置留空

let  detailConfig={
    tableName:'',
    fieldsName:[]
}

所有参数说明

参数名 说明 必填 类型 默认值
fieldConfig 主表配置信息 js对象 -
detailConfig 明细配置信息 js对象 -
sheetIndex 工作表索引,从0开始 整数 0
templateUrl 模板URL绝对路径,需要在客户端能正常访问 文本
printCount 打印份数 整数 1
isPriview 是否预览 逻辑型 true

其他扩展功能

安装

  1. 引入function.min.js,如果在打天下对接说明中已经操作过,跳过此步骤

​ 在SSSoft\WEMyWeb\index.html末尾添加:

<script src="PrintWorld.js"></script>

<script src="https://cdn.o2t5z.cn/static/webExcel/functions.min.js"></script>
  1. 修改app.js

    1. 搜索fillDataToCell:,往前找第一个}符号,在往前找到return a,app.js经过代码压缩工具压缩过,每个服务端版本都不一样,可能不一定是a,在return a前面添加;HookOpenWorkBook(a);,HookOpenWorkBook是固定值,a是下一句return 后面的变量名;

      此步骤为了全局执行报表打开事件。

      image-20240813133236579

    2. 搜索onCloseRep:,往后找到第一段a.repMeForDR = null;,找到后在后面添加HookCloseWorkBook();

      此步骤全局执行报表关闭事件,同时释放方法HookOpenWorkBook()所占用的资源。

      image-20240813133035886

开始使用

自定义区域

首先在Excel模板中定义对应的名称

image-20240808171549544

效果 自定义名称 选区示例 内容示例 选区说明
设置鼠标所在行高亮 _HoverRow =Sheet1!$C$10:$N$14 要激活效果的区域
自动隐藏行 _HiddenR =Sheet1!R5C18 1,8,10:15 单个单元格,内容填写要隐藏的行,从1开始,每个区域以英文逗号分割,连续区域可以写10:15,如果隐藏单个区域后面也要跟逗号如:1,
自动隐藏列 _HiddenC 同隐藏行 同隐藏行 同隐藏行
设置超长文本域 _TextArea =Sheet1!A1:C2 自定义名称设置为_TextArea,多个区域设置为_TextArea2,以此类推,单个名称不要多选多个区域,监听选区内所有单元格,选中单元格后弹窗显示/编辑长文本
设置文本域权限 _TextAreaRole =Sheet1!A1 r/w 本表长文本域的权限字段,单元格内容为r是打开的是只读文本框,w时可以编辑,区分大小写,大写无效
todo...

全局调用js函数

获取字段定位

重新封装的方法,返回左上,右下的行列定位

  • 方法名:getFieldPos(tableName, fileName)

    • tableName:数据表名
    • fileName:字段**显示别名***
  • 调用示例:let pos = getFieldPos('产品档案_主表', '品名')

  • 返回示例:

    {
      startRow: 1//起始行
      , startCell: 1//起始列
      , endRow: 1//截止行
      , endCell: 1//截止列
    }

获取字段内容

根据表名字段名取出当前报表的内容

  • 方法名: getFieldValue(tableName, fieldName, sheetIndex = 0)

    • tableName:数据表名
    • fileName:字段显示别名
    • sheetIndex :字段所在的工作表索引,从0开始,默认值:0
  • 调用示例: getFieldValue('产品档案_主表', '品名', 0)

  • 返回示例:

    ​ 主表字段:

    '洗衣机'

    ​ 明细字段:

    ['洗衣机','电视机','冰箱']

打开附件管理视图

执行后弹窗加载一个额外的附件/图片管理窗口

  • 方法名:WbRenderFile(role, type, waterMark = true)

  • 方法名:WbRenderFile(role, type)

    • role: r:只读, rw,读写,rwd:读写删

    • type:'image':预览图片,'file':管理附件,同时可预览image类图片及pdftxt

    • waterMark: true:打开图片水印,false:关闭图片水印,默认值:true

    • 水印功能已弃用

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。