Web扩展功能安装使用说明
打天下对接说明
-
将
PrintWorld.rar
解压。 -
复制两个文件:
functions.js
,PrintWorld.js
到软件安装目录SSSoft\WEB\MyWeb
-
记事本打开
SSSoft\WEMyWeb\index.html
,添加代码到末尾:或
打天下快速提交模板
提交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 |
其他扩展功能
安装
- 引入function.min.js,如果在打天下对接说明中已经操作过,跳过此步骤
在SSSoft\WEMyWeb\index.html
末尾添加:
<script src="PrintWorld.js"></script>
或
<script src="https://cdn.o2t5z.cn/static/webExcel/functions.min.js"></script>
-
修改app.js
-
搜索
fillDataToCell:
,往前找第一个}符号,在往前找到return a
,app.js经过代码压缩工具压缩过,每个服务端版本都不一样,可能不一定是a,在return a
前面添加;HookOpenWorkBook(a);
,HookOpenWorkBook是固定值,a是下一句return 后面的变量名;此步骤为了全局执行报表打开事件。
-
搜索
onCloseRep:
,往后找到第一段a.repMeForDR = null;
,找到后在后面添加HookCloseWorkBook();
此步骤全局执行报表关闭事件,同时释放方法HookOpenWorkBook()所占用的资源。
-
开始使用
自定义区域
首先在Excel模板中定义对应的名称
效果 | 自定义名称 | 选区示例 | 内容示例 | 选区说明 |
---|---|---|---|---|
设置鼠标所在行高亮 | _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类图片及pdf、txt -
waterMark:true
:打开图片水印,false
:关闭图片水印,默认值:true -
水印功能已弃用
-