1.

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>基本工资信息</title> <script type="text/javascript">
var salaryBasic = new SalaryBasic();
var tabId = Ext.getCmp('mainTab').getActiveTab().id.split('_')[1];
juage(tabId,"salb",salaryBasic,"salaryBasic");
</script> </head>
<body>
<div id="salaryBasic" ></div>
</body>
</html>

2、

 /**
* 员工工资基本信息管理
* @author sux 2011-02-23
* @memberOf {TypeName}
* @return {TypeName}
*/
var SalaryBasic = Ext.extend(Ext.grid.EditorGridPanel,{
id: 'salaryBasicId',
constructor: function(){
Ext.form.Field.prototype.msgTarget = 'title';
var number = new Ext.grid.RowNumberer();
var sm = new Ext.grid.CheckboxSelectionModel();
var salBasicStore = new Ext.data.JsonStore({
url: 'salBasic_list.action',
root: 'root',
totalProperty: 'totalProperty',
fields: ['sbId','employee','sbBasic','sbEndowment','sbHospitalization','sbUnemployment','sbInjury',
'sbMaternity','sbHousing','sbTraffic','sbEatery','sbTelephone']
})
var cm = new Ext.grid.ColumnModel([
number, sm,
{
header: '编号',
dataIndex: 'sbId',
align: 'center'
},{
header: '员工工号',
dataIndex: 'employee',
align: 'center',
renderer: function(value){
//判断其类型是否为object类型
if(typeof(value) == "object"){
return value.empId;
}else{
return value;
}
},
editor: new Ext.form.TextField({
allowBlank: false,
blankText: '不能为空',
id: 'salaryBasicEmp',
listeners: {'blur':this.uniqueEmp}
})
},{
header: '员工姓名',
dataIndex: 'employee',
align: 'center',
renderer: function(value){
if(value)
return value.empName;
}
},{
header: '基本工资',
dataIndex: 'sbBasic',
align: 'center',
editor: new Ext.form.TextField()
},{
header: '养老保险',
dataIndex: 'sbEndowment',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
triggerAction: 'all',
editable: false,
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value == '1') return '是';
return '否';
}
},{
header: '医疗保险',
dataIndex: 'sbHospitalization',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
triggerAction: 'all',
editable: false,
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value == '1') return '是';
return '否';
}
},{
header: '失业保险',
dataIndex: 'sbUnemployment',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
editable: false,
triggerAction: 'all',
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value == '1') return '是';
return '否';
}
},{
header: '工伤保险',
dataIndex: 'sbInjury',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
triggerAction: 'all',
editable: false,
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value == '1') return '是';
return '否';
}
},{
header: '生育保险',
dataIndex: 'sbMaternity',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
triggerAction: 'all',
editable: false,
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value == '1') return '是';
return '否';
}
},{
header: '住房公积金',
dataIndex: 'sbHousing',
align: 'center',
editor: new Ext.form.ComboBox({
mode: 'local',
editable: false,
triggerAction: 'all',
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [['是','1'],['否','0']]
}),
displayField: 'name',
valueField: 'value'
}),
renderer: function(value){
if(value) return '是';
return '否';
}
},{
header: '交通补贴',
dataIndex: 'sbTraffic',
align: 'center',
editor: new Ext.form.NumberField()
},{
header: '餐费补贴',
dataIndex: 'sbEatery',
align: 'center',
editor: new Ext.form.NumberField()
},{
header: '通迅补贴',
dataIndex: 'sbTelephone',
align: 'center',
editor: new Ext.form.NumberField()
}])
SalaryBasic.superclass.constructor.call(this, {
width: Ext.getCmp('mainTab').getActiveTab().getInnerWidth(),
height: Ext.getCmp('mainTab').getActiveTab().getInnerHeight(),
/**表格高度自适应 document.body.clientHeight浏览器页面高度 start**/
monitorResize: true,
doLayout: function() {
this.setWidth(document.body.clientWidth-205);
this.setHeight(document.body.clientHeight-140);
Ext.grid.GridPanel.prototype.doLayout.call(this);
} ,
viewConfig: {
forceFit: true
},
sm: sm,
cm: cm,
store: salBasicStore,
tbar: new Ext.Toolbar({
items: ['条目:',{
xtype: 'combo',
width: 80,
triggerAction: 'all',
editable: false,
mode: 'local',
store: new Ext.data.SimpleStore({
fields: ['name','value'],
data: [[" "," "],["empId","员工工号"],["empName","员工姓名"]]
}),
id: 'sb_condition',
displayField: 'value',
valueField: 'name'
},'内容',{
xtype: 'textfield',
id: 'sb_conditionValue',
width: 80
},{
text: '查看',
handler: salViewFn,
iconCls: 'search'
},{
text: '删除',
handler: salDelFn,
id: 'salb_delete',
iconCls: 'delete'
},{
text: '新增',
id: 'salb_add',
handler: salNewFn,
iconCls: 'add'
},{
text: '修改或保存',
iconCls: 'save',
id: 'salb_saveorupdate',
handler: salUpdateOrSaveFn
}]
}),
bbar: new PagingToolbar(salBasicStore, 20)
})
salBasicStore.load({
params: {
start: 0,
limit: 20
}
});
},
//员工工号
uniqueEmp: function(obj){
var empId = obj.getValue();
Ext.Ajax.request({
url: 'salBasic_uniqueEmp.action',
success: function(response, options){
var obj = Ext.util.JSON.decode(response.responseText);
if(obj.msg == false){
Ext.Msg.alert("提示","此员工的工资已配置");
}
},
failure: hrmsys.util.common.failure,
params: {
empId: empId
}
})
}
});
//查看
salViewFn = function(){
var condition = Ext.getCmp("sb_condition").getValue();
var conditionValue = Ext.getCmp("sb_conditionValue").getValue();
Ext.getCmp('salaryBasicId').getStore().load({
params: {
type: 'query',
condition: condition,
conditionValue: conditionValue,
start: 0,
limit: 20
}
});
};
//删除
salDelFn = function(){
gridDel('salaryBasicId','sbId', 'salBasic_delete.action');
};
//新增
salNewFn = function(){
var DefaultRecord = new Ext.data.Record.create([{name: 'sbId', mapping: 0},{name: 'employee', mapping: 1},
{name: 'empName', mapping:2},{name: 'sbBasic', mapping: 3},{name: 'sbEndowment', mapping: 4},
{name: 'sbHospitalization', mapping: 5},{name: 'sbUnemployment', mapping: 6},{name: 'sbInjury', mapping: 7},
{name: 'sbMaternity', mapping: 8},{name: 'sbHousing', mapping:9},{name: 'sbTraffic', mapping: 10},
{name: 'sbEatery', mapping: 11},{name: 'sbTelephone', mapping: 12}]);
var num = Ext.getCmp('salaryBasicId').getStore().getCount();
var newRecord = new DefaultRecord({
sbId: num+1
});
Ext.getCmp('salaryBasicId').getStore().insert(0,newRecord);
}; //保存或者修改
salUpdateOrSaveFn = function(){
var modifiedRecords = Ext.getCmp('salaryBasicId').getStore().getModifiedRecords();
var salBasics = reSalBasicJson(modifiedRecords);
//alert(salBasics);
Ext.Ajax.request({
url: 'salBasic_save.action',
method: 'post',
waitTitle: '提示',
waitMsg: '正在保存数据...',
params: {
json: salBasics
},
success: salBasicSuccessFn,
failure: boonModifyfailureFn
})
};
//保存成功保存
salBasicSuccessFn = function(response, options){
var datas = Ext.util.JSON.decode(response.responseText);
Ext.Msg.alert('提示',datas.msg,function(){
Ext.getCmp('salaryBasicId').getStore().load({
params: {
start: 0,
limit: 20
}
});
});
};
//json
reSalBasicJson = function(modifiedRecords){
var count = modifiedRecords.length;
var salBasics='';
//有修改或保存
if(count > 0){
salBasics = "[";
for(i=0; i<count; i++){
salBasics += "{";
var sbId = modifiedRecords[i].get('sbId');
var employee = modifiedRecords[i].get('employee');
if(typeof(employee) == "object"){
var empId = employee.empId;
}else{
var empId = employee;
}
//var empName = modifiedRecords[i].get('empName');
var sbBasic = modifiedRecords[i].get('sbBasic');
var sbEndowment = modifiedRecords[i].get('sbEndowment');
var sbHospitalization = modifiedRecords[i].get('sbHospitalization');
var sbUnemployment = modifiedRecords[i].get('sbUnemployment');
var sbInjury = modifiedRecords[i].get('sbInjury');
var sbEatery = modifiedRecords[i].get('sbEatery');
var sbMaternity = modifiedRecords[i].get('sbMaternity');
var sbHousing = modifiedRecords[i].get('sbHousing');
var sbTraffic = modifiedRecords[i].get('sbTraffic');
var sbTelephone = modifiedRecords[i].get('sbTelephone');
salBasics += '"sbId":'+sbId+', "empId":"'+empId+'","sbBasic":'+sbBasic+
',"sbEndowment":'+sbEndowment+', "sbHospitalization":'+sbHospitalization+', "sbUnemployment":'+sbUnemployment+
', "sbInjury":'+sbInjury+', "sbEatery":'+sbEatery+', "sbMaternity":'+sbMaternity+', "sbHousing":'+sbHousing+
', "sbTraffic":'+sbTraffic+', "sbTelephone":'+sbTelephone+'}';
if( i != count-1)
salBasics += ","
}
salBasics += "]"
}
return salBasics;
}

