<?php include(mvc::$cfg['PATH_TPL'].'public/header.php');?>
<?php include(mvc::$cfg['PATH_TPL'].'subject/common.php');?>
<link href="<?php echo mvc::$cfg['URL_STATIC'];?>css/plugins/iCheck/custom.css" rel="stylesheet">
<!--BEGIN FROM DIV-->
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h2><span class="form_title"></span> <small></small></h2>
</div>
<div class="ibox-content">
<!-- 参考 https://jqueryvalidation.org/
required:true               必输字段
remote:"remote.php"         使用ajax方法调用remote.php验证输入值, 返回'false'验证不通过，返回'true'验证通过
email:true                  必须输入正确格式的电子邮件
url:true                    必须输入正确格式的网址
date:true                   必须输入正确格式的日期，日期校验ie6出错，慎用
dateISO:true                必须输入正确格式的日期(ISO)，例如：2009-06-23，1998/01/22 只验证格式，不验证有效性
number:true                 必须输入合法的数字(负数，小数)
digits:true                 必须输入整数
creditcard:true             必须输入合法的信用卡号
equalTo:"#password"         输入值必须和#password相同
accept:                     输入拥有合法后缀名的字符串（上传文件的后缀）
maxlength:5                 输入长度最多是5的字符串(汉字算一个字符)
minlength:10                输入长度最小是10的字符串(汉字算一个字符)
rangelength:[5,10]          输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
range:[5,10]                输入值必须介于 5 和 10 之间
max:5                       输入值不能大于5
min:10                      输入值不能小于10
$("#form").validate({
	messages:{
		f_username:{remote:"用户名已经被注册"},
	}
});
-->	
	<form id="form" method="post" class="form-horizontal">
		<input type="hidden" name="f_s_id" id="f_s_id" class="form-control" required minlength="0" maxlength="10" >
		<div class="form-group has-warning">
			<label class="col-sm-2 control-label">上级科目</label>
			<div class="col-sm-10">
				<div class="input-group">
					<input type="hidden" name="f_s_parent_id" id="f_s_parent_id" class="form-control" required minlength="0" maxlength="10" >
					<input type="text" name="s_parent" id="s_parent" readonly="true" class="form-control" required minlength="0" maxlength="100" >
					<span class="input-group-btn"> <button type="button" class="btn btn-success" onclick="selectSubject(0,'#f_s_parent_id','#s_parent',$('#f_s_id').val())"><i class="fa fa-search"></i></button> </span>
				</div>
				
			</div>
		</div>
		<div class="form-group has-warning">
			<label class="col-sm-2 control-label">科目名称</label>
			<div class="col-sm-10">
				<input type="text" name="f_s_name" id="f_s_name" class="form-control" required minlength="0" maxlength="100" >
			</div>
		</div>
		<div class="editorMore hidden">
			<div class="form-group has-warning">
				<label class="col-sm-2 control-label">科目类别</label>
				<div class="col-sm-10">
					<label class="radio-inline i-checks">
						<input type="radio" value="资产"  name="f_s_type" checked> <i></i>资产</label>
					<label class="radio-inline i-checks">
						<input type="radio" value="负债"  name="f_s_type"> <i></i>负债</label>
					<label class="radio-inline i-checks">
						<input type="radio" value="成本"  name="f_s_type"> <i></i>成本</label>
					<label class="radio-inline i-checks">
						<input type="radio" value="权益"  name="f_s_type"> <i></i>权益</label>
					<label class="radio-inline i-checks">
						<input type="radio" value="损益"  name="f_s_type"> <i></i>损益</label>
				</div>
			</div>
			<div class="form-group has-warning">
				<label class="col-sm-2 control-label">余额方向</label>
				<div class="col-sm-10">
					<label class="radio-inline i-checks">
						<input type="radio" value="c"  name="f_s_dict" checked> <i></i>借</label>
					<label class="radio-inline i-checks">
						<input type="radio" value="d"  name="f_s_dict"> <i></i>贷</label>
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-2 control-label">核算对象</label>
				<div class="col-sm-10">
					<label class="checkbox-inline i-checks">
						<input type="checkbox" name="f_s_object" value="1">部门</label>
					<label class="checkbox-inline i-checks">
						<input type="checkbox" name="f_s_object" value="2">员工</label>
					<label class="checkbox-inline i-checks">
						<input type="checkbox" name="f_s_object" value="4">客户</label>
					<label class="checkbox-inline i-checks">
						<input type="checkbox" name="f_s_object" value="8">供应商</label>
					<label class="checkbox-inline i-checks">
						<input type="checkbox" name="f_s_object" value="16">项目</label>
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-2 control-label">期初余额</label>
				<div class="col-sm-10">
					<input type="text" name="f_s_balance" id="f_s_balance" class="form-control" number="true" maxlength="16">
				</div>
			</div>
		</div>
		<div class="hr-line-dashed"></div>
		<div class="form-group">
			<div class="col-sm-4 col-sm-offset-2">
				<button class="btn btn-primary" type="button" tabindex=3 id="save"><i class="fa fa-save"></i> 保存</button>
				<button class="btn btn-white" type="button" tabindex=4 id="view">预览</button>
				<button class="btn btn-white" type="button" tabindex=1 id="close" onclick="javascript:parent.layer.close(parent.layer.getFrameIndex(window.name));">取消</button>
			</div>
		</div>
	</form>
