机关养老特殊补、扣发

需求说明==>>

可以参考职工养老的补扣发做

这周有安排dxx做职工养老的按月补付养老金,页面、逻辑、写表都可以保持一致,机关的没有界面,可以问nyn要职工养老这个界面做参考,免得到时候两个险种有区别。然后扣发的话界面可以参考补发画,具体处理逻辑和写表参考广州的扣发功能(不过一定要注意深圳的扣是一次扣整个月的所有待遇(可以录入时间段的),而广州的是针对具体的某一个待遇项目)

机关的表ic13和ic14就相当于职工的ic09和ic10,其他的表和职工养老共用,用险种类别来区分

需求分析==>>

增加界面控制,录入扣发的时间段,对参保人所有待遇项进行扣发计算。



 

开发页面碰到几个问题,记录一下。

1)选择扣发方式时, 动态显示隐藏输入 计发扣发月数。隐藏后再次显示 计划扣发月数的输入框时,变成换行?

页面显示代码

							<td id="jhkfys_val" style="display:none;"><cw:number property="jhkfys" id="jhkfys" allowNegative="false" 
							allowDecimals="false" listeners="{'change':jhkfys_change}"></cw:number></td>
						

写了一个JS方法

//显示 计划扣发月数
	function hiddenJhkfys(flag){
		if (flag){
			//隐藏 
			document.getElementById('jhkfys_zh').style.display="none";
			document.getElementById('jhkfys_val').style.display="none";
		} else {
//document.getElementById('jhkfys_zh').style.display="block";
			//document.getElementById('jhkfys_val').style.display="block";//按块显示,导致样式换行了。应按表格元素显示。			document.getElementById('jhkfys_zh').style.display="table-cell";
			document.getElementById('jhkfys_val').style.display="table-cell";
		}
	}

2) 事件监听方法。 select \change

listeners="{'change':jhkfys_change}"

listeners="{'select':kfqsny_select}"

3) 遍历json对象。

请求后台服务,返回的ac61List对象。进行遍历。

for(var i=0; i<ac61List.length; i++){
						    var newData = {
								"aaa036":ac61List[i]["aaa036"],	//项目代码
								"monthkf":ac61List[i]["aae019"],//待遇金额
								"aae041Date":"",	//应扣发开始年月
								"aae042Date":nowDate,	//应扣发截止年月
								"aae041":"",	//应扣发开始年月str
						    	"aae042":nowDate.format('yyyyMM'),	//应扣发截止年月str
						    	"bae069":"",	//应扣发月数
								"aae129":"",	//应扣发总额
								"aae041Date2":nextMonth,	//计划扣发开始年月 默认下月开始扣发
								"zhMonth":"",	//计划扣发月数	
								"aaa078":"2",	//补扣发标志
								"aaa077":"24",	//补扣发业务类型
								"baz057":100000
						    };
							data.push(newData);
						}
					    //addNewToLastRow('inputGrid', newData, false);
					    loadGridData("inputGrid", data);//显示所有待遇项目,录入时间段进行扣减。 add by zyh
					    cleanGridData('deductDetailGrid');

 框架方法,获取grid列表数据对象,如何逐行遍历。

//计划扣发月数 zyh20170831
	function jhkfys_change(){
		var kfys = Ext.getCmp("jhkfys").getValue();
		var records = getGridRecords('inputGrid');
		if(records.length<=0){//还没有待遇项目明细。
			return false;
		}
		var data2 = [];
		for(var i=0; i<records.length; i++){
			var jhAae041 = records[i].get('aae041Date2');
		    var newData = {
				"aaa036":records[i].get('aaa036'),	//项目代码
				"monthkf":records[i].get('monthkf'),//待遇金额
				"aae041Date":records[i].get('aae041Date'),	//应扣发开始年月
				"aae042Date":records[i].get('aae042Date'),	//应扣发截止年月
				"aae041":records[i].get('aae041'),	//应扣发开始年月str
		    	"aae042":records[i].get('aae042'),	//应扣发截止年月str
		    	"bae069":records[i].get('bae069'),	//应扣发月数
				"aae129":records[i].get('aae129'),	//应扣发总额
				"aae041Date2":jhAae041,	//计划扣发开始年月 默认下月开始扣发
				"zhMonth":kfys,	//计划扣发月数	
				"bac026":(Number(records[i].get('aae129')) / Number(kfys)).toFixed(2), // = 扣发总额/计划扣发月数
				"jhAae041":jhAae041.format('yyyyMM'),
				"aaa078":"2",	//补扣发标志
				"aaa077":"24",	//补扣发业务类型
				"baz057":100000
		    };
			data2.push(newData);
		}
		//重新写入
		//显示所有待遇项目,录入扣发时间段。默认开始年月为当月开始扣发。 zyh20170831
	    loadGridData("inputGrid", data2);//显示所有待遇项目,录入时间段进行扣减。 add by zyh
	}

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2391842