历史版本2 :JS填报自定义页面校验 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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 效果预览

保存模板,点击「填报预览」,效果如下图所示:

注:不支持移动端

3. 模板下载编辑