<?php include(mvc::$cfg['PATH_TPL'].'public/header.php');?>
<?php include(mvc::$cfg['PATH_TPL'].'balance/common.php');?>
<style>
body{color:#333}
.ui-th-div{color:#676a6c}
.form-control{height:20px}
.form-control, .single-line {padding:2px;font-size:12px}
</style>
<div class="list_pager">
	<div id="list_buttons"></div>
	<table id="grid_balance"></table>
	<div id="jqGridPager"></div>
</div>
<script type="text/javascript" defer> 
var cycle = "<?php echo $_REQUEST['cycle']?>";
var isinit = "<?php echo $_REQUEST['isinit']?>";
var grid = null;
$(document).ready(function () {
	var form_title = '余额表';
	grid = new qgGrid('grid_balance',{
		url: qg.url.set(urls.listPost).add({cycle:cycle,isinit:isinit}).val(),
		autowidth:true,
		rowNum:200,
		footerrow:true,
		cellEdit: (isinit==1),
		cellsubmit: "clientArray",
		colModel: [
			{ label: 'ID', name: 's_id', key: true,hidden:true, width: 120 , sorttype:'integer'},
			{ label: 'BID', name: 'b_id',hidden:true, width: 120 , sorttype:'integer'},
			{ label: '期', name: 'b_cycle', width: 80 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}},
			{ label: '一级科目', name: 's_parent_name', width: 100, searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}},
			{ label: '二级科目', name: 's_name', width: 180, searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}},
			{ label: '借方发生额', name: 'b_j',align:'right', width: 120 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']},formatter:viewMoney,unformat:unMoney,cellattr: moneyAttr},
			{ label: '贷方发生额', name: 'b_d',align:'right', width: 120 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']},formatter:viewMoney,unformat:unMoney,cellattr: moneyAttr},
			{ label: '余额方向', name: 's_direction', width: 80
					,searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}
					,formatter:directionFormat,unformat:function(text, options, rowObject){return (text=='借') ? 1 : 0;}
					},
			{ label: '结余', name: 's_inc', width: 50
					,searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}
					,formatter:s_incFormat,unformat:function(text, options, rowObject){return (text=='是') ? 1 : 0;}
					},
			{ label: '上期余额', name: 'b_p_balance',align:'right', width: 120 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']},formatter:viewMoney,unformat:unMoney,cellattr: moneyAttr},
			{ label: '本期发生余额', name: 'b_v_balance',align:'right', width: 120 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']},formatter:viewMoney,unformat:unMoney,cellattr: moneyAttr},
			{ label: '本期余额', name: 'b_balance', width: 120 , sorttype:'integer', searchoptions:{sopt:['cn','eq','ne','le','lt','gt','ge','nc','nu','nn']}
					,align:'right', sortable:false, editable: true, edittype:"text",editrules:{number:true,required:false},formatter:viewMoney,unformat:unMoney,cellattr: moneyAttr},
		],
		gridComplete:function(){
			total();
		},
		onSelectRow:function(key,status,event){
			;
		},
		loadComplete:function(data){
			data = data.rows;
		},
		afterEditCell:function (rowid, cellname, v, iRow, iCol) {
			var input = $('#'+iRow+'_'+cellname);
			input.bind('keydown',function(e){
				var keyValue = e.which;
				if(keyValue == Public.keyCode.ENTER){ //回车键
					total();
				}
			});
			input.bind('blur',function(e){
				total();
			});
		},
		onEnter:function(rowid){
			if(rowid){
				var viewUrl = urls.view+'?key='+rowid;
				var row = grid.selectRowData();
				qgui.form.view(row.b_subject,viewUrl)
			}
		}
	});
	btnSaveInit = null;
	if(isinit==1){
		btnSaveInit = [
			{btn:'btnSaveInit',caption:'保存科目期初余额',icon:'fa fa-save',type:'btn-success',click:function(e){
				btnSaveInitClick(e);
			}},
		];
	}
	qgui.tableButton({
		dom:'#list_buttons',
		grid:grid,
		title:form_title,
		buttons:[
			{btn:'refresh'},
			{btn:'search'},
			{btn:'export'},
			{btn:'tools'},
			{btn:'ui_showhideCol'},
			{btn:'ui_save'},
			{btn:'ui_reset'},
		],
		customButtons:btnSaveInit,
	});
});
/**方法************************/
var gridReload = function(){ //供弹窗调用
	grid.reload();
};
//格式化
var directionFormat = function(cellValue, options, rowObject, action){
	return (cellValue==1) ? '借' : '贷';
};
var s_incFormat = function(cellValue, options, rowObject, action){
	return (cellValue==1) ? '是' : '';
};

var viewMoney = function(cellValue, options, rowObject, action){
	if(cellValue=='0' || cellValue=='0.00' || !cellValue) 
		cellValue = '';
	else
		cellValue = qg.num.money.format(cellValue);
	return cellValue;
};
var unMoney = function(cellValue, options, rowObject){
	return qg.num.money.unformat(cellValue);
};
function moneyAttr(rowId, val, rawObject, cm, rdata) {
	if (qg.num.money.unformat(val)<0) {
		return "style='color:red'";
	}
}
var total = function(){
	grid.saveEditCell();
	var total_j       = grid.grid.getCol('b_j',false,'sum');
	var total_d       = grid.grid.getCol('b_d',false,'sum');
	var total_b_p_balance       = grid.grid.getCol('b_p_balance',false,'sum');
	var total_b_v_balance       = grid.grid.getCol('b_v_balance',false,'sum');
	var total_balance = grid.grid.getCol('b_balance',false,'sum');
	grid.grid.footerData('set', { "s_name": '合计', 
		b_j: total_j.toFixed(2), 
		b_d: total_d.toFixed(2), 
		b_p_balance: total_b_p_balance.toFixed(2),
		b_v_balance: total_b_v_balance.toFixed(2),
		b_balance: total_balance.toFixed(2),
		});	
};
//保存科目期初余额
var btnSaveInitClick = function(e){
	$('#btnSaveInit').attr("disabled",true);
	grid.saveEditCell();
	var ids = grid.grid.getDataIDs();
	var data = [];
	for(var i=0;i<ids.length;i++){
		var row = grid.grid.jqGrid("getRowData",ids[i]);
		if(row.s_id && row.b_balance!=''){
			var item = {
				b_id:row.b_id,
				b_cycle:'20'+row.b_cycle,
				b_subject:row.s_id,
				b_direction:row.s_direction,
				b_balance:row.b_balance
			};
			data.push(item);
		}
	}
	if(data.length>0){
		qg.ajax.post(urls.addPost,data,function(data){
			$('#btnSaveInit').removeAttr("disabled");
			qgui.box.ok('保存成功');
			window.setTimeout(function(){
				qg.win.go(qg.url.self().val());
			},500);
		},{anyError:function(error){
			$('#btnSaveInit').removeAttr("disabled");
		}});
	}else{
		qgui.box.msg('没有任何数据');
		$('#btnSaveInit').removeAttr("disabled");
	}
};
</script>
<?php include(mvc::$cfg['PATH_TPL'].'public/footer.php');?>