eas-dep之控件必录

控件必录
new com.kingdee.eas.ep.client.util.NullVerify([comp0,comp1],table,[column0,column1]).verify
空值校验器,将需要校验的控件放入,
Nullverfiy()中有3个参数,
1)参数是控件,是数组形式,可以填入多个控件,用英文逗号隔开
2)table分录的控件
3) 分录中多列名
if(pluginCtx.getKDTextField("txtstatus").getText().startWith("0101")){
var value=pluginCtx.getKDBizPromptBox("prmtNBA").getValue();
if(value==null){
com.kingdee.eas.util.client.MsgBox.showInfo("NBA字段不能为空!");
com.kingdee.eas.util.SysUtil.abort();
}
}

下列这段脚本onload()扩展点的后置脚本,但不能保证控件的最终状态与脚本一致
pluginCtx.getKDTextField("txDescription").setVisible(false);//表头控件隐藏
pluginCtx.getKDTable("kdtEntries").getColoumn("mat").setStyleAttributes().setHided(true);//分录列隐藏
pluginCtx.getKDBizPromptBox("prmtMat").setEnabled(false);//表头控件锁定
pluginCtx.getKDTable("kdEntries").getColoumn("amount").getStyleAttributes().setLocked(true);/分录列锁定
pluignCtx.getKDBizPromptBox("prmtCurrency").setDisplayFormat("$numver$");

//设置f7默认值
在界面的onload扩展点后置脚本中添加过滤
if(pluginCtx.getOprtState().equals("ADDNEW")){//控件的状态是ADDNew的话
var id="EadXbj&HCHZ";
var fkfsInterface=com.kingdee.bos.BOSObjectFactory.createRemoteCommonBOSObject(
new com.kingdee.bos.metadata.MetaDataPK(
"com.kingdee.eas.custom.app.prmtCurrency")
);
var fkfsOPK=
new com.kingdee.bos.dao.ormapping.ObjectUuidPK(
new kingdee.bos.util.BOSUuid.read(id)
);
var fkfsBOJ=fkfsInterface.getValue(fkfsOPK);
pluginCtx.getKDBizPromptBox("prmtcurrency").setValue(fkfsOBJ);
}

pluginCtx.getKDDatePicker("pkRTime").setDatePattern("yyyy-MM-dd HH:mm:ss");
pluginCtx.getKDDatePicker("pkRTime").setTimeEnabled(true);

//设置表格列的显示格式
设置数字表格列的格式
var easName=JavaImporter();
easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols);
easNames.importPackage(Packages.com.kingdee.scm.common.util);
easNames.importPackage(Packages.comkingdeee.eas.scm.common.client.helper);
with(easNames){
var entry=pluginCtx.getKDTable("kdtEntrys");
var column=entry.getColumn("price");
var format=PrecisionUtil.getFormatString(2);
var editor=FormattedEditorFactory,getBigDecimalCellEditor(2,false);
column.setEditor(eidtor);
column.getStyleAttributes().setNumberFormat(format);
}

//日期控件默认值
if(pluginCtx.getOprtState().equals("ADDNEW")){
var aa=pluginCtx.getKDDatePicker("pkRTime");
var date=new java.util.Date();
var d=java.util.Calendar.getInstance();
var time=date.getTime();
d.setTime(new java.sql.Timestamp(time));
d.set(java.util.Calendar.MILLISECOND,0);
var timestamp=new java.sql.Timestamp(d.getTime().getTime());
aa.setValue(timestamp);
}


菜单项
比如我们想要设置菜单项的属性,特别是提交选项的两个字菜单项属性,设为不可编辑,可使用以下脚本:
pluginCtx.getKDMenu("menuSubmitOptiion").getItem(0).setEnabled(false);
pluginCtx.getKDMenu("menuSubmitOption").getItem(1).setEnabled(false);

原文地址:https://www.cnblogs.com/luojiabao/p/11087790.html