package com.tempus.userCenter.service.authority;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.directwebremoting.annotations.Param;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.directwebremoting.spring.SpringCreator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.tempus.modules.dwr.util.Condition;
import com.tempus.modules.dwr.util.DWRUtil;
import com.tempus.modules.dwr.util.DwrBackParams;
import com.tempus.modules.orm.Page;
import com.tempus.modules.orm.PropertyFilter;
import com.tempus.modules.orm.hibernate.EntityManager;
import com.tempus.modules.web.struts2.Struts2Utils;
import com.tempus.userCenter.dao.authority.ResourcesDao;
import com.tempus.userCenter.dao.authority.UsersDao;
import com.tempus.userCenter.entity.authority.Resources;
import com.tempus.userCenter.entity.authority.Users;
import com.tempus.userCenter.service.ServiceException;
/**
* 角色管理类.
*
* 实现领域对象角色的所有业务管理函数.
* 通过泛型声明继承DefaultEntityManager,默认拥有CRUD管理函数及HibernateDao<Role,Long>
* entityDao成员变量. 使用Spring annotation定义事务管理.
*
* @author andy
*/
@Service
@RemoteProxy(creator = SpringCreator.class, creatorParams = @Param(name = "beanName", value = "ResourcesManager"), name = "ResourcesManager")
@Transactional
public class ResourcesManager extends EntityManager<Resources, Long> {
@Autowired
ResourcesDao resourceDao;
@Autowired
UsersDao usersDao;
@Override
@RemoteMethod
protected ResourcesDao getEntityDao() {
return resourceDao;
}
/**
* 查询用户权限
*
* @param userid
* @param resources_type
* @param functionLevel
* @param status
* @return
*/
public List<Resources> findUserFunction(String userid,
String resources_type, String functionLevel, String status) {
String sql = "select tr.* from t_users t inner join t_users_roles ur on t.id=ur.user_id inner join t_roles_authorities ra on ra.role_id=ur.role_id"
+ " inner join t_resources_authorities rea on rea.authority_id=ra.authority_id inner join t_resources tr on tr.id = rea.resource_id where t.id='"
+ userid
+ "' and tr.resource_type='"
+ resources_type
+ "' and tr.function_level like '"
+ functionLevel
+ "%' and tr.status='" + status + "'";
return getEntityDao().findBySql(sql);
}
public String geToolButtons(String userid, String resources_type,
String functionLevel, String status) {
List<Resources> buttonList = findUserFunction(userid, resources_type,
functionLevel, status);
Collections.sort(buttonList);
return buttonHelper(buttonList);
}
public String geToolButtons(List<Resources> buttonList,String functionLevel)
{
List<Resources> currentButtonList = new ArrayList<Resources>();
try{
for (Resources resources : buttonList) {
if(resources.getFunctionLevel().startsWith(functionLevel)&&!currentButtonList.contains(resources))
{
currentButtonList.add(resources);
}
}
}catch(Exception ex)
{
throw new ServiceException("会话已经超时,请重新登录!");
}
return buttonHelper(currentButtonList);
}
public String buttonHelper(List<Resources> buttonList)
{
StringBuffer buttonSbf = new StringBuffer();
buttonSbf.append("<script language='JavaScript'>\n");
buttonSbf.append("var tb = new Ext.Toolbar({});\n");
for (int i = 0; i < buttonList.size(); i++) {
buttonSbf.append("tb.addButton(\n");
buttonSbf.append("new Ext.Toolbar.Button({\n");
buttonSbf.append("text:'" + buttonList.get(i).getFunctionName()
+ "',\n");
if ("新增".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'addIcon',\n");
buttonSbf.append("handler:function(){addRecord(store);}\n");
}
if ("申请".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'addIcon',\n");
buttonSbf.append("handler:function(){addRecord(store);}\n");
}
if ("查询".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'queryIcon',\n");
buttonSbf.append("handler:function(){queryRecord(store);}\n");
}
if ("修改".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要修改的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("updateRecord(store,id,record);}\n");
}
if ("层级配置".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要配置的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("configRecord(store);}\n");
}
if ("生效".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要生效的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("inureRecord(store,items);}\n");
}
if ("注销".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要注销的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("writeoffRecord(store,id);}\n");
}
if ("激活".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'activeIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要激活的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("activeRecord(store,id);}\n");
}
if ("删除".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'deleteIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要删除的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("deleteRecord(store,items);}\n");
}
if ("工单撤回".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'deleteIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要删除的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("withdrawRecord(store,items);}\n");
}
if ("撤回".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'deleteIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要撤回的工单');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("withdrawsRecord(store,items);}\n");
}
if ("删 除".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'deleteIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要删除的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("deleteHistoryCent(store,items);}\n");
}
if ("撤销".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'deleteIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要撤销的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get('id');\n");
buttonSbf.append("dropRecord(store,id);}\n");
}
if ("营销审核".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("marketFunction(store,id);}\n");
}
if ("主管审核".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("marketFunction(store,id);}\n");
}
if ("审核".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditFunction(store,id);}\n");
}
if ("通过".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditFunction(store,id);}\n");
}
if ("导出".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){exportRecord(store);}\n");
}
if ("ERP导出".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){exportRecord(store);}\n");
}
if ("导入".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){importRecord(store);}\n");
}
if ("批量修改".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){importUpdate(store);}\n");
}
if ("打印".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){importRecord(store);}\n");
}
if ("异动".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'timeIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要查看异动的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("changeRecord(store,id);}\n");
}
if ("流转轨迹".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'timeIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("var recs=selectionModel.getSelections();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要查看流转轨迹的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = recs[0].get('gdid');\n");
buttonSbf.append("changeRecord(store,id);}\n");
}
if ("归档".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要归档的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("archiveRecord(store,items);}\n");
}
if ("工单分配".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要分配的工单');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("assignRecord(store,items);}\n");
}
if ("更换客户经理".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要更换的客户');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("assignRecord(store,items);}\n");
}
if ("客户回访维护".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择客户');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("accessFunction(store,id);}\n");
}
if ("工单处理".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要处理的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("dealRecord(store,id,record);}\n");
}
if ("工单审批".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审批的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("approveRecord(store,id,record);}\n");
}
if ("处理关闭".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要处理的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("closeRecord(store,id,record);}\n");
}
if ("历史审批".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'queryIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("queryHistoryRecord(store);}\n");
}
if ("常旅客".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'guestIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要查看常旅客的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("guestFunction(store,id);}\n");
}
if ("消费明细".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'moneyIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要查看消费明细的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("historyCentFunction(store,id);}\n");
}
if ("流转配置".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'moneyIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要流转配置的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("turnConfigFunction(store,id);}\n");
}
if ("审批流程配置".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'moneyIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要配置的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("approveConfigFunction(store,id);}\n");
}
if ("机票明细".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'flight',\n");
buttonSbf.append("handler:function(){flightHistoryCentFunction();}\n");
}
if ("酒店明细".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'hotel',\n");
buttonSbf.append("handler:function(){hotelHistoryCentFunction();}\n");
}
if ("其它明细".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'moneyIcon',\n");
buttonSbf.append("handler:function(){othersHistoryCentFunction();}\n");
}
if ("短信邮件角色维护".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'rolesIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要查看的大客户');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("roleduanxin(store,id);}\n");
}
if ("人员批量添加".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'moneyIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要批量维护的角色');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("rolepiliang(store,id);}\n");
}
if ("工单流转".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要流转的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("moveRecord(store,items);}\n");
}
if ("分配权限".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要分配权限的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("assignFunction(store,id);}\n");
}
if ("服务分配".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'servingIcon',\n");
buttonSbf.append("handler:function(){\n");
// buttonSbf
// .append("var selectionModel = grid.getSelectionModel();\n");
// buttonSbf
// .append("var record = selectionModel.getSelected();\n");
// buttonSbf.append("if ( record == undefined ){\n");
// buttonSbf.append("Ext.Msg.alert('系统提示','请选择要分配权限的记录');\n");
// buttonSbf.append("return;}\n");
// buttonSbf
// .append("var selectedcount = parseInt(selectionModel.getCount());\n");
// buttonSbf.append("if ( selectedcount > 1 ){\n");
// buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
// buttonSbf.append("return;}\n");
// buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("assignServing(store);}\n");
}
if ("个性服务".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'servingIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf.append("assignOnlyServing(store);}\n");
}
if ("重置密码".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要重置密码的人员');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("resetPwdFunction(store,id);}\n");
}
if ("分配角色".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要分配角色的人员');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("assignRolesFunction(store,id);}\n");
}
if ("积分".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'integralIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要维护积分的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("integralManage(store,id);}\n");
}
if ("审核不通过".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的投诉或建议');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditNotThrough(store,id,record);}\n");
}
if ("审核通过".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的投诉或建议');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditThrough(store,id,record);}\n");
}
if ("已处理".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要处理的投诉或建议');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditFinish(store,id,record);}\n");
}
if ("导出日报".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){exportRecordDay(store);}\n");
}
if ("导出月报".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'excelIcon',\n");
buttonSbf.append("handler:function(){exportRecord(store);}\n");
}
if ("成功".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
// buttonSbf
// .append("var selectedcount = parseInt(selectionModel.getCount());\n");
// buttonSbf.append("if ( selectedcount > 1 ){\n");
// buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
// buttonSbf.append("return;}\n");
// buttonSbf.append("var id = record.get(pk);\n");
// buttonSbf.append("auditSuccess(store,id);}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("auditSuccess(store,items);}\n");
}
if ("失败".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
buttonSbf
.append("var selectedcount = parseInt(selectionModel.getCount());\n");
buttonSbf.append("if ( selectedcount > 1 ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
buttonSbf.append("return;}\n");
buttonSbf.append("var id = record.get(pk);\n");
buttonSbf.append("auditFail(store,id);}\n");
}
if ("异常".equals(buttonList.get(i).getFunctionName())) {
buttonSbf.append("iconCls:'editIcon',\n");
buttonSbf.append("handler:function(){\n");
buttonSbf
.append("var selectionModel = grid.getSelectionModel();\n");
buttonSbf
.append("var record = selectionModel.getSelected();\n");
buttonSbf.append("if ( record == undefined ){\n");
buttonSbf.append("Ext.Msg.alert('系统提示','请选择要审核的记录');\n");
buttonSbf.append("return;}\n");
// buttonSbf
// .append("var selectedcount = parseInt(selectionModel.getCount());\n");
// buttonSbf.append("if ( selectedcount > 1 ){\n");
// buttonSbf.append("Ext.Msg.alert('系统提示','只能选择一条记录');\n");
// buttonSbf.append("return;}\n");
// buttonSbf.append("var id = record.get(pk);\n");
// buttonSbf.append("auditSuccess(store,id);}\n");
buttonSbf
.append("var items = selectionModel.selections.items;\n");
buttonSbf.append("auditException(store,items);}\n");
}
buttonSbf.append("}));\n");
buttonSbf.append("tb.addSpacer();\n");
buttonSbf.append("tb.addSeparator();\n");
}
buttonSbf.append("</script>\n");
return buttonSbf.toString();
}
public String geToolReports(String userid, String resources_type,
String functionLevel, String status) {
HttpServletRequest request = Struts2Utils.getRequest();
String path = request.getContextPath();
List<Resources> reportList = findUserFunction(userid, resources_type,
functionLevel, status);
if (reportList.size() % 2 != 0) {
Resources temp = new Resources();
temp.setId(9999l);
temp.setValue("");
temp.setFunctionLevel(9999 + "");
temp.setFunctionName("");
reportList.add(temp);
}
Collections.sort(reportList);
StringBuffer buttonSbf = new StringBuffer();
buttonSbf.append("<br>");
buttonSbf.append("<center>\n");
buttonSbf
.append("<div align=\"center\" style=\"width=100%;overflow=auto;overflow-y=hidden\">\n");
buttonSbf.append("<table class=\"table_info\" width=\"100%\">\n");
buttonSbf.append("<tr class=\"td_label\" align=\"center\">\n");
buttonSbf.append("<td width=\"10%\" align=\"center\">序号</td>\n");
buttonSbf.append("<td width=\"40%\" align=\"center\">报表</td>\n");
buttonSbf.append("<td width=\"10%\" align=\"center\">序号</td>\n");
buttonSbf.append("<td width=\"40%\" align=\"center\">报表</td>\n");
buttonSbf.append("</tr>\n");
for (int i = 0; i < reportList.size(); i++) {
buttonSbf.append(" <tr align=\"center\">\n");
buttonSbf.append(" <td class=\"td_last\"> \n");
buttonSbf.append(i + 1); // print index
buttonSbf.append(" </td> \n");
buttonSbf.append(" <td class=\"td_last\"> \n");
//Resources func = (Resources) reportList.get(i);
Resources tempFunc = (Resources) reportList.get(i++);
buttonSbf.append("<a href=\"#\" onClick=\"openWin('" + path
+ tempFunc.getValue() + "','" + tempFunc.getFunctionName()
+ "')\">" + tempFunc.getFunctionName() + "</a>");
buttonSbf.append("</td>\n");
if (i == reportList.size())
break;
buttonSbf.append(" <td class=\"td_last\"> \n");
buttonSbf.append(i + 1); // print index
buttonSbf.append(" </td> \n");
buttonSbf.append(" <td class=\"td_last\"> \n");
tempFunc = (Resources) reportList.get(i);
buttonSbf.append("<a href=\"#\" onClick=\"openWin('" + path
+ tempFunc.getValue() + "','" + tempFunc.getFunctionName()
+ "')\">" + tempFunc.getFunctionName() + "</a>");
buttonSbf.append("</td>\n");
buttonSbf.append(" </tr>\n");
}
buttonSbf.append("</table>\n");
buttonSbf.append("</div>\n");
buttonSbf.append("</center>\n");
return buttonSbf.toString();
}
/**
* DWR 检查functionLevel是否唯一.
*
* @return loginName在数据库中唯一或等于orgLoginName时返回true.
*/
@Transactional(readOnly = true)
@RemoteMethod
public boolean isFunctionLevelUnique(String functionLevel,
String orgFunctionLevel) {
return resourceDao.isPropertyUnique("functionLevel", functionLevel,
orgFunctionLevel);
}
/**
* 用于DWR根据ID删除实体
*/
@RemoteMethod
public String dwrDelete(Long[] idArray) {
String msg = "";
for (int i = 0; i < idArray.length; i++) {
getEntityDao().delete(idArray[i]);
}
msg = "删除成功!";
return msg;
}
@Override
@RemoteMethod
@Transactional(readOnly = true)
public Page<Resources> dwrListPageHQL(DwrBackParams params, String hql) {
Page<Resources> page = new Page<Resources>();
hql = "select new com.tempus.userCenter.entity.authority.Resources(id,resourceType,value,orderNum,functionName,functionLevel,description,status,functionEname,parentId) from Resources where 1=1 ";// 在这里拼HQL
try {
int pageSize = params.getLimit();
int currentPage = params.getStart() / pageSize + 1;
int queryflag = params.getQueryflag();
String orderby = params.getOrderby();
String orderDirection = params.getOrderdirection();
if (queryflag == 1) {
List<Condition> conditions = params.getConditions();
List<PropertyFilter> filters = DWRUtil
.buildPropertyFilters(conditions);
Page<Users> argPage = new Page<Users>(currentPage, pageSize);
if (orderby != null) {
argPage.setOrderBy(orderby);// 设置排序参数
argPage.setOrder(orderDirection);// 设置排序方向 降序或者降序
}
StringBuffer sbHQL = new StringBuffer(hql);
List<Object> values = new ArrayList<Object>();
usersDao.buildFilterConditions(filters, sbHQL, values);
page = resourceDao.findPage(sbHQL.toString(), values.toArray(),
argPage);
}
} catch (Exception e) {
logger.error("dwrListPageHQL列表查询出现异常",e);
}
return page;
}
}
-----------------------------
list。js
/**
* the entrance of the main function
* @param store
*/
var sm = new Ext.grid.CheckboxSelectionModel();
String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
function onLoad(params)
{
var w = Ext.get('list').getWidth();//面板宽度
var h = Ext.get('search-panel').getHeight()-queryFormWidth-35;//面板高度
var pagesize=15;
var conditions=new Array(); //use to save the query condtion
if(params["pagesize"])
{
pagesize=params["pagesize"];
}
var title=params["title"];
var div=params["div"];
var gridParams=params["gridParams"];
var queryCondition=params["queryCondition"];
var gridconfig=new GridConfig(gridParams);
var orderby=pk;//排序参数
var orderdirection="asc";//升序 降序
Ext.onReady(function() {
var MyRecord = Ext.data.Record.create(gridconfig.getRecord());
store = new Ext.data.Store({
proxy: new Ext.data.DWRProxy(eval(listOperater.list)),
reader: new Ext.data.ListRangeReader({root:'items',totalProperty: 'totalCount',id: 'id'}, MyRecord)
});
var colM = gridconfig.getColumn();
var pagingBar = new Ext.PagingToolbar({
plugins:[new Ext.ux.Andrie.pPageSize(),new Ext.ux.ProgressBarPager()],
pageSize:pagesize,
paramNames:{start:"start",limit:"limit",conditions:"conditions",orderby:"orderby"},
store:store,
displayInfo:true,
emptyMsg: '没有数据',
beforePageText:"第",
afterPageText:"页 共 {0} 页",
displayMsg:'第 {0} 条到 {1} 条记录--共 {2} 条',
doLoad:function(C) {
var B = {},A = this.paramNames;
B[A.start] = C;
B[A.limit] = this.pageSize;
B[A.conditions] = conditions;
B[A.queryflag] = 1;
B[A.orderby] = pk;
B[A.orderdirection] = "asc";
Ext.apply(B,{queryflag:queryflag,orderby:orderby,orderdirection:orderdirection}); // 强制 增加变量 增加查询标志参数
if (this.fireEvent("beforechange", this, B) !== false) {
this.store.load({params:B})
}
}
});
grid = new Ext.grid.GridPanel({
renderTo:div,
autoWidth:true,
height: h,
sm:sm,
viewConfig: { forceFit: true },
autoScroll:false,
stripeRows: true,
renderTo: document.body,
cm:colM,
store:store,
menuDisabled:true,
resizable:false,
trackMouseOver:false,
bbar:pagingBar
});
grid.addListener('cellclick',function(grid, rowIndex, columnIndex, e)//添加单击复制事件
{
var record = grid.getStore().getAt(rowIndex); //Get the Record
var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
var data = record.get(fieldName);
if(typeof(data)=="object")
{
data=(data==null?"":Ext.util.Format.date(data.toString(), 'Y-m-d h:i:s'));
}
if(typeof(data)=="number")
{
data+="";
}
if(data==undefined)
{
data="";
}
grid.getView().refresh();
grid.getView().getCell(rowIndex,columnIndex).style.backgroundColor="#2561DE";
window.clipboardData.setData("Text",data);
}
);
//是否一进入就查询 在相对应的实体JS设置queryflag的值,默认为0(即不查询)
if(queryflag==1)
{
queryRecord(store);
}
var panel = new Ext.Panel({
applyTo: 'search-panel',
autoScroll:false,
tbar:tb,
items: [queryForm,grid]
});
});
//公用删除方法
deleteRecord = function(store, items)
{
Ext.MessageBox.confirm('提示框', '您确定要进行该操作?', function(btn) {
if (btn == 'yes')
{
var idArray = new Array();
for(var i=0;i<items.length;i++)
{
idArray.push(items[i].data[pk]);
}
eval(listOperater["deleteRecord"])(idArray, function(msg) //delete data
{
Ext.MessageBox.alert("信息:", msg); //display the back infomation
this.disabled = false;
store.reload();
});
}
});
}
/**
* query Box
* @param store
*/
queryRecord = function(store)
{
conditions=[];
queryflag=1;//是否查询 避免进入页面就查询
orderby = params["orderby"]=(params["orderby"]==undefined?pk:params["orderby"]);//排序字段
orderdirection = params["orderdirection"]=(params["orderdirection"]==undefined?"desc":params["orderdirection"]);//排序方向
var queryConfig=new QueryConfig(queryCondition);
var querygrid=queryConfig.getQueryGrid();
var dataLength=querygrid.store.data.length;
var queryGridRds=querygrid.getStore().getRange(0,dataLength-1);
for(var i=0;i<queryGridRds.length;i++)
{
if(queryGridRds[i].get("operator"))
{
conditions.push(queryGridRds[i].data);
}
}
fitFormValue(conditions);
store.load({params:{start:0,limit:pagesize,conditions:conditions,queryflag:queryflag,orderby:params["orderby"],orderdirection:params["orderdirection"]}});
}
//导出Excel
exportRecord = function(store)
{
conditions=[];
queryflag=1;//是否查询 避免进入页面就查询
orderby = params["orderby"]=(params["orderby"]==undefined?pk:params["orderby"]);//排序字段
orderdirection = params["orderdirection"]=(params["orderdirection"]==undefined?"desc":params["orderdirection"]);//排序方向
var queryConfig=new QueryConfig(queryCondition);
var querygrid=queryConfig.getQueryGrid();
var dataLength=querygrid.store.data.length;
var queryGridRds=querygrid.getStore().getRange(0,dataLength-1);
for(var i=0;i<queryGridRds.length;i++)
{
if(queryGridRds[i].get("operator"))
{
conditions.push(queryGridRds[i].data);
}
}
fitFormValue(conditions);
exportExcel(conditions);
}
//导出Excel
exportRecordDay = function(store)
{
conditions=[];
queryflag=1;//是否查询 避免进入页面就查询
orderby = params["orderby"]=(params["orderby"]==undefined?pk:params["orderby"]);//排序字段
orderdirection = params["orderdirection"]=(params["orderdirection"]==undefined?"desc":params["orderdirection"]);//排序方向
var queryConfig=new QueryConfig(queryCondition);
var querygrid=queryConfig.getQueryGrid();
var dataLength=querygrid.store.data.length;
var queryGridRds=querygrid.getStore().getRange(0,dataLength-1);
for(var i=0;i<queryGridRds.length;i++)
{
if(queryGridRds[i].get("operator"))
{
conditions.push(queryGridRds[i].data);
}
}
fitFormValue(conditions);
exportExcelDay(conditions);
}
}
/**
* 填充回传给DWR的字段值默认为Condition.firstvalue
* @param {} conditionList
*/
function fitFormValue(conditionList)
{
for(var i=0;i<conditionList.length;i++)
{
if(conditionList[i].name=="hidden")
{
continue;
}
for(var j=0;j<queryForm.getForm().items.length;j++)
{
if(conditionList[i].columnName == queryForm.getForm().items.item(j).getName())
{
var value =queryForm.getForm().items.item(j).getValue();
if(conditionList[i].type=="Datetime")
{
conditionList[i].firstValue = Ext.util.Format.date(queryForm.getForm().items.item(j).getValue(), 'Y-m-d');
}
else if(conditionList[i].name=="radio")
{
conditionList[i].firstValue =queryForm.getForm().findField(conditionList[i].columnName).getGroupValue();
}
else if(conditionList[i].operator=="DateBetween")
{
if(queryForm.getForm().items.item(j).getId().indexOf('from')!=-1)
{
conditionList[i].firstValue = Ext.util.Format.date(queryForm.getForm().items.item(j).getValue(), 'Y-m-d');
}
else
{
conditionList[i].secondValue = Ext.util.Format.date(queryForm.getForm().items.item(j).getValue(), 'Y-m-d');
}
}
else if((conditionList[i].operator=="Between"))
{
if(queryForm.getForm().items.item(j).getId().indexOf('from')!=-1)
{
conditionList[i].firstValue = value==null?value:String(value).Trim();
}
else
{
conditionList[i].secondValue = value==null?value:String(value).Trim();
}
}
else
{
conditionList[i].firstValue = value==null?value:String(value).Trim();
}
}
}
}
}
/**
* class gridConfig
* @param gridParameters
*/
function GridConfig(gridParameters)
{
this.key=new Array();
this.type=new Array();
this.header=new Array;
this.ishref=new Array();
this.width=new Array();
if (typeof gridParameters=="object")
{
for(var i=0;i<gridParameters.length;i++)
{
this.key[i]=gridParameters[i].name;
this.type[i]=gridParameters[i].type;
this.header[i]=gridParameters[i].header;
this.ishref[i]=gridParameters[i].ishref;
this.width[i]=gridParameters[i].width;
}
if(this.key.length>0)//获取主键
{
pk = this.key[0];
}
}
else
{
Ext.alert("Error,the parameters is error");
}
}
/**
* define the Record that be used to receive the data for the grid
* @param Key
*/
GridConfig.prototype.getRecord=function() {
var key=this.key;
var record = new Array();
for (var i = 0; i <key.length; i++)
{
record[i] = {name:key[i]};
}
return record;
}
function showUrl(value, p, record)
{
var id = (record.data[pk]);
id = "'" + id + "'";
//var returnv = '<a href='+viewUrl+'!view?id='+ id + ')">' + value + '</a>';
var returnv = '<a href="#" οnclick="view(' + id + ')">' + value + '</a>';
return returnv;
}
/**
* define the column of the grid
* @param Key
*/
GridConfig.prototype.getColumn=function(){
var key=this.key;
var type=this.type;
var header=this.header;
var ishref = this.ishref;
var width = this.width;
var iscontent =this.iscontent;
var j=2;
var column = new Array();
column[0] = new Ext.grid.RowNumberer();
column[1] = sm;
for (var i = 0; i < key.length; i++)
{
if(header[i]=="")
{
}
else
{
if(width[i]==undefined)
{
width[i] =80;
}
if(type[i] == "String")
{
if(ishref[i]=="true")
{
column[j] = {header:header[i],dataIndex:key[i],rsortable:true,width:width[i],editor:new Ext.form.TextField({}),renderer:showUrl};
}
else
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],editor:new Ext.form.TextField({})};
}
}
if(type[i] == "renderer")//列表字段需要特殊处理的,例如,根据标志(0,1)加图片显示的
{
column[j] = {header:header[i],dataIndex:key[i],rsortable:true,width:width[i],renderer:renderer};
}
if(type[i] == "renderer1")//列表字段需要特殊处理的,例如,根据标志(0,1)加图片显示的--扩展1
{
column[j] = {header:header[i],dataIndex:key[i],rsortable:true,width:width[i],renderer:renderer1};
}
if(type[i] == "renderer2")//列表字段需要特殊处理的,例如,根据标志(0,1)加图片显示的--扩展2
{
column[j] = {header:header[i],dataIndex:key[i],rsortable:true,width:width[i],renderer:renderer2};
}
if(type[i] == "renderer3")//列表字段需要特殊处理的,例如,根据标志(0,1)加图片显示的--扩展3
{
column[j] = {header:header[i],dataIndex:key[i],rsortable:true,width:width[i],renderer:renderer3};
}
if(type[i] == "Datetime")
{
if(ishref[i]=="true")
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],renderer:new Ext.util.Format.dateRenderer('Y年m月d日 h:i:s A'),editor:new Ext.form.DateField({format:'Y-m-d h:i:s A'}),renderer:showUrl};
}
else
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],renderer:new Ext.util.Format.dateRenderer('Y年m月d日 h:i:s A'),editor:new Ext.form.DateField({format:'Y-m-d h:i:s A'})};
}
}
if(type[i] == "Date")
{
if(ishref[i]=="true")
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],renderer:new Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y-m-d'}),renderer:showUrl};
}
else
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],renderer:new Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y-m-d'})};
}
}
if(type[i] == "Number")
{
if(ishref[i]=="true")
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],editor:new Ext.form.NumberField({}),renderer:showUrl};
}
else
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],editor:new Ext.form.NumberField({})};
}
}
if(type[i] == "LongString")
{
if(ishref[i]=="true")
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],editor:new Ext.form.TextArea({}),renderer:showUrl};
}
else
{
column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:width[i],editor:new Ext.form.TextArea({})};
}
}
j++;
}
}
return new Ext.grid.ColumnModel(column);
}
/**
* define the items for the form which used to add a new record
* @param Key
*/
GridConfig.prototype.getFormItems=function ()
{
var key=this.key;
var type=this.type;
var header=this.header;
var items = new Array();
var j=0;
for (var i = 0; i < key.length; i++)
{
if(header[i]=="")
{
}
else
{
if(type[i] == "String")
{
items[j] = {fieldLabel:header[i],name:key[i]};
}
if(type[i] == "Datetime")
{
items[j] = {fieldLabel:header[i],name:key[i],xtype:'datefield',
renderer:Ext.util.Format.dateRenderer('Y/m/d'),
format:'Y/m/d'};
}
if(type[i] == "Number")
{
items[j] = {fieldLabel:header[i],name:key[i],xtype:'numberfield'};
}
if(type[i] == "LongString")
{
items[j] = {fieldLabel:header[i],name:key[i],xtype:'textarea'};
}
j++;
}
}
return items;
}
/**
* get the data for the form
* @param Key
*/
GridConfig.prototype.getAddRecord=function()
{
var key=this.key;
var type=this.type;
var header=this.header;
var addRecord = new Object();
for (var i = 0; i < key.length; i++)
{
if( header[i]!="")
{
if(type[i] == "Datetime")
{
addRecord[key[i]] =new Date(Ext.get(key[i]).dom.value);
}
else
{
addRecord[key[i]] = Ext.get(key[i]).dom.value;
}
}
}
return addRecord;
}
/**
* class query
*/
function QueryConfig(data)
{
this.data=data;
this.stringOp = new Ext.data.SimpleStore({
fields: ['value','text'],
data : [["","选择关系运算符"],['=','='],['<>','<>'],
["like '|%'",'以...开头'],["like '%|'",'以...结尾'],["like '%|%'",'包含字符'],["not like '%|%'",'不包含字符'],
['is null','空白'],['is not null','非空白']]
});
this.datetimeOp = new Ext.data.SimpleStore({
fields: ['value','text'],
data : [["","选择关系运算符"],['=','='],['<>','<>'],['<','<'],['<=','<='],['<','>'],['>=','>='],['is null','空白'],['is not null','非空白'],["between","between"]]
});
this.numberOp=this.datetimeOp;
}
QueryConfig.prototype.getOpStore=function(type){
var _store;
if(type=="String")
{
_store=this.stringOp;
}else if(type=="Number")
{
_store=this.numberOp;
}else if(type="Datetime")
{
_store=this.datetimeOp;
}
return _store;
}
/**
* get the Editor for each column
* @param type
*/
QueryConfig.prototype.getEditor=function(type){
var editor;
if(type=="String")
{
editor=new Ext.form.TextField({});
}
else if(type=="Number")
{
editor=new Ext.form.NumberField({});
}
else if(type="Datetime")
{
editor=new Ext.form.DateField({fomat:"Y-m-d"});
}
return editor;
}
/**
* init the query grid
*/
QueryConfig.prototype.getQueryGrid=function(){
var qeuryConfig=this;
var stringeditor=new Ext.form.TextField({});
var store=new Ext.data.SimpleStore({data:qeuryConfig.data,fields:["entity","type","columnName","operator","firstValue","secondValue","andOr","bracket","name"]});
var colM=new Ext.grid.ColumnModel([
{header:"字段名称",dataIndex:"name",sortable:true},
{header:"运算符",dataIndex:"operator",editor:stringeditor},
{header:"数值1",dataIndex:"firstValue",width:150,editor:stringeditor,renderer:displayValue},
{header:"数值2",dataIndex:"secondValue",width:150,editor:stringeditor,renderer:displayValue},
{header:"关系",dataIndex:"andOr",editor: new Ext.form.ComboBox({
store: [["","请选择括号.."],["and","and"],["or","or"]],
mode: 'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text',
editable: false
})},
{header:"括号",dataIndex:"bracket", hidden:true,editor: new Ext.form.ComboBox({
store:[["","请选择括号.."],["(","("],[")",")"]],
mode: 'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text',
editable: false
})}
]);
var grid = new Ext.grid.EditorGridPanel({
id:"querygrid",
title:"查询",
autoHeight:true,
width:700,
cm:colM,
clicksToEdit:1,
store:store,
selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
autoExpandColumn:2
});
grid.on("beforeedit",function(e){
var record=grid.getSelectionModel().getSelected();
if (e.column==1)
{
var _store=qeuryConfig.getOpStore(record.get("type"));
var Opcombox=new Ext.form.ComboBox({
store: _store,
mode: 'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text',
editable: false
});
grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(Opcombox));
}
if (e.column==2)
{
var gridEditor2=qeuryConfig.getEditor(record.get("type"));
if(getParamsNum(record.get("operator"))==0)
{
grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(null));
}
if(getParamsNum(record.get("operator"))==1||getParamsNum(record.get("operator"))==2)
{
grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(gridEditor2));
}
}
if (e.column==3)
{
var gridEditor3=qeuryConfig.getEditor(record.get("type"));
if(getParamsNum(record.get("operator"))==0||getParamsNum(record.get("operator"))==1)
{
grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(null));
}
if(getParamsNum(record.get("operator"))==2)
{
grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(gridEditor3));
}
}
});
grid.on("afteredit",function(e){
var record=grid.getSelectionModel().getSelected();
if (e.column==1)
{
if(getParamsNum(record.get("operator"))==0)
{
record.set("firstValue","");
record.set("secondValue","");
}
if(getParamsNum(record.get("operator"))==1)
{
record.set("secondValue","");
}
}
});
return grid;
};
/**
* according the operator's type,we can get the amount of the params that used to query
* @param operator
*/
function getParamsNum(operator)
{
var ParamsNum;
if(operator=="is null"||operator=="is not null"||operator=="")
{
ParamsNum = 0;
}
else if(operator=="between")
{
ParamsNum = 2;
}
else
{
ParamsNum =1 ;
}
return ParamsNum;
}
/**
* format the date.
* @param value
*/
function displayValue(value)
{
var formatValue=value;
if(formatValue.toString().indexOf("UTC")>=0)
{
var dt = new Date(formatValue);
formatValue=dt.format('Y-m-d');
}
return formatValue;
}
/**
* **************************************以下为自定义工具条,带每页显示的记录数下拉框******************************************************
*/
Ext.namespace('Ext.ux.Andrie');
/**
* @class Ext.ux.Andrie.pPageSize
* @extends Ext.PagingToolbar
* A combobox control that glues itself to a PagingToolbar's pageSize configuration property.
* @constructor
* Create a new PageSize plugin.
* @param {Object} config Configuration options
* @author andy
* @version 0.6
*/
Ext.ux.Andrie.pPageSize = function(config){
Ext.apply(this, config);
};
Ext.extend(Ext.ux.Andrie.pPageSize, Ext.util.Observable, {
/**
* @cfg {String} beforeText
* Text to display before the comboBox
*/
beforeText: '每页',
/**
* @cfg {String} afterText
* Text to display after the comboBox
*/
afterText: ' 记录',
/**
* @cfg {Mixed} addBefore
* Toolbar item(s) to add before the PageSizer
*/
addBefore: '-',
/**
* @cfg {Mixed} addAfter
* Toolbar item(s) to be added after the PageSizer
*/
addAfter: null,
/**
* @cfg {Bool} dynamic
* True for dynamic variations, false for static ones
*/
dynamic: false,
/**
* @cfg {Array} variations
* Variations used for determining pageSize options
*/
variations: [5, 10, 20, 50],
/**
* @cfg {Object} comboCfg
* Combo config object that overrides the defaults
*/
comboCfg: undefined,
init: function(pagingToolbar){
this.pagingToolbar = pagingToolbar;
this.pagingToolbar.pageSizeCombo = this;
this.pagingToolbar.setPageSize = this.setPageSize.createDelegate(this);
this.pagingToolbar.getPageSize = function(){
return this.pageSize;
}
this.pagingToolbar.on('render', this.onRender, this);
},
//private
addSize:function(value){
if (value>0){
this.sizes.push([value]);
}
},
//private
updateStore: function(){
if (this.dynamic) {
var middleValue = this.pagingToolbar.pageSize, start;
middleValue = (middleValue > 0) ? middleValue : 1;
this.sizes = [];
var v = this.variations;
for (var i = 0, len = v.length; i < len; i++) {
this.addSize(middleValue - v[v.length - 1 - i]);
}
this.addToStore(middleValue);
for (var i = 0, len = v.length; i < len; i++) {
this.addSize(middleValue + v[i]);
}
}else{
if (!this.staticSizes){
this.sizes = [];
var v = this.variations;
var middleValue = 0;
for (var i = 0, len = v.length; i < len; i++) {
this.addSize(middleValue + v[i]);
}
this.staticSizes = this.sizes.slice(0);
}else{
this.sizes = this.staticSizes.slice(0);
}
}
this.combo.store.loadData(this.sizes);
this.combo.collapse();
this.combo.setValue(this.pagingToolbar.pageSize);
},
setPageSize:function(value, forced){
var pt = this.pagingToolbar;
this.combo.collapse();
value = parseInt(value) || parseInt(this.combo.getValue());
value = (value>0)?value:1;
if (value == pt.pageSize){
return;
}/*else if (value < pt.pageSize){
pt.pageSize = value;
var ap = Math.round(pt.cursor/value)+1;
var cursor = (ap-1)*value;
var store = pt.store;
if (cursor > store.getTotalCount()) {
this.pagingToolbar.pageSize = value;
this.pagingToolbar.doLoad(cursor-value);
}else{
store.suspendEvents();
for (var i = 0, len = cursor - pt.cursor; i < len; i++) {
store.remove(store.getAt(0));
}
while (store.getCount() > value) {
store.remove(store.getAt(store.getCount() - 1));
}
store.resumeEvents();
store.fireEvent('datachanged', store);
pt.cursor = cursor;
var d = pt.getPageData();
// pt.afterTextEl.el.innerHTML = String.format(pt.afterPageText, d.pages);
//pt.field.dom.value = ap;
pt.first.setDisabled(ap == 1);
pt.prev.setDisabled(ap == 1);
pt.next.setDisabled(ap == d.pages);
pt.last.setDisabled(ap == d.pages);
pt.updateInfo();
}
}*/else{
this.pagingToolbar.pageSize = value;
this.pagingToolbar.doLoad(Math.floor(this.pagingToolbar.cursor/this.pagingToolbar.pageSize) * this.pagingToolbar.pageSize);
}
this.updateStore();
},
//private
onRender: function(){
this.combo = Ext.ComponentMgr.create(Ext.applyIf(this.comboCfg||{}, {
store:new Ext.data.SimpleStore({
fields:['pageSize'],
data:[]
}),
displayField:'pageSize',
valueField:'pageSize',
mode:'local',
triggerAction:'all',
width:50,
xtype:'combo'
}));
this.combo.on('select', this.setPageSize, this);
this.updateStore();
if (this.addBefore){
this.pagingToolbar.add(this.addBefore);
}
if (this.beforeText){
this.pagingToolbar.add(this.beforeText);
}
this.pagingToolbar.add(this.combo);
if (this.afterText){
this.pagingToolbar.add(this.afterText);
}
if (this.addAfter){
this.pagingToolbar.add(this.addAfter);
}
}
})
---------------
jsp
<%@ include file="/common/taglibs.jsp"%>
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<title></title>
<html>
<script type="text/javascript">
function user()
{
var paraArray=new Array(window,"hidden1","hidden2");
window.showModalDialog("${ctx}/hr/users!codehelp",paraArray,"dialogWidth:650px;dialogHeight:500px;scroll:no;help:no;status:no;");
}
function sendpubnote(da)
{
window.showModalDialog("${ctx}/sms/message-reissue?sj="+da,"","dialogWidth:"+wMaster+50+"px;dialogHeight:300px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=no;status:no;help=0");
}
</script>
<script type="text/javascript" src="${ctx}/js/ext/DwrProxyCombobox.js"></script>
<script type="text/javascript"
src="${ctx}/dwr/interface/MemberInfosManager.js"></script>
<script type="text/javascript"
src="${ctx}/dwr/interface/MemberSourceManager.js"></script>
<script type="text/javascript"
src="${ctx}/dwr/interface/MemberLevelManager.js"></script>
<script type="text/javascript"
src="${ctx}/dwr/interface/InsureManager.js"></script>
<script type="text/javascript"
src="${ctx}/js/usercenter/member/member.js"></script>
<script type="text/javascript">
var wMaster = screen.width;
var hMaster = screen.height;
var wSlave_modal = screen.width/1.2;
var hSlave_modal = screen.height/1.2;
var left=(window.screen.width-wSlave_modal)/2;
var top=(window.screen.height-hSlave_modal)/2;
function addRecord(store)
{
window.showModalDialog("${ctx}/member/memberinfos!input?rnd="+Math.round(Math.random()*10000),window,"dialogWidth:"+wSlave_modal+"px;dialogHeight:"+hSlave_modal+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0;");
}
function updateRecord(stroe,id,record)
{
var state = record.get('zt');
if(state==3){
Ext.Msg.alert('系统提示','您选择的记录是已删除状态,不能修改');
return;
}
window.showModalDialog("${ctx}/member/memberinfos!input?hyid="+id+"&rnd="+Math.round(Math.random()*10000),window,"dialogWidth:"+wSlave_modal+"px;dialogHeight:"+hSlave_modal+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
//window.open("${ctx}/member/memberinfos!input?hyid="+id+"&rnd="+Math.round(Math.random()*10000));
}
function view(id)
{
//window.showModalDialog("${ctx}/member/memberinfos!view?hyid="+id+"&rnd="+Math.round(Math.random()*10000),window,"dialogWidth:"+wSlave_modal+"px;dialogHeight:"+hSlave_modal+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
//window.open("${ctx}/member/memberinfos!view?hyid="+id+"&rnd="+Math.round(Math.random()*10000));
parent.funtab.add({
title:'查看会员资料详情 ' ,
iconCls: 'tabs',
margins:'0 4 4 0',
autoHeight:true,
autoScroll:true,
autoWidth:true,
closable:true,
frame:true,
html:'<iframe id="iframe_memberInfos" src="'+"${ctx}/member/memberinfos!view?hyid="+id+'" width="'+wSlave_modal+'" height="'+hSlave_modal+'" frameborder="0" scrolling="auto"></iframe>'
}).show();
}
function guestFunction (stroe,id)
{
//var win=window.open("${ctx}/member/memberguestinfos?hyid="+id+"&functionLevel=130312&modelName=%E5%B8%B8%E6%97%85%E5%AE%A2%E7%AE%A1%E7%90%86&rnd="+Math.round(Math.random()*10000),"","fullscreen=1")
parent.funtab.add({
title:'常旅客维护 ',
iconCls : 'tabs',
margins : '0 4 4 0',
autoScroll : true,
autoWidth : true,
closable : true,
frame : true,
html:'<iframe src="'+"${ctx}/member/memberguestinfos?hyid="+id+"&functionLevel=130312"+'" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>'
}).show();
}
function historyCentFunction(stroe,id)
{
//window.showModalDialog("${ctx}/memberhistorycent/memberhistorycent?hyid="+id+"&orderType=1&functionLevel=130401&rnd="+Math.round(Math.random()*10000),"","dialogWidth:"+wMaster+"px;dialogHeight:"+hMaster+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
//document.location="${ctx}/memberhistorycent/memberhistorycent?hyid=" + id + "&orderType=1&functionLevel=130401&modelName=%E6%9C%BA%E7%A5%A8%E6%98%8E%E7%BB%86%E7%AE%A1%E7%90%86";
parent.funtab.add({
title:'机票消费明细 ' ,
iconCls: 'tabs',
margins:'0 4 4 0',
autoScroll:true,
autoWidth:true,
closable:true,
frame:true,
html:'<iframe src="'+"${ctx}/memberhistorycent/memberhistorycent?keyValue=" + id + "&memberKey=" + id + "&orderType=1&functionLevel=130401"+'" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>'
}).show();
}
function integralManage(stroe,id)
{
window.showModalDialog("${ctx}/member/memberinfos!marketinput?hyid="+id+"&rnd="+Math.round(Math.random()*10000),"","dialogWidth:"+950+"px;dialogHeight:"+435+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
}
//导出到Excel
function exportExcel(conditions)
{
MemberInfosManager.getHql(conditions,"from MemberInfos ",function(msg)
{
var headerStr = "hyid,会员ID,String;hyzcm,注册名,String;xm,会员姓名,String;dept.deptname,部门,String;"+
"sj,手机,String;sj1,手机,String;hykhm,会员卡号,String;jtdh,联系电话,String;"+
"kyjf,可用积分,String;ljjf,累计积分,String;zjhm,证件号码,String;zjhmPassport,护照,String;"+
"zjhmHk,港澳通行证,String;zjhmOther,其它证件,String;"+
"cjry,创建人,String;cjryName,创建人姓名,String;cjrq,注册时间,Date;"+
"lxdz,联系地址,String;sfgm,是否购买保险,String;buyinsureName,购买保险类型,String;"+
"sfzs,是否赠送保险,String;sendinsureName,赠送保险类型,String;post,岗位,String;bz,备注,String;";
//Escape.unescape("utf-8");
window.open(encodeURI("${ctx}/member/memberinfos!exportExcel?hql="+msg+"&headerStr="+headerStr));
// window.open("${ctx}/member/memberinfos!exportExcel?hql="+msg+"&headerStr="+headerStr);
});
}
//导入
function importRecord(store)
{
window.showModalDialog("${ctx}/member/memberinfos!importExcel"+"?rnd="+Math.round(Math.random()*10000),"","dialogWidth:"+650+"px;dialogHeight:"+600+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
}
function importUpdate(store)
{
window.showModalDialog("${ctx}/member/memberinfos!updateExcel"+"?rnd="+Math.round(Math.random()*10000),"","dialogWidth:"+750+"px;dialogHeight:"+600+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
}
function changeRecord(store,id)
{
window.showModalDialog("${ctx}/system/log/syslog?sids="+id+"&tablename=member_infos&functionLevel=900115&modelName=%E8%A1%A8%E5%BC%82%E5%8A%A8%E7%9B%91%E6%8E%A7"+"&rnd="+Math.round(Math.random()*10000),"","dialogWidth:"+800+"px;dialogHeight:"+800+"px;dialogLeft:"+left+"px; dialogTop:"+top+"px;scrollbars=yes;status:no;help=0");
}
function newWindowsView(hyid)
{
window.open("${ctx}/member/memberinfos!view?hyid="+hyid+"&rnd="+Math.round(Math.random()*10000));
}
</script>
</html>