这里以报销单的费用分摊明细页签为例, 动态获取费用报销单费用分摊明细的页签索引,费用分摊明细页签是根据表头的分摊字段是否打勾来动态显示的。

boolean isCost = (boolean)getBillCardPanel().getHeadItem("iscostshare").getValueObject();
if(isCost != null && Boolean.TRUE == isCost){
	ErmForCShareUiUtil.setCostPageShow(getBillCardPanel(), true);
}

在卡片界面获取表体所有的单据 vo

BillTabVO[] billTabVOs = getBillCardPanel().getBillData().getBillTabVOs(IBillItem.BODY);

根据页签编码获取其对应的单据 vo

BillTabVO billTabVO = getBillCardPanel().getBillData().getTabVO(IBillItem.BODY, "er_cshare_detail");

Integer index = nc.vo.bill.pub.BillUtil.getIndexOfBillTabVOByPosAndCode(billTabVOs, billTabVO);
					
getBillCardPanel().getBodyTabbedPane().setForegroundAt(index, Color.red);
getBillCardPanel().getBodyTabbedPane().setSelectedIndex(index);
//或者
getBillCardPanel().getTabbedPane(nc.ui.pub.bill.IBillItem.BODY).setForegroundAt(index, Color.red);
getBillCardPanel().getTabbedPane(nc.ui.pub.bill.IBillItem.BODY).setSelectedIndex(index);

此处根据 billTabVOs动态获取

for (BillTabVO billTabVO : billTabVOs) {
	if (billTabVO != null && BXConstans.CSHARE_PAGE.equals(billTabVO.getTabcode())) {
		Integer index = nc.vo.bill.pub.BillUtil.getIndexOfBillTabVOByPosAndCode(billTabVOs, billTabVO);
		//设置页签字体为红色
		getBillCardPanel().getBodyTabbedPane().setForegroundAt(index, Color.red);
		//或者
		getBillCardPanel().getTabbedPane(nc.ui.pub.bill.IBillItem.BODY).setForegroundAt(index, Color.red);
		
		//根据索引定位到费用分摊明细页签
		getBillCardPanel().getBodyTabbedPane().setSelectedIndex(index);
		//或者
		getBillCardPanel().getTabbedPane(nc.ui.pub.bill.IBillItem.BODY).setSelectedIndex(index);
	}
}

设置页签是否显示 isShow = true 显示 ,isShow = false 隐藏

getBillCardPanel().setScrollPanelVisible(isShow, IBillItem.BODY, BXConstans.CSHARE_PAGE);
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