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 revenue = new Revenue();
var tabId = Ext.getCmp('mainTab').getActiveTab().id.split('_')[1];
juage(tabId,"reve",revenue, "revenue");
</script> </head>
<body>
<div id="revenue" ></div>
</body>
</html>

2.税率表js

 /**
* 税率信息
*
* @author sux 2011-02-22
* @memberOf {TypeName}
*/
var Revenue = Ext.extend(Ext.grid.EditorGridPanel, {
id : 'revenueId',
constructor : function() {
// 实现统一的提示方式
Ext.form.Field.prototype.msgTarget = 'title';
var number = new Ext.grid.RowNumberer();
var sm = new Ext.grid.CheckboxSelectionModel();
var revenueStore = new Ext.data.JsonStore({
url : 'revenue_edit.action',
root : 'root',
totalProperty : 'totalProperty',
fields : [ 'reId', 'reMin', 'reMax', 'rePercent', 'reMinus' ]
});
var cm = new Ext.grid.ColumnModel([ number, sm, {
header : '编号',
dataIndex : 'reId',
align : 'center'
}, {
header : '最小值',
dataIndex : 'reMin',
align : 'center',
//设置在编辑状态下,指定编辑器
//Ext_数字输入框_Ext.form.NumberField
editor : new Ext.form.NumberField({
allowBlank : false,
blankText : '不能为空'
})
}, {
header : '最大值',
dataIndex : 'reMax',
align : 'center',
editor : new Ext.form.NumberField({
allowBlank : false,
blankText : '不能为空'
})
}, {
header : '税率',
dataIndex : 'rePercent',
align : 'center',
editor : new Ext.form.NumberField({
allowBlank : false,
blankText : '不能为空'
})
}, {
header : '速算减值',
dataIndex : 'reMinus',
align : 'center',
editor : new Ext.form.NumberField({
allowBlank : false,
blankText : '不能为空'
})
} ]); Revenue.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: revenueStore,
tbar: new Ext.Toolbar({
items: [{
text: '删除',
iconCls: 'delete',
id: 'reve_delete',
handler: delRevenueFn
},{
text: '新增',
iconCls: 'add',
id: 'reve_add',
handler: newRevenueFn
},{
text: '保存或修改',
iconCls: 'save',
id: 'reve_saveorupdate',
handler: modifyRevenueFn
}]
}),
bbar: new PagingToolbar(revenueStore, 20)
});
revenueStore.load({
params: {
start: 0,
limit: 20
}
});
}
});
//删除
delRevenueFn = function(){
gridDel('revenueId', 'reId','revenue_delete.action');
};
//新增
newRevenueFn = function(){ var DefaultRecord = new Ext.data.Record.create([{name: 'reId', mapping: 0},{name: 'reMin', mapping: 1},
{name: 'reMax', mapping: 2},{name: 'rePercent', mapping: 3},{name: 'reMinus', mapping: 4}]);
//Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录。
var num = Ext.getCmp('revenueId').getStore().getCount();
var newRecord = new DefaultRecord({
reId: num+1,
reMin: '',
reMax: '',
rePercent: '',
reMinus: ''
});
Ext.getCmp('revenueId').getStore().insert(0,newRecord);
};
//保存或修改
modifyRevenueFn=function(){
//获取以后都是第一次修改的值
var modifiedRecords = Ext.getCmp('revenueId').getStore().getModifiedRecords(); var revenues = reRevenueJson(modifiedRecords);
Ext.Ajax.request({
url: 'revenue_modify.action',
waitTitle: '提示',
waitMsg: '正在保存数据...',
method: 'post',
params: {
json: revenues
},
success: reModifySuccessFn,
failure: reModifyfailureFn
})
};
//保存成功后处理
reModifySuccessFn = function(response, options){
var datas = Ext.util.JSON.decode(response.responseText);
Ext.Msg.alert('提示',datas.msg,function(){
Ext.getCmp('revenueId').getStore().load({
params: {
start: 0,
limit: 20
}
});
});
};
//删除成功后处理
reModifyfailureFn = function(response, options){
Ext.Msg.alert('提示','连接失败',function(){})
};
//转化json
reRevenueJson = function(modifiedRecords){
var count = modifiedRecords.length;
var revenues='';
//有修改
if(count > 0){
revenues = "[";
for(i=0; i<count; i++){
revenues += "{";
var reId = modifiedRecords[i].get('reId');
var reMin = modifiedRecords[i].get('reMin');
var reMax = modifiedRecords[i].get('reMax');
var rePercent = modifiedRecords[i].get('rePercent');
var reMinus = modifiedRecords[i].get('reMinus');
revenues += '"reId":'+reId+', "reMin":'+reMin+',"reMax":'+reMax+',"rePercent":'+rePercent+',"reMinus":'+reMinus+'}';
if( i != count-1)
revenues += ","
}
revenues += "]"
}
return revenues;
}

