Commit 4bda5699a87832a31c19e8586dfeca8aaa07f0f7

Authored by Swarn Singh
1 parent a167a2312c
Exists in master

fuel manager designs and api integration

app/css/custom.css
... ... @@ -288,4 +288,110 @@ font-size: 10px !important;
288 288 .resizeTextarea{
289 289 resize: vertical;
290 290 margin-top: 20px;
  291 +}
  292 +
  293 +
  294 +
  295 +
  296 +
  297 +.new-widget-content{
  298 + padding: 0 0 0 0 !important;
  299 +}
  300 +.new-tab-heading{
  301 + padding: 5px;
  302 + color: #333;
  303 + background-color: #fcfcfc;
  304 + border-bottom: 1px solid #d5d5d5;
  305 + border-right: 1px solid #d5d5d5;
  306 +}
  307 +.new-tab-body{
  308 + border-right: 1px solid #d5d5d5;
  309 + border-bottom: 1px solid #d5d5d5;
  310 + padding-left: 15px;
  311 + padding-bottom: 5px;
  312 +}
  313 +.new-tab-heading i.fa{
  314 + font-size: 16px;
  315 + cursor: pointer;
  316 +}
  317 +.new-tab-heading span{
  318 + font-size: 14px;
  319 + margin-left: 5px;
  320 +}
  321 +.new-tab-heading i.fa-plus-circle{
  322 + color: #067dfc;
  323 +}
  324 +.new-tab-heading i.fa-minus-circle{
  325 + color: #d00d09;
  326 +}
  327 +.new-tab-body-th{
  328 + color: #333;
  329 +}
  330 +.new-tab-body-th > div{
  331 + font-size: 12px;
  332 + font-weight: bold;
  333 + padding-right: 5px;
  334 + padding-left: 5px;
  335 + text-align: center;
  336 +}
  337 +.new-tab-body-th > div:first-child{
  338 + font-size: 14px;
  339 + font-weight: bold;
  340 + text-align: left;
  341 +}
  342 +.new-tab-body-td i.fa-plus-circle{
  343 + color: #067dfc;
  344 +}
  345 +.new-tab-body-td i.fa-minus-circle{
  346 + color: #d00d09;
  347 +}
  348 +.new-tab-body-td input{
  349 + width: 50px;
  350 + height: 24px;
  351 +}
  352 +.new-tab-body-td .fa{
  353 + font-size: 14px;
  354 +}
  355 +.new-tab-body-td > div:first-child > div{
  356 + padding-right: 5px;
  357 + padding-left: 5px;
  358 + text-align: center;
  359 +}
  360 +.new-tab-body-td > div:first-child > div:first-child{
  361 + text-align: left;
  362 +}
  363 +.appliesTableHeading{
  364 + border: 1px solid #d5d5d5;
  365 + padding: 5px;
  366 + color: #333;
  367 + font-weight: bold;
  368 + background-color: #fcfcfc;
  369 + margin: 10px 0 0 0;
  370 +}
  371 +.appliesTableBody{
  372 + border: 1px solid #d5d5d5;
  373 + border-top: 0;
  374 + background-color: #ffffe0;
  375 + margin-bottom: 10px;
  376 + height: auto;
  377 +}
  378 +.appliesTableBody > div.firstDiv{
  379 + height: 100px;
  380 + float: left;
  381 + width: 40%;
  382 + border-right: 1px solid #d5d5d5;
  383 + overflow: auto;
  384 + padding: 5px;
  385 +}
  386 +.appliesTableBody > div.lastDiv{
  387 + width: 59%;
  388 + height: 100px;
  389 + padding: 5px;
  390 + float: left;
  391 +}
  392 +.appliesTableBody > div.lastDiv textarea{
  393 + width: 100%;
  394 + height: 60px;
  395 + margin: 15px 0;
  396 + resize: none;
291 397 }
292 398 \ No newline at end of file
... ...
app/partials/fuelManager/fuelManager.controller.js
... ... @@ -4,12 +4,81 @@
4 4 //Load controller
5 5 angular.module('acufuel')
6 6  
7   - .controller('fuelManagerController', ['$scope',function($scope) {
  7 + //.controller('fuelManagerController', ['$scope', 'fuelManagerService',function($scope, fuelManagerService) {
  8 + .controller('fuelManagerController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'fuelManagerService', fuelManagerController]);
8 9  
9   - $scope.test = "Testing...";
  10 + function fuelManagerController($scope, $rootScope, $uibModal, $filter, $http, fuelManagerService) {
  11 +
  12 + $scope.currentUserData = JSON.parse(localStorage.getItem('userProfileId'));
  13 +
  14 + fuelManagerService.getFullList().then(function(result) {
  15 + console.log('result', result)
  16 + $scope.fullJetList = result;
  17 + })
  18 +
  19 + $scope.avoidanceList = {};
  20 +
  21 + $scope.updateList = function(fullJetList){
  22 + $scope.addData = [];
  23 + $scope.newJetList = fullJetList;
  24 + if ($scope.currentUserData == undefined || $scope.currentUserData == null) {
  25 +
  26 + }else{
  27 +
  28 + for(var i=0; i<$scope.newJetList.length;i++){
  29 + for(var j = 0; j < $scope.newJetList[i].aircraftsSize.length; j++){
  30 + if($scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance != null){
  31 + console.log('fullJetList', $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance);
  32 + $scope.addData.push({
  33 + //'aircraftType': $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.aircraftType,
  34 + 'id': $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.id,
  35 + 'aircraftSizeId': $scope.newJetList[i].aircraftsSize[j].id,
  36 + 'rampFees': $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.rampFees,
  37 + 'avoidance' : $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.avoidance,
  38 + 'applicable' : $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.applicable,
  39 + 'expirationDate' : $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.expirationDate,
  40 + 'notes' : $scope.newJetList[i].aircraftsSize[j].rampFeesAndAvoidance.notes
  41 + });
  42 +
  43 + }
  44 + }
  45 + }
  46 + $scope.avoidanceList.rampFeesAndAvoidanceList = $scope.addData;
  47 + $scope.avoidanceList.fboUserId = $scope.currentUserData;
  48 + console.log('data', $scope.avoidanceList);
  49 +
  50 + fuelManagerService.updateFullList($scope.avoidanceList).then(function(result) {
  51 + fuelManagerService.getFullList().then(function(result) {
  52 + $scope.fullJetList = result;
  53 + })
  54 + })
  55 +
  56 + }
  57 +
  58 + }
  59 + $scope.parentOpen = function(index){
  60 + $('#parentOpen'+index).css('display', 'none');
  61 + $('#parentClose'+index).css('display', 'initial');
  62 + $('#parentTogglebody'+index).slideDown();
  63 + }
  64 + $scope.parentClose = function(index){
  65 + $('#parentOpen'+index).css('display', 'initial');
  66 + $('#parentClose'+index).css('display', 'none');
  67 + $('#parentTogglebody'+index).slideUp();
  68 + }
  69 +
  70 + $scope.toggleChild = function(id){
  71 + if ($('.'+id).hasClass('fa-plus-circle')) {
  72 + $('.'+id).removeClass('fa-plus-circle');
  73 + $('.'+id).addClass('fa-minus-circle');
  74 + }else{
  75 + $('.'+id).removeClass('fa-minus-circle');
  76 + $('.'+id).addClass('fa-plus-circle');
  77 + }
  78 + $('#'+id).slideToggle();
  79 + }
10 80  
11 81 $(document).ready(function(){
12   -
13 82 $('#customTabToggle1').click(function(){
14 83 console.log('tab 1');
15 84 $('#customTabsBody1').slideDown();
... ... @@ -133,4 +202,4 @@
133 202  
134 203 })
135 204  
136   - }]);
  205 + }
... ...
app/partials/fuelManager/fuelManager.html
... ... @@ -3,7 +3,7 @@
3 3 color: #ff9900;
4 4 }
5 5 </style>
6   -<div class="container">
  6 +<div class="container" style="display: none;">
7 7 <div class="row">
8 8 <div class="col-md-10">
9 9 <div class="widget stacked">
... ... @@ -21,165 +21,6 @@
21 21 <div class="widget-content">
22 22 <h3>Ramp Fees & Avoidance</h3>
23 23 <section id="accordions">
24   - <!-- <div class="panel-group accordion">
25   - <div class="panel panel-default open">
26   - <div class="panel-heading">
27   - <h4 class="panel-title">
28   - <a class="accordion-toggle" id="jaTab1" data-toggle="collapse" data-parent=".accordion" href="#collapseOne">
29   - <span style="float: left; margin-right: 20px; line-height: 22px;">Jet Aircraft</span>
30   - </a>
31   - <select class="form-control" id="ja1" style="width: 150px; margin-right: 20px; float: left; height: 26px; padding: 0 6px;">
32   - <option value="" disabled selected>Pricing Structure</option>
33   - <option value="">Retail-(minus)</option>
34   - <option value="">Cost+(plus)</option>
35   - <option value="">Direct=(equals)</option>
36   - </select>
37   - <input type="text" id="ja2" class="form-control" value="$1.7500" style="width: 80px; height: 26px; padding: 0 6px;" name="">
38   - </h4>
39   - </div>
40   - <div id="collapseOne" class="panel-collapse collapse in">
41   - <div class="panel-body">
42   - <div class="row" style="margin-left: 0px;">
43   - <div class="col-md-8">
44   - <div class="row" style="margin-bottom: 5px;">
45   - <div class="col-md-1" style="text-align: right;">
46   - <h5 style="color: blue;font-weight: bold;">Omit</h5>
47   - </div>
48   - <div class="col-md-5">
49   - <h5 style="color: blue;font-weight: bold;">AirCraft Size</h5>
50   - </div>
51   - <div class="col-md-3">
52   - <h5 style="color: blue;font-weight: bold;">Ramp/Facility Fee</h5>
53   - </div>
54   - <div class="col-md-3">
55   - <h5 style="color: blue;font-weight: bold;">Avoidance</h5>
56   - </div>
57   - </div>
58   - <div class="row" style="margin-bottom: 5px;">
59   - <div class="col-md-1" style="text-align: right;">
60   - <input type="checkbox" name="validateCheckbox" value="1">
61   - </div>
62   - <div class="col-md-5">
63   - <p>Very Light Jet</p>
64   - </div>
65   - <div class="col-md-3">
66   - <input type="text" class="form-control" name="name" id="name">
67   - </div>
68   - <div class="col-md-3">
69   - <input type="text" class="form-control" name="name" id="name">
70   - </div>
71   - </div>
72   - <div class="row" style="margin-bottom: 5px;">
73   - <div class="col-md-1" style="text-align: right;">
74   - <input type="checkbox" name="validateCheckbox" value="1">
75   - </div>
76   - <div class="col-md-5">
77   - <p> Light Jet</p>
78   - </div>
79   - <div class="col-md-3">
80   - <input type="text" class="form-control" name="name" id="name">
81   - </div>
82   - <div class="col-md-3">
83   - <input type="text" class="form-control" name="name" id="name">
84   - </div>
85   - </div>
86   - </div>
87   - <div class="col-md-4">
88   - </div>
89   - </div>
90   - </div>
91   - </div>
92   - </div>
93   - <div class="panel panel-default">
94   - <div class="panel-heading">
95   - <h4 class="panel-title">
96   - <a class="accordion-toggle" id="jaTab2" data-toggle="collapse" data-parent=".accordion" href="#collapseTwo">
97   - <span style="float: left; margin-right: 20px; line-height: 22px;">TurboPop AirCraft</span>
98   - </a>
99   - <select class="form-control disableSelect" disabled="true" id="ja11" style="width: 150px; margin-right: 20px; float: left; height: 26px; padding: 0 6px;">
100   - <option value="" disabled selected>Pricing Structure</option>
101   - <option value="">Retail-(minus)</option>
102   - <option value="">Cost+(plus)</option>
103   - <option value="">Direct=(equals)</option>
104   - </select>
105   - <input type="text" id="ja22" class="form-control disableInput" disabled="true" value="$1.7500" style="width: 80px; height: 26px; padding: 0 6px;" name="">
106   - </h4>
107   - </div>
108   - <div id="collapseTwo" class="panel-collapse collapse">
109   - <div class="panel-body">
110   - <div class="row" style="margin-left: 0px;">
111   - <div class="col-md-8">
112   - <div class="row" style="margin-bottom: 5px;">
113   - <div class="col-md-1" style="text-align: right;">
114   - <h5 style="color: blue;font-weight: bold;">Omit</h5>
115   - </div>
116   - <div class="col-md-5">
117   - <h5 style="color: blue;font-weight: bold;">AirCraft Size</h5>
118   - </div>
119   - <div class="col-md-3">
120   - <h5 style="color: blue;font-weight: bold;">Ramp/Facility Fee</h5>
121   - </div>
122   - <div class="col-md-3">
123   - <h5 style="color: blue;font-weight: bold;">Avoidance</h5>
124   - </div>
125   - </div>
126   - <div class="row" style="margin-bottom: 5px;">
127   - <div class="col-md-1" style="text-align: right;">
128   - <input type="checkbox" name="validateCheckbox" value="1">
129   - </div>
130   - <div class="col-md-5">
131   - <p>Very Light Jet</p>
132   - </div>
133   - <div class="col-md-3">
134   - <input type="text" class="form-control" name="name" id="name">
135   - </div>
136   - <div class="col-md-3">
137   - <input type="text" class="form-control" name="name" id="name">
138   - </div>
139   - </div>
140   - <div class="row" style="margin-bottom: 5px;">
141   - <div class="col-md-1" style="text-align: right;">
142   - <input type="checkbox" name="validateCheckbox" value="1">
143   - </div>
144   - <div class="col-md-5">
145   - <p> Light Jet</p>
146   - </div>
147   - <div class="col-md-3">
148   - <input type="text" class="form-control" name="name" id="name">
149   - </div>
150   - <div class="col-md-3">
151   - <input type="text" class="form-control" name="name" id="name">
152   - </div>
153   - </div>
154   - </div>
155   - <div class="col-md-4">
156   - </div>
157   - </div>
158   - </div>
159   - </div>
160   - </div>
161   - <div class="panel panel-default">
162   - <div class="panel-heading">
163   - <h4 class="panel-title">
164   - <a class="accordion-toggle" id="jaTab3" data-toggle="collapse" data-parent=".accordion" href="#collapseThree">
165   - <span style="float: left; margin-right: 20px; line-height: 22px;">Collapsible Group Item #3</span>
166   - </a>
167   - <select class="form-control disableSelect" id="ja111" disabled="true" style="width: 150px; margin-right: 20px; float: left; height: 26px; padding: 0 6px;">
168   - <option value="" disabled selected>Pricing Structure</option>
169   - <option value="">Retail-(minus)</option>
170   - <option value="">Cost+(plus)</option>
171   - <option value="">Direct=(equals)</option>
172   - </select>
173   - <input type="text" id="ja222" disabled="true" class="form-control disableInput" value="$1.7500" style="width: 80px; height: 26px; padding: 0 6px;" name="">
174   - </h4>
175   - </div>
176   - <div id="collapseThree" class="panel-collapse collapse">
177   - <div class="panel-body">
178   - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
179   - </div>
180   - </div>
181   - </div>
182   - </div> -->
183 24 <div class="newCustomAccordian">
184 25 <!-- tab 1 -->
185 26 <div class="customAccordianHeader customActive" id="customTabs1">
... ... @@ -453,9 +294,124 @@
453 294 <!-- /span6 -->
454 295 </div>
455 296 <!-- /span12 -->
456   -</div>
457   -<!-- /row -->
458   -</div> <!-- /container -->
  297 +</div> <!-- /container 1 -->
459 298 <!-- Le javascript
460 299 ================================================== -->
461   -<!-- Placed at the end of the document so the pages load faster -->
462 300 \ No newline at end of file
  301 +<!-- Placed at the end of the document so the pages load faster -->
  302 +
  303 +
  304 +
  305 +
  306 +
  307 +
  308 +
  309 +
  310 +
  311 +
  312 +
  313 +
  314 +<div class="container">
  315 + <div class="row">
  316 + <div class="col-md-10">
  317 + <div class="widget stacked">
  318 + <div class="widget-header">
  319 + <i class="fa fa-pencil"></i>
  320 + <h3>Ramp Fee Manager</h3>
  321 + <select style="float: right; margin: 8px 10px;">
  322 + <option>Ramp Fee By Category</option>
  323 + <option>Make And Model</option>
  324 + <option>Weight</option>
  325 + <option>Wingspan</option>
  326 + </select>
  327 + </div>
  328 + <!-- /widget-header -->
  329 + <div class="widget-content new-widget-content">
  330 + <section id="accordions1">
  331 + <div class="newCustomAccordian">
  332 +
  333 + <div class="col-md-9" style="padding: 0;">
  334 +
  335 + <div ng-repeat="list in fullJetList">
  336 + <div class="new-tab-heading">
  337 + <i class="fa fa-plus-circle" ng-click="parentOpen($index)" id="parentOpen{{$index}}" aria-hidden="true"></i>
  338 + <i class="fa fa-minus-circle" ng-click="parentClose($index)" id="parentClose{{$index}}" aria-hidden="true" style="display: none;"></i>
  339 + <span>{{list.type}}</span>
  340 + </div>
  341 + <div class="new-tab-body" id="parentTogglebody{{$index}}" style="display: none;">
  342 + <div class="new-tab-body-th">
  343 + <div class="col-md-4">
  344 + Aircraft Size
  345 + </div>
  346 + <div class="col-md-2">
  347 + Ramp/Facil. Fee
  348 + </div>
  349 + <div class="col-md-2">
  350 + Avoidance
  351 + </div>
  352 + <div class="col-md-2">
  353 + Expiration Date
  354 + </div>
  355 + <div class="col-md-2">
  356 + Applicable
  357 + </div>
  358 + <div class="clearfix"></div>
  359 + </div>
  360 + <div class="new-tab-body-td" ng-repeat="jets in list.aircraftsSize">
  361 + <div>
  362 + <div class="col-md-4">
  363 + <i class="fa fa-plus-circle {{jets.id}}" ng-click="toggleChild(jets.id)" aria-hidden="true"></i>
  364 + <span style="margin-left: 5px;">{{jets.rampFeesAndAvoidance.aircraftType}}</span>
  365 + </div>
  366 + <div class="col-md-2">
  367 + <input type="text" ng-model="jets.rampFeesAndAvoidance.rampFees" name="">
  368 + </div>
  369 + <div class="col-md-2">
  370 + <input type="text" ng-model="jets.rampFeesAndAvoidance.avoidance" name="">
  371 + </div>
  372 + <div class="col-md-2">
  373 + <input type="date" ng-model="jets.rampFeesAndAvoidance.expirationDate" name="">
  374 + </div>
  375 + <div class="col-md-2">
  376 + <input type="checkbox" ng-model="jets.rampFeesAndAvoidance.applicable">
  377 + </div>
  378 + <div class="clearfix"></div>
  379 + </div>
  380 + <div style="display: none;" class="toggleCHildBody" id="{{jets.id}}">
  381 + <div class="col-xs-12">
  382 + <div class="col-xs-12">
  383 + <div class="appliesTableHeading">Applies To:</div>
  384 + <div class="appliesTableBody">
  385 + <div class="firstDiv">
  386 + <label style="font-weight: normal;" ng-repeat="aircraftList in jets.aircrafts">{{aircraftList.model}}</label>
  387 + </div>
  388 + <div class="lastDiv">
  389 + <textarea ng-model="jets.rampFeesAndAvoidance.notes"></textarea>
  390 + </div>
  391 + <div class="clearfix"></div>
  392 + </div>
  393 + </div>
  394 + <div class="clearfix"></div>
  395 + </div>
  396 + <div class="clearfix"></div>
  397 + </div>
  398 + </div>
  399 + </div>
  400 + </div>
  401 + </div>
  402 + <div class="col-md-3 text-center" style="padding: 0;">
  403 + <button type="submit" ng-click="updateList(fullJetList)" class="btn btn-success"><i class="icon-ok"></i> Save Form</button>&nbsp;&nbsp;
  404 + <button type="reset" class="btn btn-default">Cancel</button>
  405 + </div>
  406 + <div class="clearfix"></div>
  407 + <br/>
  408 + </div>
  409 + </section>
  410 + </div>
  411 + <!-- /widget-content -->
  412 + </div>
  413 + <!-- /widget -->
  414 + </div>
  415 + <!-- /span6 -->
  416 + </div>
  417 + <!-- /span12 -->
  418 +</div> <!-- /container 2 -->
463 419 \ No newline at end of file
... ...
app/partials/fuelManager/fuelManager.service.js
1 1 (function(){
2 2 'use strict';
3 3 angular.module('acufuel')
4   - .service('fuelManagerService', ['$q', '$http', 'BE', fuelManagerService]);
5   -
6   - function fuelManagerService($q, $http, BE) {
7   - var temp = {};
  4 + .service('fuelManagerService', ['$q', '$http', 'BASE_URL', fuelManagerService]);
8 5  
  6 + function fuelManagerService($q, $http, BASE_URL) {
9 7  
  8 + this.getFullList = function() {
  9 +
  10 + var deferred = $q.defer();
  11 + $http({
  12 + method : 'GET',
  13 + url : BASE_URL.url +'/rampFeesAndAvoidance/getAll',
  14 + headers : {'Content-Type': 'application/json'},
  15 + })
  16 + .then(function (result){
  17 + deferred.resolve(result.data);
  18 + },function (result){
  19 + deferred.resolve(result.data);
  20 + })
  21 + return deferred.promise;
  22 + }
  23 +
  24 + //this.addCompany = function(data) {
  25 + this.updateFullList = function(data){
  26 +
  27 + var deferred = $q.defer();
  28 + $http({
  29 + method : 'POST',
  30 + url : BASE_URL.url +'/rampFeesAndAvoidance',
  31 + headers : {'Content-Type': 'application/json'},
  32 + data: data
  33 + })
  34 + .then(function (result){
  35 + deferred.resolve(result.data);
  36 + },function (result){
  37 + deferred.resolve(result.data);
  38 + })
  39 + return deferred.promise;
  40 + }
10 41  
11 42 }
12 43  
... ...
app/partials/login/login.service.js
... ... @@ -10,9 +10,9 @@
10 10 isAuthenticated = false;
11 11  
12 12 var currentUserDetail = JSON.parse(window.localStorage.getItem("currentUser"));
13   - console.log(currentUserDetail)
  13 + // console.log(currentUserDetail)
14 14 if (currentUserDetail) {
15   - console.log('aaya')
  15 + //console.log('aaya')
16 16 if(currentUserDetail.type == 'ADMIN' || currentUserDetail.type == 'FBO'){
17 17 $rootScope.isAuthenticated = true;
18 18 role = USER_ROLES.admin;
... ... @@ -34,7 +34,7 @@
34 34 .then(function (result){
35 35 deferred.resolve(result.data);
36 36 },function (result){
37   - console.log(result.data)
  37 + //console.log(result.data)
38 38 deferred.resolve(result.data);
39 39 })
40 40 return deferred.promise;
... ... @@ -92,6 +92,7 @@
92 92  
93 93 authService.setUser = function (authData) {
94 94 window.localStorage.setItem("currentUser", JSON.stringify(authData.userProfile.userType));
  95 + window.localStorage.setItem("userProfileId", JSON.stringify(authData.userProfile.id));
95 96 if(authData.userProfile.userType.type == 'ADMIN' || authData.userProfile.userType.type == 'FBO'){
96 97 role = USER_ROLES.admin;
97 98 $rootScope.isAuthenticated = true;
... ...