Commit 6194d50ba8fd644b814b443524b78488cf96bc55

Authored by 王通
1 parent 8952c467

1.解决线路、停车场、线路版本中公司权限显示问题

src/main/java/com/bsth/controller/BusinessController.java
1 -package com.bsth.controller;  
2 -  
3 -import org.springframework.beans.factory.annotation.Autowired;  
4 -import org.springframework.web.bind.annotation.RequestMapping;  
5 -import org.springframework.web.bind.annotation.RequestMethod;  
6 -import org.springframework.web.bind.annotation.RestController;  
7 -  
8 -import com.bsth.entity.Business;  
9 -import com.bsth.service.BusinessService;  
10 -import com.bsth.util.GetUIDAndCode;  
11 -  
12 -/**  
13 - *  
14 - * @ClassName: LineController(公司控制器)  
15 - *  
16 - * @Extends : BaseController  
17 - *  
18 - * @Description: TODO(公司控制层)  
19 - *  
20 - * @Author bsth@lq  
21 - *  
22 - * @Date 2016-4-28 9:21:17  
23 - *  
24 - * @Version 公交调度系统BS版 0.1  
25 - *  
26 - */  
27 -@RestController  
28 -@RequestMapping("business")  
29 -public class BusinessController extends BaseController<Business, Integer> {  
30 - @Autowired  
31 - private BusinessService businessService;  
32 -  
33 - @RequestMapping(value = "getCompCode", method = RequestMethod.GET)  
34 - public long getLineCode() {  
35 - return businessService.getCompCode();  
36 - }  
37 -} 1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.Constants;
  4 +import com.bsth.entity.StationRoute;
  5 +import com.bsth.entity.sys.CompanyAuthority;
  6 +import com.bsth.entity.sys.SysUser;
  7 +import com.bsth.security.util.SecurityUtils;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.web.bind.annotation.RequestMapping;
  10 +import org.springframework.web.bind.annotation.RequestMethod;
  11 +import org.springframework.web.bind.annotation.RequestParam;
  12 +import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import com.bsth.entity.Business;
  15 +import com.bsth.service.BusinessService;
  16 +import com.bsth.util.GetUIDAndCode;
  17 +
  18 +import javax.servlet.http.HttpServletRequest;
  19 +import java.util.List;
  20 +import java.util.Map;
  21 +
  22 +/**
  23 + *
  24 + * @ClassName: LineController(公司控制器)
  25 + *
  26 + * @Extends : BaseController
  27 + *
  28 + * @Description: TODO(公司控制层)
  29 + *
  30 + * @Author bsth@lq
  31 + *
  32 + * @Date 2016-4-28 9:21:17
  33 + *
  34 + * @Version 公交调度系统BS版 0.1
  35 + *
  36 + */
  37 +@RestController
  38 +@RequestMapping("business")
  39 +public class BusinessController extends BaseController<Business, Integer> {
  40 + @Autowired
  41 + private BusinessService businessService;
  42 +
  43 + @RequestMapping(value = "getCompCode", method = RequestMethod.GET)
  44 + public long getLineCode() {
  45 + return businessService.getCompCode();
  46 + }
  47 +
  48 + @RequestMapping(value = "/all", method = RequestMethod.GET)
  49 + @Override
  50 + public Iterable<Business> list(@RequestParam Map<String, Object> map) {
  51 + return businessService.list(map);
  52 + }
  53 +}
src/main/java/com/bsth/entity/CarPark.java
@@ -81,7 +81,7 @@ public class CarPark { @@ -81,7 +81,7 @@ public class CarPark {
81 private String brancheCompany; 81 private String brancheCompany;
82 82
83 /** 组合公司分公司编码 */ 83 /** 组合公司分公司编码 */
84 - @Transient 84 + @Formula(" concat(company, '_', branche_company) ")
85 private String cgsbm; 85 private String cgsbm;
86 86
87 // 是否撤销 87 // 是否撤销
src/main/resources/static/pages/base/carpark/js/add-input-function.js
1 -/**  
2 - * 函数  
3 - *  
4 - */  
5 -var PublicFunctions = function () {  
6 - var PubFun = {  
7 - /** @param points:中心点;bPolygonGridValue:百度坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */  
8 - setFormInputValue: function(points,bPolygonGridValue,shapesTypeValue,radiusValue) {  
9 - // 百度地图经纬度坐标中心点  
10 - $('#bCenterPointInput').val(points);  
11 - // 百度坐标点图形集合  
12 - $('#bParkPointInput').val(bPolygonGridValue);  
13 - // 图形类型  
14 - if(shapesTypeValue == 'r') {  
15 - $('#shapesTypeSelect').val('圆形');  
16 - // 圆形半径  
17 - $('#radiusGroup').show();  
18 - }else if(shapesTypeValue=='d') {  
19 - $('#shapesTypeSelect').val('多边形');  
20 - $('#radiusGroup').hide();  
21 - }  
22 - $('#radiusInput').val(radiusValue);  
23 - },  
24 - getBusinessAllInfo : function(cb) {  
25 - // 填充公司下拉框选择值  
26 - $get('/business/all', {upCode_eq: '88'}, function(array){  
27 - cb && cb(array);  
28 - });  
29 - },  
30 - getCarParkCode : function(callback) {  
31 - $get('/carpark/getCarParkCode',null,function(d) {  
32 - callback && callback(d);  
33 - });  
34 - },  
35 - isHaveParkCode : function(p,callback) {  
36 - $get('/carpark/isHaveParkCode',p,function(d) {  
37 - callback && callback(d);  
38 - });  
39 - },  
40 - // 新增停车场保存  
41 - carParkSave : function(carPark,callback) {  
42 - $post('/carpark/carParkSave',carPark,function(data) {  
43 - callback && callback(data);  
44 - });  
45 - }  
46 - }  
47 - return PubFun ; 1 +/**
  2 + * 函数
  3 + *
  4 + */
  5 +var PublicFunctions = function () {
  6 + var PubFun = {
  7 + /** @param points:中心点;bPolygonGridValue:百度坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */
  8 + setFormInputValue: function(points,bPolygonGridValue,shapesTypeValue,radiusValue) {
  9 + // 百度地图经纬度坐标中心点
  10 + $('#bCenterPointInput').val(points);
  11 + // 百度坐标点图形集合
  12 + $('#bParkPointInput').val(bPolygonGridValue);
  13 + // 图形类型
  14 + if(shapesTypeValue == 'r') {
  15 + $('#shapesTypeSelect').val('圆形');
  16 + // 圆形半径
  17 + $('#radiusGroup').show();
  18 + }else if(shapesTypeValue=='d') {
  19 + $('#shapesTypeSelect').val('多边形');
  20 + $('#radiusGroup').hide();
  21 + }
  22 + $('#radiusInput').val(radiusValue);
  23 + },
  24 + getBusinessAllInfo : function(cb) {
  25 + // 填充公司下拉框选择值
  26 + $get('/user/companyData', null, function(array){
  27 + $.each(array, function() {
  28 + this.businessCode = this.companyCode;
  29 + this.businessName = this.companyName;
  30 + })
  31 + cb && cb(array);
  32 + });
  33 + },
  34 + getCarParkCode : function(callback) {
  35 + $get('/carpark/getCarParkCode',null,function(d) {
  36 + callback && callback(d);
  37 + });
  38 + },
  39 + isHaveParkCode : function(p,callback) {
  40 + $get('/carpark/isHaveParkCode',p,function(d) {
  41 + callback && callback(d);
  42 + });
  43 + },
  44 + // 新增停车场保存
  45 + carParkSave : function(carPark,callback) {
  46 + $post('/carpark/carParkSave',carPark,function(data) {
  47 + callback && callback(data);
  48 + });
  49 + }
  50 + }
  51 + return PubFun ;
48 }(); 52 }();
49 \ No newline at end of file 53 \ No newline at end of file
src/main/resources/static/pages/base/carpark/js/carpark-list-table.js
1 -/**  
2 - *  
3 - * @JSName : list.js(停车场list.html页面js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TODO(停车场list.html页面js)  
8 - *  
9 - * @Data : 2016年4月28日 上午9:21:17  
10 - *  
11 - * @Version 公交调度系统BS版 0.1  
12 - *  
13 - */  
14 -  
15 -(function(){  
16 - function getComp(cb) {  
17 - $.get('/user/companyData',null,function(rs) {  
18 - return cb && cb(rs);  
19 - });  
20 - }  
21 - function initCompanySelect2(cb) {  
22 - // get请求获取公司  
23 - $get('/business/all', {upCode_eq: '88'}, function(gs_d){  
24 - return cb && cb(gs_d);  
25 - });  
26 - }  
27 - // 营运公司Map[key(businessCode)] = 名字  
28 - var companyMap = new Map();  
29 - // 分公司Map[key(upCode+_+businessCode)] = 名字  
30 - var branchMap = new Map();  
31 - initCompanySelect2(function(array) {  
32 - $.each(array, function() {  
33 - companyMap[this.businessCode] = this.businessName;  
34 - // companyMap.put(this.businessCode.toString(), this.businessName);  
35 - if(this.businessCode != null || this.businessCode !=''){  
36 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
37 - $get('/business/all', {upCode_eq: this.businessCode}, function(array){  
38 - // 遍历array  
39 - $.each(array, function(i,d){  
40 - branchMap[this.upCode+"_"+this.businessCode] = this.businessName;  
41 - // branchMap.put(this.upCode+"_"+this.businessCode, this.businessName);  
42 - });  
43 - });  
44 - }  
45 - });  
46 - // 公司下拉options属性值  
47 - var options = '<option value="">请选择...</option>';  
48 - // 遍历array  
49 - $.each(array, function(i,d){  
50 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
51 - });  
52 - // 初始化公司下拉框并监听值改变事件.  
53 - $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);  
54 - // 初始化分公司下拉框.  
55 - setBrancheCompanySelectOptions();  
56 - initLineSelect2(array);  
57 - /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */  
58 - // loadTableDate({'destroy_eq':0,'name_like':splitxlName(storage.xlName_AgursData)},true);  
59 - });  
60 - function initLineSelect2(compD) {  
61 - getComp(function(rs) {  
62 - var params = {};  
63 - if(rs.length>0) {  
64 - var compA = new Array();  
65 - for(var c = 0 ; c<rs.length;c++) {  
66 - var comC = rs[c].companyCode;  
67 - var child = rs[c].children;  
68 - if(child.length>0) {  
69 - for(var d = 0 ;d< child.length;d++) {  
70 - compA.push(comC + '_' + child[d].code);  
71 - }  
72 - }else {  
73 - compA.push(comC);  
74 - }  
75 - }  
76 - params.cgsbm_in = compA.toString();  
77 - }  
78 - // 填充线路拉框选择值  
79 - $get('/carpark/all', params, function(array){  
80 - var len_ = array.length,paramsD = new Array();  
81 - paramsD.push({'id':'请选择...' ,'text':'请选择...'});  
82 - if(len_>0) {  
83 - $.each(array, function(i, g){  
84 - if(g.parkName!='' || g.parkName != null) {  
85 - paramsD.push({'id':g.parkName + '_' + g.parkCode ,'text':g.parkName + gsdmTogsName(compD,g.company)});  
86 - }  
87 - });  
88 - if($('span').hasClass('select2-selection'))  
89 - $('span .select2-selection').remove();  
90 - initPinYinSelect2($('#parkNameSelect'),paramsD,function(selector) {  
91 - });  
92 - }  
93 - });  
94 - });  
95 - }  
96 -  
97 - $('#parkNameSelect').on('change',function() {  
98 - var value = $(this).val();  
99 - if(value!=null && value!='') {  
100 - $('#parkCodeInput').val(value.split('_')[1]);  
101 - }  
102 - });  
103 -  
104 - function gsdmTogsName(gsD,code) {  
105 - var rsStr = '';  
106 - for(var s = 0 ; s < gsD.length; s++) {  
107 - if(gsD[s].businessCode == code) {  
108 - rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';  
109 - break;  
110 - }  
111 - }  
112 - return rsStr;  
113 - }  
114 -  
115 - function setBrancheCompanySelectOptions(){  
116 - // 获取公司下拉框选择值  
117 - var businessCode = $('#companySelect').val();  
118 - // 分公司下拉框options属性值  
119 - var options = '<option value="">请选择...</option>';  
120 - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码  
121 - if(businessCode == null || businessCode ==''){  
122 - // 填充分公司下拉框options  
123 - $('#brancheCompanySelect').html(options);  
124 - } else {  
125 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
126 - $get('/business/all', {upCode_eq: businessCode}, function(array){  
127 - // 遍历array  
128 - $.each(array, function(i,d){  
129 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
130 - // 填充分公司下拉框options  
131 - $('#brancheCompanySelect').html(options);  
132 - });  
133 - });  
134 - }  
135 - }  
136 -  
137 - /** page : 当前页 initPag : */  
138 - var page = 0,initPag;  
139 - /** 表格数据分页加载 */  
140 - loadTableDate(null,true);  
141 - /** 重置按钮事件 */  
142 - $('tr.filter .filter-cancel').on('click',function(){  
143 - // 清空搜索框值  
144 - $('tr.filter input,select').val('').change();  
145 - // 重新加载表格数据  
146 - loadTableDate(null,true);  
147 - });  
148 - /** 搜索按钮事件 */  
149 - $('tr.filter .filter-submit').on('click',function(){  
150 - var params = getParams();  
151 - page = 0;  
152 - loadTableDate(params,true);  
153 - });  
154 -  
155 - function getParams() {  
156 - // cells 集合返回表格中所有(列)单元格的一个数组  
157 - var cells = $('tr.filter')[0].cells;  
158 - // 搜索参数集合  
159 - var params = {};  
160 - // 搜索字段名称  
161 - var name;  
162 - // 遍历cells数组  
163 - $.each(cells, function(i, cell){  
164 - // 获取第i列的input或者select集合  
165 - var items = $('input,select', cell);  
166 - // 遍历items集合  
167 - for(var j = 0, item; item = items[j++];){  
168 - // 获取字段名称  
169 - name = $(item).attr('name');  
170 - if(name){  
171 - // 赋取相对应的值  
172 - params[name] = $(item).val();  
173 - }  
174 - }  
175 - });  
176 - if(params.parkName_like=='请选择...')  
177 - params.parkName_like = '';  
178 - else  
179 - params.parkName_like = params.parkName_like.split('_')[0];  
180 - return params;  
181 - }  
182 -  
183 - /**  
184 - * 表格数据分页加载事件  
185 - *  
186 - * ------@param : 查询参数  
187 - *  
188 - * ------@isPon : 是否重新分页  
189 - *  
190 - */  
191 - function loadTableDate(param,isPon){  
192 - // 搜索参数  
193 - var params = {};  
194 - if(param) {  
195 - params = param;  
196 - }  
197 - // 排序(按更新时间)  
198 - params['order'] = 'id';  
199 - // 记录当前页数  
200 - params['page'] = page;  
201 - // 弹出正在加载层  
202 - var i = layer.load(2);  
203 - getComp(function(rs) {  
204 - if(rs.length>0) {  
205 - var compA = new Array();  
206 - for(var c = 0 ; c<rs.length;c++) {  
207 - var comC = rs[c].companyCode;  
208 - var child = rs[c].children;  
209 - if(child.length>0) {  
210 - for(var d = 0 ;d< child.length;d++) {  
211 - compA.push(comC + '_' + child[d].code);  
212 - }  
213 - }else {  
214 - compA.push(comC);  
215 - }  
216 - }  
217 - params.cgsbm_in = compA.toString();  
218 - }  
219 - // 异步请求获取表格数据  
220 - $.get('/carpark',params,function(result){  
221 - // 添加序号  
222 - result.content.page = page;  
223 - $.each(result.content, function(i, data) {  
224 - result.content[i].gsmc = companyMap[data.company];  
225 - result.content[i].fgsmc = branchMap[data.cgsbm];  
226 - });  
227 - // 把数据填充到模版中  
228 - var tbodyHtml = template('carpark_list_table_temp',{list:result.content});  
229 - $('#datatable_carpark tbody').html(tbodyHtml);  
230 - // 是重新分页且返回数据长度大于0  
231 - if(isPon && result.content.length > 0){  
232 - // 重新分页  
233 - initPag = true;  
234 - // 分页栏  
235 - showPagination(result);  
236 - }  
237 - // 关闭弹出加载层  
238 - layer.close(i);  
239 - });  
240 - });  
241 - }  
242 -  
243 - /** 分页栏组件 */  
244 - function showPagination(data){  
245 - // 分页组件  
246 - $('#pagination').jqPaginator({  
247 - // 总页数  
248 - totalPages: data.totalPages,  
249 - // 中间显示页数  
250 - visiblePages: 6,  
251 - // 当前页  
252 - currentPage: page + 1,  
253 - first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',  
254 - prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',  
255 - next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',  
256 - last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',  
257 - page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',  
258 - onPageChange: function (num, type) {  
259 - if(initPag){  
260 - initPag = false;  
261 - return;  
262 - }  
263 - var pData = getParams();  
264 - page = num - 1;  
265 - loadTableDate(pData, false);  
266 - }  
267 - });  
268 - } 1 +/**
  2 + *
  3 + * @JSName : list.js(停车场list.html页面js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(停车场list.html页面js)
  8 + *
  9 + * @Data : 2016年4月28日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + function getComp(cb) {
  17 + $.get('/user/companyData',null,function(rs) {
  18 + return cb && cb(rs);
  19 + });
  20 + }
  21 + function initCompanySelect2(cb) {
  22 + // get请求获取公司
  23 + $get('/business/all', {upCode_eq: '88'}, function(gs_d){
  24 + return cb && cb(gs_d);
  25 + });
  26 + }
  27 + // 营运公司Map[key(businessCode)] = 名字
  28 + var companyMap = new Map();
  29 + // 分公司Map[key(upCode+_+businessCode)] = 名字
  30 + var branchMap = new Map();
  31 + getComp(function(array) {
  32 + let params = {}, companies = new Array(), options = '<option value="">请选择...</option>';
  33 + $.each(array, function() {
  34 + let companyCode = this.companyCode, companyName = this.companyName, child = this.children;
  35 + if (companyCode) {
  36 + companyMap[companyCode] = companyName;
  37 + options += '<option value="' + companyCode + '">' + companyName + '</option>';
  38 + if (child.length > 0) {
  39 + for (let i = 0;i < child.length;i++) {
  40 + companies.push(companyCode + '_' + child[i].code);
  41 + }
  42 + } else {
  43 + companies.push(companyCode);
  44 + }
  45 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  46 + $get('/business/all', {upCode_eq: this.businessCode}, function(array){
  47 + // 遍历array
  48 + $.each(array, function(){
  49 + branchMap[this.upCode + '_' + this.businessCode] = this.businessName;
  50 + });
  51 + });
  52 + }
  53 + });
  54 + params.cgsbm_in = companies.toString();
  55 + // 初始化公司下拉框并监听值改变事件.
  56 + $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);
  57 + // 初始化分公司下拉框.
  58 + setBrancheCompanySelectOptions();
  59 + initLineSelect2(params, array);
  60 + /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */
  61 + // loadTableDate({'destroy_eq':0,'name_like':splitxlName(storage.xlName_AgursData)},true);
  62 + });
  63 + function initLineSelect2(params, mapping) {
  64 + // 填充线路拉框选择值
  65 + $get('/carpark/all', params, function(array){
  66 + var len_ = array.length,paramsD = new Array();
  67 + paramsD.push({'id':'请选择...' ,'text':'请选择...'});
  68 + if(len_>0) {
  69 + $.each(array, function(i, g){
  70 + if(g.parkName!='' || g.parkName != null) {
  71 + paramsD.push({'id':g.parkName + '_' + g.parkCode ,'text':g.parkName + gsdmTogsName(mapping, g.company)});
  72 + }
  73 + });
  74 + if($('span').hasClass('select2-selection'))
  75 + $('span .select2-selection').remove();
  76 + initPinYinSelect2($('#parkNameSelect'),paramsD,function(selector) {
  77 + });
  78 + }
  79 + });
  80 + }
  81 +
  82 + $('#parkNameSelect').on('change',function() {
  83 + var value = $(this).val();
  84 + if(value!=null && value!='') {
  85 + $('#parkCodeInput').val(value.split('_')[1]);
  86 + }
  87 + });
  88 +
  89 + function gsdmTogsName(gsD,code) {
  90 + var rsStr = '';
  91 + for(var s = 0 ; s < gsD.length; s++) {
  92 + if(gsD[s].businessCode == code) {
  93 + rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';
  94 + break;
  95 + }
  96 + }
  97 + return rsStr;
  98 + }
  99 +
  100 + function setBrancheCompanySelectOptions(){
  101 + // 获取公司下拉框选择值
  102 + var businessCode = $('#companySelect').val();
  103 + // 分公司下拉框options属性值
  104 + var options = '<option value="">请选择...</option>';
  105 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  106 + if(businessCode == null || businessCode ==''){
  107 + // 填充分公司下拉框options
  108 + $('#brancheCompanySelect').html(options);
  109 + } else {
  110 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  111 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  112 + // 遍历array
  113 + $.each(array, function(i,d){
  114 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  115 + // 填充分公司下拉框options
  116 + $('#brancheCompanySelect').html(options);
  117 + });
  118 + });
  119 + }
  120 + }
  121 +
  122 + /** page : 当前页 initPag : */
  123 + var page = 0,initPag;
  124 + /** 表格数据分页加载 */
  125 + loadTableDate(null,true);
  126 + /** 重置按钮事件 */
  127 + $('tr.filter .filter-cancel').on('click',function(){
  128 + // 清空搜索框值
  129 + $('tr.filter input,select').val('').change();
  130 + // 重新加载表格数据
  131 + loadTableDate(null,true);
  132 + });
  133 + /** 搜索按钮事件 */
  134 + $('tr.filter .filter-submit').on('click',function(){
  135 + var params = getParams();
  136 + page = 0;
  137 + loadTableDate(params,true);
  138 + });
  139 +
  140 + function getParams() {
  141 + // cells 集合返回表格中所有(列)单元格的一个数组
  142 + var cells = $('tr.filter')[0].cells;
  143 + // 搜索参数集合
  144 + var params = {};
  145 + // 搜索字段名称
  146 + var name;
  147 + // 遍历cells数组
  148 + $.each(cells, function(i, cell){
  149 + // 获取第i列的input或者select集合
  150 + var items = $('input,select', cell);
  151 + // 遍历items集合
  152 + for(var j = 0, item; item = items[j++];){
  153 + // 获取字段名称
  154 + name = $(item).attr('name');
  155 + if(name){
  156 + // 赋取相对应的值
  157 + params[name] = $(item).val();
  158 + }
  159 + }
  160 + });
  161 + if(params.parkName_like=='请选择...')
  162 + params.parkName_like = '';
  163 + else
  164 + params.parkName_like = params.parkName_like.split('_')[0];
  165 + return params;
  166 + }
  167 +
  168 + /**
  169 + * 表格数据分页加载事件
  170 + *
  171 + * ------@param : 查询参数
  172 + *
  173 + * ------@isPon : 是否重新分页
  174 + *
  175 + */
  176 + function loadTableDate(param,isPon){
  177 + // 搜索参数
  178 + var params = {};
  179 + if(param) {
  180 + params = param;
  181 + }
  182 + // 排序(按更新时间)
  183 + params['order'] = 'id';
  184 + // 记录当前页数
  185 + params['page'] = page;
  186 + // 弹出正在加载层
  187 + var i = layer.load(2);
  188 + getComp(function(rs) {
  189 + if(rs.length>0) {
  190 + var compA = new Array();
  191 + for(var c = 0 ; c<rs.length;c++) {
  192 + var comC = rs[c].companyCode;
  193 + var child = rs[c].children;
  194 + if(child.length>0) {
  195 + for(var d = 0 ;d< child.length;d++) {
  196 + compA.push(comC + '_' + child[d].code);
  197 + }
  198 + }else {
  199 + compA.push(comC);
  200 + }
  201 + }
  202 + params.cgsbm_in = compA.toString();
  203 + }
  204 + // 异步请求获取表格数据
  205 + $.get('/carpark',params,function(result){
  206 + // 添加序号
  207 + result.content.page = page;
  208 + $.each(result.content, function(i, data) {
  209 + result.content[i].gsmc = companyMap[data.company];
  210 + result.content[i].fgsmc = branchMap[data.cgsbm];
  211 + });
  212 + // 把数据填充到模版中
  213 + var tbodyHtml = template('carpark_list_table_temp',{list:result.content});
  214 + $('#datatable_carpark tbody').html(tbodyHtml);
  215 + // 是重新分页且返回数据长度大于0
  216 + if(isPon && result.content.length > 0){
  217 + // 重新分页
  218 + initPag = true;
  219 + // 分页栏
  220 + showPagination(result);
  221 + }
  222 + // 关闭弹出加载层
  223 + layer.close(i);
  224 + });
  225 + });
  226 + }
  227 +
  228 + /** 分页栏组件 */
  229 + function showPagination(data){
  230 + // 分页组件
  231 + $('#pagination').jqPaginator({
  232 + // 总页数
  233 + totalPages: data.totalPages,
  234 + // 中间显示页数
  235 + visiblePages: 6,
  236 + // 当前页
  237 + currentPage: page + 1,
  238 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  239 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  240 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  241 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  242 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  243 + onPageChange: function (num, type) {
  244 + if(initPag){
  245 + initPag = false;
  246 + return;
  247 + }
  248 + var pData = getParams();
  249 + page = num - 1;
  250 + loadTableDate(pData, false);
  251 + }
  252 + });
  253 + }
