lineStationUpload.js 5.93 KB
/**
 * 
 * @JSName : common.js(运管功能公共js)
 * 
 * @Author : bsth@lq
 * 
 * @Description : TODO(运管功能公共js)
 * 
 * @Data : 2016年6月29日 上午9:21:17
 *
 * @Version 公交调度系统BS版 0.1
 * 
 */

(function(){
	/**
	 *  取得编码-公司map
	 *  gsmap["5"] = 南汇公司
	 *  gsmap["5_3"] = 芦潮港分公司
	 */
	function getBusMap(){
		// 取得公司信息,替换公司编码
		var gsmap = {};
		$get('/business/all', null, function(array){
			$.each(array, function(i, gs){
				var k = gs.upCode + '_' + gs.businessCode;
				if(gs.upCode === '88'){
					k = gs.businessCode;
				}
				gsmap[k] = gs.businessName;
			});
		});
		return gsmap;
	}
	// 填充公司下拉框选择值
	$get('/business/all', {upCode_eq: '88'}, function(array){
		 
		 // 公司下拉options属性值
		 var options = '<option value="">请选择...</option>';
		 
		 // 遍历array
		 $.each(array, function(i,d){
			 
			 options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
			 
		 });
		 
		 // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
		 $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);
		 
	 });
	
	// 填充分公司下拉框选择值
	 function setbrancheCompanySelectOptions(){
		 
		 // 获取公司下拉框选择值
		 var businessCode = $('#companySelect').val();
		 
		 // 分公司下拉框options属性值
		 var options = '<option value="">请选择...</option>';
		 
		 // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
		 if(businessCode == null || businessCode ==''){
			 
			 // 填充分公司下拉框options
			 $('#brancheCompanySelect').html(options);
			 
		  } else {
			  
			  // 查询出所属公司下的分公司名称和相应分公司代码
			  $get('/business/all', {upCode_eq: businessCode}, function(array){
				  
				  // 遍历array
				  $.each(array, function(i,d){
					  
					  options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
					  
					  // 填充分公司下拉框options
					  $('#brancheCompanySelect').html(options);
					  
				  });
			  });
			  
			  // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
			 $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions);
		  }
	 }
	
	function setLineAutocompleteOptions(){
		// 搜索参数集合
		var params = {};
		// 搜索字段名称
		var name;
		var items = $("ul.breadcrumb select");
		// 遍历items集合
		for(var j = 0, item; item = items[j++];){
			// 获取字段名称
			name = $(item).attr('name');
			if(name){
				// 赋取相对应的值
				params[name] = $(item).val();
			}
		}
		var lines = new Array();
		var gsmap = getBusMap();
		// 取得所有线路
		$get('/line/all', params, function(allLine) {
			// 遍历数组
			$.each(allLine, function(i, e) {
				var companyCode = e.company;
				e.company = gsmap[e.company];
				e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
				var line = '{"hex":"'+e.company+'","label":"'+e.name+'"}';
				var obj = jQuery.parseJSON(line);
				lines[i]= obj;
			});
			
			
		});
		// 给输入框绑定autocomplete事件
		$("input[name='name_eq']").autocompleter({
	        highlightMatches: true,
	        source: lines,
	        template: '{{ label }} <span>({{ hex }})</span>',
	        hint: true,
	        empty: false,
	        limit: 5,
	    });
	}
	
	
	// 设置autocompleter的宽度和输入框一样
	$(".autocompleter").css("width",$("input[name='name_eq']").css("width"))
	// 绑定查询事件
	$("#search").click(searchM);
	// 绑定上传事件
	$("#upload").click(uploadM);
	// 绑定全部移到右边事件
	$("#to_right").click(function(){
		$("#left_div tbody tr:not(.muted)").click();
	});
	// 绑定全部移到左边事件
	$("#to_left").click(function(){
		$("#right_div tbody tr:not(.muted)").click();
	});
	// 查询方法
	function searchM() {
		// 清空已选定列表
		$("#right_div table tbody").empty();
		var params = {};
		// 取得输入框的值
		var inputs = $("ul.breadcrumb input");
		// 遍历数组
		$.each(inputs, function(i, element) {
			params[$(element).attr("name")] = $(element).val();
		});
		var i = layer.load(2);
		$get('/line', params, function(data) {
			var bodyHtm = template('lineStation_list_temp', {
				list : data.content
			});
			$("#left_div table tbody").empty();
			$("#left_div table tbody").append(bodyHtm);
			$("#left_div tbody tr:not(.muted)").click(_click);
			layer.close(i);
		});
	}

	// 上传方法
	function uploadM() {
		var params = {};
		// 取得输入框的值
		var trs = $("#right_div tbody tr");
		if (trs.length == 0) {
			alert("请选择模板");
			return;
		}
		// 遍历数组
		$.each(trs, function(i, element) {
			alert($(".ttInfoId", element).html());
		});
	}

	// 表格行的单击事件
	function _click() {
		var tmpTr = $(this).clone();
		tmpTr.unbind("click").click(_click);
		// 判断父DIV的ID
		if ($(this).closest(".table-container").attr("id") == "left_div") {
			// 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
			$(".seq",tmpTr).html($("#right_div tbody tr:not(.muted)").length + 1);
			$("#right_div tbody").append(tmpTr);
			nextAllChildSeqMinusOne($(this));
		} else {
			// 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
			$(".seq",tmpTr).html($("#left_div tbody tr:not(.muted)").length + 1);
			$("#left_div tbody").append(tmpTr);
			nextAllChildSeqMinusOne($(this));
		}
		$(this).remove();
	}

	// 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1
	function nextAllChildSeqMinusOne(theElement){
		$.each(theElement.nextAll(),function(i,e){
			$(".seq",e).html($(".seq",e).html() - 1);
		});
	}
	// 保存左边空表格
	var leftDivTemplate = $("#left_div table").clone(true);
	// 把左边表格的格式复制到右边
	$("#right_div").append(leftDivTemplate);

})();