74.资金管理-员工工资配置 extjs 页面的更多相关文章

  1. 70.资金管理-福利表管理 Extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  2. 69.资金管理-税率表管理extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  3. 79.员工薪水报表 Extjs 页面

    1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...

  4. HR开发 读取员工工资

    1.使用函数读取员工工资. ①数据结构工资结果 DATA: GT_RGDIR TYPE TABLE OF PC261 , GS_RGDIR TYPE PC261 , GT_PAYRESULT TYPE ...

  5. web.config配置aspx页面默认引用的namespace

    如果我们在aspx页面上使用<%%>的方式使用某些类的时候很多都没办法直接使用,我们必须要在页面上引用命名空间, 如:如果我们要使用DataTable类的时候,我们必须先使用<%@ ...

  6. Eclipse(非J2EE版本)配置Extjs环境以及安装部署Tomcat

    Eclipse(非J2EE版本)配置Extjs环境(Spket) 1. 安装spket插件,帮助->安装新软件->http://www.agpad.com/update. 2. 设置Spk ...

  7. Webpack 2 视频教程 019 - Webpack 2 中配置多页面编译

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  8. SpringMVC 实现文件上传与下载,并配置异常页面

    目录 上传文件的表单要求 Spring MVC实现上传文件 需要导入的jar包 配置MultipartResolver解析器 编写接收上传文件的控制器 Spring MVC实现文件下载 下载文件时的h ...

  9. SpringMVC项目配置欢迎页面为index.html

    一.问题 在web.xml中添加如下配置无效 <welcome-file-list> <welcome-file>index.html</welcome-file> ...

