Commit 701a621961083cc576d3fdc552d6092ba020f8c6

Authored by 徐烜
1 parent 036092a1

Update

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(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).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,
... ...