特征相关扩展开发

以采购订单为例

一、 保存前特征字段赋默认值

1、前端脚本

viewModel.on('beforeSave',args=>{
  let obj = JSON.parse(args.data.data);
  if(typeof(obj.purchaseOrderDefineCharacter)==undefined){
    obj.purchaseOrderDefineCharacter = {};
  }
  obj.purchaseOrderDefineCharacter['GXG0516']='2';
  args.data.data = JSON.stringify(obj);
  //return false
})

2、扩展save动作

自定义规则位置在billSave前

undefined

图 1

脚本内容 注意数值类型需要+''

let AbstractTrigger = require('AbstractTrigger');
class MyTrigger extends AbstractTrigger {
  execute(context, param) {
    //throw new Error(JSON.stringify(param))
    let data = param.data[0];
    if (typeof data.purchaseOrderDefineCharacter == undefined) {
      data.purchaseOrderDefineCharacter = {};
    }
    data.purchaseOrderDefineCharacter.set('shuzhi001', 100 + '');
    return {};
  }
}
exports({ entryPoint: MyTrigger });

二、表体物料自由项特征组的操作

undefined

图 3

如上图,表体的物料自由项特征组的操作重点是准确的获取model,比如给特征组中的特征字段增加值改变事件

const gridModel = viewModel.get('purchaseOrders');
gridModel.on('afterCellValueChange', (args) => {
  if (args.cellName == 'product_cCode') {
    // 特征组时为多行模型
    debugger;
    const rowModel = gridModel.getRowModel(args.rowIndex); // index是行号
    // purchaseOrdersCharacteristics是当前特征组的cItemName,cName
    const characteristicsModel = rowModel.get('purchaseOrdersCharacteristics'); 

    characteristicsModel.on('afterCharacterModels', function () {
      const characterModel = characteristicsModel.getCharacterModel('cyz001'); // cyz001是具体特征的cName
      characterModel.on('afterValueChange', function (args) {
        cb.utils.alert('212121');
      });
    });
  }
});
Copyright © 用友 -【生态技术部】 2022-2023 all right reserved,powered by Gitbook修订时间: 2024-04-08 11:12:49

results matching ""

    No results matching ""