Appearance
打印专题:「高级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模板
使用代码块来顺序生成批次号
三元运算符覆盖入库状态为☑或☐
条件语句根据商品合计价格来判断上面的重要程度

打印图:
