1. 概述
1.1 问题描述
我们进行填报报表制作的时候,需要针对 Excel 导入的数据进行校验,实现相同客服ID,货主名称保持一致,需要在提交的时候校验是否存在相同客服ID,货主名称不一致的情况,若出现可及时进行更改,确认无误后再上传。
1.2 解决思路
通过函数 JOINARRAY 和添加模板 Web 属性下-填报页面设置-Excel导入时间以及使用内置校验 的方式,实现
上述需求。
2. 示例
2.1 准备数据
新建数据集 ds1,如下图所示:
2.2 设计模板
写清楚模板的详细设计步骤,不遗漏掉诸如父子格、扩展之类的细节
1)将下列字段拖拉到以下单元格
2)在F1和G1,分别输入:JOINARRAY([A2],",")和JOINARRAY([B2],",")
3)添加 Excel 导入后 事件
点击模板-模板Web属性-填报页面设置,设置如下所示:
添加两个参数:customerID、customerNAME,输入如下 JS 代码:
var temp = [];
customerID = customerID.split(',');
customerNAME = customerNAME.split(',');
alert(customerID);alert(customerNAME);
for(var i= 0; i< customerID.length; i++){
for(var j= 0; j< customerID.length; j++){
if(customerID[i] === customerID[j] && i!= j){
if(customerNAME[i]!==customerNAME[j]){
temp.push(customerNAME[j]);
}
}
}
contentPane.curLGP.setCellValue(6,1+i,temp);
temp=[];
}
4)设置内置校验
校验公式:IF(LEN(G2)=0,true,false),不满足校验公式则提示:"同一个客户ID,货主名称应该一致"
2.3 效果预览
保存模板,点击「填报预览」,效果如下图所示:
注:不支持移动端