Commit cff4d5ba6398ab72e63c8e60e7d9141e73169e00
1 parent
00c4de1b
1.修改密码页面提示修改, 修改完页面关闭
2.GPS上传生成线路走向添加XML方式
Showing
2 changed files
with
92 additions
and
16 deletions
src/main/resources/static/pages/base/line/editRoute.html
| @@ -36,8 +36,18 @@ | @@ -36,8 +36,18 @@ | ||
| 36 | </div> | 36 | </div> |
| 37 | </div> | 37 | </div> |
| 38 | <div class="form-group"> | 38 | <div class="form-group"> |
| 39 | + <label class="col-md-3 control-label">选择文本类型:</label> | ||
| 40 | + <div class="col-md-3"> | ||
| 41 | + <div class="icheck-list"> | ||
| 42 | + <label> <input type="radio" class="icheck" | ||
| 43 | + name="typeCheck" value='0' checked> txt | ||
| 44 | + </label> <label> <input type="radio" class="icheck" | ||
| 45 | + name="typeCheck" value='1'> xml | ||
| 46 | + </label> | ||
| 47 | + </div> | ||
| 48 | + </div> | ||
| 39 | <label class="col-md-3 control-label">选择方向:</label> | 49 | <label class="col-md-3 control-label">选择方向:</label> |
| 40 | - <div class="col-md-9"> | 50 | + <div class="col-md-3"> |
| 41 | <div class="icheck-list"> | 51 | <div class="icheck-list"> |
| 42 | <label> <input type="radio" class="icheck" | 52 | <label> <input type="radio" class="icheck" |
| 43 | name="dirCheck" value='0' checked> 上行 | 53 | name="dirCheck" value='0' checked> 上行 |
| @@ -55,16 +65,22 @@ | @@ -55,16 +65,22 @@ | ||
| 55 | 坐标生成路线规划说明: </span> | 65 | 坐标生成路线规划说明: </span> |
| 56 | </h5> | 66 | </h5> |
| 57 | <p> | 67 | <p> |
| 68 | + | ||
| 58 | <span class="help-block" style="color: #1bbc9b;"> | 69 | <span class="help-block" style="color: #1bbc9b;"> |
| 59 | - 请在文本域中按顺序依次输坐标点,每行中的数据之间用【Tab】键隔开(如果是站点,请将在坐标后面加 stop;没有 | ||
| 60 | - stop默认是路段点,连续带stop的坐标认为是同一个站点),每输入完一个坐标时请按回车键【Enter】换行. 例如:<!-- <br> 121.715623 | ||
| 61 | - 31.224058 042408.000<br> 121.715623 31.224065 042409.000 | ||
| 62 | - Stop<br> 121.715623 31.224065 042410.000<br> --> | 70 | + 1.txt格式 |
| 71 | + <br> 请在文本域中按顺序依次输坐标点,每行中的数据之间用【Tab】键隔开(如果是站点,请将在坐标后面加 stop;没有 | ||
| 72 | + stop默认是路段点,连续带stop的坐标认为是同一个站点),每输入完一个坐标时请按回车键【Enter】换行. 例如: | ||
| 63 | <br>121.511870 31.180638 043703.000 | 73 | <br>121.511870 31.180638 043703.000 |
| 64 | <br>121.511870 31.180643 043705.000 | 74 | <br>121.511870 31.180643 043705.000 |
| 65 | <br>121.511870 31.180648 043706.000 Stop | 75 | <br>121.511870 31.180648 043706.000 Stop |
| 66 | <br>121.511872 31.180653 043707.000 | 76 | <br>121.511872 31.180653 043707.000 |
| 67 | - <br>121.511873 31.180658 043708.000 | 77 | + </span> |
| 78 | + </p> | ||
| 79 | + <p> | ||
| 80 | + | ||
| 81 | + <span class="help-block" style="color: #1bbc9b;"> | ||
| 82 | + 2.xml格式 | ||
| 83 | + <br>用gps生成工具,生成的kml文件里的数据 | ||
| 68 | </span> | 84 | </span> |
| 69 | </p> | 85 | </p> |
| 70 | </div> | 86 | </div> |
| @@ -95,7 +111,55 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | @@ -95,7 +111,55 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | ||
| 95 | $('.modal-footer #templateSaveData').on('click',function() { | 111 | $('.modal-footer #templateSaveData').on('click',function() { |
| 96 | form.submit(); | 112 | form.submit(); |
| 97 | }); | 113 | }); |
| 98 | - // 表单验证 | 114 | + |
| 115 | + | ||
| 116 | + //从xml中获取节点内容 | ||
| 117 | + function getXmlNode(str){ | ||
| 118 | + //创建文档对象 | ||
| 119 | + var parser=new DOMParser(); | ||
| 120 | + var xmlDoc=parser.parseFromString(str,"text/xml"); | ||
| 121 | + | ||
| 122 | + //提取数据 | ||
| 123 | + var countrys = xmlDoc.getElementsByTagName('coordinates'); | ||
| 124 | + //var countrys = xmlDoc.getElementsByTagName('DataSource'); | ||
| 125 | + | ||
| 126 | + var arr = []; | ||
| 127 | + | ||
| 128 | + for (var i = 0; i < countrys.length; i++) { | ||
| 129 | + arr.push(countrys[i].textContent); | ||
| 130 | + }; | ||
| 131 | + // console.log(arr); | ||
| 132 | + return arr; | ||
| 133 | + | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + // xml方式上传是,处理转成txt格式的方法 | ||
| 137 | + var getXmlSection = function (xml) { | ||
| 138 | + // var xml = $("#xmlText").val(); | ||
| 139 | + var stationPointList = getXmlNode(xml); | ||
| 140 | + var sListSize = stationPointList.length; | ||
| 141 | + var sectionPointListStr = stationPointList[stationPointList.length - 1]; | ||
| 142 | + var sectionPointList = sectionPointListStr.split(" "); | ||
| 143 | + var index = 0; | ||
| 144 | + | ||
| 145 | + // var sectionStr = ""; | ||
| 146 | + var sections = []; | ||
| 147 | + for (var i = 0; i < sectionPointList.length; i++) { | ||
| 148 | + var pointStr = sectionPointList[i], | ||
| 149 | + point = pointStr.split(","); | ||
| 150 | + | ||
| 151 | + if (index < sListSize - 1 && point == stationPointList[index]) { | ||
| 152 | + sections.push(point[0] + " " + point[1] + " " + point[2] + " Stop"); | ||
| 153 | + index++; | ||
| 154 | + } else { | ||
| 155 | + sections.push(point[0] + " " + point[1] + " " + point[2]); | ||
| 156 | + } | ||
| 157 | + } | ||
| 158 | + return sections; | ||
| 159 | + }; | ||
| 160 | + | ||
| 161 | + | ||
| 162 | + // 表单验证 | ||
| 99 | form.validate({ | 163 | form.validate({ |
| 100 | 164 | ||
| 101 | errorElement : 'span', | 165 | errorElement : 'span', |
| @@ -151,6 +215,12 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | @@ -151,6 +215,12 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | ||
| 151 | var dirStr = ''; | 215 | var dirStr = ''; |
| 152 | // 路线方向 | 216 | // 路线方向 |
| 153 | var directionData = $("input[name='dirCheck']:checked").val(); | 217 | var directionData = $("input[name='dirCheck']:checked").val(); |
| 218 | + /** | ||
| 219 | + * 添加类型0(txt)/1(xml) | ||
| 220 | + * txt方式路段需要30个点取一个 | ||
| 221 | + * xml路段取所有点 | ||
| 222 | + */ | ||
| 223 | + var type = $("input[name='typeCheck']:checked").val(); | ||
| 154 | editRoute.setLineDir(directionData); | 224 | editRoute.setLineDir(directionData); |
| 155 | // 设置线路对象生成方式 | 225 | // 设置线路对象生成方式 |
| 156 | editRoute.setLineGenerationType('uploadGPS'); | 226 | editRoute.setLineGenerationType('uploadGPS'); |
| @@ -158,16 +228,22 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | @@ -158,16 +228,22 @@ $('#edit_route_mobal').on('editRouteMobal.show', function(e,transGPS,editRoute,m | ||
| 158 | var i = layer.load(2); | 228 | var i = layer.load(2); |
| 159 | // 表单序列化 | 229 | // 表单序列化 |
| 160 | var paramsForm = form.serializeJSON(); | 230 | var paramsForm = form.serializeJSON(); |
| 161 | - // 切割坐标点 | ||
| 162 | - var array = paramsForm.points.split('\r\n'); | 231 | + var array = []; |
| 232 | + if(type == 1){ | ||
| 233 | + array = getXmlSection(paramsForm.points); | ||
| 234 | + } else { | ||
| 235 | + // 切割坐标点 | ||
| 236 | + array = paramsForm.points.split('\r\n'); | ||
| 237 | + } | ||
| 163 | // 把坐标点转换为站点或路段 | 238 | // 把坐标点转换为站点或路段 |
| 164 | var arrayFormat = inputStationValueFormat(array); | 239 | var arrayFormat = inputStationValueFormat(array); |
| 165 | var stationList = arrayFormat.stationList; | 240 | var stationList = arrayFormat.stationList; |
| 166 | var sectionListTemp = arrayFormat.sectionList; | 241 | var sectionListTemp = arrayFormat.sectionList; |
| 167 | var sectionList = []; | 242 | var sectionList = []; |
| 168 | // 隔30个取一个点(相当于30s) | 243 | // 隔30个取一个点(相当于30s) |
| 169 | - for(var i = 0; i*30 < sectionListTemp.length; i++) { | ||
| 170 | - sectionList[i] = sectionListTemp[i*30]; | 244 | + var typeNum = type == 0 ? 30:1; |
| 245 | + for(var i = 0; i*typeNum < sectionListTemp.length; i++) { | ||
| 246 | + sectionList[i] = sectionListTemp[i*typeNum]; | ||
| 171 | } | 247 | } |
| 172 | sectionList[sectionList.length] = sectionListTemp[sectionListTemp.length-1]; | 248 | sectionList[sectionList.length] = sectionListTemp[sectionListTemp.length-1]; |
| 173 | 249 |
src/main/resources/static/pages/permission/user/changePWD.html
| @@ -55,10 +55,10 @@ $(function(){ | @@ -55,10 +55,10 @@ $(function(){ | ||
| 55 | var error = $('.alert-danger', form); | 55 | var error = $('.alert-danger', form); |
| 56 | 56 | ||
| 57 | $.validator.addMethod("passwordrule", function(value, element) { | 57 | $.validator.addMethod("passwordrule", function(value, element) { |
| 58 | - var reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*?[#?!@$%^&*-]).{8,16}$/; | ||
| 59 | - //var reg = /^(?=.*[a-zA-Z])(?=.*\d).{8,16}$/; | 58 | + var reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*?[#?!@$%^&*-.]).{8,16}$/; |
| 59 | + // var reg = /^(?=.*[a-zA-Z])(?=.*\d).{8,16}$/; | ||
| 60 | return this.optional(element) ||(reg.test(value)); | 60 | return this.optional(element) ||(reg.test(value)); |
| 61 | - }, "需包含字母、数字的8-16位字符"); | 61 | + }, "需包含大小写字母、数字、以及特殊符号的8-16位字符"); |
| 62 | 62 | ||
| 63 | //表单 validate | 63 | //表单 validate |
| 64 | form.validate({ | 64 | form.validate({ |
| @@ -68,7 +68,7 @@ $(function(){ | @@ -68,7 +68,7 @@ $(function(){ | ||
| 68 | rules : { | 68 | rules : { |
| 69 | 'newPWD' : { | 69 | 'newPWD' : { |
| 70 | required : true, | 70 | required : true, |
| 71 | - minlength: 8, | 71 | + minlength: 6, |
| 72 | maxlength: 16, | 72 | maxlength: 16, |
| 73 | passwordrule:true | 73 | passwordrule:true |
| 74 | }, | 74 | }, |
| @@ -96,7 +96,6 @@ $(function(){ | @@ -96,7 +96,6 @@ $(function(){ | ||
| 96 | submitHandler : function(f) { | 96 | submitHandler : function(f) { |
| 97 | var params = form.serializeJSON(); | 97 | var params = form.serializeJSON(); |
| 98 | error.hide(); | 98 | error.hide(); |
| 99 | - | ||
| 100 | var keys; | 99 | var keys; |
| 101 | $.ajax({ | 100 | $.ajax({ |
| 102 | url: "/user/login/jCryptionKey?t="+Math.random(), | 101 | url: "/user/login/jCryptionKey?t="+Math.random(), |
| @@ -120,6 +119,7 @@ $(function(){ | @@ -120,6 +119,7 @@ $(function(){ | ||
| 120 | data: params, | 119 | data: params, |
| 121 | success: function(msg){ | 120 | success: function(msg){ |
| 122 | layer.alert(msg); | 121 | layer.alert(msg); |
| 122 | + layer.closeAll('page'); | ||
| 123 | } | 123 | } |
| 124 | }); | 124 | }); |
| 125 | } | 125 | } |