📄 personleave.jsp
字号:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<script type="text/javascript">
Ext.lib.Ajax.defaultPostHeader+=';charset=utf-8';//解决post乱码的
Ext.QuickTips.init();
alert("test1");
var fm = Ext.form;
//首先 : Ext.grid.ColumnModel
var sm = new Ext.grid.CheckboxSelectionModel();//在Grid中添加checkbox控件
var cm = new Ext.grid.ColumnModel([
sm,//添加到这里
{id:'id',header:"编号",dataIndex:'id',width:90},
{id:'personName',header:"员工姓名",dataIndex:'personName',width:90},
{header:'请假时间',dataIndex:'beginTime',width:100},
{header:"请假天数",dataIndex:'days',width:90},
{header:"请假原因",dataIndex:'course',width:300}
]);
//这里设置是否可排序
cm.defaultSortable = true;
alert("test2");
var Personal = Ext.data.Record.create([
{name:'id',type:'string'},
{name:'personName',type:'string'},
{name:'beginTime',type:'string'},
{name:'days',type:'int'},
{name:'salary',type:'int'},
{name:'course',type:'string'}
]);
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/empservice/listLeave.jsp?type=1'}),
//proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/test.jsp'}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root:'user'
}, Personal),
sortInfo:{field:'id',direction:'ASC'}
});
//这是grid自定义每页显示数的combo控件
var gridCombo = new Ext.form.ComboBox({
store:new Ext.data.SimpleStore({
fields:['abbr','state'],
data:[[25,25],[50,50],[100,100],[200,200],[400,400],[600,600]]
}),
width:50,
displayField:'state',
typeAhead:true,
mode:'local',
value:15,
triggerAction:'all',
selectOnFocus:true,
listeners:{
select:{
fn:function(){
//alert(gridCombo.getValue());
var tempstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/empservice/listLeave.jsp?type=1'}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root:'user'
}, Personal),
sortInfo:{field:'id',direction:'ASC'}
});
tempstore.load({params:{start:0,limit:gridCombo.getValue()}});
tempstore.on("load",function(){
store.removeAll();
for(var i=0;i<tempstore.getCount();i++){
grid.stopEditing();// 停止编辑
store.insert(i,tempstore.getAt(i));
grid.startEditing(i, 1);// 开始编辑1单元格
}
});
}
}
}
});
//这是grid的下部工具栏
var paging = new Ext.PagingToolbar({
pageSize:25,
store:store,
displayInf:true,
displayMsg:"显示第{0}条到{25}条记录,一共{25}条",
emptyMsg:"没有记录",
items:[' 每页显示数',gridCombo]
});
//查询条件控件
var personName = new Ext.form.TextField({id:'personName',allowBlank:true});//员工姓名
var beginTime = new Ext.form.TextField({id:'beginTime',allowBlank:true});//员工部门
var personIDCard = new Ext.form.TextField({id:'personIDCard',allowBlank:true});//员工身份证号
var personSocialID = new Ext.form.TextField({id:'personSocialID',allowBlank:true});//员工社保卡号
var personYear = new Ext.form.NumberField({id:'personYear',allowBlank:true,allowNegative:false,maxValue:100});//员工工作经验年限
var personTel = new Ext.form.TextField({id:'personTel',allowBlank:true});//员工联系电话
//对话框,这里肯定要修改
var form_employee = new Ext.form.FormPanel({
layout:'column',
items:[{
items:[{
columnWidth:.8,
layout:'form',
border:false,
items:[
{
id:'id',xtype:'textfield',fieldLabel:'ID',width:190,name:'ID',disabled:true,allowBlank:true
},
{
id:'personName',xtype:'textfield',fieldLabel:'员工姓名',width:190,name:'personName',allowBlank:false
},
new Ext.form.NumberField({id:'days',fieldLabel:'请假天数',width:90,name:'days',allowNegative:false}),
new Ext.form.NumberField({id:'salary',fieldLabel:'请假费',width:90,name:'salary',allowNegative:false,maxValue:100}),
new Ext.form.DateField({
id:'beginTime',
fieldLabel:'请假时间',
name:'beginTime',
width:150
}),
new Ext.form.TextArea({id:'course',fieldLabel:'请假原因',width:300,name:'course'})
]
}]
}]
});
//定义列表控件
var grid = new Ext.grid.EditorGridPanel({
store:store,
cm:cm,
sm:sm,
renderTo:'editor-grid1',
width:1000,
height:550,
maskDisabled:false,//这里很重要,起到一个遮罩效果,如果是true的话,grid将被一块灰布遮住
//autoExpandColumn:'personName',//不知道这个属性有何用
title:'员工请假管理',
frame:true,
selModel:new Ext.grid.RowSelectionModel({singleSelect:false}),
//底部工具栏, 下面代码是实现分页的
bbar:paging,
//顶部工具栏
tbar:[
{
text:'增加 ',
iconCls:'add',
handler : function(){//点击按钮执行的操作
createNewDialog();
}
},
{
text:'编辑 ',
iconCls:'add',
handler : function(){//点击按钮执行的操作
createEditDialog();
}
},
{
text:'删除 ',
iconCls:'add',
handler: function(){
createDelDialog();
}
},
'员工姓名:',personName,'请假时间',beginTime,
{
text:'查询',
iconCls:'details',
handler:function(){
var tempstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/empservice/listLeave.jsp?type=1&personName='+personName.getValue()+'&beginTime='+beginTime.getValue()}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root:'user'
}, Personal),
sortInfo:{field:'id',direction:'ASC'}
});
tempstore.load();
tempstore.on("load",function(){
store.removeAll();
for(var i=0;i<tempstore.getCount();i++){
grid.stopEditing();// 停止编辑
store.insert(i,tempstore.getAt(i));
grid.startEditing(i, 1);// 开始编辑1单元格
}
});
}
}
]
});
store.load({params:{start:0,limit:25}});
//新增方法
function createNewDialog(){
form_employee.findById("personName").setDisabled(false);
form_employee.findById("personName").setValue("不能为空");
form_employee.findById("beginTime").setDisabled(false);
form_employee.findById("beginTime").setValue(toDate("0000-00-00"));
form_employee.findById("days").setDisabled(false);
form_employee.findById("days").setValue("");
form_employee.findById("salary").setDisabled(false);
form_employee.findById("salary").setValue("");
form_employee.findById("course").setDisabled(false);
form_employee.findById("course").setValue("");
var tabs = new Ext.TabPanel({
width:783,
height:453,
activeTab:0,
defaults:{autoScroll:true,frame:true},
items:[{title:'基本信息',layout:'column',cls:'x-plain',items:[form_employee]},
{title:'Another Tab',html:'Some other content'}]
});
var win=new Ext.Window({
title:"frame",
buttonAlign:'right',
closable:false,
width:600,
height:600,
border:false,
plain:true,
layout:'fit',
maskDisabled:false,
defaults:{bodyStyle:'padding:10px'},
minimizable:true,
items:[tabs],
buttons:[{
text:'保存',
handler:function(){
form_employee.getForm().submit({
url:'http://localhost:8080/LEDOA/utils/empservice/addLeave.jsp?type=1',//作修改
method:'post',
reset : true,
failure : function(form, action) {
grid.setDisabled(false);
win.hide();
store.reload();
Ext.MessageBox.alert('友情提示:新增成功!');
},
success : function(form, action) {
grid.setDisabled(false);
//store.reload();
//grid.reconfigure(store,cm);//添加
win.hide();
}
});
}
},{
text:'关闭',
handler:function(){
grid.setDisabled(false);
win.hide();
}
}]
});
grid.setDisabled(true);//禁用
win.show();
}
//编辑方法
function createEditDialog(){
var id = "";
var recordToedit = grid.getSelectionModel().getSelected();
if(!recordToedit){
Ext.Msg.alert("提示","请先选择要编辑的行!");
return;
}
//声明一个store,然后根据store来进行赋值
var tempstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/empservice/listLeave.jsp?type=1&id='+recordToedit.get('id')}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root:'user'
}, Personal),
sortInfo:{field:'id',direction:'ASC'}
});
tempstore.load();
tempstore.on("load",function(){
id = tempstore.getAt(0).get('id');
//alert(tempstore.getAt(0).get('personName'));
form_employee.findById("id").setDisabled(false);
form_employee.findById("id").setValue(tempstore.getAt(0).get('id'));
form_employee.findById("id").setDisabled(true);
form_employee.findById("personName").setDisabled(false);
form_employee.findById("personName").setValue(tempstore.getAt(0).get('personName'));
form_employee.findById("beginTime").setDisabled(false);
form_employee.findById("beginTime").setValue(tempstore.getAt(0).get('beginTime'));
form_employee.findById("days").setDisabled(false);
form_employee.findById("days").setValue(tempstore.getAt(0).get('days'));
form_employee.findById("salary").setDisabled(false);
form_employee.findById("salary").setValue(tempstore.getAt(0).get('salary'));
form_employee.findById("course").setDisabled(false);
form_employee.findById("course").setValue(tempstore.getAt(0).get('course'));
});
var tabs = new Ext.TabPanel({
width:783,
height:453,
activeTab:0,
defaults:{autoScroll:true,frame:true},
items:[{title:'基本信息',layout:'column',cls:'x-plain',items:[form_employee]},
{title:'Another Tab',html:'Some other content'}]
});
var win=new Ext.Window({
title:"frame",
buttonAlign:'right',
closable:false,
width:600,
height:600,
border:false,
plain:true,
layout:'fit',
maskDisabled:false,
defaults:{bodyStyle:'padding:10px'},
minimizable:true,
items:[tabs],
buttons:[{
text:'更新',
handler:function(){
form_employee.getForm().submit({
url:'http://localhost:8080/LEDOA/utils/empservice/updateLeave.jsp?type=1&id='+id,
method:'post',
reset : true,
failure : function(form, action) {
grid.setDisabled(false);
store.reload();
win.hide();
//Ext.MessageBox.alert('友情提示', action.result.info);
},
success : function(form, action) {
alert("test1");
grid.setDisabled(false);
store.reload();
win.hide();
alert("test3");
}
});
}
},{
text:'关闭',
handler:function(){
grid.setDisabled(false);
win.hide();
}
}]
});
grid.setDisabled(true);//禁用
win.show();
}
//删除方法
function createDelDialog(){
var id = "";
var recordToedit = grid.getSelectionModel().getSelected();
if(!recordToedit){
Ext.Msg.alert("提示","请先选择要删除的行!");
return;
}
//声明一个store,然后根据store来进行赋值
var tempstore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'http://localhost:8080/LEDOA/utils/empservice/listLeave.jsp?type=1&id='+recordToedit.get('id')}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root:'user'
}, Personal),
sortInfo:{field:'id',direction:'ASC'}
});
tempstore.load();
tempstore.on("load",function(){
id = tempstore.getAt(0).get('id');
//alert(tempstore.getAt(0).get('personName'));
form_employee.findById("id").setDisabled(false);
form_employee.findById("id").setValue(tempstore.getAt(0).get('id'));
form_employee.findById("id").setDisabled(true);
form_employee.findById("personName").setDisabled(false);
form_employee.findById("personName").setValue(tempstore.getAt(0).get('personName'));
form_employee.findById("personName").setDisabled(true);
form_employee.findById("beginTime").setDisabled(false);
form_employee.findById("beginTime").setValue(tempstore.getAt(0).get('beginTime'));
form_employee.findById("beginTime").setDisabled(true);
form_employee.findById("days").setDisabled(false);
form_employee.findById("days").setValue(tempstore.getAt(0).get('days'));
form_employee.findById("days").setDisabled(true);
form_employee.findById("salary").setDisabled(false);
form_employee.findById("salary").setValue(tempstore.getAt(0).get('salary'));
form_employee.findById("salary").setDisabled(true);
form_employee.findById("course").setDisabled(false);
form_employee.findById("course").setValue(tempstore.getAt(0).get('course'));
form_employee.findById("course").setDisabled(true);
});
var tabs = new Ext.TabPanel({
width:783,
height:453,
activeTab:0,
defaults:{autoScroll:true,frame:true},
items:[{title:'基本信息',layout:'column',cls:'x-plain',items:[form_employee]},
{title:'Another Tab',html:'Some other content'}]
});
var win=new Ext.Window({
title:"frame",
buttonAlign:'right',
closable:false,
width:600,
height:600,
border:false,
plain:true,
layout:'fit',
maskDisabled:false,
defaults:{bodyStyle:'padding:10px'},
minimizable:true,
items:[tabs],
buttons:[{
text:'确定',
handler:function(){
form_employee.getForm().submit({
url:'http://localhost:8080/LEDOA/utils/empservice/delLeave.jsp?type=1&id='+id,
method:'post',
reset : true,
failure : function(form, action) {
grid.setDisabled(false);
store.reload();
win.hide();
//Ext.MessageBox.alert('友情提示', action.result.info);
},
success : function(form, action) {
alert("test1");
grid.setDisabled(false);
store.reload();
win.hide();
alert("test3");
}
});
}
},{
text:'关闭',
handler:function(){
grid.setDisabled(false);
win.hide();
}
}]
});
grid.setDisabled(true);//禁用
win.show();
}
function toDate(str){
var s=str.split("-");
var date=new Date(parseInt(s[0]),parseInt(s[1])-1,parseInt(s[2]));
return date;
}
</script>
<div id="editor-grid1"></div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -