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 com.vci.ubcs.starter.web.pagemodel.KeyValue;
|
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;
|
private KeyValue keyValue;
|
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;
|
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) {
|
btnOk.doClick();
|
}
|
/***获取资源数据的主面板**/
|
/*
|
public RMDataMainPanel getRMDataMainPanel() {
|
return rmDataMainPanel;
|
}
|
*/
|
/*private RMDataTransmitObject loadTemplateAttributes(String libId, String classifyId, String templateId){
|
LinkedHashMap<String, TemplatePropertyObject> tempPropObjsMap = new LinkedHashMap<String, TemplatePropertyObject>();
|
LinkedList<TemplatePropertyObject> tempPropObjsList = new LinkedList<TemplatePropertyObject>();
|
|
LinkedHashMap<String, AttributeObject> tempAttrObjsMap = new LinkedHashMap<String, AttributeObject>();
|
LinkedList<AttributeObject> tempAttrObjsList = new LinkedList<AttributeObject>();
|
|
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;
|
}*/
|
|
public KeyValue getKeyValue() {
|
return keyValue;
|
}
|
|
public void setKeyValue(KeyValue keyValue) {
|
this.keyValue = keyValue;
|
}
|
|
public UIFormRefer getUiFormRefer() {
|
return uiFormRefer;
|
}
|
|
public void setUiFormRefer(UIFormRefer uiFormRefer) {
|
this.uiFormRefer = uiFormRefer;
|
}
|
|
public CodeReferTreePanel getTypeTreePanel() {
|
return typeTreePanel;
|
}
|
|
public void setTypeTreePanel(CodeReferTreePanel typeTreePanel) {
|
this.typeTreePanel = typeTreePanel;
|
}
|
|
public CodeDataMainPanel getCodeDataMainPanel() {
|
return codeDataMainPanel;
|
}
|
|
public void setCodeDataMainPanel(CodeDataMainPanel codeDataMainPanel) {
|
this.codeDataMainPanel = codeDataMainPanel;
|
}
|
}
|