package com.vci.ubcs.codeapply; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JPanel; import javax.swing.event.TreeSelectionEvent; import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; import com.vci.base.ui.swing.VCISwingUtil; import com.vci.base.ui.swing.components.*; import com.vci.base.ui.swing.components.table.VCIJTablePanel; import com.vci.base.ui.tree.VCIBaseTree; import com.vci.base.ui.tree.VCIBaseTreeModel; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum; import com.vci.ubcs.codeapply.object.UIFormRefer; import com.vci.ubcs.codeapply.object.UIFormRefers; import org.apache.poi.ss.formula.functions.T; public class RMDataReferTempDialog extends VCIJDialog { private CodeApplyFor410MainPanel owner; private CodeClassifyTemplateAttrVO codeClassifyTemplateAttr; private RMDataReferTempDialogActionListener actionListener = new RMDataReferTempDialogActionListener(this); private VCIJButton btnOk = VCISwingUtil.createVCIJButton("ok", "确定", "确定", "accept.png", actionListener); private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "取消", "取消", "cancel.png", actionListener); private static final long serialVersionUID = 1L; private VCIJScrollPane scrollLeftTreePane = new VCIJScrollPane(); CodeReferTreePanel typeTreePanel; private VCIBaseTree leftTree = null; private VCIBaseTreeModel leftTreeModel = null; public RMDataReferTempDialog(CodeApplyFor410MainPanel owner, CodeClassifyTemplateAttrVO codeClassifyTemplateAttr) { //super(true); this.owner = owner; this.codeClassifyTemplateAttr = codeClassifyTemplateAttr; init(); setTitle("引用模板-属性选择"); //initDialogSize(rmDataAddDialog.getWidth(), rmDataAddDialog.getHeight()); } private void init(){ this.setLayout(new BorderLayout()); JPanel panel = new JPanel(new FlowLayout()); panel.add(btnOk); panel.add(btnCancel); this.add(createRMDataMainPanel(), BorderLayout.CENTER); this.add(panel,BorderLayout.SOUTH); Dimension dime = Toolkit.getDefaultToolkit().getScreenSize().getSize(); int x = dime.width/6; int y = dime.height/6 + 50; this.setLocation(x , y); this.setSize(850, 400); } private boolean fromTableDoubleClick = false; public boolean isFromTableDoubleClick() { return fromTableDoubleClick; } public void setFromTableDoubleClick(boolean fromTableDoubleClick) { this.fromTableDoubleClick = fromTableDoubleClick; } private UIFormRefer uiFormRefer; private VCIJPanel createRMDataMainPanel(){ VCIJPanel rmDataTablePanel = new VCIJPanel(new BorderLayout()); uiFormRefer=new UIFormRefer(); if(StringUtils.isNotBlank(codeClassifyTemplateAttr.getReferConfig())){ uiFormRefer = JSONObject.toJavaObject(JSONObject.parseObject(codeClassifyTemplateAttr.getReferConfig().toString()), UIFormRefer.class); } if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue()) ||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){ rmDataTablePanel.add(createTreePanel(),BorderLayout.CENTER); }else if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.GRID.getValue()))){ //树表 }else{ rmDataTablePanel.add(getRMDataMainPanel(),BorderLayout.CENTER); } //rmDataTablePanel.setPreferredSize(new Dimension(880,300)); return rmDataTablePanel; } /** * 根据类型显示table */ private CodeDataMainPanel codeDataMainPanel = null; private CodeDataMainPanelDataProvider dataProvider; public CodeDataMainPanel getRMDataMainPanel() { codeDataMainPanel=new CodeDataMainPanel(uiFormRefer); CodeDataMainPanelDataProvider dataProvider=new CodeDataMainPanelDataProvider(codeDataMainPanel); codeDataMainPanel.setDataProvider(dataProvider); codeDataMainPanel.setCustomTopPanel(new attarSearchPanel(uiFormRefer)); codeDataMainPanel.buildPanel(); VCIJTable table = codeDataMainPanel.getTablePanel().getTable(); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getButton() == 1 && e.getClickCount() == 2) { setFromTableDoubleClick(true); btnOk.doClick(); } } }); return codeDataMainPanel; } /*** * 根据类型展示树 * @return */ private VCIJScrollPane createTreePanel(){ final RMDataReferTempDialog self = this; typeTreePanel = new CodeReferTreePanel(uiFormRefer) { private static final long serialVersionUID = 8121108576137012228L; @Override public void tree_valueChanged(TreeSelectionEvent e) { self.leftTree_valueChanged(e); } }; typeTreePanel.buildTreePanel(); leftTree = typeTreePanel.getTree(); leftTreeModel = typeTreePanel.getTreeModel(); scrollLeftTreePane.setViewportView(leftTree); return scrollLeftTreePane; } /*** * 树切换事件 * @param e */ private void leftTree_valueChanged(TreeSelectionEvent e) { } /***获取资源数据的主面板**/ /* public RMDataMainPanel getRMDataMainPanel() { return rmDataMainPanel; } */ /*private RMDataTransmitObject loadTemplateAttributes(String libId, String classifyId, String templateId){ LinkedHashMap tempPropObjsMap = new LinkedHashMap(); LinkedList tempPropObjsList = new LinkedList(); LinkedHashMap tempAttrObjsMap = new LinkedHashMap(); LinkedList tempAttrObjsList = new LinkedList(); TemplateObject templateObject = null; RMDataTransmitObject transmit = new RMDataTransmitObject(); transmit.setLibId(libId); transmit.setClassifyId(classifyId); transmit.setTemplateId(templateId); transmit.setSpecialLib(true);//added by ligang 2012.07.04备件库不做权限校验 try{ UserEntityObject userEntityObject = LogonApplication.getUserEntityObject(); TemplateClientDelegate tempDel = new TemplateClientDelegate(userEntityObject); RMTemplateProertyClientDelegate tempPropDel = new RMTemplateProertyClientDelegate(userEntityObject); AttributeClientDelegate attrDel = new AttributeClientDelegate(userEntityObject); // RMTypeObject rmTypeObject = new RMTypeClientDelegate(userEntityObject).getRMTypeById(classifyId); RMTypeObject rmTypeObject = new RMTypeObject(); // 从资源分类树中选择的对应的分类对象 transmit.setRmTypeObject(rmTypeObject); // 获取模板对象 templateObject = tempDel.getTemplateObjectById(templateId); transmit.setTemplateObject(templateObject); // 获取模板定义的属性对象(这个对象包含的是属性在模板中是否为关键属性、可否为空等等) TemplatePropertyObject[] tempPropObjs = tempPropDel.getTempletePropertys(templateId); for(TemplatePropertyObject obj : tempPropObjs){ tempPropObjsMap.put(obj.getAttrId(), obj); tempPropObjsList.add(obj); } transmit.setTempPropObjsMap(tempPropObjsMap); transmit.setTempPropObjsList(tempPropObjsList); // 获取模板定义的属性对象对应到的真实的属性对象(系统配置模块定义的那些属性对象) AttributeObject[] attrObjs = attrDel.fetchAttributeByTemplateId(templateId); for(AttributeObject obj : attrObjs){ tempAttrObjsMap.put(obj.getId(), obj); tempAttrObjsList.add(obj); } transmit.setTempAttrObjsMap(tempAttrObjsMap); transmit.setTempAttrObjsList(tempAttrObjsList); }catch(VCIException e){ e.printStackTrace(); } return transmit; }*/ }