templates/fos/parcels/incoming_parcel.html.twig line 1

Open in your IDE?
  1. {% extends 'fos/base.html.twig' %}
  2. {% block firstnav %}
  3. {{ render(controller('App\\Parcels\\DefaultController::nav')) }}
  4. {% endblock %}
  5. {% block secondnav %}
  6. <!-- Second Nav -->
  7. <nav class="navbar-second navbar navbar-default navbar-static-top" role="navigation">
  8. <div class="container-fluid">
  9. <div class="navbar-header">
  10. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
  11. data-target="#bs-example-navbar-collapse-1">
  12. <span class="sr-only">Toggle navigation</span>
  13. <span class="icon-bar"></span>
  14. <span class="icon-bar"></span>
  15. <span class="icon-bar"></span>
  16. </button>
  17. <!-- Brand -->
  18. {% block current %}
  19. <span class="navbar-brand" href="#"><i class="fa fa-gears"></i> Parcels</span>
  20. {% endblock %}
  21. </div>
  22. <div class="collapse navbar-collapse animated fadeIn" id="bs-example-navbar-collapse-1">
  23. <ul class="nav navbar-nav animated fadeIn">
  24. {% block secondarylinkblock %}
  25. {# <li><a href="{{ path('new-parcel') }}"><i class="fa fa-plus-circle"></i> Un-Loaded Parcels</a></li> #}
  26. <li class="active"><a href="#"><i class="fa fa-arrow-circle-down"></i> <i
  27. class="fa fa-truck"></i> Incoming Parcels</a></li>
  28. {% endblock %}
  29. </ul>
  30. <ul class="nav navbar-nav navbar-right">
  31. <li class=""><a></a></li>
  32. {# <li><p class="navbar-text"></p></li> #}
  33. </ul>
  34. </div><!-- /.navbar-collapse -->
  35. </div><!-- /.container-fluid -->
  36. </nav>
  37. {% endblock %}
  38. {% block main %}
  39. <div class="row">
  40. <div class="col">
  41. <table id="deliveries"
  42. style="width:100%; font-weight:normal; text-transform: uppercase;"
  43. singleSelect=true
  44. rownumbers=true
  45. pageSize=30
  46. fitColumns=true>
  47. <thead>
  48. <tr>
  49. </tr>
  50. </thead>
  51. </table>
  52. </div>
  53. </div>
  54. {% endblock %}
  55. {% block javascript %}
  56. <script type="application/javascript">
  57. $('#deliveries').datagrid({
  58. url: 'incoming/parcels-list',
  59. method: 'post',
  60. pageSize:20,
  61. singleSelect: true,
  62. rownumbers:true,
  63. remoteFilter:true,
  64. pagination:true,
  65. fitColumns:true,
  66. collapsible:true,
  67. view: detailview,
  68. detailFormatter: function(index, row) {
  69. return '<div style="padding:2px;position:relative; height: auto;"><table class="ddv"></table></div>';
  70. },
  71. onExpandRow: function (index, row) {
  72. var ddv = $(this).datagrid('getRowDetail',index).find('table.ddv');
  73. ddv.datagrid({
  74. url:'en-route/delivery-parcels-list/' + row.id,
  75. fitColumns:true,
  76. method: 'get',
  77. singleSelect:true,
  78. rownumbers:true,
  79. loadMsg:'loading: please wait',
  80. height:'auto',
  81. columns:[[
  82. {field:'id',title:'WAYBILL',width:40,formatter:function(value,row,index){
  83. return row.id;
  84. }},
  85. {field:'to_station',title:'From',width:40,formatter:function(value,row,index){
  86. return row.station_name;
  87. }},
  88. {field:'senderName',title:'Sender',width:60,formatter:function(value,row,index){
  89. return row.sender_name;
  90. }},
  91. {field:'senderPhone',title:'Sender Phone',width:35,formatter:function(value,row,index){
  92. return row.sender_phone_number;
  93. }},
  94. {field:'receiverName',title:'Sending To',width:60,formatter:function(value,row,index){
  95. return row.receiver_name;
  96. }},
  97. {field:'receiverPhoneNumber',title:'Receiver Phone',width:35,formatter:function(value,row,index){
  98. return row.receiver_phone_number;
  99. }},
  100. {field:'description',title:'Description',width:100,formatter:function(value,row,index){
  101. return row.description;
  102. }}
  103. ]]
  104. });
  105. },
  106. columns: [[
  107. {field:'b.id',title:'Delivery',width:40,formatter:function(value,row,index){
  108. return row.id;
  109. }},
  110. {field:'destination',title:'Destination',width:40,formatter:function(value,row,index){
  111. return row.station_name;
  112. }},
  113. {field:'d.parcel_count',title:'Parcels',width:20,formatter:function(value,row,index){
  114. return row.parcel_count;
  115. }},
  116. {field:'created_at',title:'Created at',width:30,formatter:function(value,row,index){
  117. return row.created_at;
  118. }},
  119. {field:'loaded_at',title:'Verified at',width:30,formatter:function(value,row,index){
  120. return row.loaded_at;
  121. }},
  122. {field:'v.reg_number',title:'vehicle',width:30,formatter:function(value,row,index){
  123. return row.reg_number;
  124. }},
  125. {field:'is_verified',title:'verified',width:30,formatter:function(value,row,index){
  126. let check = false;
  127. if(row.is_verified){
  128. check = '<i class="fa fa-check-circle" style="color: green"></i>';
  129. }else{
  130. check = '<i class="fa fa-close" style="color: red"></i>';
  131. }
  132. return check;
  133. }}
  134. ]]
  135. });
  136. $(function(){
  137. var applicants_dg = $('#deliveries').datagrid();
  138. var townIsLoaded = 0;
  139. applicants_dg.datagrid('enableFilter', [{
  140. field:'destination',
  141. type: 'combobox',
  142. options:{
  143. method: 'GET',
  144. mode:'remote',
  145. panelHeight: 200,
  146. valueField:'id',
  147. textField:'station_name',
  148. url:'form/towns',
  149. onSelect:function(value){
  150. applicants_dg.datagrid('addFilterRule', {
  151. field: 'e.id',
  152. op: 'equal',
  153. value: value.id
  154. });
  155. applicants_dg.datagrid('doFilter');
  156. }
  157. }
  158. },{
  159. field:'b.id',
  160. type:'textbox',
  161. options:{precision:1},
  162. op:'equal'
  163. }]);
  164. });
  165. </script>
  166. {% endblock %}