package com.vci.client.uif.actions.client;
|
|
import javax.swing.JOptionPane;
|
|
import com.vci.client.common.ConfigUtils;
|
import com.vci.client.ui.swing.components.VCIJOptionPane;
|
import com.vci.client.uif.engine.client.objopt.ObjectAddEditDialog;
|
import com.vci.client.uif.engine.common.IDataNode;
|
|
/**
|
* 此抽象类为 BussinessOperationAction 接口大多数方法提供默认实现。
|
* 要创建一个具体的 BussinessOperationAction 作为 AbstractBusionessOperationAction 的子类型,必须实现以下两个方法
|
* <p><pre>
|
* public String getKey();
|
* public boolean doPost();
|
* </pre></p>
|
*/
|
public abstract class AbstractBusionessOperationAction extends AbstractBatchBusionessOperationAction {
|
|
|
public AbstractBusionessOperationAction(){
|
}
|
|
/**
|
* Action框架主入口,继承复写请慎重...
|
*/
|
public boolean doAction(){
|
boolean res = false;
|
|
if(!isSelectedObject()) return false;
|
Object[] objs = getDataModel().getSelectObjects();
|
if(objs.length > 1){
|
VCIJOptionPane.showMessageDialog(
|
getParentComponent(), "只能选择一条数据进行此操作!", "提示", JOptionPane.INFORMATION_MESSAGE);
|
return false;
|
}
|
//判断是否需要进行数据权限校验
|
String rightSwitch = ConfigUtils.getConfigValue("right.switch");
|
if(rightSwitch != null && rightSwitch.equals("on")){
|
// 权限检查,有权限时才执行后续的操作
|
if(!checkHasRight()){
|
VCIJOptionPane.showMessageDialog(
|
getParentComponent(), "您没有权限进行此操作!", "提示", JOptionPane.INFORMATION_MESSAGE);
|
return false;
|
}
|
}
|
// 在选定了数据及有权限之后,执行
|
res = doActionDetailBySelectedObject();
|
return res;
|
}
|
|
/**
|
* 返回设置了新打开(弹出窗口)上下文模块里的inputdata
|
* @param oad
|
* @return oad
|
*/
|
protected ObjectAddEditDialog setTargetUILayoutPanelInputData(ObjectAddEditDialog oad){
|
// add by xchao 2015.08.12
|
// 设置新打开的上下文模块的inputdata
|
// 设置值类型:sourceData、inputData、selectData
|
String inputDataType = getParameterValue(ValueType.ButtonConfig, "inputDataType", -1);
|
if(inputDataType != null && !inputDataType.equals("") && !inputDataType.equals("inputDataType")){
|
if(inputDataType.equalsIgnoreCase("sourceData")){
|
// 按钮所在区域的 sourceData 作为新打开上下文模块的 inputData
|
oad.setInputDataNode(oad.getSourceDataNode());
|
} else if(inputDataType.equalsIgnoreCase("inputData")){
|
// 将按钮所在区域的 inputData 作为新打开上下文模块的 inputData
|
oad.setInputDataNode(getRegionPanel().getBaseLayoutPanel().getInputData());
|
} else if(inputDataType.equalsIgnoreCase("selectData")){
|
// 将按钮所在区域所选择的数据作为 作为新打开上下文模块的 inputData
|
oad.setInputDataNode((IDataNode)getDataModel().getSelectObjects()[0]);
|
}
|
}
|
// add by xchao 2015.08.12 end
|
return oad;
|
}
|
}
|