随机推荐

  1. atom 插件安装【转载】

    http://www.cnblogs.com/20145221GQ/p/5334762.html 问题: 输入apm install后,可能一直没有响应,要强行退. 不知道安装的时候可不可以打开ato ...

  2. vim三种模式

    一般模式 以vi打开一个文件就直接进入一般模式了.一般模式下可以移动光标查看内容,通过ESC回到一般模式. 一般模式下常用的操作: 撤销与重做 命令 说明 u 复原上一个操作 . 小数点 重复上一个操 ...

  3. 利用 CSS animation 和 CSS sprite 制作动画

    CSS3 大大强化了制作动画的能力,但是如果要做出图案比较复杂的动画,选择 GIF 依然是一个不错的选择.今天给大家介绍一个使用 CSS animation 配合雪碧图(CSS sprite)来制作动 ...

  4. 无需编写代码,用接口管理工具 eoLinker 高效完成API测试流程相关业务

    引言 作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率.这篇文章,将介绍如何使用接口管理工具 eoLinker 的自动化测试 [UI模式] 构建此业务 ...

  5. 为什么Java中的密码优先使用 char[] 而不是String?

    可以看下壁虎的回答:https://www.zhihu.com/question/36734157 String是常量(即创建之后就无法更改),会保存到常量池中,如果有其他进程可以dump这个进程的内 ...

  6. HDU 2451 Simple Addition Expression(找规律,考验智商)

    题目 最近比赛的题目好多签到题都是找规律的考验智商的题目啊,,,我怎么越来越笨了,,,, 通过列举,可以发现规律: 从左往右按位扫这个数: 当数的长度大于1时: 当首位大于3时,答案就是4*4*4*… ...

  7. 第五节:DataFrame聚合函数

  8. The Morning after Halloween uva1601

    这道题思路还是比较清晰的,建图加bfs或双向bfs,其实后者比前者少了将近一半的时间.. 建图可以把某一点所拥有邻接点长度(数目)记录在数组0这个位置,因为这道题使用vector会超时. #inclu ...

  9. 【POJ 1860】Currency Exchange

    [题目链接]:http://poj.org/problem?id=1860 [题意] 给你n种货币,m种货币之间的交换信息; 交换信息以 A,B,RA,CA,RB,CB的形式给出; 即A换B的话假设A ...

  10. HDU 5446 Unknown Treasure

    Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...