Commit 701a621961083cc576d3fdc552d6092ba020f8c6
1 parent
036092a1
Update
Showing
5 changed files
with
360 additions
and
8 deletions
src/main/resources/static/pages/scheduleApp/module/common/prj-common-ui-route-state.js
| ... | ... | @@ -1147,6 +1147,25 @@ ScheduleApp.config([ |
| 1147 | 1147 | }); |
| 1148 | 1148 | }] |
| 1149 | 1149 | } |
| 1150 | + }) | |
| 1151 | + .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 | |
| 1152 | + url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname', | |
| 1153 | + views: { | |
| 1154 | + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} | |
| 1155 | + }, | |
| 1156 | + resolve: { | |
| 1157 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 1158 | + return $ocLazyLoad.load({ | |
| 1159 | + name: 'ttInfoDetailManage_detail_edit_module', | |
| 1160 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 1161 | + files: [ | |
| 1162 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 1163 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 1164 | + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js" | |
| 1165 | + ] | |
| 1166 | + }); | |
| 1167 | + }] | |
| 1168 | + } | |
| 1150 | 1169 | }); |
| 1151 | 1170 | |
| 1152 | 1171 | } | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
0 → 100644
| 1 | +<div ng-controller="TimeTableDetailManageFormCtrl_old2 as ctrl"> | |
| 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> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="ttInfoManage">时刻表管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <a ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})"><span ng-bind="ctrl.title1"></span></a> | |
| 23 | + <i class="fa fa-circle"></i> | |
| 24 | + </li> | |
| 25 | + <li> | |
| 26 | + <span class="active">修改班次信息</span> | |
| 27 | + </li> | |
| 28 | + </ul> | |
| 29 | + | |
| 30 | + <div class="portlet light bordered"> | |
| 31 | + <div class="portlet-title"> | |
| 32 | + <div class="caption"> | |
| 33 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 34 | + class="caption-subject font-red-sunglo bold uppercase" >批量信息修改</span> | |
| 35 | + </div> | |
| 36 | + </div> | |
| 37 | + | |
| 38 | + <div class="portlet-body form"> | |
| 39 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 40 | + <div class="form-body"> | |
| 41 | + | |
| 42 | + <div class="form-group has-success has-feedback"> | |
| 43 | + <label class="col-md-3 control-label">方向:</label> | |
| 44 | + <div class="col-md-7"> | |
| 45 | + <sa-Radiogroup model="ctrl.TimeTableDetailForSave.xlDir" dicgroup="LineTrend" name="xlDir"></sa-Radiogroup> | |
| 46 | + </div> | |
| 47 | + | |
| 48 | + </div> | |
| 49 | + <div class="form-group"> | |
| 50 | + <label class="col-md-3 control-label">起点站:</label> | |
| 51 | + <div class="col-md-7"> | |
| 52 | + <sa-Select3 model="ctrl.TimeTableDetailForSave" | |
| 53 | + name="qdz" | |
| 54 | + placeholder="请输拼音..." | |
| 55 | + dcvalue="{{ctrl.TimeTableDetailForSave.qdz.id}}" | |
| 56 | + dcname="qdz.id" | |
| 57 | + icname="stationid" | |
| 58 | + icnames="stationname" | |
| 59 | + datatype="zd" | |
| 60 | + dataassociate="true" | |
| 61 | + dataparam="{{ {'xlid': ctrl.xlid, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}" | |
| 62 | + mlp="true" | |
| 63 | + > | |
| 64 | + </sa-Select3> | |
| 65 | + </div> | |
| 66 | + </div> | |
| 67 | + <div class="form-group"> | |
| 68 | + <label class="col-md-3 control-label">终点站:</label> | |
| 69 | + <div class="col-md-7"> | |
| 70 | + <sa-Select3 model="ctrl.TimeTableDetailForSave" | |
| 71 | + name="zdz" | |
| 72 | + placeholder="请输拼音..." | |
| 73 | + dcvalue="{{ctrl.TimeTableDetailForSave.zdz.id}}" | |
| 74 | + dcname="zdz.id" | |
| 75 | + icname="stationid" | |
| 76 | + icnames="stationname" | |
| 77 | + datatype="zd" | |
| 78 | + dataassociate="true" | |
| 79 | + dataparam="{{ {'xlid': ctrl.xlid, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}" | |
| 80 | + mlp="true" | |
| 81 | + > | |
| 82 | + </sa-Select3> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + <div class="form-group"> | |
| 86 | + <label class="col-md-3 control-label">停车场:</label> | |
| 87 | + <div class="col-md-7"> | |
| 88 | + <sa-Select3 model="ctrl.TimeTableDetailForSave" | |
| 89 | + name="tcc" | |
| 90 | + placeholder="请输拼音..." | |
| 91 | + dcvalue="{{ctrl.TimeTableDetailForSave.tcc.id}}" | |
| 92 | + dcname="tcc.id" | |
| 93 | + icname="id" | |
| 94 | + icnames="parkName" | |
| 95 | + datatype="tcc" | |
| 96 | + mlp="true" | |
| 97 | + > | |
| 98 | + </sa-Select3> | |
| 99 | + </div> | |
| 100 | + </div> | |
| 101 | + | |
| 102 | + <div class="form-group has-success has-feedback"> | |
| 103 | + <label class="col-md-3 control-label">发车时间:</label> | |
| 104 | + <div class="col-md-7"> | |
| 105 | + <input type="text" class="form-control" | |
| 106 | + ng-model="ctrl.TimeTableDetailForSave.fcsj" | |
| 107 | + /> | |
| 108 | + </div> | |
| 109 | + | |
| 110 | + </div> | |
| 111 | + <div class="form-group"> | |
| 112 | + <label class="col-md-3 control-label">计划里程:</label> | |
| 113 | + <div class="col-md-7"> | |
| 114 | + <input type="text" class="form-control" | |
| 115 | + ng-model="ctrl.TimeTableDetailForSave.jhlc" | |
| 116 | + /> | |
| 117 | + </div> | |
| 118 | + | |
| 119 | + </div> | |
| 120 | + <div class="form-group"> | |
| 121 | + <label class="col-md-3 control-label">班次历时:</label> | |
| 122 | + <div class="col-md-7"> | |
| 123 | + <input type="text" class="form-control" | |
| 124 | + ng-model="ctrl.TimeTableDetailForSave.bcsj" | |
| 125 | + /> | |
| 126 | + </div> | |
| 127 | + | |
| 128 | + </div> | |
| 129 | + | |
| 130 | + </div> | |
| 131 | + | |
| 132 | + <div class="form-actions"> | |
| 133 | + <div class="row"> | |
| 134 | + <div class="col-md-offset-3 col-md-4"> | |
| 135 | + <button type="submit" class="btn green" | |
| 136 | + ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> | |
| 137 | + <a type="button" class="btn default" | |
| 138 | + ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a> | |
| 139 | + </div> | |
| 140 | + </div> | |
| 141 | + </div> | |
| 142 | + </form> | |
| 143 | + | |
| 144 | + </div> | |
| 145 | + </div> | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | +</div> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit.html
| ... | ... | @@ -55,9 +55,9 @@ |
| 55 | 55 | </a> |
| 56 | 56 | <ul class="dropdown-menu pull-right"> |
| 57 | 57 | <li> |
| 58 | - <a href="javascript:" class="tool-action"> | |
| 58 | + <a href="javascript:" class="tool-action" ng-click="ctrl.editInfos()"> | |
| 59 | 59 | <i class="fa fa-file-excel-o"></i> |
| 60 | - 导出excel | |
| 60 | + 批量修改 | |
| 61 | 61 | </a> |
| 62 | 62 | </li> |
| 63 | 63 | <li class="divider"></li> |
| ... | ... | @@ -93,6 +93,7 @@ |
| 93 | 93 | <span ng-if="!cell.ttdid" ng-bind="cell.fcsj"></span> |
| 94 | 94 | |
| 95 | 95 | <div ng-if="cell.ttdid" class="btn-group"> |
| 96 | + <input type="checkbox" ng-model="cell.sel"/> | |
| 96 | 97 | <a href="javascript:" class="btn blue btn-outline btn-circle" data-toggle="dropdown"> |
| 97 | 98 | <!-- 上下行图标 --> |
| 98 | 99 | <i ng-if="cell.xldir == '0'" class="fa fa-arrow-up" aria-hidden="true"></i> |
| ... | ... | @@ -100,7 +101,7 @@ |
| 100 | 101 | <!-- 班次类型图标(区间班次) --> |
| 101 | 102 | <i ng-if="cell.bc_type == 'region'" class="fa fa-circle-o-notch" aria-hidden="true"></i> |
| 102 | 103 | <!-- 分班班次 --> |
| 103 | - <i ng-if="cell.isFB == true" class="fa fa-adjust" aria-hidden="true"></i> | |
| 104 | + <i ng-if="cell.isfb == true" class="fa fa-adjust" aria-hidden="true"></i> | |
| 104 | 105 | |
| 105 | 106 | <span ng-bind="cell.fcsj"></span> |
| 106 | 107 | <i class="fa fa-angle-down"></i> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/route.js
| ... | ... | @@ -81,6 +81,25 @@ ScheduleApp.config([ |
| 81 | 81 | }); |
| 82 | 82 | }] |
| 83 | 83 | } |
| 84 | + }) | |
| 85 | + .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 | |
| 86 | + url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname', | |
| 87 | + views: { | |
| 88 | + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} | |
| 89 | + }, | |
| 90 | + resolve: { | |
| 91 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 92 | + return $ocLazyLoad.load({ | |
| 93 | + name: 'ttInfoDetailManage_detail_edit_module', | |
| 94 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 95 | + files: [ | |
| 96 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 97 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 98 | + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js" | |
| 99 | + ] | |
| 100 | + }); | |
| 101 | + }] | |
| 102 | + } | |
| 84 | 103 | }); |
| 85 | 104 | |
| 86 | 105 | } | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js
| ... | ... | @@ -3,7 +3,9 @@ angular.module('ScheduleApp').factory( |
| 3 | 3 | 'TimeTableDetailManageService_old', |
| 4 | 4 | [ |
| 5 | 5 | 'TimeTableDetailManageService_g', |
| 6 | - function(service) { | |
| 6 | + '$state', | |
| 7 | + '$q', | |
| 8 | + function(service, $state, $q) { | |
| 7 | 9 | |
| 8 | 10 | // 查询对象类 |
| 9 | 11 | var queryClass = service.rest; |
| ... | ... | @@ -36,8 +38,84 @@ angular.module('ScheduleApp').factory( |
| 36 | 38 | service.edit.list({xlid: xlid, ttid: ttid}, function(result) { |
| 37 | 39 | editInfo.detailHeads = result.header; |
| 38 | 40 | editInfo.detailInfos = result.contents; |
| 41 | + | |
| 42 | + // detailInfos里添加是否选中的flag | |
| 43 | + for (var i = 0; i < editInfo.detailInfos.length; i++) { | |
| 44 | + for (var j = 0; j < editInfo.detailInfos[i].length; j++) { | |
| 45 | + editInfo.detailInfos[i][j].sel = false; | |
| 46 | + } | |
| 47 | + } | |
| 39 | 48 | }); |
| 49 | + }, | |
| 50 | + | |
| 51 | + editIsSel: function() { // 是否有被选中的 | |
| 52 | + var flag = false; | |
| 53 | + for (var i = 0; i < editInfo.detailInfos.length; i++) { | |
| 54 | + for (var j = 0; j < editInfo.detailInfos[i].length; j++) { | |
| 55 | + if (editInfo.detailInfos[i][j].sel == true) | |
| 56 | + return true; | |
| 57 | + } | |
| 58 | + } | |
| 59 | + return flag; | |
| 60 | + }, | |
| 61 | + | |
| 62 | + editInfos: function(updateObject) { // 批量保存数据 | |
| 63 | + var deferred = $q.defer(); | |
| 64 | + | |
| 65 | + // 找出所有选中的ttinfodetailids | |
| 66 | + var ttinfodetailIds = []; | |
| 67 | + for (var i = 0; i < editInfo.detailInfos.length; i++) { | |
| 68 | + for (var j = 0; j < editInfo.detailInfos[i].length; j++) { | |
| 69 | + if (editInfo.detailInfos[i][j].sel == true) | |
| 70 | + ttinfodetailIds.push(editInfo.detailInfos[i][j]); | |
| 71 | + } | |
| 72 | + } | |
| 73 | + // ajax调用 | |
| 74 | + var success_counts = 0; // 成功数 | |
| 75 | + var error_counts = 0; // 失败数 | |
| 76 | + for (var n = 0; n < ttinfodetailIds.length; n++) { | |
| 77 | + (function(index) { | |
| 78 | + queryClass.get({id: ttinfodetailIds[index].ttdid}, function(value) { | |
| 79 | + for (var key in updateObject) { | |
| 80 | + if (updateObject[key]) { | |
| 81 | + value[key] = updateObject[key]; | |
| 82 | + } | |
| 83 | + } | |
| 84 | + value.$save(function() { | |
| 85 | + // 赋值(上下行,发车时间,班次类型) | |
| 86 | + if (value.fcsj) { | |
| 87 | + ttinfodetailIds[index].fcsj = value.fcsj; | |
| 88 | + } | |
| 89 | + if (value.xlDir) { | |
| 90 | + ttinfodetailIds[index].xldir = value.xlDir; | |
| 91 | + } | |
| 92 | + if (value.bcType) { | |
| 93 | + ttinfodetailIds[index].bc_type = value.bcType; | |
| 94 | + } | |
| 95 | + | |
| 96 | + success_counts ++; | |
| 97 | + if (success_counts + error_counts == ttinfodetailIds.length) { | |
| 98 | + deferred.resolve(); | |
| 99 | + } | |
| 100 | + }, function() { | |
| 101 | + error_counts ++; | |
| 102 | + if (success_counts + error_counts == ttinfodetailIds.length) { | |
| 103 | + deferred.reject(); | |
| 104 | + } | |
| 105 | + }); | |
| 106 | + }, function() { | |
| 107 | + error_counts ++; | |
| 108 | + if (success_counts + error_counts == ttinfodetailIds.length) { | |
| 109 | + deferred.reject(); | |
| 110 | + } | |
| 111 | + }); | |
| 112 | + })(n); | |
| 113 | + } | |
| 114 | + | |
| 115 | + return deferred.promise; | |
| 40 | 116 | } |
| 117 | + | |
| 118 | + | |
| 41 | 119 | }; |
| 42 | 120 | } |
| 43 | 121 | |
| ... | ... | @@ -51,7 +129,8 @@ angular.module('ScheduleApp').controller( |
| 51 | 129 | 'TimeTableDetailManageService_old', |
| 52 | 130 | '$stateParams', |
| 53 | 131 | '$uibModal', |
| 54 | - function(service, $stateParams, $uibModal) { | |
| 132 | + '$state', | |
| 133 | + function(service, $stateParams, $uibModal, $state) { | |
| 55 | 134 | var self = this; |
| 56 | 135 | self.xlid = $stateParams.xlid; // 获取传过来的线路id |
| 57 | 136 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id |
| ... | ... | @@ -74,6 +153,23 @@ angular.module('ScheduleApp').controller( |
| 74 | 153 | service.refreshEditInfo(self.xlid, self.ttid); |
| 75 | 154 | }; |
| 76 | 155 | |
| 156 | + // 批量修改 | |
| 157 | + self.editInfos = function() { | |
| 158 | + if (!service.editIsSel()) { | |
| 159 | + alert("请选择班次信息"); | |
| 160 | + return; | |
| 161 | + } else { | |
| 162 | + $state.go("ttInfoDetailManage_detail_edit2", { | |
| 163 | + xlid: self.xlid, | |
| 164 | + ttid: self.ttid, | |
| 165 | + xlname: self.xlname, | |
| 166 | + ttname: self.ttname | |
| 167 | + }); | |
| 168 | + } | |
| 169 | + | |
| 170 | + | |
| 171 | + }; | |
| 172 | + | |
| 77 | 173 | // 查询对象类 |
| 78 | 174 | var TTInfoDetail = service.getQueryClass(); |
| 79 | 175 | |
| ... | ... | @@ -99,7 +195,7 @@ angular.module('ScheduleApp').controller( |
| 99 | 195 | TTInfoDetail.get({id: detailInfo.ttdid}, function(value) { |
| 100 | 196 | value.isFB = flag; |
| 101 | 197 | value.$save(function() { |
| 102 | - detailInfo.isFB = flag; | |
| 198 | + detailInfo.isfb = flag; | |
| 103 | 199 | }); |
| 104 | 200 | }); |
| 105 | 201 | |
| ... | ... | @@ -171,10 +267,77 @@ angular.module('ScheduleApp').controller( |
| 171 | 267 | //if (self.busInfoForSave) { |
| 172 | 268 | // delete $stateParams.id; |
| 173 | 269 | //} |
| 174 | - self.TimeTableDetailForSave.$save(function() { | |
| 175 | - // TODO:需要修正内部edit的值 | |
| 270 | + self.TimeTableDetailForSave.$save(function(value) { | |
| 271 | + // 修正内部edit的值 | |
| 272 | + var detailInfos = service.getEditInfo().detailInfos; | |
| 273 | + for (var i = 0; i < detailInfos.length; i ++) { | |
| 274 | + for (var j = 0; j < detailInfos[i].length; j++) { | |
| 275 | + if (detailInfos[i][j].ttdid == id) { | |
| 276 | + // 赋值(上下行,发车时间,班次类型) | |
| 277 | + detailInfos[i][j].fcsj = value.fcsj; | |
| 278 | + detailInfos[i][j].xldir = value.xlDir; | |
| 279 | + detailInfos[i][j].bc_type = value.bcType; | |
| 280 | + } | |
| 281 | + } | |
| 282 | + } | |
| 283 | + $state.go("ttInfoDetailManage_edit", { | |
| 284 | + xlid: self.xlid, | |
| 285 | + ttid: self.ttid, | |
| 286 | + xlname: self.xlname, | |
| 287 | + ttname: self.ttname | |
| 288 | + }); | |
| 289 | + }); | |
| 176 | 290 | |
| 291 | + }; | |
| 177 | 292 | |
| 293 | + } | |
| 294 | + ] | |
| 295 | +); | |
| 296 | + | |
| 297 | +// edit-detail2.html 具体班次明细修改页面 | |
| 298 | +angular.module('ScheduleApp').controller( | |
| 299 | + 'TimeTableDetailManageFormCtrl_old2', | |
| 300 | + [ | |
| 301 | + 'TimeTableDetailManageService_old', | |
| 302 | + '$stateParams', | |
| 303 | + '$state', | |
| 304 | + function(service, $stateParams, $state) { | |
| 305 | + var self = this; | |
| 306 | + var TTInfoDetail = service.getQueryClass(); | |
| 307 | + | |
| 308 | + // 欲保存的busInfo信息,绑定 | |
| 309 | + self.TimeTableDetailForSave = new TTInfoDetail; | |
| 310 | + self.TimeTableDetailForSave.tcc = {}; | |
| 311 | + self.TimeTableDetailForSave.qdz = {}; | |
| 312 | + self.TimeTableDetailForSave.zdz = {}; | |
| 313 | + | |
| 314 | + // 获取传过来的id,有的话就是修改,获取一遍数据 | |
| 315 | + self.xlid = $stateParams.xlid; // 获取传过来的线路id | |
| 316 | + self.ttid = $stateParams.ttid; // 获取传过来的时刻表id | |
| 317 | + self.xlname = $stateParams.xlname; // 获取传过来的线路名字 | |
| 318 | + self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 | |
| 319 | + | |
| 320 | + self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; | |
| 321 | + | |
| 322 | + // 提交方法 | |
| 323 | + self.submit = function() { | |
| 324 | + if (!self.TimeTableDetailForSave.tcc.id) | |
| 325 | + delete self.TimeTableDetailForSave.tcc; | |
| 326 | + if (!self.TimeTableDetailForSave.qdz.id) | |
| 327 | + delete self.TimeTableDetailForSave.qdz; | |
| 328 | + if (!self.TimeTableDetailForSave.zdz.id) | |
| 329 | + delete self.TimeTableDetailForSave.zdz; | |
| 330 | + | |
| 331 | + service.editInfos(self.TimeTableDetailForSave).then(function() { | |
| 332 | + alert("批量更新成功!"); | |
| 333 | + $state.go("ttInfoDetailManage_edit", { | |
| 334 | + xlid: self.xlid, | |
| 335 | + ttid: self.ttid, | |
| 336 | + xlname: self.xlname, | |
| 337 | + ttname: self.ttname | |
| 338 | + }); | |
| 339 | + }, function() { | |
| 340 | + alert("批量更新失败!"); | |
| 178 | 341 | $state.go("ttInfoDetailManage_edit", { |
| 179 | 342 | xlid: self.xlid, |
| 180 | 343 | ttid: self.ttid, | ... | ... |