74.资金管理-员工工资配置 extjs 页面
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 页面的更多相关文章
- 70.资金管理-福利表管理 Extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 69.资金管理-税率表管理extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 79.员工薪水报表 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- HR开发 读取员工工资
1.使用函数读取员工工资. ①数据结构工资结果 DATA: GT_RGDIR TYPE TABLE OF PC261 , GS_RGDIR TYPE PC261 , GT_PAYRESULT TYPE ...
- web.config配置aspx页面默认引用的namespace
如果我们在aspx页面上使用<%%>的方式使用某些类的时候很多都没办法直接使用,我们必须要在页面上引用命名空间, 如:如果我们要使用DataTable类的时候,我们必须先使用<%@ ...
- Eclipse(非J2EE版本)配置Extjs环境以及安装部署Tomcat
Eclipse(非J2EE版本)配置Extjs环境(Spket) 1. 安装spket插件,帮助->安装新软件->http://www.agpad.com/update. 2. 设置Spk ...
- Webpack 2 视频教程 019 - Webpack 2 中配置多页面编译
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- SpringMVC 实现文件上传与下载,并配置异常页面
目录 上传文件的表单要求 Spring MVC实现上传文件 需要导入的jar包 配置MultipartResolver解析器 编写接收上传文件的控制器 Spring MVC实现文件下载 下载文件时的h ...
- SpringMVC项目配置欢迎页面为index.html
一.问题 在web.xml中添加如下配置无效 <welcome-file-list> <welcome-file>index.html</welcome-file> ...
随机推荐
- Prime算法生成最小生成树
虽说是生成树,但我只将生成的边输出了.至于怎么用这些边来创建树...我不知道_(:з」∠)_ //Prime方法生成最小生成树 void GraphAdjacencyListWeight::Gener ...
- Java_Web三大框架之Hibernate 入门(一)
一.Hibernate简介: Hibernate作者——Gavin King Hibernate创始人 < Hibernate in action >作者 EJB 3.0的Entity b ...
- C 语言常用方法技巧
C语言常用方法技巧 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impor ...
- ECC 构筑安全可靠的区块链
现在很多基于区块链技术的数字货币系统,比如:比特币和以太坊,它们都使用了椭圆曲线密码学(ECC, Elliptic Curve Cryptography)来保证货币的安全性. ECC 是一种公开密钥密 ...
- 最快的 Python Web 框架入门
速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop 30,601 3.23ms Wheezy gunicorn + meinheld 20,244 4. ...
- DOCKER - POD操作
强制删除 Terminating 的pod kubectl delete -n <namespace> <pod podname> --grace-period=0 --fo ...
- APIshop精选接口助力双十一电商业务
距离2018年双11的购物盛典已经不到一个月了,各大电商之间的战役已经悄然打响,今年的双11仍会是一场电商鏖战,想必又会打破2017年双11近2540亿的全网成交总额记录. 据统计,去年双11全天共产 ...
- react typescript 父组件调用子组件
//父组件import * as React from 'react'import { Input } from 'antd'const Search = Input.Searchimport &qu ...
- vue中的父组件及子组件生命周期的执行顺序
一.没有任何任何显示与隐藏限制条件的情况下: 1.运行的顺序依次是: 父组件created→父组件beforeMounted→子组件created→子组件beforeMounted→子组件mounte ...
- qwb和李主席
qwb和李主席 Time Limit: 4 Sec Memory Limit: 128 MB Description qwb和李主席打算平分一堆宝藏,他们想确保分配公平,可惜他们都太懒了,你能帮助他 ...