注册方式
注册JAVA插件
注册JavaScript插件
实现方式
Java实现方式
实现步骤
新建插件类
package kd.bos.form.plugin;
import java.math.BigDecimal;
import java.util.EventObject;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
/**
*
Title:
*
* Description:
* 采购申请单插件
*
*
Copyright: Copyright (c) 2020
* @author xx
* @date 2020年2月22日
* @return the bare_field_name
* @version 1.0
*/
public class PurReqBillEdit extends AbstractBillPlugIn implements BeforeF7SelectListener{
/**
* (non-Javadoc)
*
Title: propertyChanged
*
* Description:
* 注册值改变监听事件,若物料改变,则获取长宽高拼凑成字符串设置到规格型号,并且设置计量单位
* 申请人改变时,关联设置申请部门
*
*
Copyright: Copyright (c) 2020
* @author xx
* @date 2020年2月22日
* @param e
* @see kd.bos.entity.datamodel.events.IDataModelChangeListener#propertyChanged(kd.bos.entity.datamodel.events.PropertyChangedArgs)
*/
@Override
public void propertyChanged(PropertyChangedArgs e) {
String propertyName = e.getProperty().getName();
boolean stopClear;
ChangeData cd = e.getChangeSet()[0];
if (StringUtils.equals("materia", propertyName)) {
// 设置规格型号
int index = cd.getRowIndex();
if (cd.getNewValue() != null) {
long materiaId = (long) ((DynamicObject) cd.getNewValue()).getPkValue();
DynamicObject materia = (DynamicObject) BusinessDataServiceHelper.loadSingle(materiaId, "bd_material");
BigDecimal length = (BigDecimal) materia.get("length");
BigDecimal width = (BigDecimal) materia.get("width");
BigDecimal height = (BigDecimal) materia.get("height");
if (length != null && width != null && height != null && length.compareTo(BigD