269 })(); 254 })();
270 \ No newline at end of file 255 \ No newline at end of file
src/main/resources/static/pages/base/carpark/js/carpark-positions-function.js
1 -/**  
2 - * 函数  
3 - *  
4 - */  
5 -  
6 -var PublicFunctions = function () {  
7 - var PubFun = {  
8 - /** 停车场信息初始化 @param:<id:停车场ID> */  
9 - initCarPark : function(id) {  
10 - /** 获取停车场信息 @param:<id:停车场Id> */  
11 - GetAjaxData.getCarParkInfo(id,function(r) {  
12 - // 获取返回数据长度  
13 - var len = r.length;  
14 - // 如果大于零  
15 - if(len>0) {  
16 - // 获取停车场信息数据  
17 - var carParkObj = r[0];  
18 - /** 设置停车场对象值 @param:<carParkObj:停车场对象值> */  
19 - EditCarParkObj.setEitdCarPark(carParkObj);  
20 - // 定义图形类型  
21 - var stationShapesType = r[0].carParkShapesType;  
22 - // 如果为空,则添加  
23 - if(stationShapesType==null || stationShapesType=='' ){  
24 - // 弹出选择框;确认则提交;取消则返回  
25 - layer.confirm('停车场位置缺失,是否自动延续为添加停车场位置', {btn : [ '确认并添加', '取消并返回' ]}, function(index) {  
26 - /** 关闭弹出层 @param:<index:当前弹出框> */  
27 - layer.close(index);  
28 - $('.drwmageUtils').show();  
29 - $('.leftUtils').hide();  
30 - // 停车场名称  
31 - var nameV = r[0].carParkName;  
32 - /** 根据名称定位 */  
33 - CarParkPWorldsBMap.localSearchFromAdreesToPoint(nameV);  
34 - // 打开绘制工具  
35 - CarParkPWorldsBMap.openDrawingManager();  
36 - },function() {  
37 - loadPage('/pages/base/carpark/list.html');  
38 - });  
39 - return ;  
40 - }  
41 - $('.leftUtils').show();  
42 - $('.drwmageUtils').hide();  
43 - // 获取中心坐标点字符串分割  
44 - var BJwpoints = r[0].carParkBcenterPoint.split(' ');  
45 - // 中心坐标点  
46 - var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);  
47 - var shapesV = '';  
48 - if(r[0].carParkShapesType=='d') {  
49 - shapesV = '多边形';  
50 - }else if(r[0].carParkShapesType=='r') {  
51 - shapesV = '圆形';  
52 - }  
53 - var companyV = '';  
54 - var branchecomV = '';  
55 - if( r[0].carParkCompany=='55'){  
56 - companyV = '上南公司';  
57 - if(r[0].carParkBrancheCompany=='1'){  
58 - branchecomV = '上南二分公司';  
59 - }else if(r[0].carParkBrancheCompany=='2'){  
60 - branchecomV = '上南三分公司';  
61 - }else if(r[0].carParkBrancheCompany=='3'){  
62 - branchecomV = '上南六分公司';  
63 - }else if(r[0].carParkBrancheCompany=='4'){  
64 - branchecomV = '上南一分公司';  
65 - }  
66 - }else if( r[0].carParkCompany=='22'){  
67 - companyV = '金高公司';  
68 - if(r[0].carParkBrancheCompany=='1'){  
69 - branchecomV = '四分公司';  
70 - }else if(r[0].carParkBrancheCompany=='2'){  
71 - branchecomV = '二分公司';  
72 - }else if(r[0].carParkBrancheCompany=='3'){  
73 - branchecomV = '三分公司';  
74 - }else if(r[0].carParkBrancheCompany=='5'){  
75 - branchecomV = '一分公司';  
76 - }  
77 - }else if( r[0].carParkCompany=='05'){  
78 - companyV = '杨高公司';  
79 - if(r[0].carParkBrancheCompany=='1'){  
80 - branchecomV = '川沙分公司';  
81 - }else if(r[0].carParkBrancheCompany=='2'){  
82 - branchecomV = '金桥分公司';  
83 - }else if(r[0].carParkBrancheCompany=='3'){  
84 - branchecomV = '芦潮港分公司';  
85 - }else if(r[0].carParkBrancheCompany=='5'){  
86 - branchecomV = '杨高分公司';  
87 - }else if(r[0].carParkBrancheCompany=='6'){  
88 - branchecomV = '周浦分公司';  
89 - }  
90 - }else if( r[0].carParkCompany=='26'){  
91 - companyV = '南汇公司';  
92 - if(r[0].carParkBrancheCompany=='1'){  
93 - branchecomV = '南汇一分';  
94 - }else if(r[0].carParkBrancheCompany=='2'){  
95 - branchecomV = '南汇二分';  
96 - }else if(r[0].carParkBrancheCompany=='3'){  
97 - branchecomV = '南汇三分';  
98 - }else if(r[0].carParkBrancheCompany=='4'){  
99 - branchecomV = '南汇维修公司';  
100 - }else if(r[0].carParkBrancheCompany=='5'){  
101 - branchecomV = '南汇公司';  
102 - }  
103 - }else if( r[0].carParkCompany=='77'){  
104 - companyV ='闵行公司'  
105 - }  
106 - // 信息窗口类容  
107 - var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+  
108 - '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' +  
109 - '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' +  
110 - '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' +  
111 - '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].carParkBcenterPoint + '</span>' +  
112 - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围类型:' + shapesV + '</span>' +  
113 - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' +  
114 - '<span class="help-block" style="color:#DDD;font-size: 15px;">所属公司:' + companyV + '</span>' +  
115 - '<span class="help-block" style="color:#DDD;font-size: 15px;">分 公司:' + branchecomV+ '</span>' +  
116 - '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' +  
117 - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ r[0].carParkDescriptions +'" >说明/描述:' + r[0].carParkDescriptions + '</span>' ;  
118 - // 信息窗口参数属性  
119 - var opts = {  
120 - // 信息窗口宽度  
121 - width : 200,  
122 - // 信息窗口高度  
123 - height : 450,  
124 - // 信息窗位置偏移值。  
125 - offset: new BMap.Size(500,80),  
126 - //标题  
127 - title : '<h4 style="color:#FFFFFF">'+r[0].carParkName+'停车场详情</h4>',  
128 - //设置不允许信窗发送短息  
129 - enableMessage : false,  
130 - //是否开启点击地图关闭信息窗口  
131 - enableCloseOnClick : false,  
132 - // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)  
133 - enableAutoPan:true  
134 - };  
135 - if(stationShapesType == 'r') {  
136 - /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */  
137 - CarParkPWorldsBMap.pointsCircle(r,point,htm,opts);  
138 - }else if(stationShapesType == 'd'){  
139 - /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */  
140 - CarParkPWorldsBMap.pointsPolygon(r,point,htm,opts);  
141 - }  
142 - }  
143 - });  
144 - },  
145 -  
146 - setFormValue : function(carParkObj) {  
147 - $('#idInput').val(carParkObj.carParkId);  
148 - $('#bParkPointInput').val(carParkObj.carParkBparkPoint);  
149 - $('#parkNameInput').val(carParkObj.carParkName);  
150 - $('#parkCodeInput').val(carParkObj.carParkCode);  
151 - $('#bCenterPointInput').val(carParkObj.carParkBcenterPoint);  
152 - if(carParkObj.carParkShapesType=='r') {  
153 - $('#shapesTypeSelect').val('圆形');  
154 - $('#radiusGroup').show();  
155 - }else if(carParkObj.carParkShapesType=='d') {  
156 - $('#shapesTypeSelect').val('多边形');  
157 - $('#radiusGroup').hide();  
158 - }  
159 - $('#radiusInput').val(carParkObj.carParkRadius);  
160 - $('#areaInput').val(carParkObj.carParkArea);  
161 - $('#destroySelect').val(carParkObj.carParkDestroy);  
162 - $('#descriptionsTextarea').val(carParkObj.carParkDescriptions);  
163 - },  
164 -  
165 - // 公司下拉框  
166 - selectTemp : function(callback) {  
167 - // 填充公司下拉框选择值  
168 - $.get('/business/all', {upCode_eq: '88'}, function(array){  
169 - // 公司下拉options属性值  
170 - var options = '<option value="">-- 请选择公司 --</option>';  
171 - // 遍历array  
172 - $.each(array, function(i,d){  
173 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
174 - });  
175 - // 填充公司下拉框options  
176 - $('#companySelect').html(options);  
177 - callback && callback();  
178 - });  
179 - },  
180 - // 填充分公司下拉框选择值  
181 - getbrancheCompanyValues : function(businessCode,cb){  
182 - // 分公司下拉框options属性值  
183 - var options = '<option value="">-- 请选择分公司 --</option>';  
184 - if(businessCode) {  
185 - $get('/business/all', {upCode_eq: businessCode}, function(brancheCompany){  
186 - // 遍历brancheCompany  
187 - $.each(brancheCompany, function(i,d){  
188 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
189 - });  
190 - // 填充分公司下拉框options  
191 - $('#brancheCompanySelect').html(options);  
192 - cb && cb();  
193 - });  
194 - } else {  
195 - // 填充分公司下拉框options  
196 - $('#brancheCompanySelect').html(options);  
197 - cb && cb();  
198 - }  
199 - },  
200 - }  
201 -  
202 - return PubFun ;  
203 - 1 +/**
  2 + * 函数
  3 + *
  4 + */
  5 +
  6 +var PublicFunctions = function () {
  7 + var PubFun = {
  8 + /** 停车场信息初始化 @param:<id:停车场ID> */
  9 + initCarPark : function(id) {
  10 + /** 获取停车场信息 @param:<id:停车场Id> */
  11 + GetAjaxData.getCarParkInfo(id,function(r) {
  12 + // 获取返回数据长度
  13 + var len = r.length;
  14 + // 如果大于零
  15 + if(len>0) {
  16 + // 获取停车场信息数据
  17 + var carParkObj = r[0];
  18 + /** 设置停车场对象值 @param:<carParkObj:停车场对象值> */
  19 + EditCarParkObj.setEitdCarPark(carParkObj);
  20 + // 定义图形类型
  21 + var stationShapesType = r[0].carParkShapesType;
  22 + // 如果为空,则添加
  23 + if(stationShapesType==null || stationShapesType=='' ){
  24 + // 弹出选择框;确认则提交;取消则返回
  25 + layer.confirm('停车场位置缺失,是否自动延续为添加停车场位置', {btn : [ '确认并添加', '取消并返回' ]}, function(index) {
  26 + /** 关闭弹出层 @param:<index:当前弹出框> */
  27 + layer.close(index);
  28 + $('.drwmageUtils').show();
  29 + $('.leftUtils').hide();
  30 + // 停车场名称
  31 + var nameV = r[0].carParkName;
  32 + /** 根据名称定位 */
  33 + CarParkPWorldsBMap.localSearchFromAdreesToPoint(nameV);
  34 + // 打开绘制工具
  35 + CarParkPWorldsBMap.openDrawingManager();
  36 + },function() {
  37 + loadPage('/pages/base/carpark/list.html');
  38 + });
  39 + return ;
  40 + }
  41 + $('.leftUtils').show();
  42 + $('.drwmageUtils').hide();
  43 + // 获取中心坐标点字符串分割
  44 + var BJwpoints = r[0].carParkBcenterPoint.split(' ');
  45 + // 中心坐标点
  46 + var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
  47 + var shapesV = '';
  48 + if(r[0].carParkShapesType=='d') {
  49 + shapesV = '多边形';
  50 + }else if(r[0].carParkShapesType=='r') {
  51 + shapesV = '圆形';
  52 + }
  53 + var companyV = '';
  54 + var branchecomV = '';
  55 + if( r[0].carParkCompany=='55'){
  56 + companyV = '上南公司';
  57 + if(r[0].carParkBrancheCompany=='1'){
  58 + branchecomV = '上南二分公司';
  59 + }else if(r[0].carParkBrancheCompany=='2'){
  60 + branchecomV = '上南三分公司';
  61 + }else if(r[0].carParkBrancheCompany=='3'){
  62 + branchecomV = '上南六分公司';
  63 + }else if(r[0].carParkBrancheCompany=='4'){
  64 + branchecomV = '上南一分公司';
  65 + }
  66 + }else if( r[0].carParkCompany=='22'){
  67 + companyV = '金高公司';
  68 + if(r[0].carParkBrancheCompany=='1'){
  69 + branchecomV = '四分公司';
  70 + }else if(r[0].carParkBrancheCompany=='2'){
  71 + branchecomV = '二分公司';
  72 + }else if(r[0].carParkBrancheCompany=='3'){
  73 + branchecomV = '三分公司';
  74 + }else if(r[0].carParkBrancheCompany=='5'){
  75 + branchecomV = '一分公司';
  76 + }
  77 + }else if( r[0].carParkCompany=='05'){
  78 + companyV = '杨高公司';
  79 + if(r[0].carParkBrancheCompany=='1'){
  80 + branchecomV = '川沙分公司';
  81 + }else if(r[0].carParkBrancheCompany=='2'){
  82 + branchecomV = '金桥分公司';
  83 + }else if(r[0].carParkBrancheCompany=='3'){
  84 + branchecomV = '芦潮港分公司';
  85 + }else if(r[0].carParkBrancheCompany=='5'){
  86 + branchecomV = '杨高分公司';
  87 + }else if(r[0].carParkBrancheCompany=='6'){
  88 + branchecomV = '周浦分公司';
  89 + }
  90 + }else if( r[0].carParkCompany=='26'){
  91 + companyV = '南汇公司';
  92 + if(r[0].carParkBrancheCompany=='1'){
  93 + branchecomV = '南汇一分';
  94 + }else if(r[0].carParkBrancheCompany=='2'){
  95 + branchecomV = '南汇二分';
  96 + }else if(r[0].carParkBrancheCompany=='3'){
  97 + branchecomV = '南汇三分';
  98 + }else if(r[0].carParkBrancheCompany=='4'){
  99 + branchecomV = '南汇维修公司';
  100 + }else if(r[0].carParkBrancheCompany=='5'){
  101 + branchecomV = '南汇公司';
  102 + }
  103 + }else if( r[0].carParkCompany=='77'){
  104 + companyV ='闵行公司'
  105 + }
  106 + // 信息窗口类容
  107 + var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+
  108 + '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' +
  109 + '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' +
  110 + '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' +
  111 + '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].carParkBcenterPoint + '</span>' +
  112 + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围类型:' + shapesV + '</span>' +
  113 + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' +
  114 + '<span class="help-block" style="color:#DDD;font-size: 15px;">所属公司:' + companyV + '</span>' +
  115 + '<span class="help-block" style="color:#DDD;font-size: 15px;">分 公司:' + branchecomV+ '</span>' +
  116 + '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' +
  117 + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ r[0].carParkDescriptions +'" >说明/描述:' + r[0].carParkDescriptions + '</span>' ;
  118 + // 信息窗口参数属性
  119 + var opts = {
  120 + // 信息窗口宽度
  121 + width : 200,
  122 + // 信息窗口高度
  123 + height : 450,
  124 + // 信息窗位置偏移值。
  125 + offset: new BMap.Size(500,80),
  126 + //标题
  127 + title : '<h4 style="color:#FFFFFF">'+r[0].carParkName+'停车场详情</h4>',
  128 + //设置不允许信窗发送短息
  129 + enableMessage : false,
  130 + //是否开启点击地图关闭信息窗口
  131 + enableCloseOnClick : false,
  132 + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
  133 + enableAutoPan:true
  134 + };
  135 + if(stationShapesType == 'r') {
  136 + /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */
  137 + CarParkPWorldsBMap.pointsCircle(r,point,htm,opts);
  138 + }else if(stationShapesType == 'd'){
  139 + /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */
  140 + CarParkPWorldsBMap.pointsPolygon(r,point,htm,opts);
  141 + }
  142 + }
  143 + });
  144 + },
  145 +
  146 + setFormValue : function(carParkObj) {
  147 + $('#idInput').val(carParkObj.carParkId);
  148 + $('#bParkPointInput').val(carParkObj.carParkBparkPoint);
  149 + $('#parkNameInput').val(carParkObj.carParkName);
  150 + $('#parkCodeInput').val(carParkObj.carParkCode);
  151 + $('#bCenterPointInput').val(carParkObj.carParkBcenterPoint);
  152 + if(carParkObj.carParkShapesType=='r') {
  153 + $('#shapesTypeSelect').val('圆形');
  154 + $('#radiusGroup').show();
  155 + }else if(carParkObj.carParkShapesType=='d') {
  156 + $('#shapesTypeSelect').val('多边形');
  157 + $('#radiusGroup').hide();
  158 + }
  159 + $('#radiusInput').val(carParkObj.carParkRadius);
  160 + $('#areaInput').val(carParkObj.carParkArea);
  161 + $('#destroySelect').val(carParkObj.carParkDestroy);
  162 + $('#descriptionsTextarea').val(carParkObj.carParkDescriptions);
  163 + },
  164 +
  165 + // 公司下拉框
  166 + selectTemp : function(callback) {
  167 + // 填充公司下拉框选择值
  168 + $.get('/user/companyData', null, function(array){
  169 + // 公司下拉options属性值
  170 + var options = '<option value="">-- 请选择公司 --</option>';
  171 + // 遍历array
  172 + $.each(array, function(i,d){
  173 + options += '<option value="'+d.companyCode+'">'+d.companyName+'</option>';
  174 + });
  175 + // 填充公司下拉框options
  176 + $('#companySelect').html(options);
  177 + callback && callback();
  178 + });
  179 + },
  180 + // 填充分公司下拉框选择值
  181 + getbrancheCompanyValues : function(businessCode,cb){
  182 + // 分公司下拉框options属性值
  183 + var options = '<option value="">-- 请选择分公司 --</option>';
  184 + if(businessCode) {
  185 + $get('/business/all', {upCode_eq: businessCode}, function(brancheCompany){
  186 + // 遍历brancheCompany
  187 + $.each(brancheCompany, function(i,d){
  188 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  189 + });
  190 + // 填充分公司下拉框options
  191 + $('#brancheCompanySelect').html(options);
  192 + cb && cb();
  193 + });
  194 + } else {
  195 + // 填充分公司下拉框options
  196 + $('#brancheCompanySelect').html(options);
  197 + cb && cb();
  198 + }
  199 + },
  200 + }
  201 +
  202 + return PubFun ;
  203 +
204 }(); 204 }();
205 \ No newline at end of file 205 \ No newline at end of file
src/main/resources/static/pages/base/line/js/line-add-form.js
1 -/**  
2 - * @description TODO(线路信息添加片段JS模块)  
3 - *  
4 - * @author bsth@lq  
5 - *  
6 - * @date 二〇一六年十月十八日 13:31:58  
7 - *  
8 - */  
9 -  
10 -$(function(){  
11 - /** 获取线路编码 @param cb <回调函数> */  
12 - /*function getLineCode(cb) {  
13 - *//** get请求获取线路编码。返回线路编码值 *//*  
14 - $.get('/line/getLineCode',function(lineCode){  
15 - return cb && cb(lineCode);  
16 - });  
17 - }*/  
18 - /** 填充分公司下拉框选择值 */  
19 - function setbrancheCompanySelectOptions(){  
20 - // 获取公司下拉框选择值  
21 - var businessCode = $('#companySelect').val();  
22 - // 分公司下拉框options属性值  
23 - var options = '<option value="">-- 请选择分公司 --</option>';  
24 - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码  
25 - if(businessCode == null || businessCode ==''){  
26 - // 填充分公司下拉框options  
27 - $('#brancheCompanySelect').html(options);  
28 - } else {  
29 - // 查询出所属公司下的分公司名称和相应分公司代码  
30 - $get('/business/all', {upCode_eq: businessCode}, function(array){  
31 - // 遍历array  
32 - $.each(array, function(i,d){  
33 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
34 - });  
35 -  
36 - // 填充分公司下拉框options  
37 - $('#brancheCompanySelect').html(options);  
38 - });  
39 - }  
40 - }  
41 - /** 根据线路名称值设置英文名称值和线路简称 */  
42 - function setPinYin(){  
43 - /** 获取线路名称值 */  
44 - var val = $('#nameInput').val();  
45 - /** 汉字转换为拼音 设置英文名称值 */  
46 - $('#esInput').val(pinyin.getFullChars(val));  
47 - /** 汉字转换为拼音将每一个字的拼音的首字母提取出来并大写 设置线路简称值 */  
48 - $('#shortNameInput').val(pinyin.getCamelChars(val));  
49 - }  
50 -  
51 - /** 获取线路编码元素并设值 @param 匿名函数 *//*  
52 - getLineCode(function(result){  
53 - // 设置线路编码值  
54 - $('#lineCodeInput').val(result);  
55 - })*/  
56 - /** 输入线路名称,自动生成英文名称和线路简称 */  
57 - $('#nameInput').on('keyup', setPinYin);  
58 - /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */  
59 - $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'});  
60 - /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */  
61 - $('#startStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});  
62 - /** 起始站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */  
63 - $('#endTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});  
64 - /** 终点站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */  
65 - $('#endStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});  
66 - /** 终点站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */  
67 - $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});  
68 - /** get请求获取公司表数据并填充公司下拉框选择值 */  
69 - $get('/business/all', {upCode_eq: '88'}, function(array){  
70 - /** 公司下拉options属性值 */  
71 - var options = '<option value="">-- 请选择公司 --</option>';  
72 - /** 遍历array */  
73 - $.each(array, function(i,d){  
74 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
75 - });  
76 - /** 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions */  
77 - $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);  
78 - });  
79 -  
80 - /** 填充分公司下拉框 */  
81 - setbrancheCompanySelectOptions();  
82 - // 定义表单  
83 - var form = $('#line_add_form');  
84 - // 定义表单异常  
85 - var error = $('.alert-danger',form);  
86 - // 表单验证  
87 - form.validate({  
88 - // 错误提示元素span对象  
89 - errorElement : 'span',  
90 - // 错误提示元素class名称  
91 - errorClass : 'help-block help-block-error',  
92 - // 验证错误获取焦点  
93 - focusInvalid : true,  
94 - // 需要验证的表单元素  
95 - rules : {  
96 - 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度.  
97 - 'lineCode' : {required : true,maxlength: 6,digits:true ,isLineCode:true,  
98 - remote:{type: 'GET',  
99 - url: '/line/lineCodeVerification',  
100 - cache:false,  
101 - async:false,  
102 - data:{'lineCode':function(){ return $("#lineCodeInput").val();}}  
103 - }},// 线路编码 必填项、最大长度.  
104 - 'company' : {required : true,maxlength: 30},// 所属公司 必填项、最大长度.  
105 - 'brancheCompany' : {required : true,maxlength: 30},// 所属分公司 必填项、最大长度.  
106 - 'level' : {required : true,maxlength: 30},// 线路等级 必填项、最大长度.  
107 - 'nature' : {required : true,maxlength: 30},// 线路性质 必填项、最大长度.  
108 - 'startStationName' : {required : true,maxlength: 30},// 起始站名称 必填项、最大长度.  
109 - 'endStationName' : {required : true,maxlength: 30},// 终点站名称 必填项、最大长度.  
110 - 'startStationFirstTime' : {required : true,maxlength: 30},// 起始站首班时间 必填项、最大长度.  
111 - 'StartStationEndTime' : {required : true,maxlength: 30},// 起始站末班时间 必填项、最大长度.  
112 - 'endStationFirstTime' : {required : true,maxlength: 30},// 终点站首班时间 必填项、最大长度.  
113 - 'endStationEndTime' : {required : true,maxlength: 30},// 终点站末班时间 必填项、最大长度.  
114 - 'linePlayType' : {required : true,maxlength: 30},// 线路规划类型 <0:双向;1:环线> 必填项、最大长度.  
115 - 'openDate' : {date : true,dateISO:true},// 开辟日期 正确格式的日期(日期校验 ie6 出错,慎用。)必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。  
116 - 'es' : {maxlength: 30},// 英文名称 最大长度.  
117 - 'shortName' : {maxlength: 30},// 线路简称 最大长度.  
118 - 'shanghaiLinecode' : {maxlength: 30},// 上海市线路编码 最大长度.  
119 - 'eqLinecode' : {maxlength: 30},// 设备线路编码 最大长度.  
120 - 'startPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 起始站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 最大长度  
121 - 'endPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 终点站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 、最大长度  
122 - 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度.  
123 - 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度.  
124 - 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度.  
125 - 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。  
126 - 'descriptions' : {maxlength: 200},// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。  
127 - 'region' : {required : true}// 线路区域必选  
128 - },  
129 - messages:{  
130 - 'lineCode':{  
131 - remote: '此线路编码已存在!'  
132 - }  
133 - },  
134 - /**  
135 - * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。  
136 - *  
137 - * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator)  
138 - */  
139 - invalidHandler : function(event, validator) {  
140 -  
141 - // 显示表单未通过提示信息  
142 - error.show();  
143 -  
144 - // 把提示信息放到指定的位置。  
145 - App.scrollTo(error, -200);  
146 - },  
147 -  
148 - /**  
149 - * 类型:Callback。  
150 - *  
151 - * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。  
152 - */  
153 - highlight : function(element) {  
154 -  
155 - // 添加errorClass("has-error")到表单元素  
156 - $(element).closest('.form-group').addClass('has-error');  
157 -  
158 - },  
159 -  
160 - /**  
161 - * 类型:Callback。  
162 - *  
163 - * 默认:移除errorClass("has-error")。与highlight操作相反  
164 - */  
165 - unhighlight : function(element) {  
166 -  
167 - // 移除errorClass("has-error")  
168 - $(element).closest('.form-group').removeClass('has-error');  
169 -  
170 - },  
171 -  
172 - /**  
173 - * 类型:String,Callback。  
174 - *  
175 - * 如果指定它,当验证通过时显示一个消息。  
176 - *  
177 - * 如果是String类型的,则添加该样式到标签中;  
178 - *  
179 - * 如果是一个回调函数,则将标签作为其唯一的参数。  
180 - */  
181 - success : function(label) {  
182 -  
183 - // 当验证通过时,移除errorClass("has-error")  
184 - label.closest('.form-group').removeClass('has-error');  
185 -  
186 - },  
187 -  
188 - /**  
189 - * 类型:Callback。  
190 - *  
191 - * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form  
192 - */  
193 - submitHandler : function(f) {  
194 -  
195 - // 隐藏错误提示  
196 - error.hide();  
197 - // 表单序列化  
198 - var params = form.serializeJSON();  
199 - submit();  
200 -  
201 - // 查询线路编码的顺延号  
202 - /*$get('/line/all', {lineCode_eq: params.lineCode},function(lineCode){  
203 -  
204 - // 定义返回值的长度  
205 - var len = lineCode.length;  
206 -  
207 - // 如果大于零,则已存在录入的线路编码;否则不存在  
208 - if(len > 0) {  
209 -  
210 - // 定义已有的线路编码  
211 - var oldCode = params.lineCode;  
212 -  
213 - // 自动获取线路编码  
214 - getLineCode(function(result) {  
215 -  
216 - // 重新设置提交参数线路编码值  
217 - params.lineCode = result;  
218 -  
219 - // 弹出选择框;确认则提交;取消则返回  
220 - layer.confirm('线路编码【'+oldCode+'】已存在!自动顺延为如下:<br>线路编码:'+result, {  
221 - btn : [ '确认提示并提交', '取消' ]  
222 - }, submit);  
223 -  
224 - });  
225 - layer.open({  
226 - title: '消息提示'  
227 - ,content: '线路编码【'+params.lineCode+'】已存在,请重新输入编码!'  
228 - });  
229 - } else {  
230 -  
231 - // 提交  
232 - submit();  
233 -  
234 - }  
235 - });*/  
236 -  
237 -  
238 - // 提交  
239 - function submit() {  
240 -  
241 - // 防止用户多次提交  
242 - $("#submintBtn").addClass("disabled");  
243 -  
244 - // 添加数据  
245 - $post('/line', params, function(result) {  
246 - // 如果返回结果不为空  
247 - if(result){  
248 -  
249 - // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败  
250 - if(result.status=='SUCCESS') {  
251 -  
252 - // 弹出添加成功提示消息  
253 - layer.msg('添加成功,并已自动为您生成线路原始版本,可以在线路版本信息下查看!', {time: 7000});  
254 -  
255 - } else if(result.status=='ERROR') {  
256 -  
257 - // 弹出添加失败提示消息  
258 - layer.msg('添加失败...');  
259 -  
260 - }  
261 - }  
262 -  
263 - // 返回list.html页面  
264 - loadPage('list.html');  
265 - });  
266 - }  
267 - }  
268 - });  
269 -  
270 - // 线路编码不能0开头  
271 - $.validator.addMethod("isLineCode", function(value,element) {  
272 - // 线路编码正则表达式  
273 - var lineCode = /^([1-9])/;  
274 - return lineCode.test(value);  
275 - }, "线路编码不能以0开头");  
276 -  
277 - // 联系电话(手机/电话皆可)验证  
278 - $.validator.addMethod("isPhone", function(value,element) {  
279 - // 长度  
280 - var length = value.length;  
281 - // 手机正则表达式  
282 - var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;  
283 - // 固定电话正则表达式  
284 - var tel = /^\d{3,4}-?\d{7,9}$/;  
285 - return this.optional(element) || (tel.test(value) || mobile.test(value));  
286 - }, "请正确填写您的联系电话"); 1 +/**
  2 + * @description TODO(线路信息添加片段JS模块)
  3 + *
  4 + * @author bsth@lq
  5 + *
  6 + * @date 二〇一六年十月十八日 13:31:58
  7 + *
  8 + */
  9 +
  10 +$(function(){
  11 + /** 获取线路编码 @param cb <回调函数> */
  12 + /*function getLineCode(cb) {
  13 + *//** get请求获取线路编码。返回线路编码值 *//*
  14 + $.get('/line/getLineCode',function(lineCode){
  15 + return cb && cb(lineCode);
  16 + });
  17 + }*/
  18 + /** 填充分公司下拉框选择值 */
  19 + function setbrancheCompanySelectOptions(){
  20 + // 获取公司下拉框选择值
  21 + var businessCode = $('#companySelect').val();
  22 + // 分公司下拉框options属性值
  23 + var options = '<option value="">-- 请选择分公司 --</option>';
  24 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  25 + if(businessCode == null || businessCode ==''){
  26 + // 填充分公司下拉框options
  27 + $('#brancheCompanySelect').html(options);
  28 + } else {
  29 + // 查询出所属公司下的分公司名称和相应分公司代码
  30 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  31 + // 遍历array
  32 + $.each(array, function(i,d){
  33 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  34 + });
  35 +
  36 + // 填充分公司下拉框options
  37 + $('#brancheCompanySelect').html(options);
  38 + });
  39 + }
  40 + }
  41 + /** 根据线路名称值设置英文名称值和线路简称 */
  42 + function setPinYin(){
  43 + /** 获取线路名称值 */
  44 + var val = $('#nameInput').val();
  45 + /** 汉字转换为拼音 设置英文名称值 */
  46 + $('#esInput').val(pinyin.getFullChars(val));
  47 + /** 汉字转换为拼音将每一个字的拼音的首字母提取出来并大写 设置线路简称值 */
  48 + $('#shortNameInput').val(pinyin.getCamelChars(val));
  49 + }
  50 +
  51 + /** 获取线路编码元素并设值 @param 匿名函数 *//*
  52 + getLineCode(function(result){
  53 + // 设置线路编码值
  54 + $('#lineCodeInput').val(result);
  55 + })*/
  56 + /** 输入线路名称,自动生成英文名称和线路简称 */
  57 + $('#nameInput').on('keyup', setPinYin);
  58 + /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */
  59 + $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'});
  60 + /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */
  61 + $('#startStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});
  62 + /** 起始站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */
  63 + $('#endTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});
  64 + /** 终点站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */
  65 + $('#endStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'});
  66 + /** 终点站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */
  67 + $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  68 + /** get请求获取公司表数据并填充公司下拉框选择值 */
  69 + $get('/user/companyData', null, function(array){
  70 + /** 公司下拉options属性值 */
  71 + var options = '<option value="">-- 请选择公司 --</option>';
  72 + /** 遍历array */
  73 + $.each(array, function(i,d){
  74 + options += '<option value="'+d.companyCode+'">'+d.companyName+'</option>';
  75 + });
  76 + /** 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions */
  77 + $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);
  78 + });
  79 +
  80 + /** 填充分公司下拉框 */
  81 + setbrancheCompanySelectOptions();
  82 + // 定义表单
  83 + var form = $('#line_add_form');
  84 + // 定义表单异常
  85 + var error = $('.alert-danger',form);
  86 + // 表单验证
  87 + form.validate({
  88 + // 错误提示元素span对象
  89 + errorElement : 'span',
  90 + // 错误提示元素class名称
  91 + errorClass : 'help-block help-block-error',
  92 + // 验证错误获取焦点
  93 + focusInvalid : true,
  94 + // 需要验证的表单元素
  95 + rules : {
  96 + 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度.
  97 + 'lineCode' : {required : true,maxlength: 6,digits:true ,isLineCode:true,
  98 + remote:{type: 'GET',
  99 + url: '/line/lineCodeVerification',
  100 + cache:false,
  101 + async:false,
  102 + data:{'lineCode':function(){ return $("#lineCodeInput").val();}}
  103 + }},// 线路编码 必填项、最大长度.
  104 + 'company' : {required : true,maxlength: 30},// 所属公司 必填项、最大长度.
  105 + 'brancheCompany' : {required : true,maxlength: 30},// 所属分公司 必填项、最大长度.
  106 + 'level' : {required : true,maxlength: 30},// 线路等级 必填项、最大长度.
  107 + 'nature' : {required : true,maxlength: 30},// 线路性质 必填项、最大长度.
  108 + 'startStationName' : {required : true,maxlength: 30},// 起始站名称 必填项、最大长度.
  109 + 'endStationName' : {required : true,maxlength: 30},// 终点站名称 必填项、最大长度.
  110 + 'startStationFirstTime' : {required : true,maxlength: 30},// 起始站首班时间 必填项、最大长度.
  111 + 'StartStationEndTime' : {required : true,maxlength: 30},// 起始站末班时间 必填项、最大长度.
  112 + 'endStationFirstTime' : {required : true,maxlength: 30},// 终点站首班时间 必填项、最大长度.
  113 + 'endStationEndTime' : {required : true,maxlength: 30},// 终点站末班时间 必填项、最大长度.
  114 + 'linePlayType' : {required : true,maxlength: 30},// 线路规划类型 <0:双向;1:环线> 必填项、最大长度.
  115 + 'openDate' : {date : true,dateISO:true},// 开辟日期 正确格式的日期(日期校验 ie6 出错,慎用。)必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。
  116 + 'es' : {maxlength: 30},// 英文名称 最大长度.
  117 + 'shortName' : {maxlength: 30},// 线路简称 最大长度.
  118 + 'shanghaiLinecode' : {maxlength: 30},// 上海市线路编码 最大长度.
  119 + 'eqLinecode' : {maxlength: 30},// 设备线路编码 最大长度.
  120 + 'startPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 起始站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 最大长度
  121 + 'endPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 终点站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 、最大长度
  122 + 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度.
  123 + 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度.
  124 + 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度.
  125 + 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。
  126 + 'descriptions' : {maxlength: 200},// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。
  127 + 'region' : {required : true}// 线路区域必选
  128 + },
  129 + messages:{
  130 + 'lineCode':{
  131 + remote: '此线路编码已存在!'
  132 + }
  133 + },
  134 + /**
  135 + * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。
  136 + *
  137 + * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator)
  138 + */
  139 + invalidHandler : function(event, validator) {
  140 +
  141 + // 显示表单未通过提示信息
  142 + error.show();
  143 +
  144 + // 把提示信息放到指定的位置。
  145 + App.scrollTo(error, -200);
  146 + },
  147 +
  148 + /**
  149 + * 类型:Callback。
  150 + *
  151 + * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。
  152 + */
  153 + highlight : function(element) {
  154 +
  155 + // 添加errorClass("has-error")到表单元素
  156 + $(element).closest('.form-group').addClass('has-error');
  157 +
  158 + },
  159 +
  160 + /**
  161 + * 类型:Callback。
  162 + *
  163 + * 默认:移除errorClass("has-error")。与highlight操作相反
  164 + */
  165 + unhighlight : function(element) {
  166 +
  167 + // 移除errorClass("has-error")
  168 + $(element).closest('.form-group').removeClass('has-error');
  169 +
  170 + },
  171 +
  172 + /**
  173 + * 类型:String,Callback。
  174 + *
  175 + * 如果指定它,当验证通过时显示一个消息。
  176 + *
  177 + * 如果是String类型的,则添加该样式到标签中;
  178 + *
  179 + * 如果是一个回调函数,则将标签作为其唯一的参数。
  180 + */
  181 + success : function(label) {
  182 +
  183 + // 当验证通过时,移除errorClass("has-error")
  184 + label.closest('.form-group').removeClass('has-error');
  185 +
  186 + },
  187 +
  188 + /**
  189 + * 类型:Callback。
  190 + *
  191 + * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form
  192 + */
  193 + submitHandler : function(f) {
  194 +
  195 + // 隐藏错误提示
  196 + error.hide();
  197 + // 表单序列化
  198 + var params = form.serializeJSON();
  199 + submit();
  200 +
  201 + // 查询线路编码的顺延号
  202 + /*$get('/line/all', {lineCode_eq: params.lineCode},function(lineCode){
  203 +
  204 + // 定义返回值的长度
  205 + var len = lineCode.length;
  206 +
  207 + // 如果大于零,则已存在录入的线路编码;否则不存在
  208 + if(len > 0) {
  209 +
  210 + // 定义已有的线路编码
  211 + var oldCode = params.lineCode;
  212 +
  213 + // 自动获取线路编码
  214 + getLineCode(function(result) {
  215 +
  216 + // 重新设置提交参数线路编码值
  217 + params.lineCode = result;
  218 +
  219 + // 弹出选择框;确认则提交;取消则返回
  220 + layer.confirm('线路编码【'+oldCode+'】已存在!自动顺延为如下:<br>线路编码:'+result, {
  221 + btn : [ '确认提示并提交', '取消' ]
  222 + }, submit);
  223 +
  224 + });
  225 + layer.open({
  226 + title: '消息提示'
  227 + ,content: '线路编码【'+params.lineCode+'】已存在,请重新输入编码!'
  228 + });
  229 + } else {
  230 +
  231 + // 提交
  232 + submit();
  233 +
  234 + }
  235 + });*/
  236 +
  237 +
  238 + // 提交
  239 + function submit() {
  240 +
  241 + // 防止用户多次提交
  242 + $("#submintBtn").addClass("disabled");
  243 +
  244 + // 添加数据
  245 + $post('/line', params, function(result) {
  246 + // 如果返回结果不为空
  247 + if(result){
  248 +
  249 + // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败
  250 + if(result.status=='SUCCESS') {
  251 +
  252 + // 弹出添加成功提示消息
  253 + layer.msg('添加成功,并已自动为您生成线路原始版本,可以在线路版本信息下查看!', {time: 7000});
  254 +
  255 + } else if(result.status=='ERROR') {
  256 +
  257 + // 弹出添加失败提示消息
  258 + layer.msg('添加失败...');
  259 +
  260 + }
  261 + }
  262 +
  263 + // 返回list.html页面
  264 + loadPage('list.html');
  265 + });
  266 + }
  267 + }
  268 + });
  269 +
  270 + // 线路编码不能0开头
  271 + $.validator.addMethod("isLineCode", function(value,element) {
  272 + // 线路编码正则表达式
  273 + var lineCode = /^([1-9])/;
  274 + return lineCode.test(value);
  275 + }, "线路编码不能以0开头");
  276 +
  277 + // 联系电话(手机/电话皆可)验证
  278 + $.validator.addMethod("isPhone", function(value,element) {
  279 + // 长度
  280 + var length = value.length;
  281 + // 手机正则表达式
  282 + var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
  283 + // 固定电话正则表达式
  284 + var tel = /^\d{3,4}-?\d{7,9}$/;
  285 + return this.optional(element) || (tel.test(value) || mobile.test(value));
  286 + }, "请正确填写您的联系电话");
287 }); 287 });
288 \ No newline at end of file 288 \ No newline at end of file
src/main/resources/static/pages/base/line/js/line-edit-form.js
@@ -35,12 +35,12 @@ @@ -35,12 +35,12 @@
35 /** 公司下拉框 @param:<callback:回调函数> */ 35 /** 公司下拉框 @param:<callback:回调函数> */
36 function selectTemp(callback) { 36 function selectTemp(callback) {
37 // 填充公司下拉框选择值 37 // 填充公司下拉框选择值
38 - $.get('/business/all', {upCode_eq: '88'}, function(array){ 38 + $get('/user/companyData', null, function(array){
39 // 公司下拉options属性值 39 // 公司下拉options属性值
40 var options = '<option value="">-- 请选择公司 --</option>'; 40 var options = '<option value="">-- 请选择公司 --</option>';
41 // 遍历array 41 // 遍历array
42 $.each(array, function(i,d){ 42 $.each(array, function(i,d){
43 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; 43 + options += '<option value="'+d.companyCode+'">'+d.companyName+'</option>';
44 }); 44 });
45 // 填充公司下拉框options 45 // 填充公司下拉框options
46 $('#companySelect').html(options); 46 $('#companySelect').html(options);
src/main/resources/static/pages/base/line/js/line-list-table.js
1 -/**  
2 - *  
3 - * @JSName : line-list-table.js(线路信息list.html页面js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TOOD(线路信息list.html页面js)  
8 - *  
9 - * @Data : 2016年4月28日 上午9:21:17  
10 - *  
11 - * @Version 公交调度系统BS版 0.1  
12 - *  
13 - */  
14 -  
15 -(function(){  
16 - // 关闭左侧栏  
17 - if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}  
18 - // 初始化是否撤销值.  
19 - $('#destroy').val(0);  
20 - // 定义 page : 当前页;initPag ; icheckOptions:选择框  
21 - var page = 0,  
22 - initPag,  
23 - icheckOptions = {checkboxClass: 'icheckbox_flat-blue',increaseArea: '20%'},  
24 - storage = window.localStorage;  
25 - if(storage.xlName_AgursData!=null && storage.xlName_AgursData !='') {  
26 - $('.tipso-animation').children().remove();  
27 - // 延迟加载  
28 - setTimeout(function(){  
29 - $('.tipso-animation').tipso({  
30 - speed : 400,  
31 - background : '#0ed0e8',  
32 - color : '#ffffff',  
33 - position :'bottom',  
34 - width : 400,  
35 - delay : 100,  
36 - animationIn : 'fadeInDownBig',  
37 - animationOut : 'fadeOut',  
38 - offsetX : -50,  
39 - offsetY : -195,  
40 - content :'您可以通过点击重置按钮来清除对线路名称的记忆哦!',  
41 -  
42 - });  
43 - $('.tipso-animation').tipso('show');  
44 - setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);  
45 - },200);  
46 - }  
47 - // 营运公司Map[key(businessCode)] = 名字  
48 - var companyMap = new Map();  
49 - // 分公司Map[key(upCode+_+businessCode)] = 名字  
50 - var branchMap = new Map();  
51 - initCompanySelect2(function(array) {  
52 - $.each(array, function() {  
53 - companyMap[this.businessCode] = this.businessName;  
54 - // companyMap.put(this.businessCode.toString(), this.businessName);  
55 - if(this.businessCode != null || this.businessCode !=''){  
56 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
57 - $get('/business/all', {upCode_eq: this.businessCode}, function(array){  
58 - // 遍历array  
59 - $.each(array, function(i,d){  
60 - branchMap[this.upCode+"_"+this.businessCode] = this.businessName;  
61 - // branchMap.put(this.upCode+"_"+this.businessCode, this.businessName);  
62 - });  
63 - });  
64 - }  
65 - });  
66 - // 公司下拉options属性值  
67 - var options = '<option value="">请选择...</option>';  
68 - // 遍历array  
69 - $.each(array, function(i,d){  
70 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
71 - });  
72 - // 初始化公司下拉框并监听值改变事件.  
73 - $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);  
74 - // 初始化分公司下拉框.  
75 - setBrancheCompanySelectOptions();  
76 - initLineSelect2(array);  
77 - /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */  
78 - loadTableDate({'destroy_eq':0,'name_like':splitxlName(storage.xlName_AgursData)},true);  
79 - });  
80 -  
81 - function initLineSelect2(compD) {  
82 - getComp(function(rs) {  
83 - var params = {};  
84 - if(rs.length>0) {  
85 - var compA = new Array();  
86 - for(var c = 0 ; c<rs.length;c++) {  
87 - var comC = rs[c].companyCode;  
88 - var child = rs[c].children;  
89 - if(child.length>0) {  
90 - for(var d = 0 ;d< child.length;d++) {  
91 - compA.push(comC + '_' + child[d].code);  
92 - }  
93 - }else {  
94 - compA.push(comC);  
95 - }  
96 - }  
97 - params.cgsbm_in = compA.toString();  
98 - }  
99 - // 填充线路拉框选择值  
100 - $get('/line/all', params, function(array){  
101 - var len_ = array.length,paramsD = new Array();  
102 - if(len_>0) {  
103 - $.each(array, function(i, g){  
104 - if(g.remove != 1 && (g.name!='' || g.name != null)) {  
105 - paramsD.push({'id':g.name + '_' + g.id + '_' + g.lineCode ,'text':g.name + gsdmTogsName(compD,g.company)});  
106 - }  
107 - });  
108 - if($('span').hasClass('select2-selection'))  
109 - $('span .select2-selection').remove();  
110 - initPinYinSelect2($('#lineSelect'),paramsD,function(selector) {  
111 - selector.select2("val", storage.xlName_AgursData);  
112 - });  
113 - }  
114 - });  
115 - });  
116 - }  
117 - // 选择线路,填充线路编码搜索框  
118 - $("#lineSelect").on("change",function(){  
119 - var text = $('#lineSelect').val();  
120 - if(text){  
121 - var linecode = text.split("_");  
122 - $("#lineCodeInput").val(linecode[2]);  
123 - }  
124 - });  
125 -  
126 - function gsdmTogsName(gsD,code) {  
127 - var rsStr = '';  
128 - for(var s = 0 ; s < gsD.length; s++) {  
129 - if(gsD[s].businessCode == code) {  
130 - rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';  
131 - break;  
132 - }  
133 - }  
134 - return rsStr;  
135 - }  
136 -  
137 - function initCompanySelect2(cb) {  
138 - // get请求获取公司  
139 - $get('/business/all', {upCode_eq: '88'}, function(gs_d){  
140 - return cb && cb(gs_d);  
141 - });  
142 - }  
143 - function getComp(cb) {  
144 - $.get('/user/companyData',null,function(rs) {  
145 - return cb && cb(rs);  
146 - });  
147 - }  
148 - function getParams() {  
149 - // cells 集合返回表格中所有(列)单元格的一个数组  
150 - var cells = $('tr.filter')[0].cells;  
151 - // 搜索参数集合  
152 - var params = {};  
153 - // 搜索字段名称  
154 - var name;  
155 - // 遍历cells数组  
156 - $.each(cells, function(i, cell){  
157 - // 获取第i列的input或者select集合  
158 - var items = $('input,select', cell);  
159 - // 遍历items集合  
160 - for(var j = 0, item; item = items[j++];){  
161 - // 获取字段名称  
162 - name = $(item).attr('name');  
163 - if(name){  
164 - // 赋取相对应的值  
165 - params[name] = $(item).val();  
166 - }  
167 - }  
168 - });  
169 - return params;  
170 - }  
171 -  
172 - /** 表格数据分页加载事件 @param:<param : 查询参数;isPon : 是否重新分页> */  
173 - function loadTableDate(param,isPon){  
174 - // 搜索参数  
175 - var params = {};  
176 - if(param) {  
177 - params = param;  
178 - }  
179 - // 排序(按更新时间)  
180 - params['order'] = 'id';  
181 - // 记录当前页数  
182 - params['page'] = page;  
183 - params['remove_ne'] = 1;  
184 - // 弹出正在加载层  
185 - var i = layer.load(2);  
186 - getComp(function(rs) {  
187 - if(rs.length>0) {  
188 - var compA = new Array();  
189 - for(var c = 0 ; c<rs.length;c++) {  
190 - var comC = rs[c].companyCode;  
191 - var child = rs[c].children;  
192 - if(child.length>0) {  
193 - for(var d = 0 ;d< child.length;d++) {  
194 - compA.push(comC + '_' + child[d].code);  
195 - }  
196 - }else {  
197 - compA.push(comC);  
198 - }  
199 - }  
200 - params.cgsbm_in = compA.toString();  
201 - }  
202 - // 异步请求获取表格数据  
203 - $.get('/line',params,function(result){  
204 - // 添加序号  
205 - result.content.page = page;  
206 - $.each(result.content, function(i, data) {  
207 - result.content[i].gsmc = companyMap[data.company];  
208 - result.content[i].fgsmc = branchMap[data.cgsbm];  
209 - });  
210 - // 把数据填充到模版中  
211 - var tbodyHtml = template('line_list_temp',{list:result.content});  
212 - // 把渲染好的模版html文本追加到表格中  
213 - $('#datatable_line tbody').html(tbodyHtml);  
214 - // 制定复选框  
215 - $('#datatable_line tbody').find('.icheck').iCheck(icheckOptions);  
216 - // 复选框改变事件  
217 - $('#datatable_line tbody').find('.icheck').on('ifChanged', iCheckChange);  
218 - // 是重新分页且返回数据长度大于0  
219 - if(isPon && result.content.length > 0){  
220 - // 重新分页  
221 - initPag = true;  
222 - // 分页栏  
223 - showPagination(result);  
224 - }  
225 - // 关闭弹出加载层  
226 - layer.close(i);  
227 - });  
228 - });  
229 - }  
230 -  
231 - /** 复选框组件 */  
232 - function iCheckChange(){  
233 - // 获取当前的父节点tr  
234 - var tr = $(this).parents('tr');  
235 - // 判断当前是否选中  
236 - if(this.checked) {  
237 - // 选中,则增添父节点tr的样式  
238 - tr.addClass('row-active');  
239 - }else {  
240 - // 未选中,则删除父节点tr的样式  
241 - tr.removeClass('row-active');  
242 - }  
243 - }  
244 -  
245 - /** 分页栏组件 */  
246 - function showPagination(data){  
247 - // 分页组件  
248 - $('#pagination').jqPaginator({  
249 - // 总页数  
250 - totalPages: data.totalPages,  
251 - // 中间显示页数  
252 - visiblePages: 6,  
253 - // 当前页  
254 - currentPage: page + 1,  
255 - first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',  
256 - prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',  
257 - next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',  
258 - last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',  
259 - page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',  
260 - onPageChange: function (num, type) {  
261 - if(initPag){  
262 - initPag = false;  
263 - return;  
264 - }  
265 - var pData = getParams();  
266 - pData.name_like = splitxlName(pData.name_like);  
267 - page = num - 1;  
268 - loadTableDate(pData, false);  
269 - }  
270 - });  
271 - }  
272 - /** 填充分公司下拉框选择值 */  
273 - function setBrancheCompanySelectOptions(){  
274 - // 获取公司下拉框选择值  
275 - var businessCode = $('#companySelect').val();  
276 - // 分公司下拉框options属性值  
277 - var options = '<option value="">请选择...</option>';  
278 - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码  
279 - if(businessCode == null || businessCode ==''){  
280 - // 填充分公司下拉框options  
281 - $('#brancheCompanySelect').html(options);  
282 - } else {  
283 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
284 - $get('/business/all', {upCode_eq: businessCode}, function(array){  
285 - // 遍历array  
286 - $.each(array, function(i,d){  
287 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
288 - // 填充分公司下拉框options  
289 - $('#brancheCompanySelect').html(options);  
290 - });  
291 - });  
292 - }  
293 - }  
294 -  
295 - /** 重置按钮事件 */  
296 - $('tr.filter .filter-cancel').on('click',function() {  
297 - // 清空搜索框值  
298 - $('tr.filter input,select').val('').change();  
299 - $('.tipso-animation').tipso('hide');  
300 - storage.setItem('xlName_AgursData','');  
301 - /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */  
302 - loadTableDate(null,true);  
303 - });  
304 -  
305 - function splitxlName(str) {  
306 - var rsStr = '';  
307 - if(str) {  
308 - var strArray = str.split('_');  
309 - rsStr = strArray[0];  
310 - }  
311 - return rsStr;  
312 - }  
313 -  
314 - /** 搜索按钮事件 */  
315 - $('tr.filter .filter-submit').on('click',function(){  
316 - var params = getParams();  
317 - if(params.name_like!='' && params.name_like != null) {  
318 - storage.setItem('xlName_AgursData',params.name_like);  
319 - }  
320 - params.name_like = splitxlName(params.name_like);  
321 - page = 0;  
322 - /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */  
323 - loadTableDate(params,true);  
324 - });  
325 - /** 生成行单,这里暂时只做了单选生成。 */  
326 - $('#datatable_ajax_tools #createUsingSingle').on('click', function() {  
327 - // 获取选中行.  
328 - var arrChk = $("input[type='checkbox']:checked");  
329 - var len = arrChk.length;  
330 - // 选中行ID与线路名称  
331 - var id = '', lineName = '';  
332 - if(len>1) {  
333 - // 弹出添加成功提示消息  
334 - layer.msg('存在多选,请只选中一行!');  
335 - return ;  
336 - }else if(len==0) {  
337 - // 弹出添加成功提示消息  
338 - layer.msg('请选中一条线路!');  
339 - return ;  
340 - }else {  
341 - id = arrChk.data('id');  
342 - lineName = arrChk.val();  
343 - // 请求参数  
344 - var params = {lineId:id};  
345 - // 弹出正在加载层  
346 - var index2 = layer.load(0);  
347 - /** 生成线路行单 @pararm:<params:请求参数> */  
348 - $post('/stationroute/usingSingle',params,function(data) {  
349 - debugger;  
350 - // 关闭弹出框  
351 - layer.close(index2);  
352 - if(data.status=='SUCCESS') {  
353 - // 弹出添加成功提示消息  
354 - layer.msg('生成线路【'+ lineName +'】线路文件成功!');  
355 - }else if(data.status=='ERROR'){  
356 - // 弹出添加成功提示消息  
357 - layer.msg('生成线路【'+ lineName +'】线路文件失败!');  
358 - }else if(data.status=='NOTDATA') {  
359 - // 弹出添加成功提示消息  
360 - layer.msg('系统无线路【'+ lineName +'】的站点与路段信息!');  
361 - }else if(data.status=='NOLinePlayType') {  
362 - // 弹出添加成功提示消息  
363 - layer.msg('无法识别【'+ lineName +'】的线路规划类型,请设置为双向/环线!');  
364 - }  
365 - });  
366 - }  
367 - });  
368 - /** 生成路线(路段和站点) */  
369 - $('#datatable_ajax_tools #editRoute').on('click', function() {  
370 - // 获取选中行.  
371 - var arrChk = $("input[type='checkbox']:checked");  
372 - var len = arrChk.length;  
373 - // 选中行ID与线路名称  
374 - var id = '';  
375 - if(len>1) {  
376 - // 弹出添加成功提示消息  
377 - layer.msg('存在多选,请只选中一行!');  
378 - return ;  
379 - }else if(len==0) {  
380 - // 弹出添加成功提示消息  
381 - layer.msg('请选中一条线路!');  
382 - return ;  
383 - }else {  
384 - id = arrChk.data('id');  
385 - $.get('/lineVersions/findByLineId',{'lineId':id},function(lineVersions){  
386 - if(lineVersions != null && lineVersions != "") {  
387 - window.location.href = "/pages/base/line/map.html?no="+id;  
388 - } else {  
389 - layer.msg('此线路没有线路版本,请先到线路版本信息页面添加改线路版本!');  
390 - return ;  
391 - }  
392 - });  
393 - }  
394 - });  
395 -  
396 - // 导出线路站点  
397 - $('#datatable_ajax_tools #exportStation').on('click', function() {  
398 - // 获取选中行.  
399 - var arrChk = $("input[type='checkbox']:checked");  
400 - var len = arrChk.length;  
401 - // 选中行ID与线路名称  
402 - var id = '';  
403 - if(len>1) {  
404 - // 弹出添加成功提示消息  
405 - layer.msg('存在多选,请只选中一行!');  
406 - return ;  
407 - }else if(len==0) {  
408 - // 弹出添加成功提示消息  
409 - layer.msg('请选中一条线路!');  
410 - return ;  
411 - }else {  
412 - id = arrChk.data('id');  
413 - var param = {};  
414 - param.id = id;  
415 - window.open('/stationroute/export?id='+id);  
416 -  
417 - /*$.get("/stationroute/export",param,function(result) {  
418 - if(result.status == "ERROR") {  
419 - layer.msg("导出文件失败!");  
420 - } else if(result.status == "ERROR") {  
421 - layer.msg("导出文件成功!");  
422 - } else {  
423 - layer.msg("未知异常!");  
424 - }  
425 - });*/  
426 - }  
427 - }); 1 +/**
  2 + *
  3 + * @JSName : line-list-table.js(线路信息list.html页面js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TOOD(线路信息list.html页面js)
  8 + *
  9 + * @Data : 2016年4月28日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + // 关闭左侧栏
  17 + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
  18 + // 初始化是否撤销值.
  19 + $('#destroy').val(0);
  20 + // 定义 page : 当前页;initPag ; icheckOptions:选择框
  21 + var page = 0,
  22 + initPag,
  23 + icheckOptions = {checkboxClass: 'icheckbox_flat-blue',increaseArea: '20%'},
  24 + storage = window.localStorage;
  25 + if(storage.xlName_AgursData!=null && storage.xlName_AgursData !='') {
  26 + $('.tipso-animation').children().remove();
  27 + // 延迟加载
  28 + setTimeout(function(){
  29 + $('.tipso-animation').tipso({
  30 + speed : 400,
  31 + background : '#0ed0e8',
  32 + color : '#ffffff',
  33 + position :'bottom',
  34 + width : 400,
  35 + delay : 100,
  36 + animationIn : 'fadeInDownBig',
  37 + animationOut : 'fadeOut',
  38 + offsetX : -50,
  39 + offsetY : -195,
  40 + content :'您可以通过点击重置按钮来清除对线路名称的记忆哦!',
  41 +
  42 + });
  43 + $('.tipso-animation').tipso('show');
  44 + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);
  45 + },200);
  46 + }
  47 + // 营运公司Map[key(businessCode)] = 名字
  48 + var companyMap = new Map();
  49 + // 分公司Map[key(upCode+_+businessCode)] = 名字
  50 + var branchMap = new Map();
  51 + getComp(function(array) {
  52 + let params = {}, companies = new Array(), options = '<option value="">请选择...</option>';
  53 + $.each(array, function() {
  54 + let companyCode = this.companyCode, companyName = this.companyName, child = this.children;
  55 + if (companyCode) {
  56 + companyMap[companyCode] = companyName;
  57 + options += '<option value="' + companyCode + '">' + companyName + '</option>';
  58 + if (child.length > 0) {
  59 + for (let i = 0;i < child.length;i++) {
  60 + companies.push(companyCode + '_' + child[i].code);
  61 + }
  62 + } else {
  63 + companies.push(companyCode);
  64 + }
  65 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  66 + $get('/business/all', {upCode_eq: this.businessCode}, function(array){
  67 + // 遍历array
  68 + $.each(array, function(){
  69 + branchMap[this.upCode + '_' + this.businessCode] = this.businessName;
  70 + });
  71 + });
  72 + }
  73 + });
  74 + params.cgsbm_in = companies.toString();
  75 + // 初始化公司下拉框并监听值改变事件.
  76 + $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);
  77 + // 初始化分公司下拉框.
  78 + setBrancheCompanySelectOptions();
  79 + initLineSelect2(params, array);
  80 + /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */
  81 + loadTableDate({'destroy_eq':0,'name_like':splitxlName(storage.xlName_AgursData)},true);
  82 + });
  83 +
  84 + function initLineSelect2(params, mapping) {
  85 + // 填充线路拉框选择值
  86 + $get('/line/all', params, function(array){
  87 + var len_ = array.length,paramsD = new Array();
  88 + if(len_>0) {
  89 + $.each(array, function(i, g){
  90 + if(g.remove != 1 && (g.name!='' || g.name != null)) {
  91 + paramsD.push({'id':g.name + '_' + g.id + '_' + g.lineCode ,'text':g.name + gsdmTogsName(mapping, g.company)});
  92 + }
  93 + });
  94 + if($('span').hasClass('select2-selection'))
  95 + $('span .select2-selection').remove();
  96 + initPinYinSelect2($('#lineSelect'),paramsD,function(selector) {
  97 + selector.select2("val", storage.xlName_AgursData);
  98 + });
  99 + }
  100 + });
  101 + }
  102 + // 选择线路,填充线路编码搜索框
  103 + $("#lineSelect").on("change",function(){
  104 + var text = $('#lineSelect').val();
  105 + if(text){
  106 + var linecode = text.split("_");
  107 + $("#lineCodeInput").val(linecode[2]);
  108 + }
  109 + });
  110 +
  111 + function gsdmTogsName(gsD,code) {
  112 + var rsStr = '';
  113 + for(var s = 0 ; s < gsD.length; s++) {
  114 + if(gsD[s].companyCode == code) {
  115 + rsStr = rsStr + '(' + gsD[s].companyName.replace('公司','') + ')';
  116 + break;
  117 + }
  118 + }
  119 + return rsStr;
  120 + }
  121 +
  122 + function initCompanySelect2(cb) {
  123 + // get请求获取公司
  124 + $get('/business/all', {upCode_eq: '88'}, function(gs_d){
  125 + return cb && cb(gs_d);
  126 + });
  127 + }
  128 + function getComp(cb) {
  129 + $.get('/user/companyData',null,function(rs) {
  130 + return cb && cb(rs);
  131 + });
  132 + }
  133 + function getParams() {
  134 + // cells 集合返回表格中所有(列)单元格的一个数组
  135 + var cells = $('tr.filter')[0].cells;
  136 + // 搜索参数集合
  137 + var params = {};
  138 + // 搜索字段名称
  139 + var name;
  140 + // 遍历cells数组
  141 + $.each(cells, function(i, cell){
  142 + // 获取第i列的input或者select集合
  143 + var items = $('input,select', cell);
  144 + // 遍历items集合
  145 + for(var j = 0, item; item = items[j++];){
  146 + // 获取字段名称
  147 + name = $(item).attr('name');
  148 + if(name){
  149 + // 赋取相对应的值
  150 + params[name] = $(item).val();
  151 + }
  152 + }
  153 + });
  154 + return params;
  155 + }
  156 +
  157 + /** 表格数据分页加载事件 @param:<param : 查询参数;isPon : 是否重新分页> */
  158 + function loadTableDate(param,isPon){
  159 + // 搜索参数
  160 + var params = {};
  161 + if(param) {
  162 + params = param;
  163 + }
  164 + // 排序(按更新时间)
  165 + params['order'] = 'id';
  166 + // 记录当前页数
  167 + params['page'] = page;
  168 + params['remove_ne'] = 1;
  169 + // 弹出正在加载层
  170 + var i = layer.load(2);
  171 + getComp(function(rs) {
  172 + if(rs.length>0) {
  173 + var compA = new Array();
  174 + for(var c = 0 ; c<rs.length;c++) {
  175 + var comC = rs[c].companyCode;
  176 + var child = rs[c].children;
  177 + if(child.length>0) {
  178 + for(var d = 0 ;d< child.length;d++) {
  179 + compA.push(comC + '_' + child[d].code);
  180 + }
  181 + }else {
  182 + compA.push(comC);
  183 + }
  184 + }
  185 + params.cgsbm_in = compA.toString();
  186 + }
  187 + // 异步请求获取表格数据
  188 + $.get('/line',params,function(result){
  189 + // 添加序号
  190 + result.content.page = page;
  191 + $.each(result.content, function(i, data) {
  192 + result.content[i].gsmc = companyMap[data.company];
  193 + result.content[i].fgsmc = branchMap[data.cgsbm];
  194 + });
  195 + // 把数据填充到模版中
  196 + var tbodyHtml = template('line_list_temp',{list:result.content});
  197 + // 把渲染好的模版html文本追加到表格中
  198 + $('#datatable_line tbody').html(tbodyHtml);
  199 + // 制定复选框
  200 + $('#datatable_line tbody').find('.icheck').iCheck(icheckOptions);
  201 + // 复选框改变事件
  202 + $('#datatable_line tbody').find('.icheck').on('ifChanged', iCheckChange);
  203 + // 是重新分页且返回数据长度大于0
  204 + if(isPon && result.content.length > 0){
  205 + // 重新分页
  206 + initPag = true;
  207 + // 分页栏
  208 + showPagination(result);
  209 + }
  210 + // 关闭弹出加载层
  211 + layer.close(i);
  212 + });
  213 + });
  214 + }
  215 +
  216 + /** 复选框组件 */
  217 + function iCheckChange(){
  218 + // 获取当前的父节点tr
  219 + var tr = $(this).parents('tr');
  220 + // 判断当前是否选中
  221 + if(this.checked) {
  222 + // 选中,则增添父节点tr的样式
  223 + tr.addClass('row-active');
  224 + }else {
  225 + // 未选中,则删除父节点tr的样式
  226 + tr.removeClass('row-active');
  227 + }
  228 + }
  229 +
  230 + /** 分页栏组件 */
  231 + function showPagination(data){
  232 + // 分页组件
  233 + $('#pagination').jqPaginator({
  234 + // 总页数
  235 + totalPages: data.totalPages,
  236 + // 中间显示页数
  237 + visiblePages: 6,
  238 + // 当前页
  239 + currentPage: page + 1,
  240 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  241 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  242 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  243 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  244 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  245 + onPageChange: function (num, type) {
  246 + if(initPag){
  247 + initPag = false;
  248 + return;
  249 + }
  250 + var pData = getParams();
  251 + pData.name_like = splitxlName(pData.name_like);
  252 + page = num - 1;
  253 + loadTableDate(pData, false);
  254 + }
  255 + });
  256 + }
  257 + /** 填充分公司下拉框选择值 */
  258 + function setBrancheCompanySelectOptions(){
  259 + // 获取公司下拉框选择值
  260 + var businessCode = $('#companySelect').val();
  261 + // 分公司下拉框options属性值
  262 + var options = '<option value="">请选择...</option>';
  263 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  264 + if(businessCode == null || businessCode ==''){
  265 + // 填充分公司下拉框options
  266 + $('#brancheCompanySelect').html(options);
  267 + } else {
  268 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  269 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  270 + // 遍历array
  271 + $.each(array, function(i,d){
  272 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  273 + // 填充分公司下拉框options
  274 + $('#brancheCompanySelect').html(options);
  275 + });
  276 + });
  277 + }
  278 + }
  279 +
  280 + /** 重置按钮事件 */
  281 + $('tr.filter .filter-cancel').on('click',function() {
  282 + // 清空搜索框值
  283 + $('tr.filter input,select').val('').change();
  284 + $('.tipso-animation').tipso('hide');
  285 + storage.setItem('xlName_AgursData','');
  286 + /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */
  287 + loadTableDate(null,true);
  288 + });
  289 +
  290 + function splitxlName(str) {
  291 + var rsStr = '';
  292 + if(str) {
  293 + var strArray = str.split('_');
  294 + rsStr = strArray[0];
  295 + }
  296 + return rsStr;
  297 + }
  298 +
  299 + /** 搜索按钮事件 */
  300 + $('tr.filter .filter-submit').on('click',function(){
  301 + var params = getParams();
  302 + if(params.name_like!='' && params.name_like != null) {
  303 + storage.setItem('xlName_AgursData',params.name_like);
  304 + }
  305 + params.name_like = splitxlName(params.name_like);
  306 + page = 0;
  307 + /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */
  308 + loadTableDate(params,true);
  309 + });
  310 + /** 生成行单,这里暂时只做了单选生成。 */
  311 + $('#datatable_ajax_tools #createUsingSingle').on('click', function() {
  312 + // 获取选中行.
  313 + var arrChk = $("input[type='checkbox']:checked");
  314 + var len = arrChk.length;
  315 + // 选中行ID与线路名称
  316 + var id = '', lineName = '';
  317 + if(len>1) {
  318 + // 弹出添加成功提示消息
  319 + layer.msg('存在多选,请只选中一行!');
  320 + return ;
  321 + }else if(len==0) {
  322 + // 弹出添加成功提示消息
  323 + layer.msg('请选中一条线路!');
  324 + return ;
  325 + }else {
  326 + id = arrChk.data('id');
  327 + lineName = arrChk.val();
  328 + // 请求参数
  329 + var params = {lineId:id};
  330 + // 弹出正在加载层
  331 + var index2 = layer.load(0);
  332 + /** 生成线路行单 @pararm:<params:请求参数> */
  333 + $post('/stationroute/usingSingle',params,function(data) {
  334 + debugger;
  335 + // 关闭弹出框
  336 + layer.close(index2);
  337 + if(data.status=='SUCCESS') {
  338 + // 弹出添加成功提示消息
  339 + layer.msg('生成线路【'+ lineName +'】线路文件成功!');
  340 + }else if(data.status=='ERROR'){
  341 + // 弹出添加成功提示消息
  342 + layer.msg('生成线路【'+ lineName +'】线路文件失败!');
  343 + }else if(data.status=='NOTDATA') {
  344 + // 弹出添加成功提示消息
  345 + layer.msg('系统无线路【'+ lineName +'】的站点与路段信息!');
  346 + }else if(data.status=='NOLinePlayType') {
  347 + // 弹出添加成功提示消息
  348 + layer.msg('无法识别【'+ lineName +'】的线路规划类型,请设置为双向/环线!');
  349 + }
  350 + });
  351 + }
  352 + });
  353 + /** 生成路线(路段和站点) */
  354 + $('#datatable_ajax_tools #editRoute').on('click', function() {
  355 + // 获取选中行.
  356 + var arrChk = $("input[type='checkbox']:checked");
  357 + var len = arrChk.length;
  358 + // 选中行ID与线路名称
  359 + var id = '';
  360 + if(len>1) {
  361 + // 弹出添加成功提示消息
  362 + layer.msg('存在多选,请只选中一行!');
  363 + return ;
  364 + }else if(len==0) {
  365 + // 弹出添加成功提示消息
  366 + layer.msg('请选中一条线路!');
  367 + return ;
  368 + }else {
  369 + id = arrChk.data('id');
  370 + $.get('/lineVersions/findByLineId',{'lineId':id},function(lineVersions){
  371 + if(lineVersions != null && lineVersions != "") {
  372 + window.location.href = "/pages/base/line/map.html?no="+id;
  373 + } else {
  374 + layer.msg('此线路没有线路版本,请先到线路版本信息页面添加改线路版本!');
  375 + return ;
  376 + }
  377 + });
  378 + }
  379 + });
  380 +
  381 + // 导出线路站点
  382 + $('#datatable_ajax_tools #exportStation').on('click', function() {
  383 + // 获取选中行.
  384 + var arrChk = $("input[type='checkbox']:checked");
  385 + var len = arrChk.length;
  386 + // 选中行ID与线路名称
  387 + var id = '';
  388 + if(len>1) {
  389 + // 弹出添加成功提示消息
  390 + layer.msg('存在多选,请只选中一行!');
  391 + return ;
  392 + }else if(len==0) {
  393 + // 弹出添加成功提示消息
  394 + layer.msg('请选中一条线路!');
  395 + return ;
  396 + }else {
  397 + id = arrChk.data('id');
  398 + var param = {};
  399 + param.id = id;
  400 + window.open('/stationroute/export?id='+id);
  401 +
  402 + /*$.get("/stationroute/export",param,function(result) {
  403 + if(result.status == "ERROR") {
  404 + layer.msg("导出文件失败!");
  405 + } else if(result.status == "ERROR") {
  406 + layer.msg("导出文件成功!");
  407 + } else {
  408 + layer.msg("未知异常!");
  409 + }
  410 + });*/
  411 + }
  412 + });
428 })(); 413 })();
429 \ No newline at end of file 414 \ No newline at end of file
src/main/resources/static/pages/base/lineversions/js/lineversions-list-table.js
1 -/**  
2 - * @JSName : lineversions-list-table.js(线路版本信息list.html页面js)  
3 - * @Description : TOOD(线路信息list.html页面js)  
4 - */  
5 -(function () {  
6 - // 关闭左侧栏  
7 - if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}  
8 - // 定义 page : 当前页;initPag ; icheckOptions:选择框  
9 - window.page = 0;  
10 - var initPag,  
11 - icheckOptions = {checkboxClass: 'icheckbox_flat-blue',increaseArea: '20%'},  
12 - storage = window.localStorage;  
13 - if(storage.xlName_AgursData!=null && storage.xlName_AgursData !='') {  
14 - $('.tipso-animation').children().remove();  
15 - // 延迟加载  
16 - setTimeout(function(){  
17 - $('.tipso-animation').tipso({  
18 - speed : 400,  
19 - background : '#0ed0e8',  
20 - color : '#ffffff',  
21 - position :'bottom',  
22 - width : 400,  
23 - delay : 100,  
24 - animationIn : 'fadeInDownBig',  
25 - animationOut : 'fadeOut',  
26 - offsetX : -50,  
27 - offsetY : -195,  
28 - content :'您可以通过点击重置按钮来清除对线路名称的记忆哦!',  
29 -  
30 - });  
31 - $('.tipso-animation').tipso('show');  
32 - setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);  
33 - },200);  
34 - }  
35 - // 营运公司Map[key(businessCode)] = 名字  
36 - var companyMap = new Map();  
37 - // 分公司Map[key(upCode+_+businessCode)] = 名字  
38 - var branchMap = new Map();  
39 - initCompanySelect2(function(array) {  
40 - $.each(array, function() {  
41 - companyMap[this.businessCode] = this.businessName;  
42 - // companyMap.put(this.businessCode.toString(), this.businessName);  
43 - if(this.businessCode != null || this.businessCode !=''){  
44 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
45 - $get('/business/all', {upCode_eq: this.businessCode}, function(array){  
46 - // 遍历array  
47 - $.each(array, function(i,d){  
48 - branchMap[this.upCode+"_"+this.businessCode] = this.businessName;  
49 - // branchMap.put(this.upCode+"_"+this.businessCode, this.businessName);  
50 - });  
51 - });  
52 - }  
53 - });  
54 - // 公司下拉options属性值  
55 - var options = '<option value="">请选择...</option>';  
56 - // 遍历array  
57 - $.each(array, function(i,d){  
58 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
59 - });  
60 - // 初始化公司下拉框并监听值改变事件.  
61 - $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);  
62 - // 初始化分公司下拉框.  
63 - setBrancheCompanySelectOptions();  
64 - initLineSelect2(array);  
65 - /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */  
66 - loadTableDate({'line.name_like':splitxlName(storage.xlName_AgursData)},true);  
67 - });  
68 -  
69 - function initLineSelect2(compD) {  
70 - getComp(function(rs) {  
71 - var params = {};  
72 - if(rs.length>0) {  
73 - var compA = new Array();  
74 - for(var c = 0 ; c<rs.length;c++) {  
75 - var comC = rs[c].companyCode;  
76 - var child = rs[c].children;  
77 - if(child.length>0) {  
78 - for(var d = 0 ;d< child.length;d++) {  
79 - compA.push(comC + '_' + child[d].code);  
80 - }  
81 - }else {  
82 - compA.push(comC);  
83 - }  
84 - }  
85 - params.cgsbm_in = compA.toString();  
86 - }  
87 - // 填充线路拉框选择值  
88 - $get('/line/all', params, function(array){  
89 - var len_ = array.length,paramsD = new Array();  
90 - if(len_>0) {  
91 - $.each(array, function(i, g){  
92 - if(g.name!='' || g.name != null) {  
93 - paramsD.push({'id':g.name + '_' + g.id + '_' + g.lineCode ,'text':g.name + gsdmTogsName(compD,g.company)});  
94 - }  
95 - });  
96 - if($('span').hasClass('select2-selection'))  
97 - $('span .select2-selection').remove();  
98 - initPinYinSelect2($('#lineSelect'),paramsD,function(selector) {  
99 - selector.select2("val", storage.xlName_AgursData);  
100 - });  
101 - }  
102 - });  
103 - });  
104 - }  
105 -  
106 - $('#lineSelect').on('change',function() {  
107 - var text = $('#lineSelect').val();  
108 - if(text){  
109 - var linecode = text.split("_");  
110 - $("#lineCodeInput").val(linecode[2]);  
111 - }  
112 - });  
113 -  
114 - function gsdmTogsName(gsD,code) {  
115 - var rsStr = '';  
116 - for(var s = 0 ; s < gsD.length; s++) {  
117 - if(gsD[s].businessCode == code) {  
118 - rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';  
119 - break;  
120 - }  
121 - }  
122 - return rsStr;  
123 - }  
124 -  
125 - function initCompanySelect2(cb) {  
126 - // get请求获取公司  
127 - $get('/business/all', {upCode_eq: '88'}, function(gs_d){  
128 - return cb && cb(gs_d);  
129 - });  
130 - }  
131 - function getComp(cb) {  
132 - $.get('/user/companyData',null,function(rs) {  
133 - return cb && cb(rs);  
134 - });  
135 - }  
136 - function getParams() {  
137 - // cells 集合返回表格中所有(列)单元格的一个数组  
138 - var cells = $('tr.filter')[0].cells;  
139 - // 搜索参数集合  
140 - var params = {};  
141 - // 搜索字段名称  
142 - var name;  
143 - // 遍历cells数组  
144 - $.each(cells, function(i, cell){  
145 - // 获取第i列的input或者select集合  
146 - var items = $('input,select', cell);  
147 - // 遍历items集合  
148 - for(var j = 0, item; item = items[j++];){  
149 - // 获取字段名称  
150 - name = $(item).attr('name');  
151 - if(name){  
152 - // 赋取相对应的值  
153 - params[name] = $(item).val();  
154 - }  
155 - }  
156 - });  
157 - return params;  
158 - }  
159 -  
160 - /** 表格数据分页加载事件 @param:<param : 查询参数;isPon : 是否重新分页> */  
161 - function loadTableDate(param,isPon){  
162 - // 搜索参数  
163 - var params = {};  
164 - if(param) {  
165 - params = param;  
166 - }  
167 - // 排序(按方向与序号)  
168 - params['order'] = 'lineCode,versions';  
169 - // 排序方向.  
170 - params['direction'] = 'ASC,ASC';  
171 - // 记录当前页数  
172 - params['page'] = page;  
173 - // 弹出正在加载层  
174 - var i = layer.load(2);  
175 - // 异步请求获取表格数据  
176 - $.get('/lineVersions',params,function(result){  
177 - // 添加序号  
178 - result.content.page = page;  
179 - // 把数据填充到模版中  
180 - $.each(result.content, function(i, data) {  
181 - result.content[i].gsmc = companyMap[data.line.company];  
182 - result.content[i].fgsmc = branchMap[data.line.cgsbm];  
183 - data.startDateStr=moment(data.startDate).format('YYYY-MM-DD HH:mm:ss');  
184 - data.endDateStr=moment(data.endDate).format('YYYY-MM-DD HH:mm:ss');  
185 - });  
186 -  
187 - var tbodyHtml = template('lineversions_list_temp',{list:result.content});  
188 - $('#datatable_lineversions tbody').html(tbodyHtml);  
189 - // 是重新分页且返回数据长度大于0  
190 - if(isPon && result.content.length > 0){  
191 - // 重新分页  
192 - initPag = true;  
193 - // 分页栏  
194 - showPagination(result);  
195 - }  
196 - // 关闭弹出加载层  
197 - layer.close(i);  
198 - });  
199 - }  
200 -  
201 -  
202 - function toDate(timestamp){  
203 - var date = new Date(parseInt(timestamp).toLocaleString());  
204 - return date;  
205 - }  
206 -  
207 - /** 复选框组件 */  
208 - function iCheckChange(){  
209 - // 获取当前的父节点tr  
210 - var tr = $(this).parents('tr');  
211 - // 判断当前是否选中  
212 - if(this.checked) {  
213 - // 选中,则增添父节点tr的样式  
214 - tr.addClass('row-active');  
215 - }else {  
216 - // 未选中,则删除父节点tr的样式  
217 - tr.removeClass('row-active');  
218 - }  
219 - }  
220 -  
221 - /** 分页栏组件 */  
222 - function showPagination(data){  
223 - // 分页组件  
224 - $('#pagination').jqPaginator({  
225 - // 总页数  
226 - totalPages: data.totalPages,  
227 - // 中间显示页数  
228 - visiblePages: 6,  
229 - // 当前页  
230 - currentPage: page + 1,  
231 - first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',  
232 - prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',  
233 - next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',  
234 - last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',  
235 - page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',  
236 - onPageChange: function (num, type) {  
237 - if(initPag){  
238 - initPag = false;  
239 - return;  
240 - }  
241 - var pData = getParams();  
242 - pData['line.name_like'] = splitxlName(pData['line.name_like']);  
243 - page = num - 1;  
244 - loadTableDate(pData, false);  
245 - }  
246 - });  
247 - }  
248 - /** 填充分公司下拉框选择值 */  
249 - function setBrancheCompanySelectOptions(){  
250 - // 获取公司下拉框选择值  
251 - var businessCode = $('#companySelect').val();  
252 - // 分公司下拉框options属性值  
253 - var options = '<option value="">请选择...</option>';  
254 - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码  
255 - if(businessCode == null || businessCode ==''){  
256 - // 填充分公司下拉框options  
257 - $('#brancheCompanySelect').html(options);  
258 - } else {  
259 - /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */  
260 - $get('/business/all', {upCode_eq: businessCode}, function(array){  
261 - // 遍历array  
262 - $.each(array, function(i,d){  
263 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
264 - // 填充分公司下拉框options  
265 - $('#brancheCompanySelect').html(options);  
266 - });  
267 - });  
268 - }  
269 - }  
270 -  
271 - /** 重置按钮事件 */  
272 - $('tr.filter .filter-cancel').on('click',function() {  
273 - // 清空搜索框值  
274 - $('tr.filter input,select').val('').change();  
275 - $('.tipso-animation').tipso('hide');  
276 - storage.setItem('xlName_AgursData','');  
277 - /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */  
278 - loadTableDate(null,true);  
279 - });  
280 -  
281 - function splitxlName(str) {  
282 - var rsStr = '';  
283 - if(str) {  
284 - var strArray = str.split('_');  
285 - rsStr = strArray[0];  
286 - }  
287 - return rsStr;  
288 - }  
289 -  
290 -  
291 - /** 搜索按钮事件 */  
292 - $('tr.filter .filter-submit').on('click',function(){  
293 - var params = getParams();  
294 - if(params['line.name_like']!='' && params['line.name_like'] != null) {  
295 - storage.setItem('xlName_AgursData',params['line.name_like']);  
296 - }  
297 - params['line.name_like'] = splitxlName(params['line.name_like']);  
298 - page = 0;  
299 - /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */  
300 - loadTableDate(params,true);  
301 - });  
302 - // 删除待更新线路版本  
303 - $(document).on('click', 'a.update_delete_btn', function () {  
304 - var id = $(this).data('id');  
305 - swal({  
306 - title: "确认删除这个待更新线路版本!",  
307 - type: "warning",  
308 - showCancelButton: true,  
309 - confirmButtonColor: "#DD6B55",  
310 - confirmButtonText: "是的!",  
311 - cancelButtonText: "我在考虑下...",  
312 - closeOnConfirm: false },  
313 - function(isConfirm){  
314 - if(isConfirm){  
315 - $post('/lineVersions/delete', {"id":id}, function(result) {  
316 - // 如果返回结果不为空  
317 - if(result){  
318 - // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败  
319 - if(result.status=='SUCCESS') {  
320 - // 弹出添加成功提示消息  
321 - layer.msg('删除成功...');  
322 -  
323 -  
324 -  
325 - var params = getParams();  
326 - if(params['line.name_like']!='' && params['line.name_like'] != null) {  
327 - storage.setItem('xlName_AgursData',params['line.name_like']);  
328 - }  
329 - params['line.name_like'] = splitxlName(params['line.name_like']);  
330 - page = 0;  
331 - /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */  
332 - loadTableDate(params,true);  
333 -  
334 - } else if(result.status=='ERROR') {  
335 - // 弹出添加失败提示消息  
336 - layer.msg('删除失败...');  
337 - }  
338 - }  
339 - });  
340 - swal.close();  
341 - }  
342 - });  
343 - });  
344 - // 线路版本编辑  
345 - $(document).on('click', 'a.update_versions_route_btn', function () {  
346 - var lineId = $(this).data('lineid');  
347 - swal({  
348 - title: "操作须知",  
349 - text: "每周会更新数据,请在本周内做完线路走向并发布,不然您做的走向有可能会被覆盖!",  
350 - type: "warning",  
351 - showCancelButton: true,  
352 - confirmButtonColor: "#DD6B55",  
353 - confirmButtonText: "知道了!",  
354 - cancelButtonText: "不懂!",  
355 - closeOnConfirm: false },  
356 - function(isConfirm){  
357 - if(isConfirm){  
358 - var win1 = window.open("http://114.80.178.12:59088/login2.html","线路信息编辑","false");  
359 - setTimeout(function(){  
360 - window.open("http://114.80.178.12:59088/pages/base/stationroute/list.html?no="+lineId,"线路信息编辑","false");  
361 - },1500);  
362 - swal.close();  
363 - }  
364 - });  
365 - });  
366 - // 版本发布  
367 - $(document).on('click', 'a.issue_btn', function () {  
368 - var id = $(this).data('id');  
369 - swal({  
370 - title: "发布说明",  
371 - text: "重复发布会覆盖已有的数据,请确认线路信息正确后发布,发布后需要几分钟后才能再次发布!",  
372 - type: "warning",  
373 - showCancelButton: true,  
374 - confirmButtonColor: "#DD6B55",  
375 - confirmButtonText: "确定发布!",  
376 - cancelButtonText: "取消发布!",  
377 - closeOnConfirm: false },  
378 - function(){  
379 - $.post('/lineVersions/issueVersion',{'id':id},function(result){  
380 - if(result.status=='SUCCESS') {  
381 - // 弹出添加成功提示消息  
382 - swal("发布!", "线路站点及走向已发布至历史库,5分钟内自动同步到历史表后,即可排班。", "success");  
383 - } else if(result.status=='ERROR') {  
384 - // 弹出添加失败提示消息  
385 - swal("发布失败!", "您发布的信息可能有误,请检查!", "ERROR");  
386 - }  
387 - // loadPage('list.html');  
388 - // 发布后刷新页面  
389 - var pData = getParams();  
390 - pData['line.name_like'] = splitxlName(pData['line.name_like']);  
391 - page = page;  
392 - loadTableDate(pData, false);  
393 - });  
394 - });  
395 - }); 1 +/**
  2 + * @JSName : lineversions-list-table.js(线路版本信息list.html页面js)
  3 + * @Description : TOOD(线路信息list.html页面js)
  4 + */
  5 +(function () {
  6 + let searchParams = {};
  7 + // 关闭左侧栏
  8 + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
  9 + // 定义 page : 当前页;initPag ; icheckOptions:选择框
  10 + window.page = 0;
  11 + var initPag,
  12 + icheckOptions = {checkboxClass: 'icheckbox_flat-blue',increaseArea: '20%'},
  13 + storage = window.localStorage;
  14 + if(storage.xlName_AgursData!=null && storage.xlName_AgursData !='') {
  15 + $('.tipso-animation').children().remove();
  16 + // 延迟加载
  17 + setTimeout(function(){
  18 + $('.tipso-animation').tipso({
  19 + speed : 400,
  20 + background : '#0ed0e8',
  21 + color : '#ffffff',
  22 + position :'bottom',
  23 + width : 400,
  24 + delay : 100,
  25 + animationIn : 'fadeInDownBig',
  26 + animationOut : 'fadeOut',
  27 + offsetX : -50,
  28 + offsetY : -195,
  29 + content :'您可以通过点击重置按钮来清除对线路名称的记忆哦!',
  30 +
  31 + });
  32 + $('.tipso-animation').tipso('show');
  33 + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);
  34 + },200);
  35 + }
  36 + // 营运公司Map[key(businessCode)] = 名字
  37 + var companyMap = new Map();
  38 + // 分公司Map[key(upCode+_+businessCode)] = 名字
  39 + var branchMap = new Map();
  40 + getComp(function(array) {
  41 + let params = {}, companies = new Array(), options = '<option value="">请选择...</option>';
  42 + $.each(array, function() {
  43 + let companyCode = this.companyCode, companyName = this.companyName, child = this.children;
  44 + if (companyCode) {
  45 + companyMap[companyCode] = companyName;
  46 + options += '<option value="' + companyCode + '">' + companyName + '</option>';
  47 + if (child.length > 0) {
  48 + for (let i = 0;i < child.length;i++) {
  49 + companies.push(companyCode + '_' + child[i].code);
  50 + }
  51 + } else {
  52 + companies.push(companyCode);
  53 + }
  54 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  55 + $get('/business/all', {upCode_eq: this.businessCode}, function(array){
  56 + // 遍历array
  57 + $.each(array, function(){
  58 + branchMap[this.upCode + '_' + this.businessCode] = this.businessName;
  59 + });
  60 + });
  61 + }
  62 + });
  63 + searchParams['line.cgsbm_in'] = companies.toString();
  64 + searchParams['cgsbm_in'] = companies.toString();
  65 + // 初始化公司下拉框并监听值改变事件.
  66 + $('#companySelect').html(options).on('change', setBrancheCompanySelectOptions);
  67 + // 初始化分公司下拉框.
  68 + setBrancheCompanySelectOptions();
  69 + initLineSelect2(searchParams, array);
  70 + /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */
  71 + loadTableDate(searchParams,true);
  72 + });
  73 +
  74 + function initLineSelect2(params, mapping) {
  75 + // 填充线路拉框选择值
  76 + $get('/line/all', params, function(array){
  77 + var len_ = array.length,paramsD = new Array();
  78 + if(len_>0) {
  79 + $.each(array, function(i, g){
  80 + if(g.name!='' || g.name != null) {
  81 + paramsD.push({'id':g.name + '_' + g.id + '_' + g.lineCode ,'text':g.name + gsdmTogsName(mapping, g.company)});
  82 + }
  83 + });
  84 + if($('span').hasClass('select2-selection'))
  85 + $('span .select2-selection').remove();
  86 + initPinYinSelect2($('#lineSelect'),paramsD,function(selector) {
  87 + selector.select2("val", storage.xlName_AgursData);
  88 + });
  89 + }
  90 + });
  91 + }
  92 +
  93 + $('#lineSelect').on('change',function() {
  94 + var text = $('#lineSelect').val();
  95 + if(text){
  96 + var linecode = text.split("_");
  97 + $("#lineCodeInput").val(linecode[2]);
  98 + }
  99 + });
  100 +
  101 + function gsdmTogsName(gsD,code) {
  102 + var rsStr = '';
  103 + for(var s = 0 ; s < gsD.length; s++) {
  104 + if(gsD[s].businessCode == code) {
  105 + rsStr = rsStr + '(' + gsD[s].businessName.replace('公司','') + ')';
  106 + break;
  107 + }
  108 + }
  109 + return rsStr;
  110 + }
  111 +
  112 + function initCompanySelect2(cb) {
  113 + // get请求获取公司
  114 + $get('/business/all', {upCode_eq: '88'}, function(gs_d){
  115 + return cb && cb(gs_d);
  116 + });
  117 + }
  118 + function getComp(cb) {
  119 + $.get('/user/companyData',null,function(rs) {
  120 + return cb && cb(rs);
  121 + });
  122 + }
  123 + function getParams() {
  124 + // cells 集合返回表格中所有(列)单元格的一个数组
  125 + var cells = $('tr.filter')[0].cells;
  126 + // 搜索参数集合
  127 + var params = {'line.cgsbm_in': searchParams['line.cgsbm_in']};
  128 + // 搜索字段名称
  129 + var name;
  130 + // 遍历cells数组
  131 + $.each(cells, function(i, cell){
  132 + // 获取第i列的input或者select集合
  133 + var items = $('input,select', cell);
  134 + // 遍历items集合
  135 + for(var j = 0, item; item = items[j++];){
  136 + // 获取字段名称
  137 + name = $(item).attr('name');
  138 + if(name){
  139 + // 赋取相对应的值
  140 + params[name] = $(item).val();
  141 + }
  142 + }
  143 + });
  144 + return params;
  145 + }
  146 +
  147 + /** 表格数据分页加载事件 @param:<param : 查询参数;isPon : 是否重新分页> */
  148 + function loadTableDate(param,isPon){
  149 + // 搜索参数
  150 + var params = {};
  151 + if(param) {
  152 + params = param;
  153 + }
  154 + params['line.cgsbm_in'] = searchParams['line.cgsbm_in'];
  155 + // 排序(按方向与序号)
  156 + params['order'] = 'lineCode,versions';
  157 + // 排序方向.
  158 + params['direction'] = 'ASC,ASC';
  159 + // 记录当前页数
  160 + params['page'] = page;
  161 + // 弹出正在加载层
  162 + var i = layer.load(2);
  163 + // 异步请求获取表格数据
  164 + $.get('/lineVersions',params,function(result){
  165 + // 添加序号
  166 + result.content.page = page;
  167 + // 把数据填充到模版中
  168 + $.each(result.content, function(i, data) {
  169 + result.content[i].gsmc = companyMap[data.line.company];
  170 + result.content[i].fgsmc = branchMap[data.line.cgsbm];
  171 + data.startDateStr=moment(data.startDate).format('YYYY-MM-DD HH:mm:ss');
  172 + data.endDateStr=moment(data.endDate).format('YYYY-MM-DD HH:mm:ss');
  173 + });
  174 +
  175 + var tbodyHtml = template('lineversions_list_temp',{list:result.content});
  176 + $('#datatable_lineversions tbody').html(tbodyHtml);
  177 + // 是重新分页且返回数据长度大于0
  178 + if(isPon && result.content.length > 0){
  179 + // 重新分页
  180 + initPag = true;
  181 + // 分页栏
  182 + showPagination(result);
  183 + }
  184 + // 关闭弹出加载层
  185 + layer.close(i);
  186 + });
  187 + }
  188 +
  189 +
  190 + function toDate(timestamp){
  191 + var date = new Date(parseInt(timestamp).toLocaleString());
  192 + return date;
  193 + }
  194 +
  195 + /** 复选框组件 */
  196 + function iCheckChange(){
  197 + // 获取当前的父节点tr
  198 + var tr = $(this).parents('tr');
  199 + // 判断当前是否选中
  200 + if(this.checked) {
  201 + // 选中,则增添父节点tr的样式
  202 + tr.addClass('row-active');
  203 + }else {
  204 + // 未选中,则删除父节点tr的样式
  205 + tr.removeClass('row-active');
  206 + }
  207 + }
  208 +
  209 + /** 分页栏组件 */
  210 + function showPagination(data){
  211 + // 分页组件
  212 + $('#pagination').jqPaginator({
  213 + // 总页数
  214 + totalPages: data.totalPages,
  215 + // 中间显示页数
  216 + visiblePages: 6,
  217 + // 当前页
  218 + currentPage: page + 1,
  219 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  220 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  221 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  222 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  223 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  224 + onPageChange: function (num, type) {
  225 + if(initPag){
  226 + initPag = false;
  227 + return;
  228 + }
  229 + var pData = getParams();
  230 + pData['line.name_like'] = splitxlName(pData['line.name_like']);
  231 + page = num - 1;
  232 + loadTableDate(pData, false);
  233 + }
  234 + });
  235 + }
  236 + /** 填充分公司下拉框选择值 */
  237 + function setBrancheCompanySelectOptions(){
  238 + // 获取公司下拉框选择值
  239 + var businessCode = $('#companySelect').val();
  240 + // 分公司下拉框options属性值
  241 + var options = '<option value="">请选择...</option>';
  242 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  243 + if(businessCode == null || businessCode ==''){
  244 + // 填充分公司下拉框options
  245 + $('#brancheCompanySelect').html(options);
  246 + } else {
  247 + /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
  248 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  249 + // 遍历array
  250 + $.each(array, function(i,d){
  251 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  252 + // 填充分公司下拉框options
  253 + $('#brancheCompanySelect').html(options);
  254 + });
  255 + });
  256 + }
  257 + }
  258 +
  259 + /** 重置按钮事件 */
  260 + $('tr.filter .filter-cancel').on('click',function() {
  261 + // 清空搜索框值
  262 + $('tr.filter input,select').val('').change();
  263 + $('.tipso-animation').tipso('hide');
  264 + storage.setItem('xlName_AgursData','');
  265 + /** 表格数据分页加载 @param:<null:搜索参数;true:是否重新分页> */
  266 + loadTableDate(null,true);
  267 + });
  268 +
  269 + function splitxlName(str) {
  270 + var rsStr = '';
  271 + if(str) {
  272 + var strArray = str.split('_');
  273 + rsStr = strArray[0];
  274 + }
  275 + return rsStr;
  276 + }
  277 +
  278 +
  279 + /** 搜索按钮事件 */
  280 + $('tr.filter .filter-submit').on('click',function(){
  281 + var params = getParams();
  282 + if(params['line.name_like']!='' && params['line.name_like'] != null) {
  283 + storage.setItem('xlName_AgursData',params['line.name_like']);
  284 + }
  285 + params['line.name_like'] = splitxlName(params['line.name_like']);
  286 + page = 0;
  287 + /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */
  288 + loadTableDate(params,true);
  289 + });
  290 + // 删除待更新线路版本
  291 + $(document).on('click', 'a.update_delete_btn', function () {
  292 + var id = $(this).data('id');
  293 + swal({
  294 + title: "确认删除这个待更新线路版本!",
  295 + type: "warning",
  296 + showCancelButton: true,
  297 + confirmButtonColor: "#DD6B55",
  298 + confirmButtonText: "是的!",
  299 + cancelButtonText: "我在考虑下...",
  300 + closeOnConfirm: false },
  301 + function(isConfirm){
  302 + if(isConfirm){
  303 + $post('/lineVersions/delete', {"id":id}, function(result) {
  304 + // 如果返回结果不为空
  305 + if(result){
  306 + // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败
  307 + if(result.status=='SUCCESS') {
  308 + // 弹出添加成功提示消息
  309 + layer.msg('删除成功...');
  310 +
  311 +
  312 +
  313 + var params = getParams();
  314 + if(params['line.name_like']!='' && params['line.name_like'] != null) {
  315 + storage.setItem('xlName_AgursData',params['line.name_like']);
  316 + }
  317 + params['line.name_like'] = splitxlName(params['line.name_like']);
  318 + page = 0;
  319 + /** 表格数据分页加载 @param:<params:搜索参数;true:是否重新分页> */
  320 + loadTableDate(params,true);
  321 +
  322 + } else if(result.status=='ERROR') {
  323 + // 弹出添加失败提示消息
  324 + layer.msg('删除失败...');
  325 + }
  326 + }
  327 + });
  328 + swal.close();
  329 + }
  330 + });
  331 + });
  332 + // 线路版本编辑
  333 + $(document).on('click', 'a.update_versions_route_btn', function () {
  334 + var lineId = $(this).data('lineid');
  335 + swal({
  336 + title: "操作须知",
  337 + text: "每周会更新数据,请在本周内做完线路走向并发布,不然您做的走向有可能会被覆盖!",
  338 + type: "warning",
  339 + showCancelButton: true,
  340 + confirmButtonColor: "#DD6B55",
  341 + confirmButtonText: "知道了!",
  342 + cancelButtonText: "不懂!",
  343 + closeOnConfirm: false },
  344 + function(isConfirm){
  345 + if(isConfirm){
  346 + var win1 = window.open("http://114.80.178.12:59088/login2.html","线路信息编辑","false");
  347 + setTimeout(function(){
  348 + window.open("http://114.80.178.12:59088/pages/base/stationroute/list.html?no="+lineId,"线路信息编辑","false");
  349 + },1500);
  350 + swal.close();
  351 + }
  352 + });
  353 + });
  354 + // 版本发布
  355 + $(document).on('click', 'a.issue_btn', function () {
  356 + var id = $(this).data('id');
  357 + swal({
  358 + title: "发布说明",
  359 + text: "重复发布会覆盖已有的数据,请确认线路信息正确后发布,发布后需要几分钟后才能再次发布!",
  360 + type: "warning",
  361 + showCancelButton: true,
  362 + confirmButtonColor: "#DD6B55",
  363 + confirmButtonText: "确定发布!",
  364 + cancelButtonText: "取消发布!",
  365 + closeOnConfirm: false },
  366 + function(){
  367 + $.post('/lineVersions/issueVersion',{'id':id},function(result){
  368 + if(result.status=='SUCCESS') {
  369 + // 弹出添加成功提示消息
  370 + swal("发布!", "线路站点及走向已发布至历史库,5分钟内自动同步到历史表后,即可排班。", "success");
  371 + } else if(result.status=='ERROR') {
  372 + // 弹出添加失败提示消息
  373 + swal("发布失败!", "您发布的信息可能有误,请检查!", "ERROR");
  374 + }
  375 + // loadPage('list.html');
  376 + // 发布后刷新页面
  377 + var pData = getParams();
  378 + pData['line.name_like'] = splitxlName(pData['line.name_like']);
  379 + page = page;
  380 + loadTableDate(pData, false);
  381 + });
  382 + });
  383 + });
