Commit c9e654565ad32d0c20a5f71164b3a7156447bbaa

Authored by ljq
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>停车场名称&nbsp;&nbsp;&nbsp;:</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> 停车场名称&nbsp;&nbsp;&nbsp; :
  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>停车场编码&nbsp;&nbsp;&nbsp;:
  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> 圆形半径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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>是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">面积&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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>所属公司&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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>所属分公司&nbsp;&nbsp;&nbsp;:</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">版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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"> 描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </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"> 圆形半径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </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">停车场名称&nbsp;&nbsp;&nbsp;:</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">停车场编码&nbsp;&nbsp;&nbsp;:</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">是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">面积&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">所属公司&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">分公司&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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> 停车场名称&nbsp;&nbsp;&nbsp; :
  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>停车场编码&nbsp;&nbsp;&nbsp;:
  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>圆形半径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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>是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">面积&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">所属公司&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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">所属分公司&nbsp;&nbsp;&nbsp;:</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">版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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"> 描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </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>修改方式&nbsp;&nbsp;&nbsp;:</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