Commit 38dd6e20a21a611a15dacac7d305c56d53757611

Authored by 徐烜
1 parent 2388c41f

update

src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/guideboardManage.js
1 // 路牌管理 service controller 等写在一起 1 // 路牌管理 service controller 等写在一起
2 2
3 -angular.module('ScheduleApp').factory('GuideboardManageService', ['$resource', function($resource) {  
4 - // TODO:测试  
5 - return $resource(  
6 - '/cci',  
7 - {},  
8 - {  
9 - list: {  
10 - method: 'GET' 3 +angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardManageService_g', function(service) {
  4 + /** 当前的查询条件信息 */
  5 + var currentSearchCondition = {};
  6 +
  7 + /** 当前第几页 */
  8 + var currentPageNo = 1;
  9 +
  10 + return {
  11 + /**
  12 + * 获取查询条件信息,
  13 + * 用于给controller用来和页面数据绑定。
  14 + */
  15 + getSearchCondition: function() {
  16 + return currentSearchCondition;
  17 + },
  18 + /**
  19 + * 重置查询条件信息。
  20 + */
  21 + resetSearchCondition: function() {
  22 + var key;
  23 + for (key in currentSearchCondition) {
  24 + currentSearchCondition[key] = "";
11 } 25 }
  26 + },
  27 + /**
  28 + * 设置当前页码。
  29 + * @param cpn 从1开始,后台是从0开始的
  30 + */
  31 + setCurrentPageNo: function(cpn) {
  32 + currentPageNo = cpn;
  33 + },
  34 + /**
  35 + * 组装查询参数,返回一个promise查询结果。
  36 + * @param params 查询参数
  37 + * @return 返回一个 promise
  38 + */
  39 + getPage: function() {
  40 + var params = currentSearchCondition; // 查询条件
  41 + params.page = currentPageNo - 1; // 服务端页码从0开始
  42 + return service.list(params).$promise;
  43 + },
  44 + /**
  45 + * 获取明细信息。
  46 + * @param id 车辆id
  47 + * @return 返回一个 promise
  48 + */
  49 + getDetail: function(id) {
  50 + var params = {id: id};
  51 + return service.get(params).$promise;
  52 + },
  53 + /**
  54 + * 保存信息。
  55 + * @param obj 车辆详细信息
  56 + * @return 返回一个 promise
  57 + */
  58 + saveDetail: function(obj) {
  59 + return service.save(obj).$promise;
12 } 60 }
13 - ); 61 + };
14 }]); 62 }]);
15 63
16 -angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', function(guideboardManageService) { 64 +angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', '$state', function(guideboardManageService, $state) {
  65 + var self = this;
17 66
  67 + // 切换到form状态
  68 + self.goForm = function() {
  69 + alert("切换添加");
  70 + }
18 }]); 71 }]);
19 72
20 angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) { 73 angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) {
21 - // TODO:模拟数据  
22 var self = this; 74 var self = this;
23 - self.totalItems = 64;  
24 - self.currentPage = 4;  
25 - self.infos = {};  
26 - self.pageChanaged = function() {  
27 - console.log("页面跳转到:" + currentPage.currentPage);  
28 - }  
29 -}]); 75 + self.pageInfo = {
  76 + totalItems : 0,
  77 + currentPage : 1,
  78 + infos: []
  79 + };
30 80
31 -angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', ['GuideboardManageService', function(guideboardManageService) { 81 + // 初始创建的时候,获取一次列表数据
  82 + guideboardManageService.getPage().then(
  83 + function(result) {
  84 + self.pageInfo.totalItems = result.totalElements;
  85 + self.pageInfo.currentPage = result.number + 1;
  86 + self.pageInfo.infos = result.content;
  87 + guideboardManageService.setCurrentPageNo(result.number + 1);
  88 + },
  89 + function(result) {
  90 + alert("出错啦!");
  91 + }
  92 + );
  93 +
  94 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  95 + // alert("dfdfdf");
  96 + //});
  97 +
  98 + // 翻页的时候调用
  99 + self.pageChanaged = function() {
  100 + guideboardManageService.setCurrentPageNo(self.pageInfo.currentPage);
  101 + guideboardManageService.getPage().then(
  102 + function(result) {
  103 + self.pageInfo.totalItems = result.totalElements;
  104 + self.pageInfo.currentPage = result.number + 1;
  105 + self.pageInfo.infos = result.content;
  106 + guideboardManageService.setCurrentPageNo(result.number + 1);
  107 + },
  108 + function(result) {
  109 + alert("出错啦!");
  110 + }
  111 + );
  112 + };
  113 + // 获取查询条件数据
  114 + self.searchCondition = function() {
  115 + return guideboardManageService.getSearchCondition();
  116 + };
  117 + // 重置查询条件
  118 + self.resetSearchCondition = function() {
  119 + return guideboardManageService.resetSearchCondition();
  120 + };
