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 81 private String brancheCompany;
82 82  
83 83 /** 组合公司分公司编码 */
84   - @Transient
  84 + @Formula(" concat(company, '_', branche_company) ")
85 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 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 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 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 288 \ No newline at end of file
... ...
src/main/resources/static/pages/base/line/js/line-edit-form.js
... ... @@ -35,12 +35,12 @@
35 35 /** 公司下拉框 @param:<callback:回调函数> */
36 36 function selectTemp(callback) {
37 37 // 填充公司下拉框选择值
38   - $.get('/business/all', {upCode_eq: '88'}, function(array){
  38 + $get('/user/companyData', null, function(array){
39 39 // 公司下拉options属性值
40 40 var options = '<option value="">-- 请选择公司 --</option>';
41 41 // 遍历array
42 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 45 // 填充公司下拉框options
46 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 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 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 126 list = [list];
127 127 //init map
128 128 var map = new BMap.Map(elem);
129   - map.setMapStyle({
130   - style: 'googlelite'
131   - });
  129 + // map.setMapStyle({
  130 + // style: 'googlelite'
  131 + // });
132 132 map.enableScrollWheelZoom(true);
133 133 //gps marker
134 134 var coord, point;
... ...
src/main/resources/static/real_control_v2/main.html
... ... @@ -113,7 +113,7 @@
113 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 117 <script src="//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
118 118 <script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
119 119 <script src="/assets/js/CoordinateConverter.js" merge="plugins"></script>
... ...