请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
10
帖子
0
勋章
87
Y币

求保存前校验表体数据重复函数

[复制链接]
发表于 2022-4-13 14:13:24

实现效果如下,点保存后,提示表体数据存在人员编码重复人员。

开发写了个函数
放到保存按钮——动作——新增执行函数中,不好用。

function (event) {
  var viewModel = this;
  //获取表格
  var gridModel = viewModel.getGridModel('csy_paydtlList');
  //获取页面数据行
  var arr=gridModel.getRows().length;
  var i = 0;
  var str="";
for (; i < arr; i++) {
    //获取页面数据行
    var rowname="#"+gridModel.getCellValue(i,'materialname')+"#";
    if(rowname!="#null#" || rowname!="#undefined#" ){
      //检查字符串是否存在,不存在
      if(str.indexOf(rowname) == -1){
        //合并字符串
         str=str+rowname;
      }else{
        //已存在
        cb.utils.alert( rowname+"重复");
        break;
      }

    }

}



}

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
140
帖子
2
勋章
4万+
Y币
  1. viewModel.on('beforeSave',function(event){
  2.       //获取表单数据
  3.       let json = event.data.data;
  4.       let data = JSON.parse(json);
  5.       //获取子表列表 查看data结构 showChildList 不同单据属性名不同
  6.       let childList = data.showChildList;
  7.       if (childList && childList.length > 0) {
  8.         let has = {};
  9.         for (var i = 0; i <= childList.length - 1; i++) {
  10.           //获取子表中字段
  11.           let target = childList[i]['nianling'];
  12.           if(has[target]) {
  13.             cb.utils.alert("目标字段重复");
  14.             return false;
  15.           }
  16.           has[target] = true;
  17.         }
  18.       }
  19.       
  20.       //从新赋值给event
  21.       // event.data.data = JSON.stringify(data);
  22.       // debugger;
  23.     })
复制代码

140
帖子
2
勋章
4万+
Y币
本帖最后由 tuotuozhuaizhuai 于 2022-4-13 15:19 编辑
  1. 自己debugger进行调试吧  大概逻辑就是这样
复制代码
140
帖子
2
勋章
4万+
Y币
函数位置

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
您需要登录后才可以回帖 登录

本版积分规则