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. 骑士游历 - dp

    题目地址:http://www.51cpc.com/web/problem.php?id=1586 Summarize: 1. 题目坐标系所给 x,y与惯用表示横纵坐标相反 2. 搜索超时,使用动规: ...

  2. (C/C++学习)18.C语言双向链表

    说明:数组提供了连续内存空间的访问和使用,而链表是对内存零碎空间的有效组织和使用.链表又分为单向链表和双向链表,单向链表仅提供了链表的单方向访问,相比之下,双向链表则显得十分方便. 一.单向链表的节点 ...

  3. Gym - 101550A(Artwork 倒序+并查集)

    题目: 思路: 1.对输入数据离线,先把所有的黑线都画出来,统计一下剩余的白色连通块的个数,dfs过程将一个连通块放到一个集合中. 2.倒着往前消去黑线,如果当前的块A是白块就看他的四周有没有白块:有 ...

  4. fread快读+fwrite快速输出

    定义数组 char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf; 读入 #define getchar() (p1==p2&a ...

  5. Git安装使用指南

    Git安装使用指南 Git原理示意图 1. 安装git Linux服务器版本为Redhat6.2-64,其他版本可能有些许不同 1.1 安装依赖包 在安装git前首先安装依赖包,包括的依赖包有: cv ...

  6. VNC 安装 (适用Redhat 9.0 和 CentOS 7.0+)

    Remote Service 本文转自https://www.cnblogs.com/yjscloud/p/6695388.html VNC 安装 (适用Redhat 9.0 和 CentOS 7.0 ...

  7. python3 http.server备忘

    python3英文的 打印出来应该不错: https://docs.python.org/3/library/http.server.html#module-http.server python2.7 ...

  8. 关于图片预览使用base64在chrome上的性能问题解决方法

    在开发后台上传图片的功能时候使用base64预览图片,结果在传入大量图片后导致chrome崩溃,代码如下 var img = new Image(); var render = new FileRea ...

  9. python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序

    Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...

  10. SERE0014: Illegal HTML character: decimal 154

    问题:jmeter,生成报告转化成html,报错SERE0014: Illegal HTML character: decimal 154 原因: 某些字符,特别是控制字符#x7F-#x9F ,在XM ...