diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java index 1c76a37..3c00ec4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java @@ -1,9 +1,15 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.bill.BillShowParameter; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.ShowType; +import kd.bos.form.control.EntryGrid; +import kd.bos.form.events.HyperLinkClickEvent; +import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.RefBillEdit; import kd.bos.form.field.TextEdit; @@ -23,8 +29,9 @@ import java.util.EventObject; * 2:结算期间初始化赋值 * 3:供应商赋值和必录逻辑 * 4:关联设备维修申请字段过滤 + * 5:发票号码超链接点击调整 */ -public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { +public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener { @Override public void registerListener(EventObject e) { super.registerListener(e); @@ -36,6 +43,8 @@ public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements if (zcgj_maintenance != null) { zcgj_maintenance.addBeforeF7SelectListener(this); } + EntryGrid control = this.getControl("zcgj_entryentity"); + control.addHyperClickListener(this); } public void afterCreateNewData(EventObject e) { @@ -83,6 +92,32 @@ public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements } } + @Override + public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) { + String fieldName = hyperLinkClickEvent.getFieldName(); + if ("zcgj_invoice".equals(fieldName)) { + //发票号码 + EntryGrid entryGrid = getView().getControl("zcgj_entryentity"); + int[] selectRows = entryGrid.getSelectRows(); + if (selectRows != null && selectRows.length == 1) { + DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_entryentity"); + DynamicObject dynamicObject = dynamicObjectCollection.get(selectRows[0]); + DynamicObject zcgjInvoice = dynamicObject.getDynamicObject("zcgj_invoice"); + long invoiceId = zcgjInvoice.getLong("id"); + if (invoiceId != 0) { + //弹出发票详情 + BillShowParameter showParameter = new BillShowParameter(); + showParameter.setPkId(invoiceId); + showParameter.setFormId("ec_in_invoice"); + showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); //打开方式 + getView().showForm(showParameter); + } + } else { + this.getView().showTipNotification("请选择一条发票数据。"); + } + } + } + @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String name = beforeF7SelectEvent.getProperty().getName();