396 })(); 384 })();
397 \ No newline at end of file 385 \ No newline at end of file
src/main/resources/static/real_control_v2/js/utils/svg_chart_tooltip.js
@@ -126,9 +126,9 @@ var gb_svg_tooltip = (function () { @@ -126,9 +126,9 @@ var gb_svg_tooltip = (function () {
126 list = [list]; 126 list = [list];
127 //init map 127 //init map
128 var map = new BMap.Map(elem); 128 var map = new BMap.Map(elem);
129 - map.setMapStyle({  
130 - style: 'googlelite'  
131 - }); 129 + // map.setMapStyle({
  130 + // style: 'googlelite'
  131 + // });
132 map.enableScrollWheelZoom(true); 132 map.enableScrollWheelZoom(true);
133 //gps marker 133 //gps marker
134 var coord, point; 134 var coord, point;
src/main/resources/static/real_control_v2/main.html
@@ -113,7 +113,7 @@ @@ -113,7 +113,7 @@
113 </script> 113 </script>
114 114
115 <!-- 地图相关 --> 115 <!-- 地图相关 -->
116 -<script src="//api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script> 116 +<script src="//api.map.baidu.com/api?v=3.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
117 <script src="//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script> 117 <script src="//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
118 <script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script> 118 <script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
119 <script src="/assets/js/CoordinateConverter.js" merge="plugins"></script> 119 <script src="/assets/js/CoordinateConverter.js" merge="plugins"></script>