Commit 4c1b741923e8ebda588ab4ba3f3a9e3629e724a6
1 parent
5e58c7bf
1
Showing
6 changed files
with
590 additions
and
592 deletions
src/main/java/com/bsth/service/impl/StationServiceImpl.java
| ... | ... | @@ -1607,9 +1607,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1607 | 1607 | // 在60m内认为是同一个站点 |
| 1608 | 1608 | Circle circle = new Circle(center, 60); |
| 1609 | 1609 | // 匹配到了用数据库中的点替换 |
| 1610 | - if (GeoUtils.isPointInCircle(point, circle)) { | |
| 1610 | + if (GeoUtils.isPointInCircle(point, circle) && !"stop".equals(s.getStationName().toLowerCase())) { | |
| 1611 | 1611 | map.put("name", s.getStationName().toString()); |
| 1612 | - // 匹配到站点后用这个站点的名字,但是使用gps点作为中心点 | |
| 1612 | +// 匹配到站点后用这个站点的名字,但是使用gps点作为中心点 | |
| 1613 | 1613 | // map.put("potion_lng", points[0]); |
| 1614 | 1614 | // map.put("potion_lat", points[1]); |
| 1615 | 1615 | map.put("potion_lng", lon); | ... | ... |
src/main/resources/static/pages/base/line/add.html
| ... | ... | @@ -383,7 +383,7 @@ |
| 383 | 383 | |
| 384 | 384 | <!-- 线路票价 START --> |
| 385 | 385 | <div class="col-md-6"> |
| 386 | - <label class="control-label col-md-5"> 票价 :</label> | |
| 386 | + <label class="control-label col-md-5"> <span class="required"> * </span>票价 :</label> | |
| 387 | 387 | <div class="col-md-4"> |
| 388 | 388 | <input type="text" class="form-control" name="ticketPrice" id="ticketPriceInput" |
| 389 | 389 | placeholder="票价"> | ... | ... |
src/main/resources/static/pages/base/line/editRoute.html
| ... | ... | @@ -221,6 +221,7 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m |
| 221 | 221 | |
| 222 | 222 | }, |
| 223 | 223 | submitHandler : function(f) { |
| 224 | + debugger; | |
| 224 | 225 | // 隐藏弹出层 |
| 225 | 226 | $('#edit_route_mobal').modal('hide'); |
| 226 | 227 | // 获取线路对象 |
| ... | ... | @@ -324,17 +325,19 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m |
| 324 | 325 | var tempStr = paramsStationsArray[k].split('\t'); |
| 325 | 326 | var tempPoint = transGpsLoc(tempStr[0],tempStr[1]); |
| 326 | 327 | var point = {lng:tempPoint.lng, lat:tempPoint.lat}; |
| 328 | + | |
| 329 | + sectionList[k] = point; | |
| 330 | + | |
| 327 | 331 | if(tempStr.length < 4){ |
| 328 | - sectionList[k] = point; | |
| 329 | 332 | isPush = true; |
| 330 | 333 | }else { |
| 331 | 334 | if(isPush) { |
| 332 | - sectionList[k] = point; | |
| 333 | 335 | stationList.push({name:tempStr[3], potion:{lng:tempPoint.lng, lat:tempPoint.lat} , wgs:{x:tempStr[0], y:tempStr[1]}}); |
| 334 | 336 | } |
| 335 | 337 | isPush = false; |
| 336 | 338 | } |
| 337 | 339 | } |
| 340 | + | |
| 338 | 341 | for(var i = 0 ;i<sectionList.length;i++) { |
| 339 | 342 | if(sectionList[i] == "" || isNaN(sectionList[i].lng) || typeof(sectionList[i]) == "undefined" || sectionList[i] == null) { |
| 340 | 343 | sectionList.splice(i,1);//删除数组中下表i-i+1之间的值 | ... | ... |
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('/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 | + 'ticketPrice' : {required : true}, | |
| 106 | + 'brancheCompany' : {required : true,maxlength: 30},// 所属分公司 必填项、最大长度. | |
| 107 | + 'level' : {required : true,maxlength: 30},// 线路等级 必填项、最大长度. | |
| 108 | + 'nature' : {required : true,maxlength: 30},// 线路性质 必填项、最大长度. | |
| 109 | + 'startStationName' : {required : true,maxlength: 30},// 起始站名称 必填项、最大长度. | |
| 110 | + 'endStationName' : {required : true,maxlength: 30},// 终点站名称 必填项、最大长度. | |
| 111 | + 'startStationFirstTime' : {required : true,maxlength: 30},// 起始站首班时间 必填项、最大长度. | |
| 112 | + 'StartStationEndTime' : {required : true,maxlength: 30},// 起始站末班时间 必填项、最大长度. | |
| 113 | + 'endStationFirstTime' : {required : true,maxlength: 30},// 终点站首班时间 必填项、最大长度. | |
| 114 | + 'endStationEndTime' : {required : true,maxlength: 30},// 终点站末班时间 必填项、最大长度. | |
| 115 | + 'linePlayType' : {required : true,maxlength: 30},// 线路规划类型 <0:双向;1:环线> 必填项、最大长度. | |
| 116 | + 'openDate' : {date : true,dateISO:true},// 开辟日期 正确格式的日期(日期校验 ie6 出错,慎用。)必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 | |
| 117 | + 'es' : {maxlength: 30},// 英文名称 最大长度. | |
| 118 | + 'shortName' : {maxlength: 30},// 线路简称 最大长度. | |
| 119 | + 'shanghaiLinecode' : {maxlength: 30},// 上海市线路编码 最大长度. | |
| 120 | + 'eqLinecode' : {maxlength: 30},// 设备线路编码 最大长度. | |
| 121 | + 'startPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 起始站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 最大长度 | |
| 122 | + 'endPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 终点站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 、最大长度 | |
| 123 | + 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度. | |
| 124 | + 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度. | |
| 125 | + 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度. | |
| 126 | + 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 127 | + 'descriptions' : {maxlength: 200},// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 128 | + 'region' : {required : true}// 线路区域必选 | |
| 129 | + }, | |
| 130 | + messages:{ | |
| 131 | + 'lineCode':{ | |
| 132 | + remote: '此线路编码已存在!' | |
| 133 | + } | |
| 134 | + }, | |
| 135 | + /** | |
| 136 | + * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。 | |
| 137 | + * | |
| 138 | + * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator) | |
| 139 | + */ | |
| 140 | + invalidHandler : function(event, validator) { | |
| 141 | + | |
| 142 | + // 显示表单未通过提示信息 | |
| 143 | + error.show(); | |
| 144 | + | |
| 145 | + // 把提示信息放到指定的位置。 | |
| 146 | + App.scrollTo(error, -200); | |
| 147 | + }, | |
| 148 | + | |
| 149 | + /** | |
| 150 | + * 类型:Callback。 | |
| 151 | + * | |
| 152 | + * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。 | |
| 153 | + */ | |
| 154 | + highlight : function(element) { | |
| 155 | + | |
| 156 | + // 添加errorClass("has-error")到表单元素 | |
| 157 | + $(element).closest('.form-group').addClass('has-error'); | |
| 158 | + | |
| 159 | + }, | |
| 160 | + | |
| 161 | + /** | |
| 162 | + * 类型:Callback。 | |
| 163 | + * | |
| 164 | + * 默认:移除errorClass("has-error")。与highlight操作相反 | |
| 165 | + */ | |
| 166 | + unhighlight : function(element) { | |
| 167 | + | |
| 168 | + // 移除errorClass("has-error") | |
| 169 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 170 | + | |
| 171 | + }, | |
| 172 | + | |
| 173 | + /** | |
| 174 | + * 类型:String,Callback。 | |
| 175 | + * | |
| 176 | + * 如果指定它,当验证通过时显示一个消息。 | |
| 177 | + * | |
| 178 | + * 如果是String类型的,则添加该样式到标签中; | |
| 179 | + * | |
| 180 | + * 如果是一个回调函数,则将标签作为其唯一的参数。 | |
| 181 | + */ | |
| 182 | + success : function(label) { | |
| 183 | + | |
| 184 | + // 当验证通过时,移除errorClass("has-error") | |
| 185 | + label.closest('.form-group').removeClass('has-error'); | |
| 186 | + | |
| 187 | + }, | |
| 188 | + | |
| 189 | + /** | |
| 190 | + * 类型:Callback。 | |
| 191 | + * | |
| 192 | + * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | |
| 193 | + */ | |
| 194 | + submitHandler : function(f) { | |
| 195 | + | |
| 196 | + // 隐藏错误提示 | |
| 197 | + error.hide(); | |
| 198 | + // 表单序列化 | |
| 199 | + var params = form.serializeJSON(); | |
| 200 | + submit(); | |
| 201 | + | |
| 202 | + // 查询线路编码的顺延号 | |
| 203 | + /*$get('/line/all', {lineCode_eq: params.lineCode},function(lineCode){ | |
| 204 | + | |
| 205 | + // 定义返回值的长度 | |
| 206 | + var len = lineCode.length; | |
| 207 | + | |
| 208 | + // 如果大于零,则已存在录入的线路编码;否则不存在 | |
| 209 | + if(len > 0) { | |
| 210 | + | |
| 211 | + // 定义已有的线路编码 | |
| 212 | + var oldCode = params.lineCode; | |
| 213 | + | |
| 214 | + // 自动获取线路编码 | |
| 215 | + getLineCode(function(result) { | |
| 216 | + | |
| 217 | + // 重新设置提交参数线路编码值 | |
| 218 | + params.lineCode = result; | |
| 219 | + | |
| 220 | + // 弹出选择框;确认则提交;取消则返回 | |
| 221 | + layer.confirm('线路编码【'+oldCode+'】已存在!自动顺延为如下:<br>线路编码:'+result, { | |
| 222 | + btn : [ '确认提示并提交', '取消' ] | |
| 223 | + }, submit); | |
| 224 | + | |
| 225 | + }); | |
| 226 | + layer.open({ | |
| 227 | + title: '消息提示' | |
| 228 | + ,content: '线路编码【'+params.lineCode+'】已存在,请重新输入编码!' | |
| 229 | + }); | |
| 230 | + } else { | |
| 231 | + | |
| 232 | + // 提交 | |
| 233 | + submit(); | |
| 234 | + | |
| 235 | + } | |
| 236 | + });*/ | |
| 237 | + | |
| 238 | + | |
| 239 | + // 提交 | |
| 240 | + function submit() { | |
| 241 | + | |
| 242 | + // 防止用户多次提交 | |
| 243 | + $("#submintBtn").addClass("disabled"); | |
| 244 | + | |
| 245 | + // 添加数据 | |
| 246 | + $post('/line', params, function(result) { | |
| 247 | + // 如果返回结果不为空 | |
| 248 | + if(result){ | |
| 249 | + | |
| 250 | + // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败 | |
| 251 | + if(result.status=='SUCCESS') { | |
| 252 | + | |
| 253 | + // 弹出添加成功提示消息 | |
| 254 | + layer.msg('添加成功,并已自动为您生成线路原始版本,可以在线路版本信息下查看!', {time: 7000}); | |
| 255 | + | |
| 256 | + } else if(result.status=='ERROR') { | |
| 257 | + | |
| 258 | + // 弹出添加失败提示消息 | |
| 259 | + layer.msg('添加失败...'); | |
| 260 | + | |
| 261 | + } | |
| 262 | + } | |
| 263 | + | |
| 264 | + // 返回list.html页面 | |
| 265 | + loadPage('list.html'); | |
| 266 | + }); | |
| 267 | + } | |
| 268 | + } | |
| 269 | + }); | |
| 270 | + | |
| 271 | + // 线路编码不能0开头 | |
| 272 | + $.validator.addMethod("isLineCode", function(value,element) { | |
| 273 | + // 线路编码正则表达式 | |
| 274 | + var lineCode = /^([1-9])/; | |
| 275 | + return lineCode.test(value); | |
| 276 | + }, "线路编码不能以0开头"); | |
| 277 | + | |
| 278 | + // 联系电话(手机/电话皆可)验证 | |
| 279 | + $.validator.addMethod("isPhone", function(value,element) { | |
| 280 | + // 长度 | |
| 281 | + var length = value.length; | |
| 282 | + // 手机正则表达式 | |
| 283 | + var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; | |
| 284 | + // 固定电话正则表达式 | |
| 285 | + var tel = /^\d{3,4}-?\d{7,9}$/; | |
| 286 | + return this.optional(element) || (tel.test(value) || mobile.test(value)); | |
| 287 | + }, "请正确填写您的联系电话"); | |
| 287 | 288 | }); |
| 288 | 289 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/line/js/line-edit-form.js
| 1 | -/** | |
| 2 | - * @description TODO(线路信息修改片段JS模块) | |
| 3 | - * | |
| 4 | - * @author bsth@lq | |
| 5 | - * | |
| 6 | - * @date 二〇一六年十月十八日 13:31:58 | |
| 7 | - * | |
| 8 | - */ | |
| 9 | - | |
| 10 | - | |
| 11 | -!function(){ | |
| 12 | - // 关闭左侧栏 | |
| 13 | - if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();} | |
| 14 | - /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 15 | - $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'}); | |
| 16 | - /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 17 | - $('#startStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 18 | - /** 起始站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 19 | - $('#endTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 20 | - /** 终点站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 21 | - $('#endStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 22 | - /** 终点站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 23 | - $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'}); | |
| 24 | - /** 根据线路名称值设置英文名称值和线路简称 */ | |
| 25 | - function setPinYin(){ | |
| 26 | - // 获取线路名称值 | |
| 27 | - var val = $('#nameInput').val(); | |
| 28 | - // 设置英文名称值 | |
| 29 | - $('#esInput').val(pinyin.getFullChars(val)); | |
| 30 | - // 设置线路简称值 | |
| 31 | - $('#shortNameInput').val(pinyin.getCamelChars(val)); | |
| 32 | - } | |
| 33 | - | |
| 34 | - /** 公司下拉框 @param:<callback:回调函数> */ | |
| 35 | - function selectTemp(callback) { | |
| 36 | - // 填充公司下拉框选择值 | |
| 37 | - $.get('/business/all', {upCode_eq: '88'}, function(array){ | |
| 38 | - // 公司下拉options属性值 | |
| 39 | - var options = '<option value="">-- 请选择公司 --</option>'; | |
| 40 | - // 遍历array | |
| 41 | - $.each(array, function(i,d){ | |
| 42 | - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 43 | - }); | |
| 44 | - // 填充公司下拉框options | |
| 45 | - $('#companySelect').html(options); | |
| 46 | - return callback && callback(); | |
| 47 | - }); | |
| 48 | - } | |
| 49 | - | |
| 50 | - // 填充分公司下拉框选择值 | |
| 51 | - function getbrancheCompanyValues(businessCode,cb){ | |
| 52 | - // 分公司下拉框options属性值 | |
| 53 | - var options = '<option value="">-- 请选择分公司 --</option>'; | |
| 54 | - if(businessCode) { | |
| 55 | - $get('/business/all', {upCode_eq: businessCode}, function(brancheCompany){ | |
| 56 | - // 遍历brancheCompany | |
| 57 | - $.each(brancheCompany, function(i,d){ | |
| 58 | - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 59 | - }); | |
| 60 | - // 填充分公司下拉框options | |
| 61 | - $('#brancheCompanySelect').html(options); | |
| 62 | - return cb && cb(); | |
| 63 | - }); | |
| 64 | - } else { | |
| 65 | - // 填充分公司下拉框options | |
| 66 | - $('#brancheCompanySelect').html(options); | |
| 67 | - return cb && cb(); | |
| 68 | - } | |
| 69 | - } | |
| 70 | - | |
| 71 | - function companySelectChangeSetBrancheValue() { | |
| 72 | - // 获取公司下拉框选择值 | |
| 73 | - var businessCode = $('#companySelect').val(); | |
| 74 | - // 分公司下拉框options属性值 | |
| 75 | - var options = '<option value="">-- 请选择分公司 --</option>'; | |
| 76 | - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | |
| 77 | - if(businessCode == null || businessCode ==''){ | |
| 78 | - // 填充分公司下拉框options | |
| 79 | - $('#brancheCompanySelect').html(options); | |
| 80 | - } else { | |
| 81 | - // 查询出所属公司下的分公司名称和相应分公司代码 | |
| 82 | - $get('/business/all', {upCode_eq: businessCode}, function(array){ | |
| 83 | - // 遍历array | |
| 84 | - $.each(array, function(i,d){ | |
| 85 | - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 86 | - }); | |
| 87 | - // 填充分公司下拉框options | |
| 88 | - $('#brancheCompanySelect').html(options); | |
| 89 | - }); | |
| 90 | - } | |
| 91 | - } | |
| 92 | - | |
| 93 | - // 获取参数ID | |
| 94 | - var lineId = $.url().param('no'); | |
| 95 | - | |
| 96 | - // 如果参数ID不为空 | |
| 97 | - if(lineId) { | |
| 98 | - // 获取线路Id元素并设值 | |
| 99 | - $('#lineId').val(lineId); | |
| 100 | - // 初始化公司下拉框 | |
| 101 | - selectTemp(function(){ | |
| 102 | - /** 根据ID查询详细信息 */ | |
| 103 | - $get('/line/' + lineId ,null, function(result){ | |
| 104 | - // 如果不为空 | |
| 105 | - if(result) { | |
| 106 | - // 定义日期格式 | |
| 107 | - var fs = 'YYYY-MM-DD'; | |
| 108 | - // 设置inUse | |
| 109 | - $('#inUseInput').val(result.inUse); | |
| 110 | - // 设置日期 | |
| 111 | - result.openDate = moment(result.openDate).format(fs); | |
| 112 | - /** 填充修改线路表单元素值 @param:<result:数据结果集;line_edit_form:表单元素> */ | |
| 113 | - putFormData(result, '#line_edit_form'); | |
| 114 | - // 设置公司值 | |
| 115 | - $('#companySelect').val(result.company); | |
| 116 | - // 填充分公司下拉框选择值 | |
| 117 | - getbrancheCompanyValues(result.company,function(){ | |
| 118 | - // 设置分公司 | |
| 119 | - $('#brancheCompanySelect').val(result.brancheCompany); | |
| 120 | - }); | |
| 121 | - | |
| 122 | - } | |
| 123 | - | |
| 124 | - }); | |
| 125 | - }) | |
| 126 | - | |
| 127 | - } else { | |
| 128 | - // 缺少ID | |
| 129 | - layer.confirm('【ID缺失,请点击返回,重新进行修改操作】', {btn : [ '返回' ],icon: 3, title:'提示'}, function(index){ | |
| 130 | - // 关闭弹出层 | |
| 131 | - layer.close(index); | |
| 132 | - // 跳转到list页面 | |
| 133 | - loadPage('list.html'); | |
| 134 | - }); | |
| 135 | - } | |
| 136 | - // 输入线路名称,自动生成英文名称和线路简称 | |
| 137 | - $('#nameInput').on('keyup', setPinYin); | |
| 138 | - // 公司值改变事件 | |
| 139 | - $('#companySelect').on('change',companySelectChangeSetBrancheValue); | |
| 140 | - // 定义表单 | |
| 141 | - var form = $('#line_edit_form'); | |
| 142 | - // 定义表单异常 | |
| 143 | - var error = $('.alert-danger',form); | |
| 144 | - // 表单验证 | |
| 145 | - form.validate({ | |
| 146 | - // 错误提示元素span对象 | |
| 147 | - errorElement : 'span', | |
| 148 | - // 错误提示元素class名称 | |
| 149 | - errorClass : 'help-block help-block-error', | |
| 150 | - // 验证错误获取焦点 | |
| 151 | - focusInvalid : true, | |
| 152 | - // 需要验证的表单元素 | |
| 153 | - rules : { | |
| 154 | - 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度. | |
| 155 | - 'lineCode' : {required : true,maxlength: 6},// 线路编码 必填项、最大长度. | |
| 156 | - 'company' : {required : true,maxlength: 30},// 所属公司 必填项、最大长度. | |
| 157 | - 'brancheCompany' : {required : true,maxlength: 30},// 所属分公司 必填项、最大长度. | |
| 158 | - 'level' : {required : true,maxlength: 30},// 线路等级 必填项、最大长度. | |
| 159 | - 'nature' : {required : true,maxlength: 30},// 线路性质 必填项、最大长度. | |
| 160 | - 'startStationName' : {required : true,maxlength: 30},// 起始站名称 必填项、最大长度. | |
| 161 | - 'endStationName' : {required : true,maxlength: 30},// 终点站名称 必填项、最大长度. | |
| 162 | - 'startStationFirstTime' : {required : true,maxlength: 30},// 起始站首班时间 必填项、最大长度. | |
| 163 | - 'StartStationEndTime' : {required : true,maxlength: 30},// 起始站末班时间 必填项、最大长度. | |
| 164 | - 'endStationFirstTime' : {required : true,maxlength: 30},// 终点站首班时间 必填项、最大长度. | |
| 165 | - 'endStationEndTime' : {required : true,maxlength: 30},// 终点站末班时间 必填项、最大长度. | |
| 166 | - 'linePlayType' : {required : true,maxlength: 30},// 线路规划类型 <0:双向;1:环线> 必填项、最大长度. | |
| 167 | - 'openDate' : {date : true,dateISO:true},// 开辟日期 正确格式的日期(日期校验 ie6 出错,慎用。)必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 | |
| 168 | - 'es' : {maxlength: 30},// 英文名称 最大长度. | |
| 169 | - 'shortName' : {maxlength: 30},// 线路简称 最大长度. | |
| 170 | - 'shanghaiLinecode' : {maxlength: 30},// 上海市线路编码 最大长度. | |
| 171 | - 'eqLinecode' : {maxlength: 30},// 设备线路编码 最大长度. | |
| 172 | - 'startPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 起始站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 最大长度 | |
| 173 | - 'endPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 终点站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 、最大长度 | |
| 174 | - 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度. | |
| 175 | - 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度. | |
| 176 | - 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度. | |
| 177 | - 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 178 | - 'descriptions' : {maxlength: 200},// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 179 | - 'region' : {required : true}// 线路区域必选 | |
| 180 | - }, | |
| 181 | - | |
| 182 | - /** | |
| 183 | - * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。 | |
| 184 | - * | |
| 185 | - * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator) | |
| 186 | - */ | |
| 187 | - invalidHandler : function(event, validator) { | |
| 188 | - // 显示表单未通过提示信息 | |
| 189 | - error.show(); | |
| 190 | - // 把提示信息放到指定的位置。 | |
| 191 | - App.scrollTo(error, -200); | |
| 192 | - }, | |
| 193 | - | |
| 194 | - /** | |
| 195 | - * 类型:Callback。 | |
| 196 | - * | |
| 197 | - * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。 | |
| 198 | - */ | |
| 199 | - highlight : function(element) { | |
| 200 | - // 添加errorClass("has-error")到表单元素 | |
| 201 | - $(element).closest('.form-group').addClass('has-error'); | |
| 202 | - }, | |
| 203 | - | |
| 204 | - /** | |
| 205 | - * 类型:Callback。 | |
| 206 | - * | |
| 207 | - * 默认:移除errorClass("has-error")。与highlight操作相反 | |
| 208 | - */ | |
| 209 | - unhighlight : function(element) { | |
| 210 | - // 移除errorClass("has-error") | |
| 211 | - $(element).closest('.form-group').removeClass('has-error'); | |
| 212 | - }, | |
| 213 | - | |
| 214 | - /** | |
| 215 | - * 类型:String,Callback。 | |
| 216 | - * | |
| 217 | - * 如果指定它,当验证通过时显示一个消息。 | |
| 218 | - * | |
| 219 | - * 如果是String类型的,则添加该样式到标签中; | |
| 220 | - * | |
| 221 | - * 如果是一个回调函数,则将标签作为其唯一的参数。 | |
| 222 | - */ | |
| 223 | - success : function(label) { | |
| 224 | - // 当验证通过时,移除errorClass("has-error") | |
| 225 | - label.closest('.form-group').removeClass('has-error'); | |
| 226 | - | |
| 227 | - }, | |
| 228 | - /** | |
| 229 | - * 类型:Callback。 | |
| 230 | - * | |
| 231 | - * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | |
| 232 | - */ | |
| 233 | - submitHandler : function(f) { | |
| 234 | - // 隐藏错误提示 | |
| 235 | - error.hide(); | |
| 236 | - // 表单序列化 | |
| 237 | - var params = form.serializeJSON(); | |
| 238 | - // 查询线路编码的顺延号 | |
| 239 | - $get('/line/all', {lineCode_eq: params.lineCode},function(lineCode){ | |
| 240 | - // 定义返回值的长度 | |
| 241 | - var len = lineCode.length; | |
| 242 | - // 如果大于零,则已存在录入的线路编码;否则不存在 | |
| 243 | - if(len > 0) { | |
| 244 | - // 如果id相等则为同一条数据的线路编码。 | |
| 245 | - if(lineCode[0].id == lineId) { | |
| 246 | - // 提交 | |
| 247 | - submit(); | |
| 248 | - } | |
| 249 | - } else { | |
| 250 | - // 提交 | |
| 251 | - submit(); | |
| 252 | - } | |
| 253 | - }); | |
| 254 | - // 提交 | |
| 255 | - function submit() { | |
| 256 | - // 添加数据 | |
| 257 | - $post('/line/update', params, function(result) { | |
| 258 | - // 如果返回结果不为空 | |
| 259 | - if(result){ | |
| 260 | - // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败 | |
| 261 | - if(result.status=='SUCCESS') { | |
| 262 | - // 弹出添加成功提示消息 | |
| 263 | - layer.msg('修改成功...'); | |
| 264 | - } else if(result.status=='ERROR') { | |
| 265 | - // 弹出添加失败提示消息 | |
| 266 | - layer.msg('修改失败...'); | |
| 267 | - } | |
| 268 | - } | |
| 269 | - // 返回list.html页面 | |
| 270 | - loadPage('list.html'); | |
| 271 | - }); | |
| 272 | - } | |
| 273 | - } | |
| 274 | - }); | |
| 275 | - | |
| 276 | - /** 联系电话(手机/电话皆可)验证 */ | |
| 277 | - $.validator.addMethod("isPhone", function(value,element) { | |
| 278 | - // 长度 | |
| 279 | - var length = value.length; | |
| 280 | - // 手机正则表达式 | |
| 281 | - var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; | |
| 282 | - // 固定电话正则表达式 | |
| 283 | - var tel = /^\d{3,4}-?\d{7,9}$/; | |
| 284 | - return this.optional(element) || (tel.test(value) || mobile.test(value)); | |
| 285 | - }, "请正确填写您的联系电话"); | |
| 286 | - | |
| 1 | +/** | |
| 2 | + * @description TODO(线路信息修改片段JS模块) | |
| 3 | + * | |
| 4 | + * @author bsth@lq | |
| 5 | + * | |
| 6 | + * @date 二〇一六年十月十八日 13:31:58 | |
| 7 | + * | |
| 8 | + */ | |
| 9 | + | |
| 10 | + | |
| 11 | +!function(){ | |
| 12 | + // 关闭左侧栏 | |
| 13 | + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();} | |
| 14 | + /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 15 | + $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'}); | |
| 16 | + /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 17 | + $('#startStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 18 | + /** 起始站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 19 | + $('#endTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 20 | + /** 终点站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 21 | + $('#endStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | |
| 22 | + /** 终点站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | |
| 23 | + $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'}); | |
| 24 | + /** 根据线路名称值设置英文名称值和线路简称 */ | |
| 25 | + function setPinYin(){ | |
| 26 | + // 获取线路名称值 | |
| 27 | + var val = $('#nameInput').val(); | |
| 28 | + // 设置英文名称值 | |
| 29 | + $('#esInput').val(pinyin.getFullChars(val)); | |
| 30 | + // 设置线路简称值 | |
| 31 | + $('#shortNameInput').val(pinyin.getCamelChars(val)); | |
| 32 | + } | |
| 33 | + | |
| 34 | + /** 公司下拉框 @param:<callback:回调函数> */ | |
| 35 | + function selectTemp(callback) { | |
| 36 | + // 填充公司下拉框选择值 | |
| 37 | + $.get('/business/all', {upCode_eq: '88'}, function(array){ | |
| 38 | + // 公司下拉options属性值 | |
| 39 | + var options = '<option value="">-- 请选择公司 --</option>'; | |
| 40 | + // 遍历array | |
| 41 | + $.each(array, function(i,d){ | |
| 42 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 43 | + }); | |
| 44 | + // 填充公司下拉框options | |
| 45 | + $('#companySelect').html(options); | |
| 46 | + return callback && callback(); | |
| 47 | + }); | |
| 48 | + } | |
| 49 | + | |
| 50 | + // 填充分公司下拉框选择值 | |
| 51 | + function getbrancheCompanyValues(businessCode,cb){ | |
| 52 | + // 分公司下拉框options属性值 | |
| 53 | + var options = '<option value="">-- 请选择分公司 --</option>'; | |
| 54 | + if(businessCode) { | |
| 55 | + $get('/business/all', {upCode_eq: businessCode}, function(brancheCompany){ | |
| 56 | + // 遍历brancheCompany | |
| 57 | + $.each(brancheCompany, function(i,d){ | |
| 58 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 59 | + }); | |
| 60 | + // 填充分公司下拉框options | |
| 61 | + $('#brancheCompanySelect').html(options); | |
| 62 | + return cb && cb(); | |
| 63 | + }); | |
| 64 | + } else { | |
| 65 | + // 填充分公司下拉框options | |
| 66 | + $('#brancheCompanySelect').html(options); | |
| 67 | + return cb && cb(); | |
| 68 | + } | |
| 69 | + } | |
| 70 | + | |
| 71 | + function companySelectChangeSetBrancheValue() { | |
| 72 | + // 获取公司下拉框选择值 | |
| 73 | + var businessCode = $('#companySelect').val(); | |
| 74 | + // 分公司下拉框options属性值 | |
| 75 | + var options = '<option value="">-- 请选择分公司 --</option>'; | |
| 76 | + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | |
| 77 | + if(businessCode == null || businessCode ==''){ | |
| 78 | + // 填充分公司下拉框options | |
| 79 | + $('#brancheCompanySelect').html(options); | |
| 80 | + } else { | |
| 81 | + // 查询出所属公司下的分公司名称和相应分公司代码 | |
| 82 | + $get('/business/all', {upCode_eq: businessCode}, function(array){ | |
| 83 | + // 遍历array | |
| 84 | + $.each(array, function(i,d){ | |
| 85 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 86 | + }); | |
| 87 | + // 填充分公司下拉框options | |
| 88 | + $('#brancheCompanySelect').html(options); | |
| 89 | + }); | |
| 90 | + } | |
| 91 | + } | |
| 92 | + | |
| 93 | + // 获取参数ID | |
| 94 | + var lineId = $.url().param('no'); | |
| 95 | + | |
| 96 | + // 如果参数ID不为空 | |
| 97 | + if(lineId) { | |
| 98 | + // 获取线路Id元素并设值 | |
| 99 | + $('#lineId').val(lineId); | |
| 100 | + // 初始化公司下拉框 | |
| 101 | + selectTemp(function(){ | |
| 102 | + /** 根据ID查询详细信息 */ | |
| 103 | + $get('/line/' + lineId ,null, function(result){ | |
| 104 | + // 如果不为空 | |
| 105 | + if(result) { | |
| 106 | + // 定义日期格式 | |
| 107 | + var fs = 'YYYY-MM-DD'; | |
| 108 | + // 设置inUse | |
| 109 | + $('#inUseInput').val(result.inUse); | |
| 110 | + // 设置日期 | |
| 111 | + result.openDate = moment(result.openDate).format(fs); | |
| 112 | + /** 填充修改线路表单元素值 @param:<result:数据结果集;line_edit_form:表单元素> */ | |
| 113 | + putFormData(result, '#line_edit_form'); | |
| 114 | + // 设置公司值 | |
| 115 | + $('#companySelect').val(result.company); | |
| 116 | + // 填充分公司下拉框选择值 | |
| 117 | + getbrancheCompanyValues(result.company,function(){ | |
| 118 | + // 设置分公司 | |
| 119 | + $('#brancheCompanySelect').val(result.brancheCompany); | |
| 120 | + }); | |
| 121 | + | |
| 122 | + } | |
| 123 | + | |
| 124 | + }); | |
| 125 | + }) | |
| 126 | + | |
| 127 | + } else { | |
| 128 | + // 缺少ID | |
| 129 | + layer.confirm('【ID缺失,请点击返回,重新进行修改操作】', {btn : [ '返回' ],icon: 3, title:'提示'}, function(index){ | |
| 130 | + // 关闭弹出层 | |
| 131 | + layer.close(index); | |
| 132 | + // 跳转到list页面 | |
| 133 | + loadPage('list.html'); | |
| 134 | + }); | |
| 135 | + } | |
| 136 | + // 输入线路名称,自动生成英文名称和线路简称 | |
| 137 | + $('#nameInput').on('keyup', setPinYin); | |
| 138 | + // 公司值改变事件 | |
| 139 | + $('#companySelect').on('change',companySelectChangeSetBrancheValue); | |
| 140 | + // 定义表单 | |
| 141 | + var form = $('#line_edit_form'); | |
| 142 | + // 定义表单异常 | |
| 143 | + var error = $('.alert-danger',form); | |
| 144 | + // 表单验证 | |
| 145 | + form.validate({ | |
| 146 | + // 错误提示元素span对象 | |
| 147 | + errorElement : 'span', | |
| 148 | + // 错误提示元素class名称 | |
| 149 | + errorClass : 'help-block help-block-error', | |
| 150 | + // 验证错误获取焦点 | |
| 151 | + focusInvalid : true, | |
| 152 | + // 需要验证的表单元素 | |
| 153 | + rules : { | |
| 154 | + 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度. | |
| 155 | + 'ticketPrice' : {required : true}, | |
| 156 | + 'lineCode' : {required : true,maxlength: 6},// 线路编码 必填项、最大长度. | |
| 157 | + 'company' : {required : true,maxlength: 30},// 所属公司 必填项、最大长度. | |
| 158 | + 'brancheCompany' : {required : true,maxlength: 30},// 所属分公司 必填项、最大长度. | |
| 159 | + 'level' : {required : true,maxlength: 30},// 线路等级 必填项、最大长度. | |
| 160 | + 'nature' : {required : true,maxlength: 30},// 线路性质 必填项、最大长度. | |
| 161 | + 'startStationName' : {required : true,maxlength: 30},// 起始站名称 必填项、最大长度. | |
| 162 | + 'endStationName' : {required : true,maxlength: 30},// 终点站名称 必填项、最大长度. | |
| 163 | + 'startStationFirstTime' : {required : true,maxlength: 30},// 起始站首班时间 必填项、最大长度. | |
| 164 | + 'StartStationEndTime' : {required : true,maxlength: 30},// 起始站末班时间 必填项、最大长度. | |
| 165 | + 'endStationFirstTime' : {required : true,maxlength: 30},// 终点站首班时间 必填项、最大长度. | |
| 166 | + 'endStationEndTime' : {required : true,maxlength: 30},// 终点站末班时间 必填项、最大长度. | |
| 167 | + 'linePlayType' : {required : true,maxlength: 30},// 线路规划类型 <0:双向;1:环线> 必填项、最大长度. | |
| 168 | + 'openDate' : {date : true,dateISO:true},// 开辟日期 正确格式的日期(日期校验 ie6 出错,慎用。)必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 | |
| 169 | + 'es' : {maxlength: 30},// 英文名称 最大长度. | |
| 170 | + 'shortName' : {maxlength: 30},// 线路简称 最大长度. | |
| 171 | + 'shanghaiLinecode' : {maxlength: 30},// 上海市线路编码 最大长度. | |
| 172 | + 'eqLinecode' : {maxlength: 30},// 设备线路编码 最大长度. | |
| 173 | + 'startPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 起始站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 最大长度 | |
| 174 | + 'endPhone' : {number : true,digits : true,isPhone : true,maxlength: 30},// 终点站调度电话 必须输入合法的数字(负数,小数)。必须输入整数。电话号码格式 、最大长度 | |
| 175 | + 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度. | |
| 176 | + 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度. | |
| 177 | + 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度. | |
| 178 | + 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 179 | + 'descriptions' : {maxlength: 200},// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。 | |
| 180 | + 'region' : {required : true}// 线路区域必选 | |
| 181 | + }, | |
| 182 | + | |
| 183 | + /** | |
| 184 | + * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。 | |
| 185 | + * | |
| 186 | + * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator) | |
| 187 | + */ | |
| 188 | + invalidHandler : function(event, validator) { | |
| 189 | + // 显示表单未通过提示信息 | |
| 190 | + error.show(); | |
| 191 | + // 把提示信息放到指定的位置。 | |
| 192 | + App.scrollTo(error, -200); | |
| 193 | + }, | |
| 194 | + | |
| 195 | + /** | |
| 196 | + * 类型:Callback。 | |
| 197 | + * | |
| 198 | + * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。 | |
| 199 | + */ | |
| 200 | + highlight : function(element) { | |
| 201 | + // 添加errorClass("has-error")到表单元素 | |
| 202 | + $(element).closest('.form-group').addClass('has-error'); | |
| 203 | + }, | |
| 204 | + | |
| 205 | + /** | |
| 206 | + * 类型:Callback。 | |
| 207 | + * | |
| 208 | + * 默认:移除errorClass("has-error")。与highlight操作相反 | |
| 209 | + */ | |
| 210 | + unhighlight : function(element) { | |
| 211 | + // 移除errorClass("has-error") | |
| 212 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 213 | + }, | |
| 214 | + | |
| 215 | + /** | |
| 216 | + * 类型:String,Callback。 | |
| 217 | + * | |
| 218 | + * 如果指定它,当验证通过时显示一个消息。 | |
| 219 | + * | |
| 220 | + * 如果是String类型的,则添加该样式到标签中; | |
| 221 | + * | |
| 222 | + * 如果是一个回调函数,则将标签作为其唯一的参数。 | |
| 223 | + */ | |
| 224 | + success : function(label) { | |
| 225 | + // 当验证通过时,移除errorClass("has-error") | |
| 226 | + label.closest('.form-group').removeClass('has-error'); | |
| 227 | + | |
| 228 | + }, | |
| 229 | + /** | |
| 230 | + * 类型:Callback。 | |
| 231 | + * | |
| 232 | + * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | |
| 233 | + */ | |
| 234 | + submitHandler : function(f) { | |
| 235 | + // 隐藏错误提示 | |
| 236 | + error.hide(); | |
| 237 | + // 表单序列化 | |
| 238 | + var params = form.serializeJSON(); | |
| 239 | + // 查询线路编码的顺延号 | |
| 240 | + $get('/line/all', {lineCode_eq: params.lineCode},function(lineCode){ | |
| 241 | + // 定义返回值的长度 | |
| 242 | + var len = lineCode.length; | |
| 243 | + // 如果大于零,则已存在录入的线路编码;否则不存在 | |
| 244 | + if(len > 0) { | |
| 245 | + // 如果id相等则为同一条数据的线路编码。 | |
| 246 | + if(lineCode[0].id == lineId) { | |
| 247 | + // 提交 | |
| 248 | + submit(); | |
| 249 | + } | |
| 250 | + } else { | |
| 251 | + // 提交 | |
| 252 | + submit(); | |
| 253 | + } | |
| 254 | + }); | |
| 255 | + // 提交 | |
| 256 | + function submit() { | |
| 257 | + // 添加数据 | |
| 258 | + $post('/line/update', params, function(result) { | |
| 259 | + // 如果返回结果不为空 | |
| 260 | + if(result){ | |
| 261 | + // 返回状态码为"SUCCESS" ,则添加成功;返回状态码为"ERROR" ,则添加失败 | |
| 262 | + if(result.status=='SUCCESS') { | |
| 263 | + // 弹出添加成功提示消息 | |
| 264 | + layer.msg('修改成功...'); | |
| 265 | + } else if(result.status=='ERROR') { | |
| 266 | + // 弹出添加失败提示消息 | |
| 267 | + layer.msg('修改失败...'); | |
| 268 | + } | |
| 269 | + } | |
| 270 | + // 返回list.html页面 | |
| 271 | + loadPage('list.html'); | |
| 272 | + }); | |
| 273 | + } | |
| 274 | + } | |
| 275 | + }); | |
| 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 | 289 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/stationroute/editRoute.html
| ... | ... | @@ -118,7 +118,7 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 118 | 118 | }); |
| 119 | 119 | |
| 120 | 120 | |
| 121 | - //从xml中获取节点内容 | |
| 121 | +//从xml中获取节点内容 | |
| 122 | 122 | function getXmlNode(str){ |
| 123 | 123 | //创建文档对象 |
| 124 | 124 | var parser=new DOMParser(); |
| ... | ... | @@ -138,7 +138,7 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 138 | 138 | |
| 139 | 139 | } |
| 140 | 140 | |
| 141 | - // xml方式上传是,处理转成txt格式的方法 | |
| 141 | + // xml方式上传是,处理转成txt格式的方法 | |
| 142 | 142 | var getXmlSection = function (xml) { |
| 143 | 143 | // var xml = $("#xmlText").val(); |
| 144 | 144 | var stationPointList = getXmlNode(xml); |
| ... | ... | @@ -161,7 +161,7 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 161 | 161 | } |
| 162 | 162 | return sections; |
| 163 | 163 | }; |
| 164 | - | |
| 164 | + | |
| 165 | 165 | var nearestSectionPoint = function (stationPointList, sectionPointList) { |
| 166 | 166 | var mapping = {}; |
| 167 | 167 | for (var i = 0;i < stationPointList.length - 1;i++) { |
| ... | ... | @@ -179,7 +179,6 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 179 | 179 | |
| 180 | 180 | return mapping; |
| 181 | 181 | } |
| 182 | - | |
| 183 | 182 | |
| 184 | 183 | |
| 185 | 184 | // 表单验证 |
| ... | ... | @@ -227,6 +226,7 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 227 | 226 | |
| 228 | 227 | }, |
| 229 | 228 | submitHandler : function(f) { |
| 229 | + debugger; | |
| 230 | 230 | // 隐藏弹出层 |
| 231 | 231 | $('#edit_route_mobal').modal('hide'); |
| 232 | 232 | // 原坐标类型 |
| ... | ... | @@ -324,30 +324,24 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 324 | 324 | for(var k =0;k<len;k++) { |
| 325 | 325 | if(paramsStationsArray[k]=="") |
| 326 | 326 | continue; |
| 327 | - | |
| 328 | 327 | var tempStr = paramsStationsArray[k].split('\t'); |
| 329 | - | |
| 330 | - if(tempStr[0] == "undefined" || tempStr[0] == ""){ | |
| 331 | - continue; | |
| 332 | - } | |
| 333 | - | |
| 334 | 328 | var tempPoint = transGpsLoc(tempStr[0],tempStr[1]); |
| 329 | + var point = {lng:tempPoint.lng, lat:tempPoint.lat}; | |
| 335 | 330 | |
| 331 | + sectionList[k] = point; | |
| 336 | 332 | |
| 337 | - var point = {lng:tempPoint.lng, lat:tempPoint.lat}; | |
| 338 | 333 | if(tempStr.length < 4){ |
| 339 | - sectionList[k] = point; | |
| 340 | 334 | isPush = true; |
| 341 | 335 | }else { |
| 342 | 336 | if(isPush) { |
| 343 | - sectionList[k] = point; | |
| 344 | 337 | stationList.push({name:tempStr[3], potion:{lng:tempPoint.lng, lat:tempPoint.lat} , wgs:{x:tempStr[0], y:tempStr[1]}}); |
| 345 | 338 | } |
| 346 | 339 | isPush = false; |
| 347 | 340 | } |
| 348 | 341 | } |
| 342 | + | |
| 349 | 343 | for(var i = 0 ;i<sectionList.length;i++) { |
| 350 | - if(sectionList[i] == "" || typeof(sectionList[i]) == "undefined" || sectionList[i] == null) { | |
| 344 | + if(sectionList[i] == "" || isNaN(sectionList[i].lng) || typeof(sectionList[i]) == "undefined" || sectionList[i] == null) { | |
| 351 | 345 | sectionList.splice(i,1);//删除数组中下表i-i+1之间的值 |
| 352 | 346 | i= i-1; |
| 353 | 347 | } |
| ... | ... | @@ -356,7 +350,6 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,WorldsBMap,GetAjaxDa |
| 356 | 350 | return routeList; |
| 357 | 351 | } |
| 358 | 352 | |
| 359 | - | |
| 360 | 353 | function transGpsLoc(lng,lat) { |
| 361 | 354 | var bdLoc = TransGPS.locationMake(lng, lat); |
| 362 | 355 | var gcjLoc = TransGPS.transformFromWGSToGCJ(bdLoc); | ... | ... |