帖子
帖子
用户
博客
课程
显示全部楼层
7
帖子
0
勋章
139
Y币

可编辑列表中给参照字段添加过滤条件

[复制链接]
发表于 2022-8-25 16:06:51
第一种方式获取表格模型 判断列


  1. viewModel.get('workBarcodeList').on('beforeBrowse', function (data) {

  2.           //判断当前列

  3.           if (data.cellName == 'goods_id_name') {

  4.             //这里是业务逻辑,根据具体场景编写就行

  5.             var goodsIdList = [];

  6.             viewModel

  7.               .get('inputWorkDocumentChildList')

  8.               .getAllData()

  9.               .forEach((value) => {

  10.                 if (value.arrivalQuantity - value.inputWorkNumber > 0) {

  11.                   goodsIdList.push(value.goods_id);

  12.                 }

  13.               });



  14.             if (goodsIdList.length == 0) {

  15.               cb.utils.alert('当前单据已到达作业上限', 'error');

  16.               return false;

  17.             }

  18.             // 组装查询条件对象

  19.             var treeCondition = {

  20.               isExtend: true,

  21.               simpleVOs: [],

  22.             };

  23.             var condition = {

  24.               isExtend: true,

  25.               simpleVOs: [],

  26.             };

  27.             if (goodsIdList.length > 0) {

  28.               condition.simpleVOs.push(

  29.                 {

  30.                   field: **.**Id', // 字段

  31.                   op: 'eq', // in like...

  32.                   value1: viewModel.getAllData().org_id,

  33.                 },

  34.                 {

  35.                   field: 'id', // 字段

  36.                   op: 'in', // in like...

  37.                   value1: goodsIdList,

  38.                 }

  39.               );

  40.               //设置树形过滤

  41.               data.context.setTreeFilter(treeCondition);

  42.               // 设置列表过滤

  43.               data.context.setFilter(condition);

  44.             }

  45.           }

  46.         });
复制代码



第二种 获取编辑行模型,获取对应字段属性 设置参照过滤数据




  1.      // 编辑时goods校验
  2.         viewModel
  3.           .get('workBarcodeList')
  4.           .getEditRowModel()
  5.           .get('goods_id_name')
  6.           .on('beforeBrowse', function (data) {
  7.             var goodsIdList = [];
  8.             viewModel
  9.               .get('inputWorkDocumentChildList')
  10.               .getAllData()
  11.               .forEach((value) => {
  12.                 if (value.arrivalQuantity - value.inputWorkNumber > 0) {
  13.                   goodsIdList.push(value.goods_id);
  14.                 }
  15.               });

  16.             var treeCondition = {
  17.               isExtend: true,
  18.               simpleVOs: [],
  19.             };
  20.             var condition = {
  21.               isExtend: true,
  22.               simpleVOs: [],
  23.             };
  24.             condition.simpleVOs.push(
  25.               {
  26.                 field: **.**Id', // 字段
  27.                 op: 'eq', // in like...
  28.                 value1: viewModel.getAllData().org_id,
  29.               },
  30.               {
  31.                 field: 'id', // 字段
  32.                 op: 'in', // in like...
  33.                 value1: goodsIdList,
  34.               }
  35.             );
  36.             this.setTreeFilter(treeCondition);
  37.             this.setFilter(condition);
  38.           });
复制代码




欢迎各位大佬补充
140
帖子
3
勋章
1521
Y币
您需要登录后才可以回帖 登录

本版积分规则