69.资金管理-税率表管理extjs 页面的更多相关文章

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

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

  2. 80.用户管理 Extjs 页面

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

  3. 74.资金管理-员工工资配置 extjs 页面

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

  4. 82.角色管理Extjs 页面

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

  5. SNF开发平台WinForm之四-开发-主细表管理页面-SNF快速开发平台3.3-Spring.Net.Framework

    4.1运行效果: 4.2开发实现: 4.2.1          有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: ...

  6. SQLSERVER新建表的时候页面分配情况是怎样的?

    SQLSERVER新建表的时候页面分配情况是怎样的? 再次感谢sqlskill网站和转载sqlskill网站文章并翻译的人,因为您们的转载和翻译让小弟又学习到新的东西o(∩_∩)o 文章中用到的工具: ...

  7. 给ecshop后台增加管理功能页面

    给ecshop后台增加管理功能页面 比如我们增加一个统计报表叫做 物流费用统计报表 放在后台“报表统计”栏目中 具体操作步骤: 第一步,我们要添加一个菜单到后台,然后设置语言项,最后设置权限,这样,后 ...

  8. django学习-22.admi管理后台页面的文案展示等相关配置

    目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...

  9. OracleDBA之表管理

    下面是Oracle表管理的部分,用到的测试表是oracle数据库中scott用户下的表做的测试,有的实验也用到了hr用户的数据,以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家 ...

随机推荐

  1. 【转】Flex 布局

    网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

  2. pandas处理各类表格数据

    经常遇到Python读取excel和csv还有其他各种文件的内容.json还有web端的读取还是比较简单,但是excel和csv的读写是很麻烦.这里记录了pandas库提供的方法来实现文本内容和Dat ...

  3. python正则表达式提取字符串

    用python正则表达式提取字符串 在日常工作中经常遇见在文本中提取特定位置字符串的需求.python的正则性能好,很适合做这类字符串的提取,这里讲一下提取的技巧,正则表达式的基础知识就不说了,有兴趣 ...

  4. BZOJ 1468 Tree 【模板】树上点分治

    #include<cstdio> #include<algorithm> #define N 50010 #define M 500010 #define rg registe ...

  5. 解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)

    这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成 ...

  6. HDU 5493 Queue

    Queue Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  7. Leetcode 76.最小覆盖子串

    最小覆盖子串 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = "A ...

  8. 转载 - C++ - placement new

    出处:http://www.cnblogs.com/wanghetao/archive/2011/11/21/2257403.html 有关placement new                  ...

  9. vim中256色的配色表

    vim貌似支持的颜色很有限.white  black  yellow  cyan   magenta   blue   grey   green   red,大多数颜色前面都可以加light 或者 d ...

  10. MySQL慢日志切割邮件发送脚本

    #!/bin/bashtime=`date -d yesterday +"%Y-%m-%d"`slowlog='/usr/local/percona/data/slow.log'# ...