|
@@ -44,7 +44,8 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
@Override
|
|
|
public void initialize() {
|
|
|
super.initialize();
|
|
|
- addClickListeners(new String[]{"nckd_exp","nckd_indexexp","nckd_field"});
|
|
|
+ addClickListeners(new String[]{"nckd_exp","nckd_indexexp","nckd_exexp"});
|
|
|
+ addClickListeners(new String[]{"nckd_field","nckd_exfield"});
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -58,12 +59,18 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
this.doClickWBItemCondition(ctl.getKey(),"entryentity", "nckd_billentity");
|
|
|
}
|
|
|
else if (ctl.getKey().equalsIgnoreCase("nckd_indexexp")) {
|
|
|
- this.doClickWBItemCondition(ctl.getKey(),"nckd_entryentity", "nckd_indexbillentity");
|
|
|
+ this.doClickWBItemCondition(ctl.getKey(),"nckd_indexentity", "nckd_indexbillentity");
|
|
|
+ }
|
|
|
+ else if (ctl.getKey().equalsIgnoreCase("nckd_exexp")) {
|
|
|
+ this.doClickWBItemCondition(ctl.getKey(), "nckd_entryentity", "nckd_exbillentity");
|
|
|
}
|
|
|
// 字段
|
|
|
else if (ctl.getKey().equalsIgnoreCase("nckd_field")) {
|
|
|
this.doClickCommitField(ctl.getKey(), "entryentity", "nckd_valueentity");
|
|
|
}
|
|
|
+ else if (ctl.getKey().equalsIgnoreCase("nckd_exfield")) {
|
|
|
+ this.doClickCommitField(ctl.getKey(), "nckd_entryentity", "nckd_exvalueentity");
|
|
|
+ }
|
|
|
// 条件成立或不成立
|
|
|
}
|
|
|
|
|
@@ -128,7 +135,18 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
this.receiveCondition((String) e.getReturnData(), "entryentity", "nckd_expjson", "nckd_exp");
|
|
|
}
|
|
|
else if (e.getActionId().equalsIgnoreCase("nckd_indexexp")) {
|
|
|
- this.receiveCondition((String) e.getReturnData(), "nckd_entryentity", "nckd_indexexpjson", "nckd_indexexp");
|
|
|
+ this.receiveCondition((String) e.getReturnData(), "nckd_indexentity", "nckd_indexexpjson", "nckd_indexexp");
|
|
|
+ }
|
|
|
+ else if (e.getActionId().equalsIgnoreCase("nckd_exexp")) {
|
|
|
+ this.receiveCondition((String) e.getReturnData(), "nckd_entryentity", "nckd_exexpjson", "nckd_exexp");
|
|
|
+ }
|
|
|
+ else if (e.getActionId().equalsIgnoreCase("nckd_field")) {
|
|
|
+ BillEntityType mainType = this.getTargetMainType("entryentity","nckd_valueentity");
|
|
|
+ this.receiveSelectField(mainType, (String)e.getReturnData(), "entryentity", "nckd_fieldkey", "nckd_field");
|
|
|
+ }
|
|
|
+ else if (e.getActionId().equalsIgnoreCase("nckd_exfield")) {
|
|
|
+ BillEntityType mainType = this.getTargetMainType("nckd_entryentity","nckd_exvalueentity");
|
|
|
+ this.receiveSelectField(mainType, (String)e.getReturnData(), "nckd_entryentity", "nckd_exfieldkey", "nckd_exfield");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -163,12 +181,24 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
|
super.propertyChanged(e);
|
|
|
String key = e.getProperty().getName();
|
|
|
+
|
|
|
+
|
|
|
+ //条件表达式
|
|
|
if(key.equalsIgnoreCase("nckd_billentity")) {
|
|
|
doClearFieldValue("nckd_exp", e.getChangeSet());
|
|
|
}
|
|
|
else if (key.equalsIgnoreCase("nckd_indexbillentity")) {
|
|
|
doClearFieldValue("nckd_indexexp", e.getChangeSet());
|
|
|
}
|
|
|
+ else if (key.equalsIgnoreCase("nckd_exbillentity")) {
|
|
|
+ doClearFieldValue("nckd_exexp", e.getChangeSet());
|
|
|
+ }
|
|
|
+ //字段
|
|
|
+ else if (key.equalsIgnoreCase("nckd_valueentity")) {
|
|
|
+ doClearFieldValueByField("nckd_field", e.getChangeSet());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -185,6 +215,14 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void doClearFieldValueByField(String key, ChangeData[] changeDatas) {
|
|
|
+ for(int i = 0; i < changeDatas.length; ++i) {
|
|
|
+ ChangeData changeData = changeDatas[i];
|
|
|
+ this.getModel().setValue(key, (Object)null, changeData.getRowIndex());
|
|
|
+ this.getModel().setValue(key+"key", (Object)null, changeData.getRowIndex());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 单据字段点击入口事件
|
|
|
*/
|
|
@@ -199,7 +237,7 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
parameter.setForbidClassType(getForbidFieldTypes(this.getModel()));
|
|
|
parameter.getForbidRefPropFieldTypes().add(MulBasedataProp.class);
|
|
|
TreeNode srcBillNode = EntityParseHelper.buildBillTreeNodes(parameter);
|
|
|
- this.showSelectFieldForm(srcBillNode, "wb_commitfieldname");
|
|
|
+ this.showSelectFieldForm(srcBillNode, key);
|
|
|
//}
|
|
|
}
|
|
|
|
|
@@ -265,5 +303,20 @@ public class CommonHandleExpFormPlugin extends AbstractFormPlugin implements Plu
|
|
|
return types;
|
|
|
}
|
|
|
|
|
|
+ private void receiveSelectField(BillEntityType mainType, String returnPropName, String entityKey, String sourceCtrlKey, String descFldKey) {
|
|
|
+ if (!StringUtils.isBlank(returnPropName)) {
|
|
|
+ String fieldCaption = EntityParseHelper.buildPropFullCaption(mainType, returnPropName);
|
|
|
+ if (StringUtils.isBlank(entityKey)) {
|
|
|
+ this.getModel().setValue(sourceCtrlKey, returnPropName);
|
|
|
+ this.getModel().setValue(descFldKey, fieldCaption);
|
|
|
+ } else {
|
|
|
+ int row = this.getModel().getEntryCurrentRowIndex(entityKey);
|
|
|
+ this.getModel().setValue(sourceCtrlKey, returnPropName, row);
|
|
|
+ this.getModel().setValue(descFldKey, fieldCaption, row);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|