Commit cff4d5ba6398ab72e63c8e60e7d9141e73169e00

Authored by 游瑞烽
1 parent 00c4de1b

1.修改密码页面提示修改, 修改完页面关闭

2.GPS上传生成线路走向添加XML方式
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 - &nbsp;请在文本域中按顺序依次输坐标点,每行中的数据之间用【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>&nbsp;请在文本域中按顺序依次输坐标点,每行中的数据之间用【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 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, function(e,transGPS,editRoute,m @@ -95,7 +111,55 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, 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 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, function(e,transGPS,editRoute,m @@ -151,6 +215,12 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, 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 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, function(e,transGPS,editRoute,m @@ -158,16 +228,22 @@ $(&#39;#edit_route_mobal&#39;).on(&#39;editRouteMobal.show&#39;, 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 }