Ext 分页总结

Ext.onReady(function(){

//var sm = new Ext.grid.CheckboxSelectionModel();

//加载表格数据
var store = new Ext.data.Store({

proxy: new Ext.data.HttpProxy({
url:'log!listLog',
method:'post'
}),
reader: new Ext.data.JsonReader({
root:'logPage.logs',
totalProperty:'logPage.totalProperty',

id:'id'
},
[
{name:'logId'},
{name:'logType'},
{name:'username'},
{name:'isAdmin'},
{name:'moduleName'},
{name:'url'},
{name:'actionName'},
{name:'note'},
{name:'time'}
])
});


//表格列对象
var logColumn = new Ext.grid.ColumnModel([
//sm,
{ header:'编号',
dataIndex:'logId'
},
{
header:'日志类型',
dataIndex:'logType'
},
{
header:'操作人',
dataIndex:'username'
},
{
header:'用户组',
dataIndex:'isAdmin'
},
{
header:'模块名',
dataIndex:'moduleName'
},
{
header:'请求路径',
dataIndex:'url'
},
{
header:'操作',
dataIndex:'actionName'
},
{
header:'备注',
dataIndex:'note'
},
{
header:'时间',
dataIndex:'time'
}
]);
//表格对象
var grid = new Ext.grid.GridPanel({
el : 'showLogs',
width : 850,
height : 300,
title : '日志列表',
store : store,
cm : logColumn,
trackMouseOver : false,
autoScroll : true,
loadMask : {msg:'正在加载数据,请稍侯……'},
bbar : new Ext.PagingToolbar({
pageSize : 25,
store : store,
displayInfo : true,
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : '没有记录'
})
});

grid.render();


//部门下拉
var departmentCombo = new Ext.form.ComboBox({
id : 'departmentCombo',
xtype : 'combo',
hiddenName : 'departId',
width : 100,
readOnly : true,
//装载日志类型数据
store : new Ext.data.JsonStore({
url : "department!listAllDepartment",
method : "post",
fields : ['id','name'],
root : 'departments'
}),
valueField :'id',
displayField :'name',
typeAhead : true,
mode : 'remote',
triggerAction : 'all',
selectOnFocus : true,
allowBlank : true
});

var userStore = new Ext.data.JsonStore({
url : "user!listUserByDepartment",
method : "post",
fields : ['id','username'],
root : 'users'
});

departmentCombo.on(
'select',function(combo,record,index){
userStore.load({
params:{departmentId:record.data.id}
});
});


var userCombo = new Ext.form.ComboBox({
id : 'userCombo',
xtype : 'combo',
hiddenName : 'userId',
width : 100,
readOnly : true,
store : userStore,
valueField :'id',
displayField :'username',
typeAhead : true,
mode : 'local',
triggerAction : 'all',
selectOnFocus : true,
allowBlank : true
});

//第一行搜索栏
var searchToolbar1 = new Ext.Toolbar({
id : 'searchToolbar1',
width : 850,
defaultType : 'textfield',
autoHight : true,
items : [
'部门:',departmentCombo,
'用户名:',userCombo,
'日志类型:',
{
id : 'logType',
xtype : 'combo',
hiddenName : 'typeId',
width : 100,
readOnly : true,
emptyText : '请选择...',
//装载日志类型数据
store : new Ext.data.JsonStore({
url : "log!listLogType",
method : "post",
fields : ['logTypeId','typeCode','typeName'],
root : 'logTypes'
}),
valueField : 'logTypeId',
displayField : 'typeName',
typeAhead : true,
mode: 'remote',
triggerAction : 'all',
selectOnFocus : true,
allowBlank : true
},
'模块',
{
fieldLabel:'模块',
name:'module',
xtype:'textfield',
width:100
},
'操作',
{
id:'actionComob',
xtype:'combo',
hiddenName:'actionId',
width:100,
readOnly : true,
emptyText:'请选择...',
//装载日志类型数据
store:new Ext.data.JsonStore({
url:"log!listActions",
method:"post",
fields:['id','code','name'],
root:'logUserActions'
}),
valueField:'id',
displayField:'name',
typeAhead: true,
mode: 'remote',
triggerAction: 'all',
selectOnFocus:true,
allowBlank:true
}
]
});

var searchBtn = new Ext.Button({
text: '查询',
handler:onclickSearchLogBtn
});

var resetBtn = new Ext.Button({
text : '重置条件',
handler:onclickResetBtn
});

var isAdminCombo = new Ext.form.ComboBox({
id:'isAdmin',
xtype:'combo',
hiddenName:'adminId',
readOnly : true,
width:100,
store:new Ext.data.SimpleStore({
fields: ['id', 'text'],
data : [['1','是'],['2','否']]
}),
valueField:'id',
displayField:'text',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
selectOnFocus:true,
allowBlank:true
})
//切换是否为管理员时绑定监听
isAdminCombo.on('select',function(combo,record,index){
var userCombo = Ext.getCmp('userCombo');
if(record.data.id == 1){
//userCombo.clear();
userStore.load({
params:{departmentId:record.data.id,isAdmin:1}
});
var departCombo = Ext.getCmp('departmentCombo');
departCombo.setValue('');
departCombo.disabled = true;
}else{
var departCombo = Ext.getCmp('departmentCombo');
userStore.removeAll();
departCombo.disabled = false;
}
})

//
var searchToolbar2 = new Ext.Toolbar({
id : 'searchToolbar2',
width:850,
defaultType: 'textfield',
autoHight:true,
items:[
'是否为管理员:',isAdminCombo,
'起始日期:',
{
xtype: 'datefield',
name:'beginDate',
width:100,
format:'Y-m-d'
},
'终止日期:',
{
xtype: 'datefield',
name:'endDate',
width:100,
format:'Y-m-d'
},
searchBtn,

resetBtn
]
});

var searchPanel = new Ext.Panel({
renderTo : 'search-pl',
border:false,
tbar : searchToolbar1,
listeners : {
'render': function(){
searchToolbar2.render(this.tbar);
}
}
});

function onclickSearchLogBtn(){
store.reload(
{params:{start:0,limit:25}}
);
}

function buildParams(){
var username = Ext.fly('userCombo').dom.value;
var logType = Ext.fly('typeId').dom.value;
var module = Ext.fly('module').dom.value;
var action = Ext.fly('actionId').dom.value;
var isAdmin = Ext.fly('adminId').dom.value;
var beginDate = Ext.fly('beginDate').dom.value;
var endDate = Ext.fly('endDate').dom.value;
var departmentId = Ext.fly('departId').dom.value;

var vparams = {
params:{
'logQuery.module' : module,
'logQuery.departmentId' : departmentId,
'logQuery.username' : username,
'logQuery.logTypeId' : logType,
'logQuery.actionId' : action,
'logQuery.isAdmin' : isAdmin,
'logQuery.beginDate' : beginDate,
'logQuery.endDate' : endDate
}
};
return vparams;
}

//清空查询条件
function onclickResetBtn(){
Ext.getCmp('userCombo').setValue('');
Ext.getCmp('logType').setValue('');
Ext.getCmp('departmentCombo').setValue('');
Ext.getCmp('actionComob').setValue('');
Ext.getCmp('isAdmin').setValue('');

Ext.fly('typeId').dom.value = '';
Ext.fly('module').dom.value = '';
Ext.fly('actionId').dom.value = '';
Ext.fly('adminId').dom.value = '';
Ext.fly('beginDate').dom.value = '';
Ext.fly('endDate').dom.value = '';
}

store.on('beforeLoad',function(){
var username = Ext.fly('userCombo').dom.value;
var logType = Ext.fly('typeId').dom.value;
var module = Ext.fly('module').dom.value;
var action = Ext.fly('actionId').dom.value;
var isAdmin = Ext.fly('adminId').dom.value;
var beginDate = Ext.fly('beginDate').dom.value;
var endDate = Ext.fly('endDate').dom.value;
var departmentId = Ext.fly('departId').dom.value;

Ext.apply(store.baseParams,
{'logQuery.module' : module,
'logQuery.departmentId' : departmentId,
'logQuery.username' : username,
'logQuery.logTypeId' : logType,
'logQuery.actionId' : action,
'logQuery.isAdmin' : isAdmin,
'logQuery.beginDate' : beginDate,
'logQuery.endDate' : endDate}
);
})
store.load({params:{start:0,limit:25}});
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值