Commit 38dd6e20a21a611a15dacac7d305c56d53757611

Authored by 徐烜
1 parent 2388c41f

update

src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/guideboardManage.js
1 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 73 angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) {
21   - // TODO:模拟数据
22 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 27 <span class="caption-subject bold uppercase">路牌表</span>
28 28 </div>
29 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 31 <i class="fa fa-plus"></i>
32 32 添加路牌
33 33 </a>
... ... @@ -58,7 +58,7 @@
58 58 </div>
59 59  
60 60 <div class="portlet-body">
61   - <div ui-view="list"></div>
  61 + <div ui-view="guideboardManage_list"></div>
62 62 </div>
63 63 </div>
64 64 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
... ... @@ -2,7 +2,7 @@
2 2 <div ng-controller="GuideboardManageListCtrl as ctrl">
3 3 <table class="table table-striped table-bordered table-hover table-checkable order-column">
4 4 <thead>
5   - <tr>
  5 + <tr role="row" class="heading">
6 6 <th>
7 7 <input type="checkbox" class="group-checkable"/>
8 8 </th>
... ... @@ -11,15 +11,33 @@
11 11 <th>路牌编号</th>
12 12 <th>路牌名称</th>
13 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 32 </tr>
15 33 </thead>
16 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 36 <td>
19 37 <input type="checkbox"/>
20 38 </td>
21 39 <td>
22   - <span>TODO</span>
  40 + <span ng-bind="$index + 1"></span>
23 41 </td>
24 42 <td>
25 43 <span ng-bind="info.xl.name"></span>
... ... @@ -33,16 +51,27 @@
33 51 <td>
34 52 <span ng-bind="info.lpType"></span>
35 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 60 </tr>
37 61 </tbody>
38 62 </table>
39 63  
40 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 72 previous-text="上一页"
45   - next-text="下一页">
  73 + next-text="下一页"
  74 + last-text="尾页">
46 75 </uib-pagination>
47 76 </div>
48 77 </div>
49 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 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 474 .state("timeTableManage", {
449 475 url: '/timeTableManage',
... ... @@ -578,34 +604,6 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
578 604  
579 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 609 // 全局service放置在此处,
... ... @@ -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 742 // 时刻表管理service
723 743 angular.module('ScheduleApp').factory('TimeTableManageService_g', ['$resource', function($resource) {
724 744 // TODO:之后返回两个$resource,包含 时刻表和时刻表明细
... ...