lineversions-edit-from.js 7.01 KB
// 线路版本修改js
(function(){
	//获取参数ID
	var id = $.url().param('no');
	
	$("#startDateInput").datetimepicker({
		format : 'YYYY-MM-DD HH:mm:ss',
		locale : 'zh-cn'
	});
	
	$("#endDateInput").datetimepicker({
		format : 'YYYY-MM-DD HH:mm:ss',
		locale : 'zh-cn'
	});
	// 初始化线路名称select
	lineAllInfo();
	
	function getComp (cb) {
		$.get('/user/companyData',null,function(rs) {
			var params = {};
			if(rs.length>0) {
				var compA = new Array();
				for(var c = 0 ; c<rs.length;c++) {
					var comC = rs[c].companyCode;
					var child = rs[c].children;
					if(child.length>0) {
						for(var d = 0 ;d< child.length;d++) {
							compA.push(comC + '_' + child[d].code);
						}
					}else {
						compA.push(comC);
					}
				}
				params.cgsbm_in  = compA.toString();
			}
			return cb && cb(params);
		});
	}
	
	// 填充线路下拉框选择值
	function lineAllInfo(){
		getComp(function(params) {
			$get('/line/all', params, function(array){
				// get请求获取公司
				$get('/business/all', {upCode_eq: '88'}, function(compD){
					var len_ = array.length,paramsD = new Array();
					if(len_>0) {
						$.each(array, function(i, g){
							if(g.name!='' || g.name != null) {
								paramsD.push({'id':g.id + '_' + g.lineCode,
											  'text':g.name + gsdmTogsName(compD,g.company)});
							}
						});
						if($('span').hasClass('select2-selection'))
							$('span .select2-selection').remove();
						initPinYinSelect2($('#lineSelect'),paramsD,function(selector) {
							selector.select2("val", splitxlName(window.localStorage.xlName_AgursData));
						});
					}
				});
			});
		});
	}
	
	// 监听线路名称下拉框值改变事件.
	$('#lineSelect').on("change", function (e) { 
		var lineSelectValue = $('#lineSelect').val();// 获取线路名称值.
		if(lineSelectValue=='' || lineSelectValue==null) {
			$('#lineCodeInput').val('');// 设值线路编码.
			$('#lineIdInput').val('');// 设值线路ID.
		}else {
			var lineSelectValueArray = lineSelectValue.split('_');// 切割线路名称值.
			$('#lineIdInput').val(lineSelectValueArray[0]);// 设值线路编码.
			$('#lineCodeInput').val(lineSelectValueArray[1]);// 设值线路ID.
		}
	});
	
	// 如果参数ID不为空
	if(id) {
		setTimeout(function(){
				/** 根据ID查询详细信息 */
				$get('/lineVersions/findById',{'id':id}, function(result){
					// 如果不为空
					if(result) {	
						$("#IdInput").val(result.id);
						$("#lineIdInput").val(result.line);
						$("#lineCodeInput").val(result.lineCode);
						$("#lineSelect").val(result.line.id+"_"+result.lineCode).trigger("change");
						$("#startDateInput").val(moment(result.startDate).format('YYYY-MM-DD HH:mm:ss'));
						$("#endDateInput").val(moment(result.endDate).format('YYYY-MM-DD HH:mm:ss'));
						$("#versionsInput").val(result.versions);
						$("#statusInput").val(result.status);
						$("#nameInput").val(result.name);
						$("#remarkTextarea").val(result.remark);
					}
					 
				});
		}, 500);
		
	} else {
		// 缺少ID
		layer.confirm('【ID缺失,请点击返回,重新进行修改操作】', {btn : [ '返回' ],icon: 3, title:'提示'}, function(index){
			// 关闭弹出层
			layer.close(index);
			// 跳转到list页面
			loadPage('list.html');
		});
	}
	
	function gsdmTogsName(gsD,code) {
		var rsStr = '';
		for(var s = 0 ; s < gsD.length; s++) {
			if(gsD[s].businessCode == code) {
				rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';
				break;
			}
		}
		return rsStr;
	}
	
	// 切割线路名称值.获取线路ID及编码.
	function splitxlName(str) {
		var rsStr = '';
		if(str) {
			var strArray = str.split('_');
			rsStr = strArray[0];
		}
		return rsStr;
	}
	
	// 定义表单
	var form = $('#lineVersions_edit_form');
	// 定义表单异常
	var error = $('.alert-danger',form);
	// 表单验证
	form.validate({
		// 错误提示元素span对象
		errorElement : 'span',
		// 错误提示元素class名称
		errorClass : 'help-block help-block-error', 
		// 验证错误获取焦点
		focusInvalid : true, 
		// 需要验证的表单元素
		rules : {
			'line' : {required : true,maxlength: 30},// 线路名称 必填项、最大长度.
			'startDate' : {required : true},// 启用时间 不为空.
			'endDate' : {required : true},// 结束时间.
			'name' : {required : true},// 版本名称.
			'versions' : {required : true, digits : true, maxlength: 10},// 版本号  必填项、数字、最大长度10.
			'status' : {required : true, digits : true, maxlength: 10},// 版本状态 必填项、数字、最大长度10.
		},
		
		/**
		 * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。
		 * 
		 * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator)
		 */
		invalidHandler : function(event, validator) {
			// 显示表单未通过提示信息
			error.show();
			// 把提示信息放到指定的位置。
			App.scrollTo(error, -200);
		},
		
		/**
		 * 类型:Callback。
		 * 
		 * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。
		 */
		highlight : function(element) { 
			// 添加errorClass("has-error")到表单元素
			$(element).closest('.form-group').addClass('has-error'); 
		},
		
		/**
		 * 类型:Callback。
		 * 
		 * 默认:移除errorClass("has-error")。与highlight操作相反
		 */
		unhighlight : function(element) { 
			// 移除errorClass("has-error")
			$(element).closest('.form-group').removeClass('has-error'); 
		},
		
		/**
		 * 类型:String,Callback。
		 * 
		 * 如果指定它,当验证通过时显示一个消息。
		 * 
		 * 如果是String类型的,则添加该样式到标签中;
		 * 
		 * 如果是一个回调函数,则将标签作为其唯一的参数。
		 */
		success : function(label) {
			// 当验证通过时,移除errorClass("has-error")
			label.closest('.form-group').removeClass('has-error'); 
			
		},
		/**
		 * 类型:Callback。
		 * 
		 * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form
		 */
		submitHandler : function(f) {
			// 隐藏错误提示
			error.hide();
			// 表单序列化
			var params = form.serializeJSON();
			submit();
			// 提交
			function submit() {
				// 添加数据
				$post('/lineVersions/update', params, function(result) {
					// 如果返回结果不为空
					if(result){
						// 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败
						if(result.status=='SUCCESS') {
							// 弹出添加成功提示消息
							layer.msg('修改成功...');
						} else if(result.status=='ERROR') {
							// 弹出添加失败提示消息
							layer.msg('修改失败...');
						}
					}
					// 返回list.html页面
					loadPage('list.html');
				});
			}
		}
	});
})();