1.
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6 7 8 9 1011 12 基本工资信息 13 14 19 20 21 22 23 24
2、
1 /** 2 * 员工工资基本信息管理 3 * @author sux 2011-02-23 4 * @memberOf {TypeName} 5 * @return {TypeName} 6 */ 7 var SalaryBasic = Ext.extend(Ext.grid.EditorGridPanel,{ 8 id: 'salaryBasicId', 9 constructor: function(){ 10 Ext.form.Field.prototype.msgTarget = 'title'; 11 var number = new Ext.grid.RowNumberer(); 12 var sm = new Ext.grid.CheckboxSelectionModel(); 13 var salBasicStore = new Ext.data.JsonStore({ 14 url: 'salBasic_list.action', 15 root: 'root', 16 totalProperty: 'totalProperty', 17 fields: ['sbId','employee','sbBasic','sbEndowment','sbHospitalization','sbUnemployment','sbInjury', 18 'sbMaternity','sbHousing','sbTraffic','sbEatery','sbTelephone'] 19 }) 20 var cm = new Ext.grid.ColumnModel([ 21 number, sm, 22 { 23 header: '编号', 24 dataIndex: 'sbId', 25 align: 'center' 26 },{ 27 header: '员工工号', 28 dataIndex: 'employee', 29 align: 'center', 30 renderer: function(value){ 31 //判断其类型是否为object类型 32 if(typeof(value) == "object"){ 33 return value.empId; 34 }else{ 35 return value; 36 } 37 }, 38 editor: new Ext.form.TextField({ 39 allowBlank: false, 40 blankText: '不能为空', 41 id: 'salaryBasicEmp', 42 listeners: {'blur':this.uniqueEmp} 43 }) 44 },{ 45 header: '员工姓名', 46 dataIndex: 'employee', 47 align: 'center', 48 renderer: function(value){ 49 if(value) 50 return value.empName; 51 } 52 },{ 53 header: '基本工资', 54 dataIndex: 'sbBasic', 55 align: 'center', 56 editor: new Ext.form.TextField() 57 },{ 58 header: '养老保险', 59 dataIndex: 'sbEndowment', 60 align: 'center', 61 editor: new Ext.form.ComboBox({ 62 mode: 'local', 63 triggerAction: 'all', 64 editable: false, 65 store: new Ext.data.SimpleStore({ 66 fields: ['name','value'], 67 data: [['是','1'],['否','0']] 68 }), 69 displayField: 'name', 70 valueField: 'value' 71 }), 72 renderer: function(value){ 73 if(value == '1') return '是'; 74 return '否'; 75 } 76 },{ 77 header: '医疗保险', 78 dataIndex: 'sbHospitalization', 79 align: 'center', 80 editor: new Ext.form.ComboBox({ 81 mode: 'local', 82 triggerAction: 'all', 83 editable: false, 84 store: new Ext.data.SimpleStore({ 85 fields: ['name','value'], 86 data: [['是','1'],['否','0']] 87 }), 88 displayField: 'name', 89 valueField: 'value' 90 }), 91 renderer: function(value){ 92 if(value == '1') return '是'; 93 return '否'; 94 } 95 },{ 96 header: '失业保险', 97 dataIndex: 'sbUnemployment', 98 align: 'center', 99 editor: new Ext.form.ComboBox({100 mode: 'local',101 editable: false,102 triggerAction: 'all',103 store: new Ext.data.SimpleStore({104 fields: ['name','value'],105 data: [['是','1'],['否','0']]106 }),107 displayField: 'name',108 valueField: 'value'109 }),110 renderer: function(value){111 if(value == '1') return '是';112 return '否';113 }114 },{115 header: '工伤保险',116 dataIndex: 'sbInjury',117 align: 'center',118 editor: new Ext.form.ComboBox({119 mode: 'local',120 triggerAction: 'all',121 editable: false,122 store: new Ext.data.SimpleStore({123 fields: ['name','value'],124 data: [['是','1'],['否','0']]125 }),126 displayField: 'name',127 valueField: 'value'128 }),129 renderer: function(value){130 if(value == '1') return '是';131 return '否';132 }133 },{134 header: '生育保险',135 dataIndex: 'sbMaternity',136 align: 'center',137 editor: new Ext.form.ComboBox({138 mode: 'local',139 triggerAction: 'all',140 editable: false,141 store: new Ext.data.SimpleStore({142 fields: ['name','value'],143 data: [['是','1'],['否','0']]144 }),145 displayField: 'name',146 valueField: 'value'147 }),148 renderer: function(value){149 if(value == '1') return '是';150 return '否';151 }152 },{153 header: '住房公积金',154 dataIndex: 'sbHousing',155 align: 'center',156 editor: new Ext.form.ComboBox({157 mode: 'local',158 editable: false,159 triggerAction: 'all',160 store: new Ext.data.SimpleStore({161 fields: ['name','value'],162 data: [['是','1'],['否','0']]163 }),164 displayField: 'name',165 valueField: 'value'166 }),167 renderer: function(value){168 if(value) return '是';169 return '否';170 }171 },{172 header: '交通补贴',173 dataIndex: 'sbTraffic',174 align: 'center',175 editor: new Ext.form.NumberField()176 },{177 header: '餐费补贴',178 dataIndex: 'sbEatery',179 align: 'center',180 editor: new Ext.form.NumberField()181 },{182 header: '通迅补贴',183 dataIndex: 'sbTelephone',184 align: 'center',185 editor: new Ext.form.NumberField()186 }])187 SalaryBasic.superclass.constructor.call(this, {188 width: Ext.getCmp('mainTab').getActiveTab().getInnerWidth(),189 height: Ext.getCmp('mainTab').getActiveTab().getInnerHeight(),190 /**表格高度自适应 document.body.clientHeight浏览器页面高度 start**/191 monitorResize: true, 192 doLayout: function() { 193 this.setWidth(document.body.clientWidth-205);194 this.setHeight(document.body.clientHeight-140);195 Ext.grid.GridPanel.prototype.doLayout.call(this); 196 } ,197 viewConfig: {198 forceFit: true199 },200 sm: sm, 201 cm: cm,202 store: salBasicStore,203 tbar: new Ext.Toolbar({204 items: ['条目:',{205 xtype: 'combo',206 width: 80,207 triggerAction: 'all',208 editable: false,209 mode: 'local',210 store: new Ext.data.SimpleStore({211 fields: ['name','value'],212 data: [[" "," "],["empId","员工工号"],["empName","员工姓名"]]213 }),214 id: 'sb_condition',215 displayField: 'value',216 valueField: 'name'217 },'内容',{218 xtype: 'textfield',219 id: 'sb_conditionValue',220 width: 80221 },{222 text: '查看',223 handler: salViewFn,224 iconCls: 'search'225 },{226 text: '删除',227 handler: salDelFn,228 id: 'salb_delete',229 iconCls: 'delete'230 },{231 text: '新增',232 id: 'salb_add',233 handler: salNewFn,234 iconCls: 'add'235 },{236 text: '修改或保存',237 iconCls: 'save',238 id: 'salb_saveorupdate',239 handler: salUpdateOrSaveFn240 }] 241 }),242 bbar: new PagingToolbar(salBasicStore, 20)243 })244 salBasicStore.load({245 params: {246 start: 0,247 limit: 20248 }249 });250 },251 //员工工号252 uniqueEmp: function(obj){253 var empId = obj.getValue();254 Ext.Ajax.request({255 url: 'salBasic_uniqueEmp.action',256 success: function(response, options){257 var obj = Ext.util.JSON.decode(response.responseText);258 if(obj.msg == false){259 Ext.Msg.alert("提示","此员工的工资已配置");260 }261 },262 failure: hrmsys.util.common.failure,263 params: {264 empId: empId265 }266 })267 }268 });269 //查看270 salViewFn = function(){271 var condition = Ext.getCmp("sb_condition").getValue();272 var conditionValue = Ext.getCmp("sb_conditionValue").getValue();273 Ext.getCmp('salaryBasicId').getStore().load({274 params: {275 type: 'query',276 condition: condition,277 conditionValue: conditionValue,278 start: 0,279 limit: 20280 }281 });282 };283 //删除284 salDelFn = function(){285 gridDel('salaryBasicId','sbId', 'salBasic_delete.action');286 };287 //新增288 salNewFn = function(){289 var DefaultRecord = new Ext.data.Record.create([{name: 'sbId', mapping: 0},{name: 'employee', mapping: 1},290 {name: 'empName', mapping:2},{name: 'sbBasic', mapping: 3},{name: 'sbEndowment', mapping: 4},291 {name: 'sbHospitalization', mapping: 5},{name: 'sbUnemployment', mapping: 6},{name: 'sbInjury', mapping: 7},292 {name: 'sbMaternity', mapping: 8},{name: 'sbHousing', mapping:9},{name: 'sbTraffic', mapping: 10},293 {name: 'sbEatery', mapping: 11},{name: 'sbTelephone', mapping: 12}]);294 var num = Ext.getCmp('salaryBasicId').getStore().getCount();295 var newRecord = new DefaultRecord({296 sbId: num+1297 });298 Ext.getCmp('salaryBasicId').getStore().insert(0,newRecord); 299 };300 301 //保存或者修改302 salUpdateOrSaveFn = function(){303 var modifiedRecords = Ext.getCmp('salaryBasicId').getStore().getModifiedRecords();304 var salBasics = reSalBasicJson(modifiedRecords);305 //alert(salBasics);306 Ext.Ajax.request({307 url: 'salBasic_save.action',308 method: 'post',309 waitTitle: '提示',310 waitMsg: '正在保存数据...',311 params: {312 json: salBasics313 },314 success: salBasicSuccessFn,315 failure: boonModifyfailureFn316 })317 };318 //保存成功保存319 salBasicSuccessFn = function(response, options){320 var datas = Ext.util.JSON.decode(response.responseText);321 Ext.Msg.alert('提示',datas.msg,function(){322 Ext.getCmp('salaryBasicId').getStore().load({323 params: {324 start: 0,325 limit: 20326 }327 });328 });329 };330 //json331 reSalBasicJson = function(modifiedRecords){332 var count = modifiedRecords.length;333 var salBasics='';334 //有修改或保存335 if(count > 0){336 salBasics = "[";337 for(i=0; i