From 8b34692ac1b7cf58a1e1ead92b930d9acb9f86f6 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 02 八月 2023 00:18:29 +0800 Subject: [PATCH] PDM集成swing界面相关功能开发 --- Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 54 insertions(+), 3 deletions(-) diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java index d7742c9..1395887 100644 --- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java +++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java @@ -3,8 +3,21 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.components.VCIJDialog.DialogResult; +import com.vci.base.ui.tree.VCIBaseTreeNode; +import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum; +import com.vci.ubcs.codeapply.object.BaseModel; +import com.vci.ubcs.codeapply.object.UIFormRefer; +import com.vci.ubcs.starter.web.pagemodel.KeyValue; +import com.vci.ubcs.starter.web.pagemodel.Tree; +import com.vci.ubcs.starter.web.util.VciBaseUtil; + +import javax.swing.tree.TreePath; public class RMDataReferTempDialogActionListener implements ActionListener { @@ -33,8 +46,8 @@ } private void ok(){ - if(!owner.isFromTableDoubleClick()){ - /*LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects(); + //if(!owner.isFromTableDoubleClick()){ + /* LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects(); if(list.size() > 1) { VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!"); return; @@ -42,7 +55,45 @@ VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!"); return; }*/ - } + + UIFormRefer uiFormRefer=owner.getUiFormRefer(); + String textField=uiFormRefer.getTextField(); + String valueField=uiFormRefer.getValueField(); + if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue()) + ||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){ + TreePath treePath=this.owner.getTypeTreePanel().getTree().getSelectionPath(); + VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent(); + if(treeNode.getObj() instanceof Tree) { + Tree tree =(Tree)treeNode.getObj(); + Map<String,String> attibuteMap= tree.getAttributes(); + String fieldValue=attibuteMap.getOrDefault(valueField,""); + String textValue=attibuteMap.getOrDefault(textField,""); + KeyValue keyValue=new KeyValue(); + keyValue.setKey(fieldValue); + keyValue.setValue(textValue); + this.owner.setKeyValue(keyValue); + } + + }else{ + LinkedList<BaseModel> list =this.owner.getCodeDataMainPanel().getTablePanel().getSelectedRowObjects(); + if(list.size() > 1) { + VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!"); + return; + } else if(list.size() <= 0) { + VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!"); + return; + } + BaseModel baseModel=list.get(0); + Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(list.get(0)); + defaultDataMap.putAll(baseModel.getData()); + String fieldValue=defaultDataMap.getOrDefault(valueField,""); + String textValue=defaultDataMap.getOrDefault(textField,""); + KeyValue keyValue=new KeyValue(); + keyValue.setKey(fieldValue); + keyValue.setValue(textValue); + this.owner.setKeyValue(keyValue); + } + //} owner.setDialogResult(DialogResult.OK); close(); owner.getDialogCallback().run(); -- Gitblit v1.9.3