lineStationUpload.js
5.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
/**
*
* @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);
})();