32 121
33 }]); 122 }]);
34 123
35 -angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', ['GuideboardManageService', function(guideboardManageService) { 124 +angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', '$stateParams', '$state', ['GuideboardManageService', function(guideboardManageService, $stateParams, $state) {
  125 + // TODO:
  126 +}]);
36 127
  128 +angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', '$stateParams', ['GuideboardManageService', function(guideboardManageService, $stateParams) {
  129 + // TODO:
37 }]); 130 }]);
38 131
39 132
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/index.html
@@ -27,7 +27,7 @@ @@ -27,7 +27,7 @@
27 <span class="caption-subject bold uppercase">路牌表</span> 27 <span class="caption-subject bold uppercase">路牌表</span>
28 </div> 28 </div>
29 <div class="actions"> 29 <div class="actions">
30 - <a href="javascirpt:" class="btn btn-circle blue"> 30 + <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.goForm()">
31 <i class="fa fa-plus"></i> 31 <i class="fa fa-plus"></i>
32 添加路牌 32 添加路牌
33 </a> 33 </a>
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
58 </div> 58 </div>
59 59
60 <div class="portlet-body"> 60 <div class="portlet-body">
61 - <div ui-view="list"></div> 61 + <div ui-view="guideboardManage_list"></div>
62 </div> 62 </div>
63 </div> 63 </div>
64 </div> 64 </div>
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div ng-controller="GuideboardManageListCtrl as ctrl"> 2 <div ng-controller="GuideboardManageListCtrl as ctrl">
3 <table class="table table-striped table-bordered table-hover table-checkable order-column"> 3 <table class="table table-striped table-bordered table-hover table-checkable order-column">
4 <thead> 4 <thead>
5 - <tr> 5 + <tr role="row" class="heading">
6 <th> 6 <th>
7 <input type="checkbox" class="group-checkable"/> 7 <input type="checkbox" class="group-checkable"/>
8 </th> 8 </th>
@@ -11,15 +11,33 @@ @@ -11,15 +11,33 @@
11 <th>路牌编号</th> 11 <th>路牌编号</th>
12 <th>路牌名称</th> 12 <th>路牌名称</th>
13 <th>路牌类型</th> 13 <th>路牌类型</th>
  14 + <th width="14%">操作</th>
  15 + </tr>
  16 + <tr role="row" class="filter">
  17 + <td></td>
  18 + <td></td>
  19 + <td></td>
  20 + <td></td>
  21 + <td></td>
  22 + <td></td>
  23 + <td>
  24 + <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
  25 + ng-click="ctrl.pageChanaged()">
  26 + <i class="fa fa-search"></i> 搜索</button>
  27 +
  28 + <button class="btn btn-sm red btn-outline filter-cancel"
  29 + ng-click="ctrl.resetSearchCondition()">
  30 + <i class="fa fa-times"></i> 重置</button>
  31 + </td>
14 </tr> 32 </tr>
15 </thead> 33 </thead>
16 <tbody> 34 <tbody>
17 - <tr ng-repeat="info in ctrl.infos" class="odd gradeX"> 35 + <tr ng-repeat="info in ctrl.pageInfo.infos" class="odd gradeX">
18 <td> 36 <td>
19 <input type="checkbox"/> 37 <input type="checkbox"/>
20 </td> 38 </td>
21 <td> 39 <td>
22 - <span>TODO</span> 40 + <span ng-bind="$index + 1"></span>
23 </td> 41 </td>
24 <td> 42 <td>
25 <span ng-bind="info.xl.name"></span> 43 <span ng-bind="info.xl.name"></span>
@@ -33,16 +51,27 @@ @@ -33,16 +51,27 @@
33 <td> 51 <td>
34 <span ng-bind="info.lpType"></span> 52 <span ng-bind="info.lpType"></span>
35 </td> 53 </td>
  54 + <td>
  55 + <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
  56 + <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>-->
  57 + <a ui-sref="#" class="btn default blue-stripe btn-sm"> 详细 </a>
  58 + <a ui-sref="#" class="btn default blue-stripe btn-sm"> 修改 </a>
  59 + </td>