</div>
</div>
</div>
</div>
<!--END FROM DIV-->
<script src="<?php echo mvc::$cfg['URL_STATIC'];?>js/plugins/iCheck/icheck.min.js"></script>
<script src="<?php echo mvc::$cfg['URL_STATIC'];?>js/plugins/validate/jquery.validate.min.js"></script>
<script src="<?php echo mvc::$cfg['URL_STATIC'];?>js/plugins/validate/messages_zh.min.js"></script>
<script src="<?php echo mvc::$cfg['URL_STATIC'];?>js/qg/qgUi.tree.js?v=1.0.0"></script>
<script type="text/javascript" defer>
//获取上级页面
var ele = (window.top).document.querySelectorAll('[data-id="' + urls.list + '"]')[1];
var listIframe = parent;
if(ele) listIframe = ele.contentWindow;
</script>

<script type="text/javascript" defer> 
var op            = "<?php echo $_GET['op']?>";
var key           = "<?php echo $_GET['key']?>";
var validator = null;
$(document).ready(function () {
	$('#close').focus(); //初始焦点
	$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",});//美化 单选与复选框
	if(op=='add') $('#view').hide(); //添加模式时，隐藏预览功能
	$('#save').on("click", gotoSave);
	$('#view').on("click", gotoView);
	if(key){
		getValueByKey(key); //给表单赋值
	}else{
		$('.form_title').text('添加');
		//添加时，默认上一级选择科目
		var subject = qg.local.get('selectSubject');
		$('#f_s_parent_id').val(subject.value);
		$('#s_parent').val(subject.fulltext);
	}
	//BEGIN 表单验证
	validator = $("#form").validate({
		rules:{
			f_s_name: {
				required: true,
				remote:{
					url: urls.remote,
					type:'post',
					data:{
						s_id:function(){ return $("input[name='f_s_id']").val(); },
						s_name:function(){ return $("input[name='f_s_name']").val(); },
					}
				}
			},
		},//rules
		messages:{
			f_s_name: {
				remote:'科目名称已被使用'
			}
		},
	});//END 表单验证
});
//按键处理
$(document).keydown(function(e){
	if(e.keyCode=='27'){ //Esc
		parent.layer.close(parent.layer.getFrameIndex(window.name)); //关闭当前弹层
	}else if(e.shiftKey && e.keyCode=='86'){ //shift + V
		gotoView();
	}else if(e.shiftKey && e.keyCode=='83'){ //shift + S
		gotoSave();
	}
}); 
/**方法******************************************/
function getValueByKey(key){
	$.getJSON(urls.rowByKey+"?key="+key,function(res){
		if(res.code==0){
			var data = res.data;
			qgui.form.setValues('#form',data); 
			$('.form_title').text(data.s_name);
			if(!data.s_parent) data.s_parent = '根';
			$("#form input[name='s_parent']").val(data.s_parent);
			console.log(data);
			if(data.s_rgt*1-data.s_lft*1==1) $('.editorMore').removeClass('hidden').show(); 
		}else{
			qgui.box.error(res.msg);
		}
	});
}
var gotoSave = function(){
	if(!$("#form").valid()) return false; //有未通过验证的发生时，终止提交
	$('#save').attr("disabled",true);
	var data = qgui.form.getValues('#form'); //序列化表单
	var url = (op=='add') ? urls.addPost : urls.editPost;
	$.post(url,JSON.stringify(data),function(res,status){
		$('#save').removeAttr("disabled");
		if(res.code==0){
			if(op=='add'){
				qgui.box.yesno('保存成功，是否添加下一条记录?',function(btn){
					if(btn=='yes'){
						qgui.form.reset('#form'); //重置表单
					}else{ //从添加模式转化成修改模式
						op = 'edit';
						key = res.data.key;
						$('#view').show(); //编辑模式时，显示预览功能
						getValueByKey(key); 
					}
				});
			}else{
				qgui.box.ok('保存成功',1000);
			}
			listIframe.gridReload(); //刷新数据表
		}else{
			qgui.box.error(res.msg);
		}
	},"json");
}
var gotoView = function(){
	window.location.href = urls.view+'?key='+key;
};
</script>
<?php include(mvc::$cfg['PATH_TPL'].'public/footer.php');?>