设备维修确认单表单插件添加发票号码超链接点击调整

This commit is contained in:
xuhaihui 2025-10-15 15:49:38 +08:00
parent c4afa4df04
commit db3a1323ac
1 changed files with 36 additions and 1 deletions

View File

@ -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();