36 </tr> 60 </tr>
37 </tbody> 61 </tbody>
38 </table> 62 </table>
39 63
40 <div style="text-align: right;"> 64 <div style="text-align: right;">
41 - <uib-pagination total-items="ctrl.totalItems"  
42 - ng-model="ctrl.currentPage"  
43 - ng-change="ctrl.pageChanged()" 65 + <uib-pagination total-items="ctrl.pageInfo.totalItems"
  66 + ng-model="ctrl.pageInfo.currentPage"
  67 + ng-change="ctrl.pageChanaged()"
  68 + rotate="false"
  69 + max-size="10"
  70 + boundary-links="true"
  71 + first-text="首页"
44 previous-text="上一页" 72 previous-text="上一页"
45 - next-text="下一页"> 73 + next-text="下一页"
  74 + last-text="尾页">
46 </uib-pagination> 75 </uib-pagination>
47 </div> 76 </div>
48 </div> 77 </div>
49 \ No newline at end of file 78 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/main.js
@@ -444,6 +444,32 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -444,6 +444,32 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
444 } 444 }
445 }) 445 })
446 446
  447 + // 路牌管理
  448 + .state("guideboardManage", {
  449 + url: '/guideboardManage',
  450 + views: {
  451 + "": {
  452 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'
  453 + },
  454 + "guideboardManage_list@guideboardManage": {
  455 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'
  456 + }
  457 + },
  458 +
  459 + resolve: {
  460 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  461 + return $ocLazyLoad.load({
  462 + name: 'guideboardManage_module',
  463 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  464 + files: [
  465 + "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js"
  466 + ]
  467 + });
  468 + }]
  469 + }
  470 + })
  471 +
  472 +
447 // 时刻表管理 473 // 时刻表管理
448 .state("timeTableManage", { 474 .state("timeTableManage", {
449 url: '/timeTableManage', 475 url: '/timeTableManage',
@@ -578,34 +604,6 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -578,34 +604,6 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
578 604
579 // TODO: 605 // TODO:
580 606
581 -  
582 -  
583 -  
584 -  
585 - // 路牌管理模块  
586 - .state("guideboardManage", {  
587 - url: '/guideboardManage',  
588 - views: {  
589 - "": {  
590 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'  
591 - },  
592 - "list@guideboardManage": {  
593 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'  
594 - }  
595 - },  
596 -  
597 - resolve: {  
598 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
599 - return $ocLazyLoad.load({  
600 - name: 'guideboardManage_module',  
601 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
602 - files: [  
603 - "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js"  
604 - ]  
605 - });  
606 - }]  
607 - }  
608 - })  
609 }]); 607 }]);
610 608
611 // 全局service放置在此处, 609 // 全局service放置在此处,
@@ -719,6 +717,28 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f @@ -719,6 +717,28 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f
719 ); 717 );
720 }]); 718 }]);
721 719
  720 +// 路牌管理service
  721 +angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) {
  722 + return $resource(
  723 + '/gic/:id',
  724 + {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询
  725 + {
  726 + list: {
  727 + method: 'GET',
  728 + params: {
  729 + page: 0
  730 + }
  731 + },
  732 + get: {
  733 + method: 'GET'
  734 + },
  735 + save: {
  736 + method: 'POST'
  737 + }
  738 + }
  739 + );
  740 +}]);
  741 +
722 // 时刻表管理service 742 // 时刻表管理service
723 angular.module('ScheduleApp').factory('TimeTableManageService_g', ['$resource', function($resource) { 743 angular.module('ScheduleApp').factory('TimeTableManageService_g', ['$resource', function($resource) {
724 // TODO:之后返回两个$resource,包含 时刻表和时刻表明细 744 // TODO:之后返回两个$resource,包含 时刻表和时刻表明细