Skip to content

打印专题:「高级word模版」

在基础模板的功能上,拓展一些高级功能

并以一个实际例子来说明模版的应用场景

本章app下载

本节word模板

1.模板高级用法

进行一些简单的条件判断,使用代码块,JS等操作


1.1条件判断

条件判断可根据情况,填充不同的字段到word中

基本语法如下:

<<IF 条件判断>>

<<["填充内容"]>>

<<END-IF>>

例如判断当"定金"大于10000,或者"意向程度"为高时,设置为"高价值客户"

<<IF R["定金"] > 10000 || R["意向程度"] === "高">>

<<"高价值客户">>

<<END-IF>>

1.2代码块

基本语法如下:

<<EXEC js代码块>>

提示

js代码块定义全局变量时采用直接赋值方式

全局方法或数据必须在其使用前定义,并且代码块的所有内容不会在最终word中显示

在代码块中可以定义功能函数处理表单的数据

后续调用定义的函数使用<<函数名(参数)>>的形式

例如:定义一个获取随机字符串的方法返回随机字符到word中

js
<<EXEC
newRandomStr = (length) => {
    const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    let str = '';
    for (let i = 0; i < length; i++) {
        str += chars.charAt(Math.round((Math.random() * chars.length)));
    }
    return str;
};
strLength = 10;
>>

调用该函数:这里传入循环子表时的索引,也可直接传入数组(如要产生长度为5的随机字符则传入整数5)

<<newRandomStr($idx)>>


1.3js方法

介绍一些常用的处理函数(toFixed(),slice()等)

函数名说明示例
toFixed()将一个数字格式化为指定小数位数的字符串。<<R[金额].toFixed>>金额字段保留两位小数
slice()提取字符串的一部分<<R["客户手机号"].slice(0,3) + "****" + R["客户手机号"].slice(7)>>
将客户手机号的中间四位隐藏
Date.now()返回当前时间的时间戳<<(Date.now() - R["成交日期"]) / 24 / 3600000>>
计算成交日期距离今天有多少天
toMoney()将数值转为大写金额<<R["总金额"].toMoney>>
reverse()反转数组顺序<<R["收货地址"].reverse().join("/")>>
将"收货地址"使用"/"拼接后正序显示

1.4综合示例

创建word模板

使用代码块来顺序生成批次号

三元运算符覆盖入库状态为

条件语句根据商品合计价格来判断上面的重要程度

打印图: