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

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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>福利信息</title>
13     <script type="text/javascript">
14         var boon = new Boon();
15         var tabId = Ext.getCmp('mainTab').getActiveTab().id.split('_')[1];
16         juage(tabId,"boon",boon,"boon");
17     </script>
18     
19   </head>
20   <body>
21       <div id="boon" ></div>
22   </body>
23 </html>

2、

  1 /**
  2  * 福利信息
  3  * @author sux 2011-02-23
  4  * @memberOf {TypeName} 
  5  */
  6 var Boon = Ext.extend(Ext.grid.EditorGridPanel,{
  7     id: 'boonId',
  8     constructor: function(){
  9         Ext.form.Field.prototype.msgTarget = 'title';
 10         var number = new Ext.grid.RowNumberer();
 11         var sm = new Ext.grid.CheckboxSelectionModel();
 12         var boonStore = new Ext.data.JsonStore({
 13             url: 'boon_edit.action',
 14             root: 'root',
 15              totalProperty: 'totalProperty',
 16             fields: ['boonId','boonName','boonMoney','boonPercent','boonRmark']
 17         });
 18         var cm = new Ext.grid.ColumnModel([
 19             number, sm,
 20         {
 21             header: '编号',
 22             dataIndex: 'boonId',
 23             align: 'center'
 24         },{
 25             header: '名称',
 26             dataIndex: 'boonName',
 27             align: 'center',
 28             editor: new Ext.form.TextField({
 29                 allowBlank: false,
 30                 blankText: '不能为空'
 31             })
 32         },{
 33             header: '总额',
 34             dataIndex: 'boonMoney',
 35             align: 'center',
 36             editor: new Ext.form.NumberField({
 37                 allowBlank: false,
 38                 blankText: '不能为空'
 39             })
 40         },{
 41             header: '百分比',
 42             dataIndex: 'boonPercent',
 43             align: 'center',
 44             editor: new Ext.form.NumberField({
 45                 allowBlank: false,
 46                 blankText: '不能为空'
 47             })
 48         },{
 49             header: '备注',
 50             dataIndex: 'boonRemark',
 51             align: 'center',
 52             editor: new Ext.form.TextArea()
 53         }]);
 54         Boon.superclass.constructor.call(this, {
 55              Ext.getCmp('mainTab').getActiveTab().getInnerWidth(),
 56             height: Ext.getCmp('mainTab').getActiveTab().getInnerHeight(),
 57             /**表格高度自适应 document.body.clientHeight浏览器页面高度 start**/
 58             monitorResize: true, 
 59             doLayout: function() { 
 60                 this.setWidth(document.body.clientWidth-205);
 61                 this.setHeight(document.body.clientHeight-140);
 62                 Ext.grid.GridPanel.prototype.doLayout.call(this); 
 63             } ,
 64             viewConfig: {
 65                 forceFit: true
 66             },
 67             sm: sm,
 68             cm: cm,
 69             store: boonStore,
 70             tbar: new Ext.Toolbar({
 71                 items: [{
 72                     text: '删除',
 73                     iconCls: 'delete',
 74                     id: 'boon_delete',
 75                     hidden: 'true',
 76                     handler: delBoonFn
 77                 },{
 78                     text: '新增',
 79                     id: 'boon_add',
 80                     hidden: 'true',
 81                     iconCls: 'add',
 82                     handler: newBoonFn
 83                 },{
 84                     text: '保存或修改',
 85                     iconCls: 'save',
 86                     id: 'boon_saveorupdate',
 87                     hidden: 'true',
 88                     handler: modifyBoonFn
 89                 }]
 90             }),
 91             bbar: new PagingToolbar(boonStore, 20)
 92         });
 93         boonStore.load({
 94             params: {
 95                 start: 0,
 96                 limit: 20
 97             }
 98         });
 99     }
100 });
101 //删除
102 delBoonFn = function(){
103     gridDel('boonId', 'boonId','boon_delete.action');
104     
105 };
106 //新增
107 newBoonFn = function(){
108     var DefaultRecord = new Ext.data.Record.create([{name: 'boonId', mapping: 0},{name: 'boonName', mapping: 1},
109         {name: 'boonMoney', mapping: 2},{name: 'boonPercent', mapping: 3},{name: 'boonRemark', mapping: 4}]);
110     var num = Ext.getCmp('boonId').getStore().getCount();
111     var newRecord = new DefaultRecord({
112         boonId: num+1,
113         boonName: '',
114         boonMoney: '',
115         boonPercent: '',
116         boonRemark: ''
117     });
118     Ext.getCmp('boonId').getStore().insert(0,newRecord);    
119 };
120 //保存或修
121 modifyBoonFn = function(){
122     var modifiedRecords = Ext.getCmp('boonId').getStore().getModifiedRecords();
123     var boons = reJson(modifiedRecords);
124     Ext.Ajax.request({
125         url: 'boon_modify.action',
126         waitTitle: '提示',
127         waitMsg: '正在保存数据...',
128         method: 'post',
129         params: {
130             json: boons
131         },
132         success: boonModifySuccessFn,
133         failure: boonModifyfailureFn
134     })
135 };
136 boonModifySuccessFn = function(response, options){
137     var datas = Ext.util.JSON.decode(response.responseText);
138     Ext.Msg.alert('提示',datas.msg,function(){
139         Ext.getCmp('boonId').getStore().load({
140             params: {
141                 start: 0,
142                 limit: 20
143             }
144         });
145     });
146 };
147 //保存失败
148 boonModifyfailureFn = function(response, options){
149     Ext.Msg.alert('提示','连接失败',function(){})
150 };
151 //转成json
152 reJson = function(modifiedRecords){
153     var count = modifiedRecords.length;
154     var boons='';
155     //有修改或保存
156     if(count > 0){
157         boons = "[";
158         for(i=0; i<count; i++){
159             boons += "{";
160             var boonId = modifiedRecords[i].get('boonId');
161             var boonName = modifiedRecords[i].get('boonName');
162             var boonMoney = modifiedRecords[i].get('boonMoney');
163             var boonPercent = modifiedRecords[i].get('boonPercent');
164             var boonRemark = modifiedRecords[i].get('boonRemark');
165             boons += '"boonId":'+boonId+', "boonName":"'+boonName+'","boonMoney":'+boonMoney+',"boonPercent":'+boonPercent+',"boonRemark":"'+boonRemark+'"}';
166             if( i != count-1)
167                 boons += ","
168         }
169         boons += "]"
170     }
171     return boons;
172 }
原文地址:https://www.cnblogs.com/sharpest/p/7657288.html