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. ExtJs如何判断form表单是否被修改过详解

    1.Extjs表单提交主要有三种方式: 1, EXT的form表单ajax提交(默认提交方式)      相对单独的ajax提交来说优点在于能省略写参数数组 ,form.getForm().submi ...

  2. eclipse自动提示配置

    打开Window->Preferences

  3. C,LINUX,数据结构部分

    1604期 第1期测试(面试精选:C,LINUX,数据结构部分) 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:24 ...

  4. [bzoj1072][SCOI2007][排列perm] (状态压缩+数位dp+排列去重)

    Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0).例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种. Input ...

  5. 47. Spring Boot发送邮件【从零开始学Spring Boot】

    (提供源代码) Spring提供了非常好用的JavaMailSender接口实现邮件发送.在Spring Boot的Starter模块中也为此提供了自动化配置.下面通过实例看看如何在Spring Bo ...

  6. Drools介绍与使用

    Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值.Drools 允许使用声明方式表达业务逻辑.可以使用非 XML 的本地语言编写规则,从而便于学习和理解 ...

  7. 页面加载即执行JQuery的三种方法

    [1]$(function( ){ }): $(function(){ $("#name").click(function(){ //adding your code here } ...

  8. 【NJU749D】triple(莫比乌斯反演)

    题意: cas<=100 n<=10^5 思路:与两个数的没什么区别 F(d)=(n div d)*(n div d-1)*(n div d-2) div 6 再加上喜闻乐见的下底函数分块 ...

  9. CF671C. Ultimate Weirdness of an Array

    n<=200000个<=200000的数问所有的f(i,j)的和,表示去掉区间i到j后的剩余的数字中任选两个数的最大gcd. 数论日常不会.. 先试着计算一个数组:Hi表示f(l,r)&l ...

  10. 洛谷—— P1576 最小花费

    P1576 最小花费 题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使 ...