Commit c9e654565ad32d0c20a5f71164b3a7156447bbaa
1 parent
1b9a9a47
1
Showing
27 changed files
with
4125 additions
and
0 deletions
Too many changes to show.
To preserve performance only 27 of 121 files are displayed.
src/main/resources/static/pages/base/carpark_sut/add.html
0 → 100644
| 1 | +<link href="/pages/base/carpark/css/carpark-add.css" rel="stylesheet" type="text/css" /> | ||
| 2 | +<div class="page-head"> | ||
| 3 | + <div class="page-title"> | ||
| 4 | + <h1>添加停车场</h1> | ||
| 5 | + </div> | ||
| 6 | +</div> | ||
| 7 | + | ||
| 8 | +<ul class="page-breadcrumb breadcrumb"> | ||
| 9 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li> | ||
| 10 | + <li><span class="active">基础数据管理</span> <i class="fa fa-circle"></i></li> | ||
| 11 | + <li><a href="/pages/base/carpark/list.html" data-pjax>停车场信息</a> <i class="fa fa-circle"></i></li> | ||
| 12 | + <li><span class="active">添加停车场</span></li> | ||
| 13 | +</ul> | ||
| 14 | + | ||
| 15 | +<div class="portlet light bordered" id="form-wizard-info"> | ||
| 16 | + <div class="portlet-title"> | ||
| 17 | + <div class="caption"> | ||
| 18 | + <i class="icon-equalizer font-red-sunglo"></i> | ||
| 19 | + <span class="caption-subject font-red-sunglo bold uppercase">添加停车场 | ||
| 20 | + <span class="step-title"> 1 - 4 </span> | ||
| 21 | + <i class="fa fa-question-circle tipso-animation" style="color: rgba(158, 158, 158, 0.49);"></i> | ||
| 22 | + </span> | ||
| 23 | + </div> | ||
| 24 | + | ||
| 25 | + <div class="actions"> | ||
| 26 | + <div class="btn-group btn-group-devided" data-toggle="buttons"> | ||
| 27 | + <a class="btn btn-circle default" href="/pages/base/carpark_sut/list.html" style="float: right;padding: 4px 23px;" data-pjax=""><i class="fa fa-reply"></i> 退出</a> | ||
| 28 | + </div> | ||
| 29 | + </div> | ||
| 30 | + </div> | ||
| 31 | + <div class="portlet-body form"> | ||
| 32 | + | ||
| 33 | + <!-- START FORM --> | ||
| 34 | + <form class="form-horizontal" id="submit_carpark_form" action="/" method="POST" novalidate="novalidate"> | ||
| 35 | + <div class="form-wizard"> | ||
| 36 | + <div class="form-body"> | ||
| 37 | + <ul class="nav nav-pills nav-justified steps"> | ||
| 38 | + <li class="active"> | ||
| 39 | + <a href="#tab1" data-toggle="tab" class="step" aria-expanded="true"> | ||
| 40 | + <span class="number"> 1 </span> | ||
| 41 | + <span class="desc"> | ||
| 42 | + <i class="fa fa-check"></i> 获取停车场位置方式 </span> | ||
| 43 | + </a> | ||
| 44 | + </li> | ||
| 45 | + <li> | ||
| 46 | + <a href="#tab2" data-toggle="tab" class="step"> | ||
| 47 | + <span class="number"> 2 </span> | ||
| 48 | + <span class="desc"> | ||
| 49 | + <i class="fa fa-check"></i> 确定停车场位置 </span> | ||
| 50 | + </a> | ||
| 51 | + </li> | ||
| 52 | + <li> | ||
| 53 | + <a href="#tab3" data-toggle="tab" class="step active"> | ||
| 54 | + <span class="number"> 3 </span> | ||
| 55 | + <span class="desc"> | ||
| 56 | + <i class="fa fa-check"></i> 填写停车场信息 </span> | ||
| 57 | + </a> | ||
| 58 | + </li> | ||
| 59 | + <li> | ||
| 60 | + <a href="#tab4" data-toggle="tab" class="step"> | ||
| 61 | + <span class="number"> 4 </span> | ||
| 62 | + <span class="desc"> | ||
| 63 | + <i class="fa fa-check"></i> 确认并提交 </span> | ||
| 64 | + </a> | ||
| 65 | + </li> | ||
| 66 | + </ul> | ||
| 67 | + | ||
| 68 | + <!-- 进度条 --> | ||
| 69 | + <div id="bar" class="progress progress-striped" role="progressbar"> | ||
| 70 | + <div class="progress-bar progress-bar-success" style="width: 25%;"></div> | ||
| 71 | + </div> | ||
| 72 | + | ||
| 73 | + <div class="tab-content"> | ||
| 74 | + <div class="alert alert-danger display-hide"> | ||
| 75 | + <button class="close" data-close="alert"></button> | ||
| 76 | + 您的输入有误,请检查下面的输入项 | ||
| 77 | + </div> | ||
| 78 | + <div class="alert alert-success display-none"> | ||
| 79 | + <button class="close" data-dismiss="alert"></button> | ||
| 80 | + Your form validation is successful! | ||
| 81 | + </div> | ||
| 82 | + | ||
| 83 | + <!-- 选择添加站点方式 --> | ||
| 84 | + <div class="tab-pane active" id="tab1"> | ||
| 85 | + <h3 class="block"> 获取停车场位置方式 </h3> | ||
| 86 | + <!--停车场名称 --> | ||
| 87 | + <div class="form-group" id="formRequ"> | ||
| 88 | + <label class="col-md-3 control-label"><span class="required"> * </span>停车场名称 :</label> | ||
| 89 | + <div class="col-md-9"> | ||
| 90 | + <input type="text" class="form-control input-medium" id="parkNamebooxtInput" name="parkNamebooxt" placeholder="请输入停车场名称"> | ||
| 91 | + </div> | ||
| 92 | + </div> | ||
| 93 | + <!-- 新增方式 --> | ||
| 94 | + <div class="form-group"> | ||
| 95 | + <label class="col-md-3 control-label"><span class="required"> * </span>选择获取方式:</label> | ||
| 96 | + <div class="col-md-9"> | ||
| 97 | + <div class="icheck-list"> | ||
| 98 | + <label> | ||
| 99 | + <input type="radio" class="icheck" name="baseRes" value=0 checked> 系统生成 | ||
| 100 | + </label> | ||
| 101 | + <label > | ||
| 102 | + <input type="radio" class="icheck" name="baseRes" value=1 > 手动绘制 | ||
| 103 | + </label> | ||
| 104 | + </div> | ||
| 105 | + </div> | ||
| 106 | + </div> | ||
| 107 | + </div> | ||
| 108 | + <!--停车场位置 --> | ||
| 109 | + <div class="tab-pane" id="tab2"> | ||
| 110 | + <h3 class="block"> 停车场位置 </h3> | ||
| 111 | + <div id="addCarParkbmap_basic"></div> | ||
| 112 | + <div class="leftUtils"> | ||
| 113 | + <div class="btn-group" style="left: 100px;"> | ||
| 114 | + <a class="btn btn-sm green-seagreen dropdown-toggle" style="width: 98px;" href="javascript:;" data-toggle="dropdown" aria-expanded="false"> 绘制工具 | ||
| 115 | + <i class="fa fa-angle-down"></i> | ||
| 116 | + </a> | ||
| 117 | + <ul class="dropdown-menu pull-right" style="min-width:100px"> | ||
| 118 | + <li> | ||
| 119 | + <a href="javascript:;" id="oppenDrawingManager"><i class="fa fa-pencil"></i> 打开 </a> | ||
| 120 | + </li> | ||
| 121 | + <li> | ||
| 122 | + <a href="javascript:;" id = "closeDrawingManager"> <i class="fa fa-reply"></i> 关闭 </a> | ||
| 123 | + </li> | ||
| 124 | + | ||
| 125 | + </ul> | ||
| 126 | + </div> | ||
| 127 | + </div> | ||
| 128 | + </div> | ||
| 129 | + <!--停车场信息 --> | ||
| 130 | + <div class="tab-pane" id="tab3"> | ||
| 131 | + <h3 class="block"> 停车场信息 </h3> | ||
| 132 | + <input type="hidden" name="bParkPoint" id="bParkPointInput" /> | ||
| 133 | + <input type="hidden" name="gParkPoint" id="gParkPointInput" /> | ||
| 134 | + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> | ||
| 135 | + <!-- 停车场名称 --> | ||
| 136 | + <div class="form-body"> | ||
| 137 | + <div class="form-group"> | ||
| 138 | + <label class="control-label col-md-3"> | ||
| 139 | + <span class="required"> * </span> 停车场名称 : | ||
| 140 | + </label> | ||
| 141 | + <div class="col-md-6"> | ||
| 142 | + <input type="text" class="form-control" name="parkName" id="parkNameInput" placeholder="请输入站点名称" readonly="readonly"> | ||
| 143 | + </div> | ||
| 144 | + </div> | ||
| 145 | + </div> | ||
| 146 | + <!-- 停车场编码 --> | ||
| 147 | + <div class="form-body"> | ||
| 148 | + <div class="form-group"> | ||
| 149 | + <label class="control-label col-md-3"> | ||
| 150 | + <span class="required"> * </span>停车场编码 : | ||
| 151 | + </label> | ||
| 152 | + <div class="col-md-6"> | ||
| 153 | + <input type="text" class="form-control" name="parkCode" id="parkCodeInput" placeholder="请输入停车场编码"> | ||
| 154 | + </div> | ||
| 155 | + </div> | ||
| 156 | + </div> | ||
| 157 | + <!-- 经纬度坐标点 --> | ||
| 158 | + <div class="form-body"> | ||
| 159 | + <div class="form-group"> | ||
| 160 | + <label class="col-md-3 control-label"><span class="required"> * </span>经纬度坐标点:</label> | ||
| 161 | + <div class="col-md-6"> | ||
| 162 | + <input type="text" class="form-control" name="bCenterPoint" id="bCenterPointInput" readonly="readonly" placeholder="请输入经纬度坐标点"> | ||
| 163 | + </div> | ||
| 164 | + </div> | ||
| 165 | + </div> | ||
| 166 | + | ||
| 167 | + <!-- 几何图形类型 --> | ||
| 168 | + <div class="form-body"> | ||
| 169 | + <div class="form-group"> | ||
| 170 | + <label class="col-md-3 control-label"><span class="required"> * </span>几何图形类型:</label> | ||
| 171 | + <div class="col-md-6"> | ||
| 172 | + <input type="text" class="form-control" name="shapesType" id="shapesTypeSelect" readonly="readonly" placeholder="请输入几何图形类型"> | ||
| 173 | + </div> | ||
| 174 | + </div> | ||
| 175 | + </div> | ||
| 176 | + <!-- 圆形半径 --> | ||
| 177 | + <div class="form-body" id="radiusGroup"> | ||
| 178 | + <div class="form-group"> | ||
| 179 | + <label class="col-md-3 control-label"><span class="required"> * </span> 圆形半径 :</label> | ||
| 180 | + <div class="col-md-6"> | ||
| 181 | + <input type="text" class="form-control" name="radius" id="radiusInput" placeholder="请输入圆形半径"> | ||
| 182 | + </div> | ||
| 183 | + </div> | ||
| 184 | + </div> | ||
| 185 | + <!-- 是否撤销 --> | ||
| 186 | + <div class="form-body"> | ||
| 187 | + <div class="form-group"> | ||
| 188 | + <label class="col-md-3 control-label"><span class="required"> * </span>是否撤销 :</label> | ||
| 189 | + <div class="col-md-6"> | ||
| 190 | + <select name="destroy" class="form-control" id="destroySelect"> | ||
| 191 | + <option value="">-- 请选择撤销类型 --</option> | ||
| 192 | + <option value="0">否</option> | ||
| 193 | + <option value="1">是</option> | ||
| 194 | + </select> | ||
| 195 | + </div> | ||
| 196 | + </div> | ||
| 197 | + </div> | ||
| 198 | + <!-- 面积 --> | ||
| 199 | + <div class="form-body"> | ||
| 200 | + <div class="form-group"> | ||
| 201 | + <label class="col-md-3 control-label">面积 :</label> | ||
| 202 | + <div class="col-md-6"> | ||
| 203 | + <input type="text" class="form-control" name="area" id="areaInput" placeholder="请输入面积"> | ||
| 204 | + <span class="help-block">单位:平方米(㎡)</span> | ||
| 205 | + </div> | ||
| 206 | + </div> | ||
| 207 | + </div> | ||
| 208 | + <!-- 所属公司 --> | ||
| 209 | + <div class="form-body"> | ||
| 210 | + <div class="form-group"> | ||
| 211 | + <label class="col-md-3 control-label"><span class="required"> * </span>所属公司 :</label> | ||
| 212 | + <div class="col-md-6"> | ||
| 213 | + <select name="company" class="form-control" style="width:100%" id="companySelect"></select> | ||
| 214 | + </div> | ||
| 215 | + </div> | ||
| 216 | + </div> | ||
| 217 | + <!-- 所属分公司 --> | ||
| 218 | + <div class="form-body"> | ||
| 219 | + <div class="form-group"> | ||
| 220 | + <label class="col-md-3 control-label"><span class="required"> * </span>所属分公司 :</label> | ||
| 221 | + <div class="col-md-6"> | ||
| 222 | + <select name="brancheCompany" class="form-control" style="width:100%" id="brancheCompanySelect"> | ||
| 223 | + </select> | ||
| 224 | + </div> | ||
| 225 | + </div> | ||
| 226 | + </div> | ||
| 227 | + <!-- 版本号 --> | ||
| 228 | + <div class="form-body"> | ||
| 229 | + <div class="form-group"> | ||
| 230 | + <label class="col-md-3 control-label">版本号 :</label> | ||
| 231 | + <div class="col-md-6"> | ||
| 232 | + <input type="text" class="form-control" name="versions" value='1' Readonly placeholder="请输入版本号"> | ||
| 233 | + </div> | ||
| 234 | + </div> | ||
| 235 | + </div> | ||
| 236 | + <!-- 描述/说明 --> | ||
| 237 | + <div class="form-group"> | ||
| 238 | + <label class="control-label col-md-3"> 描述/说明 : </label> | ||
| 239 | + <div class="col-md-6"> | ||
| 240 | + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="请输入描述/说明"></textarea> | ||
| 241 | + </div> | ||
| 242 | + </div> | ||
| 243 | + | ||
| 244 | + </div> | ||
| 245 | + <!-- 确定提交资料信息 --> | ||
| 246 | + <div class="tab-pane" id="tab4"> | ||
| 247 | + <h3 class="block"> 确认您提交的停车场信息 </h3> | ||
| 248 | + <h4 class="form-section"> 地理位置 </h4> | ||
| 249 | + <div class="form-group"> | ||
| 250 | + <label class="control-label col-md-3"> 几何图形类型: </label> | ||
| 251 | + <div class="col-md-4"> | ||
| 252 | + <p class="form-control-static" data-display="shapesType"> </p> | ||
| 253 | + </div> | ||
| 254 | + </div> | ||
| 255 | + <div class="form-group"> | ||
| 256 | + <label class="control-label col-md-3"> 圆形半径 : </label> | ||
| 257 | + <div class="col-md-4"> | ||
| 258 | + <p class="form-control-static" data-display="radius"> </p> | ||
| 259 | + </div> | ||
| 260 | + </div> | ||
| 261 | + | ||
| 262 | + <div class="form-group"> | ||
| 263 | + <label class="control-label col-md-3"> 经纬度坐标点: </label> | ||
| 264 | + <div class="col-md-4"> | ||
| 265 | + <p class="form-control-static" data-display="bCenterPoint"> </p> | ||
| 266 | + </div> | ||
| 267 | + </div> | ||
| 268 | + <h4 class="form-section"> 停车场信息 </h4> | ||
| 269 | + <div class="form-group"> | ||
| 270 | + <label class="control-label col-md-3">停车场名称 :</label> | ||
| 271 | + <div class="col-md-4"> | ||
| 272 | + <p class="form-control-static" data-display="parkName"> </p> | ||
| 273 | + </div> | ||
| 274 | + </div> | ||
| 275 | + <div class="form-group"> | ||
| 276 | + <label class="control-label col-md-3">停车场编码 :</label> | ||
| 277 | + <div class="col-md-4"> | ||
| 278 | + <p class="form-control-static" data-display="parkCode"> </p> | ||
| 279 | + </div> | ||
| 280 | + </div> | ||
| 281 | + <div class="form-group"> | ||
| 282 | + <label class="control-label col-md-3">是否撤销 :</label> | ||
| 283 | + <div class="col-md-4"> | ||
| 284 | + <p class="form-control-static" data-display="destroy"> </p> | ||
| 285 | + </div> | ||
| 286 | + </div> | ||
| 287 | + <div class="form-group"> | ||
| 288 | + <label class="control-label col-md-3">面积 :</label> | ||
| 289 | + <div class="col-md-4"> | ||
| 290 | + <p class="form-control-static" data-display="area"> </p> | ||
| 291 | + </div> | ||
| 292 | + </div> | ||
| 293 | + <div class="form-group"> | ||
| 294 | + <label class="control-label col-md-3">所属公司 :</label> | ||
| 295 | + <div class="col-md-4"> | ||
| 296 | + <p class="form-control-static" data-display="company"> </p> | ||
| 297 | + </div> | ||
| 298 | + </div> | ||
| 299 | + <div class="form-group"> | ||
| 300 | + <label class="control-label col-md-3">分公司 :</label> | ||
| 301 | + <div class="col-md-4"> | ||
| 302 | + <p class="form-control-static" data-display="brancheCompany"> </p> | ||
| 303 | + </div> | ||
| 304 | + </div> | ||
| 305 | + <div class="form-group"> | ||
| 306 | + <label class="control-label col-md-3">版本号 :</label> | ||
| 307 | + <div class="col-md-4"> | ||
| 308 | + <p class="form-control-static" data-display="versions"> </p> | ||
| 309 | + </div> | ||
| 310 | + </div> | ||
| 311 | + <div class="form-group"> | ||
| 312 | + <label class="control-label col-md-3">描述/说明 :</label> | ||
| 313 | + <div class="col-md-4"> | ||
| 314 | + <p class="form-control-static" data-display="descriptions"> </p> | ||
| 315 | + </div> | ||
| 316 | + </div> | ||
| 317 | + </div> | ||
| 318 | + </div> | ||
| 319 | + </div> | ||
| 320 | + <div class="form-actions"> | ||
| 321 | + <div class="row"> | ||
| 322 | + <div class="col-md-offset-3 col-md-9"> | ||
| 323 | + <a href="javascript:;" class="btn default button-previous disabled" style="display: none;"> | ||
| 324 | + <i class="fa fa-angle-left"></i> 返回 </a> | ||
| 325 | + <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 | ||
| 326 | + <i class="fa fa-angle-right"></i> | ||
| 327 | + </a> | ||
| 328 | + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> 提交 | ||
| 329 | + <i class="fa fa-check"></i> | ||
| 330 | + </a> | ||
| 331 | + </div> | ||
| 332 | + </div> | ||
| 333 | + </div> | ||
| 334 | + </div> | ||
| 335 | + </form> | ||
| 336 | + <!-- END FORM--> | ||
| 337 | + </div> | ||
| 338 | +</div> | ||
| 339 | +<!-- 函数方法JS类库 --> | ||
| 340 | +<script src="/pages/base/carpark/js/add-input-function.js"></script> | ||
| 341 | +<!-- 表单向导JS类库 --> | ||
| 342 | +<script src="/pages/base/carpark/js/add-form-wizard.js"></script> | ||
| 343 | +<!-- reload事件 --> | ||
| 344 | +<script src="/pages/base/carpark/js/add-form-reload.js"></script> | ||
| 345 | +<!-- 地图JS类库 --> | ||
| 346 | +<script src="/pages/base/carpark/js/add-vmap-world.js"></script> | ||
| 347 | +<!-- 表单元素事件JS类库 --> | ||
| 348 | +<script src="/pages/base/carpark/js/add-form-events.js"></script> | ||
| 0 | \ No newline at end of file | 349 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/css/carpark-add.css
0 → 100644
| 1 | +body { | ||
| 2 | + overflow-x: hidden; | ||
| 3 | +} | ||
| 4 | + | ||
| 5 | +.leftUtils{ | ||
| 6 | + position: absolute; | ||
| 7 | + padding-right: 100px; | ||
| 8 | + width: 100%; | ||
| 9 | + height: 40px; | ||
| 10 | + z-index: 9999; | ||
| 11 | + padding-top: 7px; | ||
| 12 | + top: 400px; | ||
| 13 | +} | ||
| 14 | +#addCarParkbmap_basic{ | ||
| 15 | + min-width: 100%; | ||
| 16 | + width: 100%; | ||
| 17 | + margin-top: -28px; | ||
| 18 | + border: 2px solid #fdfdfd; | ||
| 19 | + min-height: 400px; | ||
| 20 | + height:100%; | ||
| 21 | + overflow: hidden; | ||
| 22 | + top: 15px; | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +/* 隐藏百度地图logo */ | ||
| 27 | +.anchorBL, | ||
| 28 | +.anchorBL, | ||
| 29 | +.amap-logo, | ||
| 30 | +.amap-copyright{ | ||
| 31 | + display: none; | ||
| 32 | +} | ||
| 33 | + | ||
| 34 | +.BMap_pop div:nth-child(1) , | ||
| 35 | +.BMap_pop div:nth-child(2) , | ||
| 36 | +.BMap_pop div:nth-child(3) , | ||
| 37 | +.BMap_pop div:nth-child(4) , | ||
| 38 | +.BMap_pop div:nth-child(5) , | ||
| 39 | +.BMap_pop div:nth-child(6) , | ||
| 40 | +.BMap_pop div:nth-child(7) { | ||
| 41 | + | ||
| 42 | + border:0px solid rgb(255, 255, 255) !important; | ||
| 43 | + background-color:#3B3F51 !important; | ||
| 44 | + | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +.BMap_pop div:nth-child(3){ | ||
| 48 | + | ||
| 49 | + width:23px !important; | ||
| 50 | + | ||
| 51 | +} | ||
| 52 | + | ||
| 53 | +.BMap_pop div:nth-child(7) { | ||
| 54 | + | ||
| 55 | + width:23px !important; | ||
| 56 | + | ||
| 57 | + height:24px !important; | ||
| 58 | + | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +.BMap_pop div:nth-child(5) { | ||
| 62 | + | ||
| 63 | + height:24px !important; | ||
| 64 | + | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +/* 图片以后在弄,先隐藏div */ | ||
| 68 | +.BMap_pop div:nth-child(8) { | ||
| 69 | + | ||
| 70 | + height:0px !important; | ||
| 71 | + /* background:url('/pages/base/stationroute/css/img/iw3-1.png') no-repeat !important; */ | ||
| 72 | + /* background-image:url('/pages/base/stationroute/css/img/windowinfo_b.jpg') !important; */ | ||
| 73 | + | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +.BMap_pop { | ||
| 77 | + | ||
| 78 | + box-shadow: 0 12px 15px 0 rgba(204, 204, 204, 0.33),0 17px 50px 0 rgba(204, 204, 204, 0.33)!important; | ||
| 79 | + | ||
| 80 | +} | ||
| 0 | \ No newline at end of file | 81 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/css/positions.css
0 → 100644
| 1 | +#carParkbmap_basic{ | ||
| 2 | + min-width: 100%; | ||
| 3 | + width: calc(100% + 26px); | ||
| 4 | + margin-top: -28px; | ||
| 5 | + border: 2px solid #fdfdfd; | ||
| 6 | + min-height: 1200px; | ||
| 7 | + height:100%; | ||
| 8 | + overflow: hidden; | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +html,body{ | ||
| 12 | + overflow:hidden; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +/* 隐藏百度地图logo */ | ||
| 16 | +.anchorBL, | ||
| 17 | +.anchorBL, | ||
| 18 | +.amap-logo, | ||
| 19 | +.amap-copyright{ | ||
| 20 | + display: none; | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +.leftUtils, .drwmageUtils{ | ||
| 25 | + position: absolute; | ||
| 26 | + padding-right: 100px; | ||
| 27 | + width: 100%; | ||
| 28 | + height: 40px; | ||
| 29 | + z-index: 9999; | ||
| 30 | + padding-top: 7px; | ||
| 31 | + top: 20px; | ||
| 32 | + display: none; | ||
| 33 | +} | ||
| 34 | + | ||
| 35 | +.BMap_pop div:nth-child(1) , | ||
| 36 | +.BMap_pop div:nth-child(2) , | ||
| 37 | +.BMap_pop div:nth-child(3) , | ||
| 38 | +.BMap_pop div:nth-child(4) , | ||
| 39 | +.BMap_pop div:nth-child(5) , | ||
| 40 | +.BMap_pop div:nth-child(6) , | ||
| 41 | +.BMap_pop div:nth-child(7) { | ||
| 42 | + | ||
| 43 | + border:0px solid rgb(255, 255, 255) !important; | ||
| 44 | + background-color:#3B3F51 !important; | ||
| 45 | + | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +.BMap_pop div:nth-child(3){ | ||
| 49 | + | ||
| 50 | + width:23px !important; | ||
| 51 | + | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +.BMap_pop div:nth-child(7) { | ||
| 55 | + | ||
| 56 | + width:23px !important; | ||
| 57 | + | ||
| 58 | + height:24px !important; | ||
| 59 | + | ||
| 60 | +} | ||
| 61 | + | ||
| 62 | +.BMap_pop div:nth-child(5) { | ||
| 63 | + | ||
| 64 | + height:24px !important; | ||
| 65 | + | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +/* 图片以后在弄,先隐藏div */ | ||
| 69 | +.BMap_pop div:nth-child(8) { | ||
| 70 | + | ||
| 71 | + height:0px !important; | ||
| 72 | + /* background:url('/pages/base/stationroute/css/img/iw3-1.png') no-repeat !important; */ | ||
| 73 | + /* background-image:url('/pages/base/stationroute/css/img/windowinfo_b.jpg') !important; */ | ||
| 74 | + | ||
| 75 | +} | ||
| 76 | + | ||
| 77 | +.BMap_pop { | ||
| 78 | + | ||
| 79 | + box-shadow: 0 12px 15px 0 rgba(204, 204, 204, 0.33),0 17px 50px 0 rgba(204, 204, 204, 0.33)!important; | ||
| 80 | + | ||
| 81 | +} | ||
| 0 | \ No newline at end of file | 82 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/edit.html
0 → 100644
| 1 | +<!-- 编辑停车场 --> | ||
| 2 | +<div class="modal fade" id="editPoitsions_carpark_mobal" tabindex="-1" role="basic" aria-hidden="true"> | ||
| 3 | + <div class="modal-dialog"> | ||
| 4 | + <div class="modal-content"> | ||
| 5 | + <div class="modal-header"> | ||
| 6 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | ||
| 7 | + <h4 class="modal-title">编辑停车场</h4> | ||
| 8 | + </div> | ||
| 9 | + <div class="modal-body"> | ||
| 10 | + | ||
| 11 | + <form class="form-horizontal" role="form" id="edit_carPark_form" action="/module" method="post"> | ||
| 12 | + | ||
| 13 | + <div class="alert alert-danger display-hide"> <button class="close" data-close="alert"></button> | ||
| 14 | + 您的输入有误,请检查下面的输入项 | ||
| 15 | + </div> | ||
| 16 | + <input type="hidden" name="id" id="idInput" /> | ||
| 17 | + <input type="hidden" name="bParkPoint" id="bParkPointInput" /> | ||
| 18 | + <input type="hidden" name="gParkPoint" id="gParkPointInput" /> | ||
| 19 | + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> | ||
| 20 | + <!-- 停车场名称 --> | ||
| 21 | + <div class="form-body"> | ||
| 22 | + <div class="form-group"> | ||
| 23 | + <label class="control-label col-md-3"> | ||
| 24 | + <span class="required"> * </span> 停车场名称 : | ||
| 25 | + </label> | ||
| 26 | + <div class="col-md-6"> | ||
| 27 | + <input type="text" class="form-control" name="parkName" id="parkNameInput" placeholder="请输入停车场名称"> | ||
| 28 | + </div> | ||
| 29 | + </div> | ||
| 30 | + </div> | ||
| 31 | + <!-- 停车场编码 --> | ||
| 32 | + <div class="form-body"> | ||
| 33 | + <div class="form-group"> | ||
| 34 | + <label class="control-label col-md-3"> | ||
| 35 | + <span class="required"> * </span>停车场编码 : | ||
| 36 | + </label> | ||
| 37 | + <div class="col-md-6"> | ||
| 38 | + <input type="text" class="form-control" name="parkCode" id="parkCodeInput" readonly="readonly" placeholder="请输入停车场编码"> | ||
| 39 | + </div> | ||
| 40 | + </div> | ||
| 41 | + </div> | ||
| 42 | + <!-- 经纬度坐标点 --> | ||
| 43 | + <div class="form-body"> | ||
| 44 | + <div class="form-group"> | ||
| 45 | + <label class="col-md-3 control-label"><span class="required"> * </span>经纬度坐标点:</label> | ||
| 46 | + <div class="col-md-6"> | ||
| 47 | + <input type="text" class="form-control" name="bCenterPoint" id="bCenterPointInput" readonly="readonly" placeholder="请输入经纬度坐标点"> | ||
| 48 | + </div> | ||
| 49 | + </div> | ||
| 50 | + </div> | ||
| 51 | + | ||
| 52 | + <!-- 几何图形类型 --> | ||
| 53 | + <div class="form-body"> | ||
| 54 | + <div class="form-group"> | ||
| 55 | + <label class="col-md-3 control-label"><span class="required"> * </span>几何图形类型:</label> | ||
| 56 | + <div class="col-md-6"> | ||
| 57 | + <input type="text" class="form-control" name="shapesType" id="shapesTypeSelect" readonly="readonly" placeholder="请输入几何图形类型"> | ||
| 58 | + </div> | ||
| 59 | + </div> | ||
| 60 | + </div> | ||
| 61 | + | ||
| 62 | + <!-- 圆形半径 --> | ||
| 63 | + <div class="form-body" id="radiusGroup"> | ||
| 64 | + <div class="form-group"> | ||
| 65 | + <label class="col-md-3 control-label"><span class="required"> * </span>圆形半径 :</label> | ||
| 66 | + <div class="col-md-6"> | ||
| 67 | + <input type="text" class="form-control" name="radius" id="radiusInput" placeholder="请输入圆形半径"> | ||
| 68 | + </div> | ||
| 69 | + </div> | ||
| 70 | + </div> | ||
| 71 | + <!-- 是否撤销 --> | ||
| 72 | + <div class="form-body"> | ||
| 73 | + <div class="form-group"> | ||
| 74 | + <label class="col-md-3 control-label"><span class="required"> * </span>是否撤销 :</label> | ||
| 75 | + <div class="col-md-6"> | ||
| 76 | + <select name="destroy" class="form-control" id="destroySelect"> | ||
| 77 | + <option value="">-- 请选择撤销类型 --</option> | ||
| 78 | + <option value="0">否</option> | ||
| 79 | + <option value="1">是</option> | ||
| 80 | + </select> | ||
| 81 | + </div> | ||
| 82 | + </div> | ||
| 83 | + </div> | ||
| 84 | + <!-- 面积 --> | ||
| 85 | + <div class="form-body"> | ||
| 86 | + <div class="form-group"> | ||
| 87 | + <label class="col-md-3 control-label">面积 :</label> | ||
| 88 | + <div class="col-md-6"> | ||
| 89 | + <input type="text" class="form-control" name="area" id="areaInput" > | ||
| 90 | + <span class="help-block">单位:平方米(㎡)</span> | ||
| 91 | + </div> | ||
| 92 | + </div> | ||
| 93 | + </div> | ||
| 94 | + | ||
| 95 | + <!-- 所属公司 --> | ||
| 96 | + <div class="form-body"> | ||
| 97 | + <div class="form-group"> | ||
| 98 | + <label class="col-md-3 control-label">所属公司 :</label> | ||
| 99 | + <div class="col-md-6"> | ||
| 100 | + <select name="company" class="form-control" style="width:100%" id="companySelect"> | ||
| 101 | + | ||
| 102 | + </select> | ||
| 103 | + </div> | ||
| 104 | + </div> | ||
| 105 | + </div> | ||
| 106 | + | ||
| 107 | + <!-- 所属分公司 --> | ||
| 108 | + <div class="form-body"> | ||
| 109 | + <div class="form-group"> | ||
| 110 | + <label class="col-md-3 control-label">所属分公司 :</label> | ||
| 111 | + <div class="col-md-6"> | ||
| 112 | + <select name="brancheCompany" class="form-control" style="width:100%" id="brancheCompanySelect"> | ||
| 113 | + </select> | ||
| 114 | + </div> | ||
| 115 | + </div> | ||
| 116 | + </div> | ||
| 117 | + | ||
| 118 | + <!-- 版本号 --> | ||
| 119 | + <div class="form-body"> | ||
| 120 | + <div class="form-group"> | ||
| 121 | + <label class="col-md-3 control-label">版本号 :</label> | ||
| 122 | + <div class="col-md-6"> | ||
| 123 | + <input type="text" class="form-control" name="versions" value='1' Readonly placeholder="请输入版本号"> | ||
| 124 | + </div> | ||
| 125 | + </div> | ||
| 126 | + </div> | ||
| 127 | + | ||
| 128 | + <!-- 描述/说明 --> | ||
| 129 | + <div class="form-group"> | ||
| 130 | + <label class="control-label col-md-3"> 描述/说明 : </label> | ||
| 131 | + <div class="col-md-6"> | ||
| 132 | + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="请输入描述/说明"></textarea> | ||
| 133 | + </div> | ||
| 134 | + </div> | ||
| 135 | + </form> | ||
| 136 | + </div> | ||
| 137 | + <div class="modal-footer"> | ||
| 138 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | ||
| 139 | + <button type="button" class="btn btn-primary" id="editStationButton">提交数据</button> | ||
| 140 | + </div> | ||
| 141 | + </div> | ||
| 142 | + </div> | ||
| 143 | +</div> | ||
| 144 | +<script type="text/javascript"> | ||
| 145 | + | ||
| 146 | +$('#editPoitsions_carpark_mobal').on('editCarParkMobal_show', function(e, map,fun,carP,ajaxd){ | ||
| 147 | + /** 获取停车场信息对象 */ | ||
| 148 | + var CarParkObj = carP.getEitdCarPark(); | ||
| 149 | + // 获取修改停车场对象ID | ||
| 150 | + var carParkId = CarParkObj.carParkId; | ||
| 151 | + /** 根据修改停车场对象属性值 设值表单元素 @paran:<CarParkObj:停车场对象>*/ | ||
| 152 | + fun.setFormValue(CarParkObj); | ||
| 153 | + /** 填充公司下拉框 */ | ||
| 154 | + fun.selectTemp(function() { | ||
| 155 | + // 获取公司代码 | ||
| 156 | + var businessCode = CarParkObj.carParkCompany; | ||
| 157 | + // 获取公司元素并设值 | ||
| 158 | + $('#companySelect').val(businessCode); | ||
| 159 | + /** 填充分公司下拉框 @param:<businessCode:公司代码> */ | ||
| 160 | + fun.getbrancheCompanyValues(businessCode,function() { | ||
| 161 | + // 获取分公司元素并设值 | ||
| 162 | + $('#brancheCompanySelect').val(CarParkObj.carParkBrancheCompany); | ||
| 163 | + }); | ||
| 164 | + }); | ||
| 165 | + // 公司值改变事件 | ||
| 166 | + $('#companySelect').on('change',companySelectChangeSetBrancheValue); | ||
| 167 | + function companySelectChangeSetBrancheValue() { | ||
| 168 | + // 获取公司下拉框选择值 | ||
| 169 | + var businessCode = $('#companySelect').val(); | ||
| 170 | + // 分公司下拉框options属性值 | ||
| 171 | + var options = '<option value="">-- 请选择分公司 --</option>'; | ||
| 172 | + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | ||
| 173 | + if(businessCode == null || businessCode ==''){ | ||
| 174 | + // 填充分公司下拉框options | ||
| 175 | + $('#brancheCompanySelect').html(options); | ||
| 176 | + } else { | ||
| 177 | + // 查询出所属公司下的分公司名称和相应分公司代码 | ||
| 178 | + $get('/business/all', {upCode_eq: businessCode}, function(array){ | ||
| 179 | + // 遍历array | ||
| 180 | + $.each(array, function(i,d){ | ||
| 181 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | ||
| 182 | + }); | ||
| 183 | + // 填充分公司下拉框options | ||
| 184 | + $('#brancheCompanySelect').html(options); | ||
| 185 | + }); | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + // 显示mobal | ||
| 189 | + $('#editPoitsions_carpark_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | ||
| 190 | + // 当调用 hide 实例方法时触发 | ||
| 191 | + $('#editPoitsions_carpark_mobal').on('hide.bs.modal', function () { | ||
| 192 | + clearSechear(); | ||
| 193 | + }); | ||
| 194 | + function clearSechear(){ | ||
| 195 | + map.clearMarkAndOverlays(); | ||
| 196 | + carP.setEitdCarPark({}); | ||
| 197 | + fun.initCarPark(carParkId); | ||
| 198 | + } | ||
| 199 | + // 编辑表单元素 | ||
| 200 | + var form = $('#edit_carPark_form'); | ||
| 201 | + // 获取错误提示元素 | ||
| 202 | + var error = $('.alert-danger', form); | ||
| 203 | + // 提交数据按钮事件 | ||
| 204 | + $('#editStationButton').on('click', function() { | ||
| 205 | + // 表单提交 | ||
| 206 | + form.submit(); | ||
| 207 | + }); | ||
| 208 | + // 表单验证 | ||
| 209 | + form.validate({ | ||
| 210 | + | ||
| 211 | + errorElement : 'span', | ||
| 212 | + | ||
| 213 | + errorClass : 'help-block help-block-error', | ||
| 214 | + | ||
| 215 | + focusInvalid : false, | ||
| 216 | + | ||
| 217 | + rules : { | ||
| 218 | + 'parkName' : {required : true,},// 停车场名称 必填项 | ||
| 219 | + 'parkCode' : {required : true},// 停车场编码 必填项 | ||
| 220 | + 'bCenterPoint' : {required : true,},// 经纬度坐标点 必填项 | ||
| 221 | + 'shapesType' : {required : true,},// 几何图形类型 必填项 | ||
| 222 | + 'radius' : {required : true,digits:true},// 圆形半径 必填项 | ||
| 223 | + 'destroy' : {required : true,},// 是否撤销 必填项 | ||
| 224 | + 'area' : {number:true,},// 面积 数字 | ||
| 225 | + 'descriptions' : {maxlength: 200,},// 描述/说明 最大长度200 | ||
| 226 | + }, | ||
| 227 | + invalidHandler : function(event, validator) { | ||
| 228 | + error.show(); | ||
| 229 | + App.scrollTo(error, -200); | ||
| 230 | + }, | ||
| 231 | + highlight : function(element) { | ||
| 232 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 233 | + }, | ||
| 234 | + unhighlight : function(element) { | ||
| 235 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 236 | + }, | ||
| 237 | + success : function(label) { | ||
| 238 | + label.closest('.form-group').removeClass('has-error'); | ||
| 239 | + }, | ||
| 240 | + submitHandler : function(f) { | ||
| 241 | + var params = form.serializeJSON(); | ||
| 242 | + params.createBy = CarParkObj.carParkCreateBy; | ||
| 243 | + // 定义日期格式 | ||
| 244 | + var fs = 'YYYY-MM-DD HH:mm:ss' | ||
| 245 | + // 设置日期 | ||
| 246 | + params.createDate = moment(CarParkObj.carParkCreateDate).format(fs); | ||
| 247 | + error.hide(); | ||
| 248 | + if(params.shapesType=='多边形') | ||
| 249 | + params.shapesType = 'd'; | ||
| 250 | + else if(params.shapesType=='圆形') | ||
| 251 | + params.shapesType=='r'; | ||
| 252 | + ajaxd.carParkUpdate(params,function(resuntDate) { | ||
| 253 | + if(resuntDate.status=='SUCCESS') { | ||
| 254 | + // 弹出添加成功提示消息 | ||
| 255 | + layer.msg('修改成功...'); | ||
| 256 | + }else { | ||
| 257 | + // 弹出添加失败提示消息 | ||
| 258 | + layer.msg('修改失败...'); | ||
| 259 | + } | ||
| 260 | + clearSechear(); | ||
| 261 | + $('#editPoitsions_carpark_mobal').modal('hide'); | ||
| 262 | + }) | ||
| 263 | + } | ||
| 264 | + }); | ||
| 265 | +}); | ||
| 266 | +</script> | ||
| 0 | \ No newline at end of file | 267 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/edit_select.html
0 → 100644
| 1 | +<!-- 选择编辑停车场方式 --> | ||
| 2 | +<div class="modal fade" id="editPositions_select_mobal" tabindex="-1" role="basic" aria-hidden="true"> | ||
| 3 | + | ||
| 4 | + <div class="modal-dialog"> | ||
| 5 | + | ||
| 6 | + <div class="modal-content" style="width:700px"> | ||
| 7 | + | ||
| 8 | + <div class="modal-header"> | ||
| 9 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | ||
| 10 | + <h4 class="modal-title">选择修改停车场方式 | ||
| 11 | + <i class="fa fa-question-circle tipso-animation" style="color: rgba(158, 158, 158, 0.49);"></i> | ||
| 12 | + </h4> | ||
| 13 | + </div> | ||
| 14 | + | ||
| 15 | + <div class="modal-body"> | ||
| 16 | + <form class="form-horizontal" action="/" method="post" id="edit_select" role="form"> | ||
| 17 | + <div class="alert alert-danger display-hide" id="editSelectrequired"> | ||
| 18 | + <button class="close" data-close="alert"></button> | ||
| 19 | + 停车场名称为必填项 | ||
| 20 | + </div> | ||
| 21 | + <div class="alert alert-danger display-hide" id="serchrname"> | ||
| 22 | + <button class="close" data-close="alert"></button> | ||
| 23 | + 系统无法生成,请选择其他方式新增 | ||
| 24 | + </div> | ||
| 25 | + <div class="form-group" id="formRequ"> | ||
| 26 | + <label class="col-md-3 control-label"><span class="required"> * </span>停车场名称:</label> | ||
| 27 | + <div class="col-md-9" id="errorInfo"> | ||
| 28 | + <input type="text" class="form-control input-medium" id="carParkNameboxInput" name="carParkNamebox"> | ||
| 29 | + </div> | ||
| 30 | + </div> | ||
| 31 | + <div class="form-group"> | ||
| 32 | + <label class="col-md-3 control-label"><span class="required"> * </span>修改方式 :</label> | ||
| 33 | + <div class="col-md-9"> | ||
| 34 | + <div class="icheck-list"> | ||
| 35 | + <label> | ||
| 36 | + <input type="radio" class="icheck" name="editselect" value=0> 手动规划 | ||
| 37 | + </label> | ||
| 38 | + <label> | ||
| 39 | + <input type="radio" class="icheck" name="editselect" value=1 checked> 重新编辑 | ||
| 40 | + </label> | ||
| 41 | + </div> | ||
| 42 | + </div> | ||
| 43 | + </div> | ||
| 44 | + </form> | ||
| 45 | + </div> | ||
| 46 | + <div class="modal-footer"> | ||
| 47 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | ||
| 48 | + <button type="button" class="btn btn-primary" id="editselectStationNextButton">下一步</button> | ||
| 49 | + </div> | ||
| 50 | + </div> | ||
| 51 | + </div> | ||
| 52 | +</div> | ||
| 53 | +<script type="text/javascript"> | ||
| 54 | +$('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,fun,carParkE,ajaxd){ | ||
| 55 | + // 显示选择修改方式弹出层 | ||
| 56 | + $('#editPositions_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | ||
| 57 | + /* $('.tipso-animation').tipso({ | ||
| 58 | + speed : 100, | ||
| 59 | + background : '#0ed0e8', | ||
| 60 | + color : '#ffffff', | ||
| 61 | + position :'right', | ||
| 62 | + width : 390, | ||
| 63 | + delay : 400, | ||
| 64 | + animationIn : 'bounceIn', | ||
| 65 | + animationOut : 'bounceOut', | ||
| 66 | + offsetX : -485, | ||
| 67 | + offsetY : -25, | ||
| 68 | + content :'<span style="display:block; float:left;font-size:x-small;line-height:12px">A)手动规划:手动在地图上画出停车场范围,然后双击鼠标右键保存.</span></br>'+ | ||
| 69 | + '<span style="display:block; float:left;font-size:x-small">B)重新编辑:编辑原始位置与站点信息.</span>', | ||
| 70 | + | ||
| 71 | + }); | ||
| 72 | + setTimeout(function(){ | ||
| 73 | + $('.tipso-animation').tipso('show'); | ||
| 74 | + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000); | ||
| 75 | + },500); */ | ||
| 76 | + setTimeout(function(){ | ||
| 77 | + var offsetY = $('.modal-dialog').offset().top-3 , | ||
| 78 | + offsetX = $('.modal-dialog').offset().left-10 ; | ||
| 79 | + $('.tipso-animation').tipso({ | ||
| 80 | + speed : 100, | ||
| 81 | + background : '#0ed0e8', | ||
| 82 | + color : '#ffffff', | ||
| 83 | + position :'right', | ||
| 84 | + width : 390, | ||
| 85 | + delay : 400, | ||
| 86 | + animationIn : 'bounceIn', | ||
| 87 | + animationOut : 'bounceOut', | ||
| 88 | + offsetX : -(offsetX), | ||
| 89 | + offsetY : -(offsetY), | ||
| 90 | + content :'<span style="display:block; float:left;font-size:x-small;line-height:12px">A)手动规划:手动在地图上画出停车场范围,然后双击鼠标右键保存.</span></br>'+ | ||
| 91 | + '<span style="display:block; float:left;font-size:x-small">B)重新编辑:编辑原始位置与站点信息.</span>', | ||
| 92 | + | ||
| 93 | + }); | ||
| 94 | + $('.tipso-animation').tipso('show'); | ||
| 95 | + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000); | ||
| 96 | + },500); | ||
| 97 | + var carParkObj = carParkE.getEitdCarPark(); | ||
| 98 | + // 获取停车场名称元素并赋值 | ||
| 99 | + $('#carParkNameboxInput').val(carParkObj.carParkName); | ||
| 100 | + // 定义停车场图形类型 | ||
| 101 | + var stationShapesTypeV = carParkObj.carParkShapesType; | ||
| 102 | + // 获取表单元素 | ||
| 103 | + var form = $('#edit_select'); | ||
| 104 | + // 获取错误提示元素 | ||
| 105 | + var editSelectrequired = $('#editSelectrequired', form); | ||
| 106 | + // 下一步操作事件 | ||
| 107 | + $('#editselectStationNextButton').on('click', function() { | ||
| 108 | + // 表单提交 | ||
| 109 | + form.submit(); | ||
| 110 | + }); | ||
| 111 | + //form 表单验证 | ||
| 112 | + form.validate({ | ||
| 113 | + errorElement : 'span', | ||
| 114 | + errorClass : 'help-block help-block-error', | ||
| 115 | + focusInvalid : false, | ||
| 116 | + rules : { | ||
| 117 | + 'carParkNamebox' : {required : true,} | ||
| 118 | + }, | ||
| 119 | + invalidHandler : function(event, validator) { | ||
| 120 | + editSelectrequired.show(); | ||
| 121 | + App.scrollTo(requiredname, -200); | ||
| 122 | + }, | ||
| 123 | + | ||
| 124 | + highlight : function(element) { | ||
| 125 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 126 | + }, | ||
| 127 | + unhighlight : function(element) { | ||
| 128 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 129 | + }, | ||
| 130 | + success : function(label) { | ||
| 131 | + label.closest('.form-group').removeClass('has-error'); | ||
| 132 | + }, | ||
| 133 | + submitHandler : function(f) { | ||
| 134 | + // 隐藏弹出层 | ||
| 135 | + $('#editPositions_select_mobal').modal('hide'); | ||
| 136 | + $('#eidt').attr("disabled",true); | ||
| 137 | + $('#eidt').addClass('btn disabled'); | ||
| 138 | + // 表单序列 | ||
| 139 | + var params = form.serializeJSON(); | ||
| 140 | + // 停车场名称 | ||
| 141 | + var editStationName = params.carParkNamebox; | ||
| 142 | + var eidtselect_ = params.editselect; | ||
| 143 | + // 设置停车场名称 | ||
| 144 | + carParkE.setEitdCarParkName(editStationName); | ||
| 145 | + if(eidtselect_==0){ | ||
| 146 | + map.localSearchFromAdreesToPoint(editStationName); | ||
| 147 | + map.openDrawingManager(); | ||
| 148 | + }else if(eidtselect_==1){ | ||
| 149 | + // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒) | ||
| 150 | + var mindex = layer.msg('编辑完图形后,请双击图形区域保存',{ offset: '126px', | ||
| 151 | + shift: 0,time: 10000}); | ||
| 152 | + // 编辑图形 | ||
| 153 | + map.editShapes(stationShapesTypeV,mindex); | ||
| 154 | + } | ||
| 155 | + } | ||
| 156 | + }); | ||
| 157 | +}); | ||
| 158 | +</script> | ||
| 0 | \ No newline at end of file | 159 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/add-form-events.js
0 → 100644
| 1 | +$(function(){ | ||
| 2 | + // 获取表单 提交 | ||
| 3 | + $('.button-submit').on('click',function() {$('#submit_carpark_form').submit();}); | ||
| 4 | + | ||
| 5 | + $('#oppenDrawingManager').on('click',function() { | ||
| 6 | + addCarParkVmapWorlds.drawingManagerOpen(); | ||
| 7 | + }); | ||
| 8 | + $('#closeDrawingManager').on('click',function() { | ||
| 9 | + addCarParkVmapWorlds.drawingManagerClose(); | ||
| 10 | + }); | ||
| 11 | +}); | ||
| 0 | \ No newline at end of file | 12 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/add-form-reload.js
0 → 100644
| 1 | +/** | ||
| 2 | + * | ||
| 3 | + * @JSName : list.js(停车场定位positions.html页面js) | ||
| 4 | + * | ||
| 5 | + * @Author : bsth@lq | ||
| 6 | + * | ||
| 7 | + * @Description : TODO(停车场定位positions.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 | + setTimeout(function(){ | ||
| 19 | + $('.tipso-animation').tipso({ | ||
| 20 | + speed : 100, | ||
| 21 | + background : '#0ed0e8', | ||
| 22 | + color : '#ffffff', | ||
| 23 | + position :'right', | ||
| 24 | + width : 410, | ||
| 25 | + delay : 400, | ||
| 26 | + animationIn : 'bounceIn', | ||
| 27 | + animationOut : 'bounceOut', | ||
| 28 | + offsetX : 12, | ||
| 29 | + offsetY : -70, | ||
| 30 | + content :'<span style="display:block; float:left;font-size:x-small;line-height:10px">A)系统生成:根据停车场名称自动生成以100米为半径范围的圆.</span></br>'+ | ||
| 31 | + '<span style="display:block; float:left;font-size:x-small;">B)手动绘制:手动在地图上画出停车场范围,然后双击鼠标右键保存.</span>', | ||
| 32 | + | ||
| 33 | + }); | ||
| 34 | + $('.tipso-animation').tipso('show'); | ||
| 35 | + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000); | ||
| 36 | + FormWizard.init(); | ||
| 37 | + PublicFunctions.getCarParkCode(function(d) { | ||
| 38 | + $('#parkCodeInput').val(d.carParkCode); | ||
| 39 | + }); | ||
| 40 | + $('#destroySelect').val('0'); | ||
| 41 | + PublicFunctions.getBusinessAllInfo(function(array) { | ||
| 42 | + var opGroup = '<option value="">请选择...</option><optgroup label="公司">'; | ||
| 43 | + var len_ = array.length; | ||
| 44 | + if(len_>0) { | ||
| 45 | + $.each(array, function(i, g){ | ||
| 46 | + opGroup += '<option value="'+g.businessCode+'">'+g.businessName+'</option>'; | ||
| 47 | + }); | ||
| 48 | + } | ||
| 49 | + opGroup += '</optgroup>'; | ||
| 50 | + $('#companySelect').html(opGroup).select2(); | ||
| 51 | + }); | ||
| 52 | + var htm = '<option value="">请选择...</option><optgroup label="分公司">'; | ||
| 53 | + $('#brancheCompanySelect').html(htm).select2(); | ||
| 54 | + $('#companySelect').on("change", function (e) { | ||
| 55 | + // 获取公司下拉框选择值 | ||
| 56 | + var businessCode = $('#companySelect').val(); | ||
| 57 | + // 分公司下拉框options属性值 | ||
| 58 | + var options = '<option value="">请选择...</option><optgroup label="分公司">'; | ||
| 59 | + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | ||
| 60 | + if(businessCode == null || businessCode ==''){ | ||
| 61 | + options += '</optgroup>'; | ||
| 62 | + // 填充分公司下拉框options | ||
| 63 | + $('#brancheCompanySelect').html(options).select2(); | ||
| 64 | + } else { | ||
| 65 | + // 查询出所属公司下的分公司名称和相应分公司代码 | ||
| 66 | + $get('/business/all', {upCode_eq: businessCode}, function(array){ | ||
| 67 | + // 遍历array | ||
| 68 | + $.each(array, function(i,d){ | ||
| 69 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | ||
| 70 | + options += '</optgroup>'; | ||
| 71 | + }); | ||
| 72 | + // 填充分公司下拉框options | ||
| 73 | + $('#brancheCompanySelect').html(options).select2(); | ||
| 74 | + }); | ||
| 75 | + } | ||
| 76 | + }); | ||
| 77 | + }, 300); | ||
| 78 | +})(); | ||
| 0 | \ No newline at end of file | 79 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/add-form-wizard.js
0 → 100644
| 1 | +/** | ||
| 2 | + * 表单的导航向导、验证、提交 | ||
| 3 | + * | ||
| 4 | + */ | ||
| 5 | +var FormWizard = function() { | ||
| 6 | + return { | ||
| 7 | + // 启动初始化向导导航 | ||
| 8 | + init : function() { | ||
| 9 | + if(!jQuery().bootstrapWizard) {return;} | ||
| 10 | + // 定义表单 | ||
| 11 | + var form = $('#submit_carpark_form'); | ||
| 12 | + // 定义表单异常 | ||
| 13 | + var error = $('.alert-danger',form); | ||
| 14 | + // 定义表单成功 | ||
| 15 | + var success = $('.alert-success',form); | ||
| 16 | + // 表单验证 | ||
| 17 | + form.validate({ | ||
| 18 | + // 错误提示元素span对象 | ||
| 19 | + errorElement : 'span', | ||
| 20 | + // 错误提示元素class名称 | ||
| 21 | + errorClass : 'help-block help-block-error', | ||
| 22 | + // 验证错误获取焦点 | ||
| 23 | + focusInvalid : true, | ||
| 24 | + // 需要验证的表单元素 | ||
| 25 | + rules : { | ||
| 26 | + 'parkNamebooxt' : {required : true,},// 停车场名称 必填项 | ||
| 27 | + 'parkName' : {required : true,},// 停车场名称 必填项 | ||
| 28 | + 'parkCode' : {required : true,rangelength:[8,8], alnum:true, remote : { | ||
| 29 | + type : "get",// 异步发送请求到服务器,验证parkCode | ||
| 30 | + url : "/carpark/isHaveParkCode",//需要服务器controllor 中提供停车场编码检查的方法 | ||
| 31 | + cache:false, | ||
| 32 | + async:false, | ||
| 33 | + data : {'parkCode' : function() { return $("#parkCodeInput").val(); }}, | ||
| 34 | + }},// 停车场编码 必填项 | ||
| 35 | + 'bCenterPoint' : {required : true,},// 经纬度坐标点 必填项 | ||
| 36 | + 'company' : {required : true,},// 必填项 | ||
| 37 | + 'brancheCompany' : {required : true,},// 必填项 | ||
| 38 | + 'shapesType' : {required : true,},// 几何图形类型 必填项 | ||
| 39 | + 'radius' : {required : true,digits:true},// 圆形半径 必填项 | ||
| 40 | + 'destroy' : {required : true,},// 是否撤销 必填项 | ||
| 41 | + 'area' : {number:true,},// 面积 数字 | ||
| 42 | + 'descriptions' : {maxlength: 200,},// 描述/说明 最大长度200 | ||
| 43 | + }, | ||
| 44 | + messages:{ | ||
| 45 | + 'parkCode':{remote:'停车场编码系统已存在,请您重新输入!', | ||
| 46 | + rangelength:'请填写8位长度的编码!'}, | ||
| 47 | + }, | ||
| 48 | + /** | ||
| 49 | + * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。 | ||
| 50 | + * | ||
| 51 | + * 参数:该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator) | ||
| 52 | + */ | ||
| 53 | + invalidHandler : function(event, validator) { | ||
| 54 | + // 显示表单未通过提示信息 | ||
| 55 | + error.show(); | ||
| 56 | + // 把提示信息放到指定的位置。 | ||
| 57 | + App.scrollTo(error, -200); | ||
| 58 | + }, | ||
| 59 | + /** | ||
| 60 | + * 类型:Callback。 | ||
| 61 | + * | ||
| 62 | + * 默认:添加errorClass("has-error")到表单元素。将未通过验证的表单元素设置高亮。 | ||
| 63 | + */ | ||
| 64 | + highlight : function(element) { | ||
| 65 | + // 添加errorClass("has-error")到表单元素 | ||
| 66 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 67 | + }, | ||
| 68 | + /** | ||
| 69 | + * 类型:Callback。 | ||
| 70 | + * | ||
| 71 | + * 默认:移除errorClass("has-error")。与highlight操作相反 | ||
| 72 | + */ | ||
| 73 | + unhighlight : function(element) { | ||
| 74 | + // 移除errorClass("has-error") | ||
| 75 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 76 | + }, | ||
| 77 | + /** | ||
| 78 | + * 类型:String,Callback。 | ||
| 79 | + * | ||
| 80 | + * 如果指定它,当验证通过时显示一个消息。 | ||
| 81 | + * | ||
| 82 | + * 如果是String类型的,则添加该样式到标签中; | ||
| 83 | + * | ||
| 84 | + * 如果是一个回调函数,则将标签作为其唯一的参数。 | ||
| 85 | + */ | ||
| 86 | + success : function(label) { | ||
| 87 | + // 当验证通过时,移除errorClass("has-error") | ||
| 88 | + label.closest('.form-group').removeClass('has-error'); | ||
| 89 | + }, | ||
| 90 | + /** | ||
| 91 | + * 类型:Callback。 | ||
| 92 | + * | ||
| 93 | + * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | ||
| 94 | + */ | ||
| 95 | + submitHandler : function(f) { | ||
| 96 | + // 防止用户多次提交 | ||
| 97 | + $("#submintBtn").addClass("disabled"); | ||
| 98 | + // 表单序列化 | ||
| 99 | + var params = form.serializeJSON(); | ||
| 100 | + if(params.shapesType=='圆形') | ||
| 101 | + params.shapesType='r'; | ||
| 102 | + else if(params.shapesType=='多边形') | ||
| 103 | + params.shapesType='d'; | ||
| 104 | + //保存站点 | ||
| 105 | + PublicFunctions.carParkSave(params,function(data) { | ||
| 106 | + if(data.status=='SUCCESS') { | ||
| 107 | + // 弹出添加成功提示消息 | ||
| 108 | + layer.msg('添加成功...'); | ||
| 109 | + }else { | ||
| 110 | + // 弹出添加失败提示消息 | ||
| 111 | + layer.msg('添加失败...'); | ||
| 112 | + } | ||
| 113 | + // 返回list.html页面 | ||
| 114 | + loadPage('/pages/base/carpark/list.html'); | ||
| 115 | + }); | ||
| 116 | + $("#submintBtn").removeClass("disabled"); | ||
| 117 | + } | ||
| 118 | + }); | ||
| 119 | + $.validator.addMethod("alnum", function(value, element) { | ||
| 120 | + return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value); | ||
| 121 | + }, "停车场编码只能包括英文字母和数字,请您重新输入!"); | ||
| 122 | + | ||
| 123 | + /*$.validator.addMethod("isHave", function(value, element) { | ||
| 124 | + PublicFunctions.isHaveParkCode({'parkCode':value},function(d) { | ||
| 125 | + debugger; | ||
| 126 | + console.log(d); | ||
| 127 | + if(d.length>0) | ||
| 128 | + return false; | ||
| 129 | + else | ||
| 130 | + return true; | ||
| 131 | + }); | ||
| 132 | + }, "停车场编码系统已存在,请您重新输入!");*/ | ||
| 133 | + | ||
| 134 | + // 确认提交信息 | ||
| 135 | + var displayConfirm = function() { | ||
| 136 | + // 遍历表单元素下的tab4的class名称为form-control-static | ||
| 137 | + $('#tab4 .form-control-static', form).each(function(){ | ||
| 138 | + // 定义input | ||
| 139 | + var input = $('[name="'+$(this).attr("data-display")+'"]', form); | ||
| 140 | + if (input.is(":radio")) { | ||
| 141 | + input = $('[name="'+$(this).attr("data-display")+'"]:checked', form); | ||
| 142 | + } | ||
| 143 | + if (input.is(":text") || input.is("textarea")) { | ||
| 144 | + $(this).html(input.val()); | ||
| 145 | + } else if (input.is("select")) { | ||
| 146 | + $(this).html(input.find('option:selected').text()); | ||
| 147 | + } else if (input.is(":radio") && input.is(":checked")) { | ||
| 148 | + $(this).html(input.attr("data-title")); | ||
| 149 | + } else if ($(this).attr("data-display") == 'payment[]') { | ||
| 150 | + var payment = []; | ||
| 151 | + $('[name="payment[]"]:checked', form).each(function(){ | ||
| 152 | + payment.push($(this).attr('data-title')); | ||
| 153 | + }); | ||
| 154 | + $(this).html(payment.join("<br>")); | ||
| 155 | + } | ||
| 156 | + }); | ||
| 157 | + } | ||
| 158 | + /** 按钮点击时触发 */ | ||
| 159 | + var handleTitle = function(tab, navigation, index) { | ||
| 160 | + // 定义导航条标签个数 | ||
| 161 | + var total = navigation.find('li').length; | ||
| 162 | + // 当前标签页 | ||
| 163 | + var current = index + 1; | ||
| 164 | + // 设置向导标题 | ||
| 165 | + $('.step-title', $('#form-wizard-info')).text((index + 1) + ' - ' + total); | ||
| 166 | + // 删除"done"样式 | ||
| 167 | + jQuery('li', $('#form-wizard-info')).removeClass("done"); | ||
| 168 | + // 获取导航标签元素集合 | ||
| 169 | + var li_list = navigation.find('li'); | ||
| 170 | + // 遍历 | ||
| 171 | + for (var i = 0; i < index; i++) { | ||
| 172 | + // 追加done样式 | ||
| 173 | + jQuery(li_list[i]).addClass("done"); | ||
| 174 | + } | ||
| 175 | + /** 如果为第一步隐藏返回按钮,否则显示返回按钮. */ | ||
| 176 | + if (current == 1) { | ||
| 177 | + // 隐藏返回按钮 | ||
| 178 | + $('#submit_carpark_form').find('.button-previous').hide(); | ||
| 179 | + } else { | ||
| 180 | + // 显示返回按钮 | ||
| 181 | + $('#submit_carpark_form').find('.button-previous').show(); | ||
| 182 | + } | ||
| 183 | + if (current == 2) { | ||
| 184 | + layer.closeAll(); | ||
| 185 | + var container = $("#addCarParkbmap_basic"); | ||
| 186 | + container.children().remove(); | ||
| 187 | + container.show(); | ||
| 188 | + setTimeout(function(){ | ||
| 189 | + addCarParkVmapWorlds.init(); | ||
| 190 | + // 获取新增方式值 | ||
| 191 | + var baseResValue = $('#submit_carpark_form input[name="baseRes"]:checked').val(); | ||
| 192 | + // 获取停车场名称值 | ||
| 193 | + var stationNameV = $('#parkNamebooxtInput').val(); | ||
| 194 | + // 设置停车场名称 | ||
| 195 | + $('#parkNameInput').val(stationNameV); | ||
| 196 | + if(baseResValue == 0) { | ||
| 197 | + $('.leftUtils').hide(); | ||
| 198 | + addCarParkVmapWorlds.localSearchFromAdreesToPoint(stationNameV,function(p) { | ||
| 199 | + if(p) { | ||
| 200 | + addCarParkVmapWorlds.pointsCircle(p); | ||
| 201 | + } | ||
| 202 | + }); | ||
| 203 | + }else if(baseResValue ==1) { | ||
| 204 | + addCarParkVmapWorlds.localSearchFromAdreesToPoint(stationNameV,function(p) {}); | ||
| 205 | + $('.leftUtils').show(); | ||
| 206 | +// addCarParkVmapWorlds.drawingManagerOpen(); | ||
| 207 | + } | ||
| 208 | + $('html,body').animate({scrollTop: ($('#form-wizard-info').offset().top-5) + "px"},500); | ||
| 209 | + },300) | ||
| 210 | + }else if(current==3) { | ||
| 211 | + setTimeout(function(){ | ||
| 212 | + $('html,body').animate({scrollTop: ($('#tab3').offset().top-70) + "px"}); | ||
| 213 | + layer.tips('停车场编码一旦确认提交就不能够轻易的去修改了哦:-O', '#parkCodeInput', {tips: [2, '#0ed0e8'],time: 4500,area: ['340px', '32px'],}); | ||
| 214 | + },300); | ||
| 215 | + }else if(current==4) { | ||
| 216 | + layer.closeAll(); | ||
| 217 | + setTimeout(function(){ | ||
| 218 | + $('html,body').animate({scrollTop: ($('#tab4').offset().top+40) + "px"}); | ||
| 219 | + },300); | ||
| 220 | + } | ||
| 221 | + /** 如果为最后一步显示提交按钮,隐藏下一步按钮,否则隐藏提交按钮,显示下一步按钮 */ | ||
| 222 | + if (current >= total) { | ||
| 223 | + // 隐藏下一步按钮 | ||
| 224 | + $('#submit_carpark_form').find('.button-next').hide(); | ||
| 225 | + // 显示提交按钮 | ||
| 226 | + $('#submit_carpark_form').find('.button-submit').show(); | ||
| 227 | + // 确认提交信息 | ||
| 228 | + displayConfirm(); | ||
| 229 | + } else { | ||
| 230 | + // 显示下一步按钮 | ||
| 231 | + $('#submit_carpark_form').find('.button-next').show(); | ||
| 232 | + | ||
| 233 | + // 隐藏提交按钮 | ||
| 234 | + $('#submit_carpark_form').find('.button-submit').hide(); | ||
| 235 | + | ||
| 236 | + } | ||
| 237 | + // 移动到指定位置 | ||
| 238 | + App.scrollTo($('.page-title')); | ||
| 239 | + } | ||
| 240 | + // 表单导航向导插件 | ||
| 241 | + $('#submit_carpark_form').bootstrapWizard({ | ||
| 242 | + // 下一步元素选择器 | ||
| 243 | + 'nextSelector': '.button-next', | ||
| 244 | + // 返回元素选择器 | ||
| 245 | + 'previousSelector': '.button-previous', | ||
| 246 | + /** 当一个导航标签被点击,返回错误的移动到该选项卡,并显示它的内容. */ | ||
| 247 | + onTabClick: function (tab, navigation, index, clickedIndex) { | ||
| 248 | + return false; | ||
| 249 | + success.hide(); | ||
| 250 | + error.hide(); | ||
| 251 | + if (form.valid() == false) { | ||
| 252 | + return false; | ||
| 253 | + } | ||
| 254 | + handleTitle(tab, navigation, clickedIndex); | ||
| 255 | + }, | ||
| 256 | + /** 下一步按钮被单击时触发, 返回移动到下一个步骤. */ | ||
| 257 | + onNext: function (tab, navigation, index) { | ||
| 258 | + success.hide(); | ||
| 259 | + error.hide(); | ||
| 260 | + if (form.valid() == false) { | ||
| 261 | + return false; | ||
| 262 | + } | ||
| 263 | + if(index==2) { | ||
| 264 | + addCarParkVmapWorlds.clearMarkAndOverlays(); | ||
| 265 | + addCarParkVmapWorlds.drawingManagerClose(); | ||
| 266 | + } | ||
| 267 | + $('.tipso-animation').tipso('hide'); | ||
| 268 | + handleTitle(tab, navigation, index); | ||
| 269 | + }, | ||
| 270 | + /** 上一步按钮被单击时触发,返回移动到前一个步骤 */ | ||
| 271 | + onPrevious: function (tab, navigation, index) { | ||
| 272 | + success.hide(); | ||
| 273 | + error.hide(); | ||
| 274 | + if(index ==0) { | ||
| 275 | + addCarParkVmapWorlds.drawingManagerClose(); | ||
| 276 | + } | ||
| 277 | + addCarParkVmapWorlds.clearMarkAndOverlays(); | ||
| 278 | + handleTitle(tab, navigation, index); | ||
| 279 | + }, | ||
| 280 | + /** 显示选项卡内容 */ | ||
| 281 | + onTabShow: function (tab, navigation, index) { | ||
| 282 | + var total = navigation.find('li').length; | ||
| 283 | + var current = index + 1; | ||
| 284 | + var $percent = (current / total) * 100; | ||
| 285 | + $('#submit_carpark_form').find('.progress-bar').css({ width: $percent + '%'}); | ||
| 286 | + } | ||
| 287 | + }); | ||
| 288 | + // 初始化第一步隐藏返回按钮 | ||
| 289 | + $('#submit_carpark_form').find('.button-previous').hide(); | ||
| 290 | + } | ||
| 291 | + }; | ||
| 292 | +}(); | ||
| 0 | \ No newline at end of file | 293 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/add-input-function.js
0 → 100644
| 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 ; | ||
| 48 | +}(); | ||
| 0 | \ No newline at end of file | 49 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/add-vmap-world.js
0 → 100644
| 1 | +var addCarParkVmapWorlds = function() { | ||
| 2 | + var mapB = '', circle = '', drawingManager = '',circle='',marker=''; | ||
| 3 | + var Bmap = { | ||
| 4 | + init : function() { | ||
| 5 | + // 设置中心点, | ||
| 6 | + var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; | ||
| 7 | + // 百度API Key | ||
| 8 | + var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; | ||
| 9 | + // 初始化百度地图 | ||
| 10 | + mapB = new BMap.Map("addCarParkbmap_basic"); | ||
| 11 | + //中心点和缩放级别 | ||
| 12 | + mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | ||
| 13 | + //启用地图拖拽事件,默认启用(可不写) | ||
| 14 | + mapB.enableDragging(); | ||
| 15 | + //启用地图滚轮放大缩小 | ||
| 16 | + mapB.enableScrollWheelZoom(); | ||
| 17 | + //禁用鼠标双击放大 | ||
| 18 | + mapB.disableDoubleClickZoom(); | ||
| 19 | + //启用键盘上下左右键移动地图 | ||
| 20 | + mapB.enableKeyboard(); | ||
| 21 | + var styleOptions = { | ||
| 22 | + //边线颜色。 | ||
| 23 | + strokeColor : "blue", | ||
| 24 | + //填充颜色。当参数为空时,圆形将没有填充效果。 | ||
| 25 | + fillColor : "blue", | ||
| 26 | + //边线的宽度,以像素为单位。 | ||
| 27 | + strokeWeight : 3, | ||
| 28 | + //边线透明度,取值范围0 - 1。 | ||
| 29 | + strokeOpacity : 0.8, | ||
| 30 | + //填充的透明度,取值范围0 - 1。 | ||
| 31 | + fillOpacity : 0.6, | ||
| 32 | + //边线的样式,solid或dashed。 | ||
| 33 | + strokeStyle : 'solid' | ||
| 34 | + }; | ||
| 35 | + // 创建鼠标绘制管理类 | ||
| 36 | + drawingManager = new BMapLib.DrawingManager(mapB, { | ||
| 37 | + //是否开启绘制模式 | ||
| 38 | + isOpen : false, | ||
| 39 | + //是否显示工具栏 | ||
| 40 | + enableDrawingTool : false, | ||
| 41 | + drawingToolOptions : { | ||
| 42 | + //位置 | ||
| 43 | + anchor : BMAP_ANCHOR_TOP_RIGHT, | ||
| 44 | + //偏离值 | ||
| 45 | + offset : new BMap.Size(5, 5), | ||
| 46 | + //工具栏缩放比例 | ||
| 47 | + scale : 0.8 | ||
| 48 | + }, | ||
| 49 | + //线的样式 | ||
| 50 | + polygonOptions : styleOptions | ||
| 51 | + }); | ||
| 52 | + // 添加绘画完成事件 | ||
| 53 | + drawingManager.addEventListener('polygoncomplete', function(e) { | ||
| 54 | + drawingManager.close(); | ||
| 55 | + if (e.getPath().length <= 2) { | ||
| 56 | + // 弹出提示消息 | ||
| 57 | + layer.msg('坐标点不能小于等于两个...'); | ||
| 58 | + // 清除地图覆盖物 | ||
| 59 | + mapB.clearOverlays(); | ||
| 60 | + drawingManager.open(); | ||
| 61 | + return false; | ||
| 62 | + }else { | ||
| 63 | + var pointE = e; | ||
| 64 | + // 多变行质心点 | ||
| 65 | + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; | ||
| 66 | + var addPolyGonLen_ = pointE.getPath().length; | ||
| 67 | + for(var k =0;k<addPolyGonLen_;k++) { | ||
| 68 | + if(k==0) { | ||
| 69 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 70 | + }else { | ||
| 71 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | ||
| 75 | + PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'d',''); | ||
| 76 | + } | ||
| 77 | + }); | ||
| 78 | + return mapB; | ||
| 79 | + }, | ||
| 80 | + // 根据地理名称获取百度经纬度坐标 | ||
| 81 | + localSearchFromAdreesToPoint: function(Address,cb) { | ||
| 82 | + // 创建一个搜索类实例 | ||
| 83 | + var localSearch = new BMap.LocalSearch(mapB); | ||
| 84 | + // 检索完成后的回调函数。 | ||
| 85 | + localSearch.setSearchCompleteCallback(function (searchResult) { | ||
| 86 | + var resultPoints = ''; | ||
| 87 | + if(searchResult) { | ||
| 88 | + // 返回索引指定的结果。索引0表示第1条结果 | ||
| 89 | + var poi = searchResult.getPoi(0); | ||
| 90 | + if(poi) { | ||
| 91 | + //获取经度和纬度 | ||
| 92 | + var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat); | ||
| 93 | + marker = new BMap.Marker(stationNameChangePoint); | ||
| 94 | + var PanOptions ={noAnimation :true}; | ||
| 95 | + mapB.panTo(stationNameChangePoint,PanOptions); | ||
| 96 | + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | ||
| 97 | + mapB.setZoom(18); | ||
| 98 | + mapB.panBy(0,-80); | ||
| 99 | + // 将标注添加到地图中 | ||
| 100 | + mapB.addOverlay(marker); | ||
| 101 | + //跳动的动画 | ||
| 102 | + marker.setAnimation(BMAP_ANIMATION_BOUNCE); | ||
| 103 | + cb && cb(stationNameChangePoint); | ||
| 104 | + }else { | ||
| 105 | + // 弹出添加成功提示消息 | ||
| 106 | + layer.msg('无法获取停车场【'+Address+'】地理位置!'); | ||
| 107 | + cb && cb(false); | ||
| 108 | + } | ||
| 109 | + }else { | ||
| 110 | + // 弹出添加成功提示消息 | ||
| 111 | + layer.msg('无法获取停车场【'+Address+'】地理位置!'); | ||
| 112 | + cb && cb(false); | ||
| 113 | + } | ||
| 114 | + }); | ||
| 115 | + // 根据检索词发起检索。 | ||
| 116 | + localSearch.search(Address); | ||
| 117 | + }, | ||
| 118 | + | ||
| 119 | + // 画圆 | ||
| 120 | + pointsCircle : function(stationNameChangePoint) { | ||
| 121 | + //创建圆 | ||
| 122 | + circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | ||
| 123 | + // 百度地图添加覆盖物圆 | ||
| 124 | + mapB.addOverlay(circle); | ||
| 125 | + // 开启编辑功能 | ||
| 126 | + circle.enableEditing(); | ||
| 127 | + // 编辑圆监听事件 | ||
| 128 | + circle.addEventListener('remove',function() { | ||
| 129 | + // 清除marker | ||
| 130 | + mapB.removeOverlay(marker); | ||
| 131 | + // 返回圆形的半径,单位为米。 | ||
| 132 | + var newRadius = circle.getRadius(); | ||
| 133 | + // 返回圆形的中心点坐标。 | ||
| 134 | + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | ||
| 135 | + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | ||
| 136 | + circle = ''; | ||
| 137 | + PublicFunctions.setFormInputValue(newCenter,'','r',Math.round(newRadius)); | ||
| 138 | + }); | ||
| 139 | + }, | ||
| 140 | + // 打开绘画工具 | ||
| 141 | + drawingManagerOpen : function() { | ||
| 142 | + // 打开鼠标绘画工具 | ||
| 143 | + drawingManager.open(); | ||
| 144 | + // 设置属性 | ||
| 145 | + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | ||
| 146 | + }, | ||
| 147 | + drawingManagerClose : function() { | ||
| 148 | + drawingManager.close(); | ||
| 149 | + }, | ||
| 150 | + clearMarkAndOverlays : function() { | ||
| 151 | + // 清楚地图覆盖物 | ||
| 152 | + mapB.clearOverlays(); | ||
| 153 | + } | ||
| 154 | + } | ||
| 155 | + return Bmap; | ||
| 156 | +}(); | ||
| 0 | \ No newline at end of file | 157 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-list-table.js
0 → 100644
| 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 | + } | ||
| 269 | +})(); | ||
| 0 | \ No newline at end of file | 270 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-positions-ajax.js
0 → 100644
| 1 | +/** | ||
| 2 | + * GetAjaxData :ajax异步请求 | ||
| 3 | + * | ||
| 4 | + */ | ||
| 5 | +var GetAjaxData = function(){ | ||
| 6 | + var ajaxData = { | ||
| 7 | + // 查询停车场信息 | ||
| 8 | + getCarParkInfo : function(carParkId,callback){ | ||
| 9 | + $get('/carpark/findCarParkInfoFormId',{id:carParkId},function(r) { | ||
| 10 | + return callback && callback(r); | ||
| 11 | + }); | ||
| 12 | + }, | ||
| 13 | + carParkUpdate : function(params,callback){ | ||
| 14 | + $post('/carpark/carParkUpdate',params,function(data) { | ||
| 15 | + callback && callback(data); | ||
| 16 | + }); | ||
| 17 | + } | ||
| 18 | + } | ||
| 19 | + return ajaxData; | ||
| 20 | +}(); | ||
| 0 | \ No newline at end of file | 21 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-positions-events.js
0 → 100644
| 1 | +$(function(){ | ||
| 2 | + $('#backUp').on('click',function() { | ||
| 3 | + // 返回list.html页面 | ||
| 4 | + loadPage('/pages/base/carpark/list.html'); | ||
| 5 | + }); | ||
| 6 | + $('#edit').on('click',function() { | ||
| 7 | + $.get('edit_select.html', function(m){ | ||
| 8 | + $(pjaxContainer).append(m); | ||
| 9 | + $('#editPositions_select_mobal').trigger('editSelectMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | ||
| 10 | + }); | ||
| 11 | + }); | ||
| 12 | + // 监听打开鼠标绘制工具按钮事件. | ||
| 13 | + $('#oppenDrawingManager').on('click',function() { | ||
| 14 | + CarParkPWorldsBMap.openDrawingManager(); | ||
| 15 | + }); | ||
| 16 | + // 监听关闭鼠标绘制工具按钮事件. | ||
| 17 | + $('#closeDrawingManager').on('click',function() { | ||
| 18 | + CarParkPWorldsBMap.drawingManagerClose(); | ||
| 19 | + }); | ||
| 20 | +}); | ||
| 0 | \ No newline at end of file | 21 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-positions-function.js
0 → 100644
| 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 | + | ||
| 204 | +}(); | ||
| 0 | \ No newline at end of file | 205 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-positions-map.js
0 → 100644
| 1 | +/** | ||
| 2 | + * 百度地图 | ||
| 3 | + * | ||
| 4 | + */ | ||
| 5 | + | ||
| 6 | +var CarParkPWorldsBMap = function () { | ||
| 7 | + | ||
| 8 | + var mapValue='',drawingManager='',marker='',circle='',polygon=''; | ||
| 9 | + | ||
| 10 | + var Bmap = { | ||
| 11 | + init : function() { | ||
| 12 | + // 设置中心点, | ||
| 13 | + var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; | ||
| 14 | + // 百度API Key | ||
| 15 | + var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; | ||
| 16 | + // 初始化百度地图 | ||
| 17 | + mapValue = new BMap.Map("carParkbmap_basic"); | ||
| 18 | + //中心点和缩放级别 | ||
| 19 | + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | ||
| 20 | + //启用地图拖拽事件,默认启用(可不写) | ||
| 21 | + mapValue.enableDragging(); | ||
| 22 | + //启用地图滚轮放大缩小 | ||
| 23 | + mapValue.enableScrollWheelZoom(); | ||
| 24 | + //禁用鼠标双击放大 | ||
| 25 | + mapValue.disableDoubleClickZoom(); | ||
| 26 | + //启用键盘上下左右键移动地图 | ||
| 27 | + mapValue.enableKeyboard(); | ||
| 28 | + var styleOptions = { | ||
| 29 | + //边线颜色。 | ||
| 30 | + strokeColor : "blue", | ||
| 31 | + //填充颜色。当参数为空时,圆形将没有填充效果。 | ||
| 32 | + fillColor : "blue", | ||
| 33 | + //边线的宽度,以像素为单位。 | ||
| 34 | + strokeWeight : 3, | ||
| 35 | + //边线透明度,取值范围0 - 1。 | ||
| 36 | + strokeOpacity : 0.8, | ||
| 37 | + //填充的透明度,取值范围0 - 1。 | ||
| 38 | + fillOpacity : 0.6, | ||
| 39 | + //边线的样式,solid或dashed。 | ||
| 40 | + strokeStyle : 'solid' | ||
| 41 | + }; | ||
| 42 | + // 创建鼠标绘制管理类 | ||
| 43 | + drawingManager = new BMapLib.DrawingManager(mapValue, { | ||
| 44 | + //是否开启绘制模式 | ||
| 45 | + isOpen : false, | ||
| 46 | + //是否显示工具栏 | ||
| 47 | + enableDrawingTool : false, | ||
| 48 | + drawingToolOptions : { | ||
| 49 | + //位置 | ||
| 50 | + anchor : BMAP_ANCHOR_TOP_RIGHT, | ||
| 51 | + //偏离值 | ||
| 52 | + offset : new BMap.Size(5, 5), | ||
| 53 | + //工具栏缩放比例 | ||
| 54 | + scale : 0.8 | ||
| 55 | + }, | ||
| 56 | + //线的样式 | ||
| 57 | + polygonOptions : styleOptions | ||
| 58 | + }); | ||
| 59 | + // 添加绘画完成事件 | ||
| 60 | + drawingManager.addEventListener('polygoncomplete', function(e) { | ||
| 61 | + drawingManager.close(); | ||
| 62 | + if (e.getPath().length <= 2) { | ||
| 63 | + // 弹出提示消息 | ||
| 64 | + layer.msg('坐标点不能小于等于两个...'); | ||
| 65 | + // 清除地图覆盖物 | ||
| 66 | + Bmap.clearMarkAndOverlays(); | ||
| 67 | + // 加载该线路下所有站点位置添加到地图上 | ||
| 68 | + return false; | ||
| 69 | + }else { | ||
| 70 | + var pointE = e; | ||
| 71 | + // 多变行质心点 | ||
| 72 | + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; | ||
| 73 | + var addPolyGonLen_ = pointE.getPath().length; | ||
| 74 | + for(var k =0;k<addPolyGonLen_;k++) { | ||
| 75 | + if(k==0) { | ||
| 76 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 77 | + }else { | ||
| 78 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + } | ||
| 82 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | ||
| 83 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | ||
| 84 | + EditCarParkObj.setCarParkBcenterPoint(addSttationPoints_); | ||
| 85 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | ||
| 86 | + EditCarParkObj.setCarParkShapesType('d'); | ||
| 87 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | ||
| 88 | + EditCarParkObj.setCarParkRadius(''); | ||
| 89 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | ||
| 90 | + EditCarParkObj.setCarParkBparkPoint(bPloygonGrid); | ||
| 91 | + $.get('edit.html', function(m){ | ||
| 92 | + $(pjaxContainer).append(m); | ||
| 93 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | ||
| 94 | + }); | ||
| 95 | + } | ||
| 96 | + }); | ||
| 97 | + return mapValue; | ||
| 98 | + }, | ||
| 99 | + openDrawingManager : function() { | ||
| 100 | + // 清楚地图覆盖物 | ||
| 101 | + // mapValue.clearOverlays(); | ||
| 102 | + // 打开鼠标绘画工具 | ||
| 103 | + drawingManager.open(); | ||
| 104 | + // 设置属性 | ||
| 105 | + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | ||
| 106 | + }, | ||
| 107 | + drawingManagerClose : function() { | ||
| 108 | + drawingManager.close(); | ||
| 109 | + }, | ||
| 110 | + localSearchFromAdreesToPoint: function(Address) { | ||
| 111 | + // 创建一个搜索类实例 | ||
| 112 | + var localSearch = new BMap.LocalSearch(mapValue); | ||
| 113 | + // 检索完成后的回调函数。 | ||
| 114 | + localSearch.setSearchCompleteCallback(function (searchResult) { | ||
| 115 | + var resultPoints = ''; | ||
| 116 | + if(searchResult) { | ||
| 117 | + // 返回索引指定的结果。索引0表示第1条结果 | ||
| 118 | + var poi = searchResult.getPoi(0); | ||
| 119 | + if(poi) { | ||
| 120 | + //获取经度和纬度 | ||
| 121 | + var Points = poi.point.lng + ' ' + poi.point.lat; | ||
| 122 | + var BJwpointsArray = Points.split(' '); | ||
| 123 | + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | ||
| 124 | + var marker_stargt2 = new BMap.Marker(stationNameChangePoint); | ||
| 125 | + var PanOptions ={noAnimation :true}; | ||
| 126 | + mapValue.panTo(stationNameChangePoint,PanOptions); | ||
| 127 | + mapValue.panBy(0,-200); | ||
| 128 | + // 将标注添加到地图中 | ||
| 129 | + mapValue.addOverlay(marker_stargt2); | ||
| 130 | + //跳动的动画 | ||
| 131 | + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | + }); | ||
| 135 | + // 根据检索词发起检索。 | ||
| 136 | + localSearch.search(Address); | ||
| 137 | + }, | ||
| 138 | + /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | ||
| 139 | + pointsCircle : function(r,point,htm,opts) { | ||
| 140 | + //创建圆 | ||
| 141 | + circle = new BMap.Circle(point,r[0].carParkRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | ||
| 142 | + // 允许覆盖物在map.clearOverlays方法中被清除 | ||
| 143 | + circle.enableMassClear(); | ||
| 144 | + // 百度地图添加覆盖物圆 | ||
| 145 | + mapValue.addOverlay(circle); | ||
| 146 | + // 创建信息窗口 | ||
| 147 | + infoWindow = new BMap.InfoWindow(htm, opts); | ||
| 148 | + // 自定义标注物图片 | ||
| 149 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | ||
| 150 | + // 创建点 | ||
| 151 | + marker = new BMap.Marker(point,{icon : icon_target}); | ||
| 152 | + // 把标注添物加到地图上 | ||
| 153 | + mapValue.addOverlay(marker); | ||
| 154 | + setTimeout(function(){ | ||
| 155 | + //开启信息窗口 | ||
| 156 | + marker.openInfoWindow(infoWindow,point); | ||
| 157 | + },100); | ||
| 158 | + // 是否在平移过程中禁止动画。(自1.2新增) | ||
| 159 | + var PanOptions_ ={noAnimation :true}; | ||
| 160 | + // 将地图的中心点更改为给定的点。 | ||
| 161 | + mapValue.panTo(point,PanOptions_); | ||
| 162 | + // 添加标志物监听事件 | ||
| 163 | + marker.addEventListener("click",function() { | ||
| 164 | + //开启信息窗口 | ||
| 165 | + marker.openInfoWindow(infoWindow,point); | ||
| 166 | + }); | ||
| 167 | + }, | ||
| 168 | + | ||
| 169 | + /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | ||
| 170 | + pointsPolygon : function(r,pointPolygon,htm,opts_polygon) { | ||
| 171 | + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | ||
| 172 | + mapValue.setZoom(17); | ||
| 173 | + // 获取多边形坐标字符串 | ||
| 174 | + var stationBPolygonGrid = r[0].carParkBparkPoint; | ||
| 175 | + // 截取多边形坐标字符串 | ||
| 176 | + var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2); | ||
| 177 | + // 按逗号切割 | ||
| 178 | + var pointPolygonArray = stationBPolygonGridStr.split(','); | ||
| 179 | + // 多边形坐标集合 | ||
| 180 | + var polygonP = []; | ||
| 181 | + for(var v = 0;v<pointPolygonArray.length;v++) { | ||
| 182 | + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1])); | ||
| 183 | + } | ||
| 184 | + // 画多边形 | ||
| 185 | + polygon = new BMap.Polygon(polygonP, { | ||
| 186 | + // 线条显色 | ||
| 187 | + strokeColor : "blue", | ||
| 188 | + // 边线的宽度,以像素为单位。 | ||
| 189 | + strokeWeight : 2, | ||
| 190 | + // 边线透明度,取值范围0 - 1。 | ||
| 191 | + strokeOpacity : 0.5 | ||
| 192 | + }); | ||
| 193 | + // 增加地图覆盖物多边形 | ||
| 194 | + mapValue.addOverlay(polygon); | ||
| 195 | + // 创建信息窗口 | ||
| 196 | + infoWindow = new BMap.InfoWindow(htm, opts_polygon); | ||
| 197 | + // 自定义标注物图片 | ||
| 198 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | ||
| 199 | + // 创建点 | ||
| 200 | + marker = new BMap.Marker(pointPolygon,{icon : icon_target}); | ||
| 201 | + // 把标注添物加到地图上 | ||
| 202 | + mapValue.addOverlay(marker); | ||
| 203 | + // 是否在平移过程中禁止动画。(自1.2新增) | ||
| 204 | + var PanOptions_ ={noAnimation :true}; | ||
| 205 | + // 将地图的中心点更改为给定的点。 | ||
| 206 | + mapValue.panTo(pointPolygon,PanOptions_); | ||
| 207 | + // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 | ||
| 208 | + mapValue.panBy(10,-250,PanOptions_); | ||
| 209 | + //开启信息窗口 | ||
| 210 | + marker.openInfoWindow(infoWindow,pointPolygon); | ||
| 211 | + }, | ||
| 212 | + | ||
| 213 | + // 编辑图形 | ||
| 214 | + editShapes : function(stationShapesTypeV,mindex) { | ||
| 215 | + // 关闭信息窗口 | ||
| 216 | + marker.closeInfoWindow(); | ||
| 217 | + // 清除marker | ||
| 218 | + mapValue.removeOverlay(marker); | ||
| 219 | + // 编辑圆 | ||
| 220 | + if(stationShapesTypeV =='r') { | ||
| 221 | + // 开启编辑功能 | ||
| 222 | + circle.enableEditing(); | ||
| 223 | + // 编辑圆监听事件 | ||
| 224 | + circle.addEventListener('dblclick',function() { | ||
| 225 | + // 关闭提示弹出层 | ||
| 226 | + layer.close(mindex); | ||
| 227 | + // 返回圆形的半径,单位为米。 | ||
| 228 | + var newRadius = circle.getRadius(); | ||
| 229 | + // 返回圆形的中心点坐标。 | ||
| 230 | + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | ||
| 231 | + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | ||
| 232 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | ||
| 233 | + EditCarParkObj.setCarParkBcenterPoint(newCenter); | ||
| 234 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | ||
| 235 | + EditCarParkObj.setCarParkShapesType('r'); | ||
| 236 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | ||
| 237 | + EditCarParkObj.setCarParkRadius(Math.round(newRadius)); | ||
| 238 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | ||
| 239 | + EditCarParkObj.setCarParkBparkPoint(''); | ||
| 240 | + // 加载编辑页面 | ||
| 241 | + $.get('edit.html', function(m){ | ||
| 242 | + $(pjaxContainer).append(m); | ||
| 243 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | ||
| 244 | + }); | ||
| 245 | + }); | ||
| 246 | + // 编辑多变行 | ||
| 247 | + }else if(stationShapesTypeV =='d') { | ||
| 248 | + // 开启编辑功能(自 1.1 新增) | ||
| 249 | + polygon.enableEditing(); | ||
| 250 | + // 添加多变行编辑事件 | ||
| 251 | + polygon.addEventListener('dblclick',function(e) { | ||
| 252 | + // 获取编辑的多边形对象 | ||
| 253 | + var edit_pointE = polygon; | ||
| 254 | + var edit_bPloygonGrid = ""; | ||
| 255 | + var editPolyGonLen_ = edit_pointE.getPath().length; | ||
| 256 | + for(var k =0;k<editPolyGonLen_;k++) { | ||
| 257 | + if(k==0) { | ||
| 258 | + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | ||
| 259 | + }else { | ||
| 260 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | ||
| 261 | + } | ||
| 262 | + } | ||
| 263 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat; | ||
| 264 | + // 多边形中心点 | ||
| 265 | + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | ||
| 266 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | ||
| 267 | + EditCarParkObj.setCarParkBcenterPoint(centre_points); | ||
| 268 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | ||
| 269 | + EditCarParkObj.setCarParkShapesType('d'); | ||
| 270 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | ||
| 271 | + EditCarParkObj.setCarParkRadius(''); | ||
| 272 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | ||
| 273 | + EditCarParkObj.setCarParkBparkPoint(edit_bPloygonGrid); | ||
| 274 | + $.get('edit.html', function(m){ | ||
| 275 | + $(pjaxContainer).append(m); | ||
| 276 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | ||
| 277 | + }); | ||
| 278 | + }); | ||
| 279 | + } | ||
| 280 | + }, | ||
| 281 | + clearMarkAndOverlays : function() { | ||
| 282 | + // 清楚地图覆盖物 | ||
| 283 | + mapValue.clearOverlays(); | ||
| 284 | + } | ||
| 285 | + } | ||
| 286 | + return Bmap; | ||
| 287 | +}(); | ||
| 0 | \ No newline at end of file | 288 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/carpark-positions-reload.js
0 → 100644
| 1 | +/** | ||
| 2 | + * | ||
| 3 | + * @JSName : list.js(停车场定位positions.html页面js) | ||
| 4 | + * | ||
| 5 | + * @Author : bsth@lq | ||
| 6 | + * | ||
| 7 | + * @Description : TODO(停车场定位positions.html页面js) | ||
| 8 | + * | ||
| 9 | + * @Data : 2016年4月28日 上午9:21:17 | ||
| 10 | + * | ||
| 11 | + * @Version 公交调度系统BS版 0.1 | ||
| 12 | + * | ||
| 13 | + */ | ||
| 14 | + | ||
| 15 | +(function(){ | ||
| 16 | + // 获取参数停车场ID | ||
| 17 | + var id = $.url().param('no'); | ||
| 18 | + // 关闭左侧栏 | ||
| 19 | + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();} | ||
| 20 | + // 等候300毫秒执行 | ||
| 21 | + setTimeout(function(){ | ||
| 22 | + // 地图初始化 | ||
| 23 | + mapB = CarParkPWorldsBMap.init(); | ||
| 24 | + /** 停车场信息初始化 @param:<id:停车场ID> */ | ||
| 25 | + PublicFunctions.initCarPark(id); | ||
| 26 | + },300); | ||
| 27 | +})(); | ||
| 0 | \ No newline at end of file | 28 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/js/positioncarpark.js
0 → 100644
| 1 | +var EditCarParkObj = function () { | ||
| 2 | + | ||
| 3 | + /** 定义修改停车场对象 */ | ||
| 4 | + var CarPark={}; | ||
| 5 | + | ||
| 6 | + var CarParkObj = { | ||
| 7 | + | ||
| 8 | + /** 获取修改停车场集合对象 @return:<CarPark:修改停车场对象> */ | ||
| 9 | + getEitdCarPark : function() { | ||
| 10 | + | ||
| 11 | + return CarPark; | ||
| 12 | + }, | ||
| 13 | + | ||
| 14 | + /** 设置修改停车场集合对象 */ | ||
| 15 | + setEitdCarPark : function(sc) { | ||
| 16 | + | ||
| 17 | + CarPark = sc; | ||
| 18 | + }, | ||
| 19 | + | ||
| 20 | + /** 设置修改停车场集合对象名称属性 @param:<name:停车场名称> */ | ||
| 21 | + setEitdCarParkName : function(name) { | ||
| 22 | + | ||
| 23 | + CarPark.carParkName = name; | ||
| 24 | + }, | ||
| 25 | + | ||
| 26 | + /** 设置修改停车场集合对象图形质心点属性 @param:<center:多边形质心点> */ | ||
| 27 | + setCarParkBcenterPoint : function(center) { | ||
| 28 | + | ||
| 29 | + CarPark.carParkBcenterPoint = center; | ||
| 30 | + | ||
| 31 | + }, | ||
| 32 | + | ||
| 33 | + /** 设置修改停车场集合对象多边形图形坐标集合属性 @param:<bParkPoint:多边形图形坐标集合> */ | ||
| 34 | + setCarParkBparkPoint : function(bParkPoint) { | ||
| 35 | + | ||
| 36 | + CarPark.carParkBparkPoint = bParkPoint; | ||
| 37 | + }, | ||
| 38 | + | ||
| 39 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | ||
| 40 | + setCarParkShapesType : function(shapeType) { | ||
| 41 | + | ||
| 42 | + CarPark.carParkShapesType = shapeType; | ||
| 43 | + }, | ||
| 44 | + | ||
| 45 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | ||
| 46 | + setCarParkRadius : function(radius) { | ||
| 47 | + | ||
| 48 | + CarPark.carParkRadius = radius; | ||
| 49 | + | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + return CarParkObj; | ||
| 55 | + | ||
| 56 | +}(); |
src/main/resources/static/pages/base/carpark_sut/list.html
0 → 100644
| 1 | +<div class="page-head"> | ||
| 2 | + <div class="page-title"> | ||
| 3 | + <h1>停车场信息</h1> | ||
| 4 | + </div> | ||
| 5 | +</div> | ||
| 6 | + | ||
| 7 | +<ul class="page-breadcrumb breadcrumb"> | ||
| 8 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li> | ||
| 9 | + <li><span class="active">基础数据管理</span> <i class="fa fa-circle"></i></li> | ||
| 10 | + <li><span class="active">停车场信息</span></li> | ||
| 11 | +</ul> | ||
| 12 | + | ||
| 13 | +<div class="row"> | ||
| 14 | + <div class="col-md-12"> | ||
| 15 | + <div class="portlet light porttlet-fit bordered"> | ||
| 16 | + <div class="portlet-title"> | ||
| 17 | + <div class="caption"> | ||
| 18 | + <i class="fa fa-info-circle font-dark"></i> | ||
| 19 | + <span class="caption-subject font-dark sbold uppercase">停车场信息</span> | ||
| 20 | + </div> | ||
| 21 | + <div class="actions"> | ||
| 22 | + <div class="btn-group btn-group-devided" data-toggle="buttons"> | ||
| 23 | + <a class="btn btn-circle blue" href="add.html" data-pjax><i class="fa fa-plus"></i> 添加停车场</a> | ||
| 24 | + </div> | ||
| 25 | + </div> | ||
| 26 | + </div> | ||
| 27 | + <div class="portlet-body"> | ||
| 28 | + <div class="table-container" style="margin-top: 10px"> | ||
| 29 | + <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_carpark"> | ||
| 30 | + <thead> | ||
| 31 | + <tr role="row" class="heading"> | ||
| 32 | + <th width="3%">序号</th> | ||
| 33 | + <th width="12%">停车场名称</th> | ||
| 34 | + <th width="8%">停车场编码</th> | ||
| 35 | + <th width="8%">地理位置</th> | ||
| 36 | + <th width="6%">面积(㎡)</th> | ||
| 37 | + <th width="8%">所属公司</th> | ||
| 38 | + <th width="8%">所属分公司</th> | ||
| 39 | + <th width="6%">版本号</th> | ||
| 40 | + <th width="6%">是否撤销</th> | ||
| 41 | + <th width="10%">操作</th> | ||
| 42 | + </tr> | ||
| 43 | + <tr role="row" class="filter"> | ||
| 44 | + <td>#</td> | ||
| 45 | + <td> | ||
| 46 | + <!-- <input type="text" class="form-control form-filter input-sm" name="parkName_like" > --> | ||
| 47 | + <select name="parkName_like" class="form-control" style="width:100%" id="parkNameSelect"></select> | ||
| 48 | + </td> | ||
| 49 | + <td> | ||
| 50 | + <input type="text" class="form-control form-filter input-sm" name="parkCode_like" id="parkCodeInput"> | ||
| 51 | + | ||
| 52 | + </td> | ||
| 53 | + <td> | ||
| 54 | + <input type="text" class="form-control form-filter input-sm" name="gCenterPoint_like"> | ||
| 55 | + </td> | ||
| 56 | + <td> | ||
| 57 | + <input type="text" class="form-control form-filter input-sm" name="area_eq"> | ||
| 58 | + </td> | ||
| 59 | + <td> | ||
| 60 | + <select name="company_eq" class="form-control" id="companySelect"></select> | ||
| 61 | + </td> | ||
| 62 | + <td> | ||
| 63 | + <select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select> | ||
| 64 | + <!-- <input type="text" class="form-control form-filter input-sm" name="brancheCompany_eq" id="brancheCompanySelect"> --> | ||
| 65 | + </td> | ||
| 66 | + <td> | ||
| 67 | + <input type="text" class="form-control form-filter input-sm" name="versions_eq"> | ||
| 68 | + </td> | ||
| 69 | + <td> | ||
| 70 | + <select class="form-control form-filter " name="destroy_eq"> | ||
| 71 | + <option value="">请选择...</option> | ||
| 72 | + <option value="0">运营</option> | ||
| 73 | + <option value="1">撤销</option> | ||
| 74 | + </select> | ||
| 75 | + </td> | ||
| 76 | + <td> | ||
| 77 | + <button class="btn btn-sm green btn-outline filter-submit margin-bottom" > | ||
| 78 | + <i class="fa fa-search"></i> 搜索 | ||
| 79 | + </button> | ||
| 80 | + | ||
| 81 | + <button class="btn btn-sm red btn-outline filter-cancel"> | ||
| 82 | + <i class="fa fa-times"></i> 重置 | ||
| 83 | + </button> | ||
| 84 | + </td> | ||
| 85 | + </tr> | ||
| 86 | + </thead> | ||
| 87 | + <tbody></tbody> | ||
| 88 | + </table> | ||
| 89 | + <div style="text-align: right;"> | ||
| 90 | + <ul id="pagination" class="pagination"></ul> | ||
| 91 | + </div> | ||
| 92 | + </div> | ||
| 93 | + </div> | ||
| 94 | + </div> | ||
| 95 | + </div> | ||
| 96 | +</div> | ||
| 97 | + | ||
| 98 | +<script type="text/html" id="carpark_list_table_temp"> | ||
| 99 | + {{each list as obj i }} | ||
| 100 | + <tr> | ||
| 101 | + <td style="vertical-align: middle;"> | ||
| 102 | + {{(list.page*10)+(i+1)}} | ||
| 103 | + </td> | ||
| 104 | + <td> | ||
| 105 | + {{obj.parkName}} | ||
| 106 | + </td> | ||
| 107 | + <td> | ||
| 108 | + {{obj.parkCode}} | ||
| 109 | + </td> | ||
| 110 | + <td> | ||
| 111 | + {{obj.bCenterPoint}} | ||
| 112 | + </td> | ||
| 113 | + <td> | ||
| 114 | + {{obj.area}} | ||
| 115 | + </td> | ||
| 116 | + <td> | ||
| 117 | + {{obj.gsmc}} | ||
| 118 | + </td> | ||
| 119 | + <td> | ||
| 120 | + {{obj.fgsmc}} | ||
| 121 | + </td> | ||
| 122 | + <td> | ||
| 123 | + {{obj.versions}} | ||
| 124 | + </td> | ||
| 125 | + <td> | ||
| 126 | + {{if obj.destroy == 1}} | ||
| 127 | + <span style="font-weight: bold; color: red; padding: 5px; background-color: #FFE4E1; margin: 5px; font-size: 9px;border-radius: 4px;">撤销</span> | ||
| 128 | + {{else if obj.destroy == 0}} | ||
| 129 | + <span style="font-weight: bold; color: #07824e; padding: 5px; background-color: #FFE4E1; margin: 5px; font-size: 9px;border-radius: 4px;">运营</span> | ||
| 130 | + {{/if}} | ||
| 131 | + </td> | ||
| 132 | + <td> | ||
| 133 | + <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> | ||
| 134 | + </td> | ||
| 135 | + </tr> | ||
| 136 | + {{/each}} | ||
| 137 | + {{if list.length == 0}} | ||
| 138 | + <tr> | ||
| 139 | + <td colspan=10><h6 class="muted">没有找到相关数据</h6></td> | ||
| 140 | + </tr> | ||
| 141 | + {{/if}} | ||
| 142 | +</script> | ||
| 143 | +<script src="/pages/base/carpark/js/carpark-list-table.js"></script> | ||
| 0 | \ No newline at end of file | 144 | \ No newline at end of file |
src/main/resources/static/pages/base/carpark_sut/positions.html
0 → 100644
| 1 | +<link href="/pages/base/carpark/css/positions.css" rel="stylesheet" type="text/css" /> | ||
| 2 | +<!-- 地图容器--> | ||
| 3 | +<div id="carParkbmap_basic"></div> | ||
| 4 | +<!-- 操作工具容器 --> | ||
| 5 | +<div class="leftUtils" style="display: none"> | ||
| 6 | + <div class="btn-group" style="left: 100px;"> | ||
| 7 | + <a class="btn btn-sm green-seagreen dropdown-toggle" style="width: 98px;" href="javascript:;" data-toggle="dropdown" aria-expanded="false"> 操作工具 | ||
| 8 | + <i class="fa fa-angle-down"></i> | ||
| 9 | + </a> | ||
| 10 | + <ul class="dropdown-menu pull-right" style="min-width:100px"> | ||
| 11 | + <li> | ||
| 12 | + <a href="javascript:;" id="edit"><i class="fa fa-pencil"></i> 修改 </a> | ||
| 13 | + </li> | ||
| 14 | + <li> | ||
| 15 | + <a href="javascript:;" id = "backUp"> <i class="fa fa-reply"></i> 返回 </a> | ||
| 16 | + </li> | ||
| 17 | + | ||
| 18 | + </ul> | ||
| 19 | + </div> | ||
| 20 | +</div> | ||
| 21 | +<div class="drwmageUtils" style="display: none"> | ||
| 22 | + <div class="btn-group" style="left: 100px;"> | ||
| 23 | + <a class="btn btn-sm green-seagreen dropdown-toggle" style="width: 98px;" href="javascript:;" data-toggle="dropdown" aria-expanded="false"> 绘制工具 | ||
| 24 | + <i class="fa fa-angle-down"></i> | ||
| 25 | + </a> | ||
| 26 | + <ul class="dropdown-menu pull-right" style="min-width:100px"> | ||
| 27 | + <li> | ||
| 28 | + <a href="javascript:;" id="oppenDrawingManager"><i class="fa fa-pencil"></i> 打开 </a> | ||
| 29 | + </li> | ||
| 30 | + <li> | ||
| 31 | + <a href="javascript:;" id = "closeDrawingManager"> <i class="fa fa-reply"></i> 关闭 </a> | ||
| 32 | + </li> | ||
| 33 | + </ul> | ||
| 34 | + </div> | ||
| 35 | +</div> | ||
| 36 | +<!-- 编辑停车场对象类 --> | ||
| 37 | +<script src="/pages/base/carpark/js/positioncarpark.js"></script> | ||
| 38 | +<!-- ajax异步请求类 --> | ||
| 39 | +<script src="/pages/base/carpark/js/carpark-positions-ajax.js"></script> | ||
| 40 | +<!-- 函数方法JS类库 --> | ||
| 41 | +<script src="/pages/base/carpark/js/carpark-positions-function.js"></script> | ||
| 42 | +<!-- 地图JS类库 --> | ||
| 43 | +<script src="/pages/base/carpark/js/carpark-positions-map.js"></script> | ||
| 44 | +<!-- 事件(PublicFunctions)JS类库 --> | ||
| 45 | +<script src="/pages/base/carpark/js/carpark-positions-events.js"></script> | ||
| 46 | +<!-- reloadJS类库 --> | ||
| 47 | +<script src="/pages/base/carpark/js/carpark-positions-reload.js"></script> | ||
| 0 | \ No newline at end of file | 48 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/drawingManager.js
0 → 100644
| 1 | +var DrawingManagerObj = function () { | ||
| 2 | + | ||
| 3 | + // 创建鼠标绘制管理类 | ||
| 4 | + var drawingManager = ''; | ||
| 5 | + | ||
| 6 | + var draMangerObj = { | ||
| 7 | + | ||
| 8 | + /** 初始化绘制工具类 */ | ||
| 9 | + init : function(map,styleOptions) { | ||
| 10 | + | ||
| 11 | + drawingManager = new BMapLib.DrawingManager(map, { | ||
| 12 | + | ||
| 13 | + //是否开启绘制模式 | ||
| 14 | + isOpen : false, | ||
| 15 | + | ||
| 16 | + //是否显示工具栏 | ||
| 17 | + enableDrawingTool : false, | ||
| 18 | + | ||
| 19 | + drawingToolOptions : { | ||
| 20 | + | ||
| 21 | + //位置 | ||
| 22 | + anchor : BMAP_ANCHOR_TOP_RIGHT, | ||
| 23 | + | ||
| 24 | + //偏离值 | ||
| 25 | + offset : new BMap.Size(5, 5), | ||
| 26 | + | ||
| 27 | + //工具栏缩放比例 | ||
| 28 | + scale : 0.8 | ||
| 29 | + | ||
| 30 | + }, | ||
| 31 | + | ||
| 32 | + //线的样式 | ||
| 33 | + polygonOptions : styleOptions | ||
| 34 | + | ||
| 35 | + }); | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + return drawingManager; | ||
| 40 | + | ||
| 41 | + }, | ||
| 42 | + | ||
| 43 | + openPointDrawingManager : function(objStation, type) { | ||
| 44 | + | ||
| 45 | + // 打开鼠标绘画工具 | ||
| 46 | + DrawingManagerObj.drawingManagerOpen(); | ||
| 47 | + | ||
| 48 | + // 添加绘画完成事件 | ||
| 49 | + drawingManager.addEventListener('polygoncomplete', function(e) { | ||
| 50 | + // 关闭绘画 | ||
| 51 | + DrawingManagerObj.drawingManagerClose(); | ||
| 52 | + // 隐藏绘画工具栏 | ||
| 53 | + $('.leftUtils').addClass('hidden'); | ||
| 54 | + | ||
| 55 | + if (e.getPath().length <= 2) { | ||
| 56 | + WorldsBMapLine.clearMarkAndOverlays(); | ||
| 57 | + | ||
| 58 | + // 弹出提示消息 | ||
| 59 | + layer.msg('坐标点不能小于三个,请重新操作!'); | ||
| 60 | + | ||
| 61 | + }else { | ||
| 62 | + // 获取编辑的多边形对象 | ||
| 63 | + var pointE = e; | ||
| 64 | + | ||
| 65 | + var bPloygonGrid = ""; | ||
| 66 | + | ||
| 67 | + var editPolyGonLen_ = pointE.getPath().length; | ||
| 68 | + | ||
| 69 | + for(var k =0;k<editPolyGonLen_;k++) { | ||
| 70 | + | ||
| 71 | + if(k==0) { | ||
| 72 | + | ||
| 73 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 74 | + | ||
| 75 | + }else { | ||
| 76 | + | ||
| 77 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | ||
| 78 | + | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | ||
| 84 | + // 多边形中心点 | ||
| 85 | + var centre_points = pointE.getBounds().getCenter().lng + ' ' + pointE.getBounds().getCenter().lat; | ||
| 86 | + if(type == 'edit') { | ||
| 87 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | ||
| 88 | + objStation.stationBJwpoints = centre_points; | ||
| 89 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | ||
| 90 | + objStation.stationShapesType = 'd';; | ||
| 91 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | ||
| 92 | + objStation.stationRadius = ''; | ||
| 93 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | ||
| 94 | + objStation.stationBPolygonGrid = bPloygonGrid; | ||
| 95 | + $.get('editstation.html', function(m){ | ||
| 96 | + | ||
| 97 | + $(pjaxContainer).append(m); | ||
| 98 | + | ||
| 99 | + $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMapLine, MapGetAjaxData, PublicFunctions, objStation]); | ||
| 100 | + | ||
| 101 | + }); | ||
| 102 | + } else if(type == 'add') { | ||
| 103 | + /** 设置新增站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | ||
| 104 | + objStation.bJwpoints = centre_points; | ||
| 105 | + /** 设置新增站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | ||
| 106 | + objStation.shapesType = 'd'; | ||
| 107 | + /** 设置新增站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | ||
| 108 | + objStation.radius = ''; | ||
| 109 | + /** 设置新增站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | ||
| 110 | + objStation.bPolygonGrid = bPloygonGrid; | ||
| 111 | + // 加载add页面 | ||
| 112 | + $.get('addstation.html', function(m){ | ||
| 113 | + $(pjaxContainer).append(m); | ||
| 114 | + $('#add_station_mobal').trigger('AddStationMobal.show', [WorldsBMapLine, MapGetAjaxData, objStation, EditRoute, PublicFunctions]); | ||
| 115 | + }); | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + } | ||
| 119 | + // 打开按钮事件 | ||
| 120 | + PublicFunctions.editAChangeCssRemoveDisabled(); | ||
| 121 | + }); | ||
| 122 | + | ||
| 123 | + }, | ||
| 124 | + // 打开绘画工具 | ||
| 125 | + drawingManagerOpen : function() { | ||
| 126 | + // 打开鼠标绘画工具 | ||
| 127 | + drawingManager.open(); | ||
| 128 | + // 设置属性 | ||
| 129 | + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | ||
| 130 | + }, | ||
| 131 | + drawingManagerClose : function() { | ||
| 132 | + drawingManager.close(); | ||
| 133 | + }, | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + return draMangerObj; | ||
| 137 | + | ||
| 138 | +}(); | ||
| 0 | \ No newline at end of file | 139 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/editRoute.js
0 → 100644
| 1 | +/** 生成路线类 */ | ||
| 2 | +var EditRoute = function(){ | ||
| 3 | + | ||
| 4 | + var line={}; | ||
| 5 | + | ||
| 6 | + /** 定义修改线路对象 */ | ||
| 7 | + | ||
| 8 | + var editRoute = { | ||
| 9 | + getLineObj : function() { | ||
| 10 | + return line; | ||
| 11 | + }, | ||
| 12 | + setLineId : function(id) { | ||
| 13 | + line.id = id; | ||
| 14 | + }, | ||
| 15 | + getLineId : function() { | ||
| 16 | + return line.id; | ||
| 17 | + }, | ||
| 18 | + setLineDir : function(dir) { | ||
| 19 | + | ||
| 20 | + line.dir = dir; | ||
| 21 | + }, | ||
| 22 | + getLineDir : function() { | ||
| 23 | + | ||
| 24 | + return line.dir; | ||
| 25 | + }, | ||
| 26 | + setLineGenerationType : function(generationType) {// 生成类型(uploadGPS:上传gps/cite:引用当前版本) | ||
| 27 | + line.generationType = generationType; | ||
| 28 | + }, | ||
| 29 | + getLineGenerationType : function() {// 生成类型(uploadGPS:上传gps/cite:引用当前版本) | ||
| 30 | + return line.generationType; | ||
| 31 | + }, | ||
| 32 | + }; | ||
| 33 | + | ||
| 34 | + return editRoute; | ||
| 35 | +}(); |
src/main/resources/static/pages/base/line_sut/js/line-add-form.js
0 → 100644
| 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 | + }, "请正确填写您的联系电话"); | ||
| 288 | +}); | ||
| 0 | \ No newline at end of file | 289 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/line-details-info.js
0 → 100644
| 1 | +/** | ||
| 2 | + * @description TODO(线路信息详情片段JS模块) | ||
| 3 | + * | ||
| 4 | + * @author bsth@lq | ||
| 5 | + * | ||
| 6 | + * @date 二〇一六年十月十八日 13:31:58 | ||
| 7 | + * | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +$(function(){ | ||
| 11 | + // 关闭左侧栏 | ||
| 12 | + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();} | ||
| 13 | + /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */ | ||
| 14 | + $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'}); | ||
| 15 | + /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | ||
| 16 | + $('#startStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | ||
| 17 | + /** 起始站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | ||
| 18 | + $('#endTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | ||
| 19 | + /** 终点站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | ||
| 20 | + $('#endStationFirstTimeInput').datetimepicker({format : 'HH:mm', locale: 'zh-cn'}); | ||
| 21 | + /** 终点站末班时间 日期控件 <format:日期控件时间格式;locale:语言> */ | ||
| 22 | + $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'}); | ||
| 23 | + | ||
| 24 | + // 填充分公司下拉框选择值 | ||
| 25 | + function getbrancheCompanyValues(businessCode,cb){ | ||
| 26 | + // 分公司下拉框options属性值 | ||
| 27 | + var options = '<option value="">-- 请选择分公司 --</option>'; | ||
| 28 | + if(businessCode) { | ||
| 29 | + $get('/business/all', {upCode_eq: businessCode}, function(brancheCompany){ | ||
| 30 | + // 遍历brancheCompany | ||
| 31 | + $.each(brancheCompany, function(i,d){ | ||
| 32 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | ||
| 33 | + }); | ||
| 34 | + // 填充分公司下拉框options | ||
| 35 | + $('#brancheCompanySelect').html(options); | ||
| 36 | + return cb && cb(); | ||
| 37 | + }); | ||
| 38 | + } else { | ||
| 39 | + // 填充分公司下拉框options | ||
| 40 | + $('#brancheCompanySelect').html(options); | ||
| 41 | + return cb && cb(); | ||
| 42 | + } | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + // 填充公司下拉框 | ||
| 46 | + function selectTemp(callback) { | ||
| 47 | + // 填充公司下拉框选择值 | ||
| 48 | + $.get('/business/all', {upCode_eq: '88'}, function(array){ | ||
| 49 | + // 公司下拉options属性值 | ||
| 50 | + var options = '<option value="">-- 请选择公司 --</option>'; | ||
| 51 | + // 遍历array | ||
| 52 | + $.each(array, function(i,d){ | ||
| 53 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | ||
| 54 | + }); | ||
| 55 | + // 填充公司下拉框options | ||
| 56 | + $('#companySelect').html(options); | ||
| 57 | + callback && callback(); | ||
| 58 | + }); | ||
| 59 | + } | ||
| 60 | + // 获取参数ID | ||
| 61 | + var lineId = $.url().param('no'); | ||
| 62 | + if(lineId) { | ||
| 63 | + // 填充公司下拉框 | ||
| 64 | + selectTemp(function(){ | ||
| 65 | + // 根据ID查询详细信息 | ||
| 66 | + $get('/line/' + lineId ,null, function(result){ | ||
| 67 | + // 如果不为空 | ||
| 68 | + if(result) { | ||
| 69 | + // 定义日期格式 | ||
| 70 | + var fs = 'YYYY-MM-DD' | ||
| 71 | + // 设置日期格式 | ||
| 72 | + result.openDate = moment(result.openDate).format(fs); | ||
| 73 | + // 获取线路详情表单元素并设值 | ||
| 74 | + putFormData(result, '#line_details_form'); | ||
| 75 | + // 获取表单元素并设置Disabled属性 | ||
| 76 | + $('input,select,textarea','#line_details_form').attr('Disabled','Disabled'); | ||
| 77 | + // 设置公司值 | ||
| 78 | + $('#companySelect').val(result.company); | ||
| 79 | + // 填充分公司下拉框选择值 | ||
| 80 | + getbrancheCompanyValues(result.company,function(){ | ||
| 81 | + // 设置分公司 | ||
| 82 | + $('#brancheCompanySelect').val(result.brancheCompany); | ||
| 83 | + }); | ||
| 84 | + } | ||
| 85 | + }); | ||
| 86 | + }); | ||
| 87 | + | ||
| 88 | + } else { | ||
| 89 | + // 缺少ID | ||
| 90 | + layer.confirm('【ID缺失,请点击返回,重新进行详情操作】', {btn : [ '返回' ],icon: 3, title:'提示'}, function(index){ | ||
| 91 | + // 关闭弹出层 | ||
| 92 | + layer.close(index); | ||
| 93 | + // 放回list页面 | ||
| 94 | + loadPage('list.html'); | ||
| 95 | + }); | ||
| 96 | + } | ||
| 97 | +}); | ||
| 0 | \ No newline at end of file | 98 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/line-edit-form.js
0 → 100644
| 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 | + | ||
| 288 | +}(); | ||
| 0 | \ No newline at end of file | 289 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/line-list-table.js
0 → 100644
| 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 | + }); | ||
| 428 | +})(); | ||
| 0 | \ No newline at end of file | 429 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/map-ajax-getdata.js
0 → 100644
| 1 | +/** | ||
| 2 | + * MapGetAjaxData :ajax异步请求 | ||
| 3 | + * | ||
| 4 | + * - - - - - -》 getSectionCacheList :获取路段列表 | ||
| 5 | + * | ||
| 6 | + * - - - - - -》 getzdlyInfo :获取站点列表 | ||
| 7 | + * | ||
| 8 | + * - - - - - -》 getLikeStationName :查询是否有已存在站点名称 | ||
| 9 | + * | ||
| 10 | + * - - - - - -》 getStationCode:查询站点编码 | ||
| 11 | + * | ||
| 12 | + * - - - - - -》 findCacheUpStationRouteCode:查询上一个缓存站点的序号 | ||
| 13 | + * | ||
| 14 | + * - - - - - -》 findCacheUpSectionRouteCode:查询上一个缓存路段的序号 | ||
| 15 | + * | ||
| 16 | + * - - - - - -》 stationCacheSave:新增缓存站点保存 | ||
| 17 | + * | ||
| 18 | + * - - - - - -》 stationCacheUpdate:站点缓存更新 | ||
| 19 | + * | ||
| 20 | + * - - - - - -》 sectionUpdate : 编辑线路走向保存 | ||
| 21 | + * | ||
| 22 | + * - - - - - -》 getIdLineName:获取线路名称 | ||
| 23 | + */ | ||
| 24 | + | ||
| 25 | +var MapGetAjaxData = function(){ | ||
| 26 | + | ||
| 27 | + var ajaxData = { | ||
| 28 | + // 获取路段列表 | ||
| 29 | + getSectionCacheList : function(lineId,dir,callback) { | ||
| 30 | + $get('/sectionroute/findCacheSection',{'lineId' : lineId , 'dir' : dir},function(resultdata) { | ||
| 31 | + callback && callback(resultdata); | ||
| 32 | + }); | ||
| 33 | + }, | ||
| 34 | + getzdlyInfo : function(params,callback) { | ||
| 35 | + $get('/stationroute/cacheList',params,function(array) { | ||
| 36 | + callback && callback(array); | ||
| 37 | + }); | ||
| 38 | + }, | ||
| 39 | + // 查询是否有已存在站点名称 | ||
| 40 | + getLikeStationName : function (stationName,callback) { | ||
| 41 | + $get('/station/all', {stationName_eq: stationName}, function(array){ | ||
| 42 | + callback && callback(array); | ||
| 43 | + }); | ||
| 44 | + }, | ||
| 45 | + // 查询站点编码 | ||
| 46 | + getStationCode : function(callback) { | ||
| 47 | + $get('/station/getStationCode',null,function(stationCode) { | ||
| 48 | + if(stationCode>0) { | ||
| 49 | + callback && callback(stationCode); | ||
| 50 | + } | ||
| 51 | + }); | ||
| 52 | + }, | ||
| 53 | + findCacheUpStationRouteCode : function(params,callback) { | ||
| 54 | + $get('/stationroute/findCacheUpStationRouteCode',params,function(result) { | ||
| 55 | + callback && callback(result); | ||
| 56 | + }); | ||
| 57 | + }, | ||
| 58 | + findCacheUpSectionRouteCode : function(lineId,dir,sectionRouteCode,callback) { | ||
| 59 | + $get('/sectionroute/findCacheUpSectionRouteCode',{'lineId' : lineId , 'direction' : dir, 'sectionRouteCode':sectionRouteCode},function(result) { | ||
| 60 | + callback && callback(result); | ||
| 61 | + }); | ||
| 62 | + }, | ||
| 63 | + // 新增缓存站点保存 | ||
| 64 | + stationCacheSave : function(station,callback) { | ||
| 65 | + $post('/station/stationCacheSave',station,function(data) { | ||
| 66 | + callback && callback(data); | ||
| 67 | + }); | ||
| 68 | + }, | ||
| 69 | + // 缓存站点更新 | ||
| 70 | + stationCacheUpdate : function(station,callback) { | ||
| 71 | + $post('/station/stationCacheUpdate',station,function(data) { | ||
| 72 | + callback && callback(data); | ||
| 73 | + }); | ||
| 74 | + }, | ||
| 75 | + // 获取线路名称 | ||
| 76 | + getIdLineName : function (id,callback) { | ||
| 77 | + | ||
| 78 | + $get('/line/' + id ,null, function(result){ | ||
| 79 | + | ||
| 80 | + callback && callback(result); | ||
| 81 | + | ||
| 82 | + }); | ||
| 83 | + | ||
| 84 | + }, | ||
| 85 | + } | ||
| 86 | + return ajaxData; | ||
| 87 | +}(); | ||
| 0 | \ No newline at end of file | 88 | \ No newline at end of file |
src/main/resources/static/pages/base/line_sut/js/map-function.js
0 → 100644
| 1 | +var PublicFunctions = function () { | ||
| 2 | + var PubFun = { | ||
| 3 | + /** 初始化线路标题与ID */ | ||
| 4 | + setTiteText : function(lineId) { | ||
| 5 | + // 根据线路ID获取线路名称 | ||
| 6 | + MapGetAjaxData.getIdLineName(lineId,function(data) { | ||
| 7 | + // 定义线路名称 | ||
| 8 | + var lineNameV = data.name; | ||
| 9 | + $('.portlet-title .caption').text(lineNameV); | ||
| 10 | + }); | ||
| 11 | + }, | ||
| 12 | + setSectionFormValue : function(Section) { | ||
| 13 | + $('#isRoadeSpeedInput').val(Section.isRoadeSpeed); | ||
| 14 | + // 路段ID | ||
| 15 | + $('#sectionIdInput').val(Section.sectionId); | ||
| 16 | + // 路段路由ID | ||
| 17 | + $('#sectionRouteIdInput').val(Section.sectionrouteId); | ||
| 18 | + // 线路ID | ||
| 19 | + $('#sectionRouteLineInput').val(Section.sectionrouteLine); | ||
| 20 | + // 线路编码 | ||
| 21 | + $('#lineCodeInput').val(Section.sectionrouteLineCode); | ||
| 22 | + // 折线坐标集合 | ||
| 23 | + $('#bsectionVectorInput').val(Section.sectionBsectionVector); | ||
| 24 | + // 路段名称 | ||
| 25 | + $('#sectionNameInput').val(Section.sectionName); | ||
| 26 | + // 路段编码 | ||
| 27 | + $('#sectionCodeInput').val(Section.sectionCode); | ||
| 28 | + // 路段序号 | ||
| 29 | + $('#sectionrouteCodeSelect').val(Section.sectionrouteCode); | ||
| 30 | + // 路段方向 | ||
| 31 | + $('#directionsSection').val(Section.sectionrouteDirections); | ||
| 32 | + // 道路编码 | ||
| 33 | + $('#roadCodingCodInput').val(Section.sectionRoadCoding); | ||
| 34 | + // 道路限速 | ||
| 35 | + $('#speedLimitInput').val(Section.sectionSpeedLimet); | ||
| 36 | + // 路段长度 | ||
| 37 | + $('#sectionDistanceInput').val(Section.sectionDistance); | ||
| 38 | + // 时长 | ||
| 39 | + $('#sectionTimeInput').val(Section.sectionTime); | ||
| 40 | + // 版本号 | ||
| 41 | + $('#versionsInput').val(Section.versions); | ||
| 42 | + // 是否撤销 | ||
| 43 | + $('#destroySelect').val(0); | ||
| 44 | + // 描述/说明 | ||
| 45 | + $('#descriptionsTextarea').val(Section.descriptions); | ||
| 46 | + }, | ||
| 47 | + setFormValue : function(editStationParmas) { | ||
| 48 | + // 站点ID | ||
| 49 | + $('#stationIdInput').val(editStationParmas.stationId); | ||
| 50 | + // 站点路由ID | ||
| 51 | + $('#stationRouteIdInput').val(editStationParmas.stationRouteId); | ||
| 52 | + // 站点路由线路Id | ||
| 53 | + $('#stationRouteLineInput').val(editStationParmas.stationRouteLine); | ||
| 54 | + // 线路编码 | ||
| 55 | + $('#lineCodeInput').val(editStationParmas.stationRouteLineCode); | ||
| 56 | + // 百度坐标点图形集合 | ||
| 57 | + $('#bPolygonGridInput').val(editStationParmas.stationBPolygonGrid); | ||
| 58 | + // 获取站点名称元素设值 | ||
| 59 | + $('#zdmcInput').val(editStationParmas.stationStationName); | ||
| 60 | + // 获取站点路由名称元素设值 | ||
| 61 | + $('#stationNameInput').val(editStationParmas.stationRouteStationName); | ||
| 62 | + // 获取站点编码元素设值 | ||
| 63 | + $('#stationCodInput').val(editStationParmas.stationStationCod); | ||
| 64 | + // 行业编码 | ||
| 65 | + $('#industryCodeInput').val(editStationParmas.industryCode); | ||
| 66 | + // 获取站点类型元素设值 | ||
| 67 | + // $('#stationMarkSelect').val(editStationParmas.stationRouteStationMark); | ||
| 68 | + // 获取站点方向元素设值 | ||
| 69 | + $('#stationdirSelect').val(editStationParmas.stationRouteDirections); | ||
| 70 | + // 获取站点道路编码元素设值 | ||
| 71 | + $('#roadCodingCodInput').val(editStationParmas.stationRoadCoding); | ||
| 72 | + // 百度地图经纬度坐标中心点 | ||
| 73 | + $('#bJwpointsInput').val(editStationParmas.stationBJwpoints); | ||
| 74 | + if(editStationParmas.stationShapesType=='r') { | ||
| 75 | + // 获取图形类型元素,并添加值 | ||
| 76 | + $('#shapesTypeSelect').val('圆形'); | ||
| 77 | + }else if(editStationParmas.stationShapesType=='d'){ | ||
| 78 | + $('#radiusGroup').hide(); | ||
| 79 | + $('#shapesTypeSelect').val('多边形'); | ||
| 80 | + } | ||
| 81 | + // 获取半径元素,并添加值 | ||
| 82 | + $('#radiusInput').val(editStationParmas.stationRadius); | ||
| 83 | + // 是否撤销 | ||
| 84 | + $('#destroySelect').val(editStationParmas.stationDestroy); | ||
| 85 | + // 到站时间 | ||
| 86 | + $('#toTimeInput').val(editStationParmas.stationRouteToTime); | ||
| 87 | + // 到站距离 | ||
| 88 | + $('#distancesInput').val(editStationParmas.stationRouteDistances); | ||
| 89 | + // 线路版本号 | ||
| 90 | + $('#versionsInput').val(editStationParmas.stationRouteVersions); | ||
| 91 | + // 描述/说明 | ||
| 92 | + $('#descriptionsTextarea').val(editStationParmas.stationRouteDescriptions); | ||
| 93 | + }, | ||
| 94 | + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */ | ||
| 95 | + linePanlThree : function(lineId,data,direction) { | ||
| 96 | + /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */ | ||
| 97 | + $get('/stationroute/getStationRouteCacheCenterPoints',{lineId:lineId,direction:direction},function(resultdata) { | ||
| 98 | + WorldsBMapLine.clearMarkAndOverlays(); | ||
| 99 | + var polyline_center; | ||
| 100 | + // 如果站点路由数据不为空 | ||
| 101 | + if(resultdata.length>0) { | ||
| 102 | + var ceter_index = Math.floor(resultdata.length / 2); | ||
| 103 | + var ceterPointsStr = resultdata[ceter_index].bJwpoints; | ||
| 104 | + var ceterPointsArray = ceterPointsStr.split(' '); | ||
| 105 | + polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]); | ||
| 106 | + // 遍历站点路由数据 | ||
| 107 | + for(var s = 0 ; s<resultdata.length;s++) { | ||
| 108 | + // 中心点坐标字符串 | ||
| 109 | + var bJwpointsStr = resultdata[s].bJwpoints; | ||
| 110 | + var stationName = resultdata[s].stationName; | ||
| 111 | + // 起个中心点坐标字符串 | ||
| 112 | + var bJwpointsArray = bJwpointsStr.split(' '); | ||
| 113 | + // 设置中心点 | ||
| 114 | + var point_center = new BMap.Point(bJwpointsArray[0],bJwpointsArray[1]); | ||
| 115 | + /** 在地图上画点 @param:<point_center:中心坐标点> */ | ||
| 116 | + WorldsBMapLine.drawingUpStationPoint(point_center,stationName,s+1); | ||
| 117 | + } | ||
| 118 | + } | ||
| 119 | + // 路段数据长度 | ||
| 120 | + var dataLen = data.length; | ||
| 121 | + // 如果大于零 | ||
| 122 | + if(dataLen>0) { | ||
| 123 | + // 编辑路段数据 | ||
| 124 | + for(var d= 0; d<dataLen;d++){ | ||
| 125 | + // 地图折线坐标点集合 | ||
| 126 | + var polylineArray = []; | ||
| 127 | + // 获取路段折线坐标字符串 | ||
| 128 | + var sectionBsectionVectorStr = data[d].sectionBsectionVector; | ||
| 129 | + if(sectionBsectionVectorStr==null) | ||
| 130 | + continue; | ||
| 131 | + // 切割段折线坐标字符串 | ||
| 132 | + var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1); | ||
| 133 | + // 分割折线坐标字符串 | ||
| 134 | + var lineArray = tempStr.split(','); | ||
| 135 | + for(var i = 0;i<lineArray.length;i++) { | ||
| 136 | + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); | ||
| 137 | + } | ||
| 138 | + /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | ||
| 139 | + WorldsBMapLine.drawingUpline01(polylineArray,polyline_center,data[d]); | ||
| 140 | + } | ||
| 141 | + } | ||
| 142 | + /** 画出所有切面切点(切路段的点) */ | ||
| 143 | + WorldsBMapLine.batchPaintingPoint(); | ||
| 144 | + }); | ||
| 145 | + }, | ||
| 146 | + // 方向代码转名称. | ||
| 147 | + dirdmToName : function(value){ | ||
| 148 | + var srStr = ''; | ||
| 149 | + if(value=='0') | ||
| 150 | + srStr = '上行'; | ||
| 151 | + else if(value=='1') | ||
| 152 | + srStr = '下行'; | ||
| 153 | + return srStr; | ||
| 154 | + }, | ||
| 155 | + // 图形编辑完成 | ||
| 156 | + editAChangeCssRemoveDisabled : function() { | ||
| 157 | + $('#section').removeClass('btn disabled'); | ||
| 158 | + $('#station').removeClass('btn disabled'); | ||
| 159 | + $('.btn-circle').removeClass('disabled'); | ||
| 160 | + $('.radio').removeClass('disabled'); | ||
| 161 | + $('.radioclass').removeClass('disabled'); | ||
| 162 | + }, | ||
| 163 | + // 图形编辑中 | ||
| 164 | + addAChangeCssAddDisabled : function() { | ||
| 165 | + $('#section').addClass('btn disabled'); | ||
| 166 | + $('#station').addClass('btn disabled'); | ||
| 167 | + $('.btn-circle').addClass('disabled'); | ||
| 168 | + $('.radio').addClass('disabled'); | ||
| 169 | + $('.radioclass').addClass('disabled'); | ||
| 170 | + }, | ||
| 171 | + } | ||
| 172 | + return PubFun ; | ||
| 173 | +}(); | ||
| 0 | \ No newline at end of file | 174 | \ No newline at end of file |