templates/fos/transactions/my_daily_transaction.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> Transactions</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('all_parcels') }}"><i class="fa fa-gift"></i> Parcels</a></li>#}
  26. <li class=""><a href="{{ path('new-parcel') }}"><i class="fa fa-plus-circle"></i> Register Parcel</a></li>
  27. <li class="active"><a href="{{ path('my_daily_parcel_transactions') }}"><i class="fa fa-users"></i> Today Transactions</a></li>
  28. <li class=""><a href="{{ path('close_daily_account') }}"><i class="fa fa-th-list"></i> Close & Open Daily Account</a></li>
  29. {# <li class=""><a href="#"><i class="fas fa-bank"></i> Bank</a></li>#}
  30. {% endblock %}
  31. </ul>
  32. <ul class="nav navbar-nav navbar-right">
  33. <li class=""><a></a></li>
  34. {#<li><p class="navbar-text"></p></li>#}
  35. </ul>
  36. </div><!-- /.navbar-collapse -->
  37. </div><!-- /.container-fluid -->
  38. </nav>
  39. {% endblock %}
  40. {% block main %}
  41. <div class="row">
  42. <div class="col">
  43. <table id="transactions"
  44. style="width:100%; font-weight:normal; text-transform: uppercase;"
  45. singleSelect=true
  46. rownumbers=true
  47. pageSize=30
  48. fitColumns=true>
  49. <thead>
  50. <tr>
  51. </tr>
  52. </thead>
  53. </table>
  54. </div>
  55. </div>
  56. {% endblock %}
  57. {% block javascript %}
  58. // <script type="text/javascript" src="{{ asset('fos/scripts/my_daily_transactions.js') }}"></script>
  59. <script type="application/javascript">
  60. $('#transactions').datagrid({
  61. url:'transactions/transaction-list',
  62. method: 'post',
  63. pageSize:20,
  64. singleSelect: true,
  65. rownumbers:true,
  66. remoteFilter:true,
  67. pagination:true,
  68. fitColumns:true,
  69. collapsible:true,
  70. showFooter: true,
  71. loadMsg: 'Loading Transaction',
  72. view: detailview,
  73. detailFormatter: function(index, row) {
  74. return '<div class="ddv" style="padding: 5px 0"></div>';
  75. },
  76. rowStyler: function(index,row){
  77. if (row.is_cancelled === 1){
  78. return 'background-color:red;color:#fff;font-weight:bold;';
  79. }
  80. },
  81. onExpandRow: function (index, row) {
  82. var ddv = $(this).datagrid('getRowDetail', index).find('div.ddv');
  83. ddv.panel({
  84. height: 260,
  85. border: false,
  86. cache: false,
  87. href: 'transactions/details/' + row.id,
  88. onLoad: function () {
  89. $('#parcels').datagrid('fixDetailRowHeight', index);
  90. }
  91. })
  92. },
  93. columns: [[
  94. {field:'b.id',title:'WayBill',width:30,formatter:function(value,row,index){
  95. return row.id;
  96. }},
  97. {field:'d.station_name',title:'Destination',width:40,formatter:function(value,row,index){
  98. return row.station_name;
  99. }},
  100. {field:'b.sender_name',title:'Sender',width:60,formatter:function(value,row,index){
  101. return row.sender_name;
  102. }},
  103. {field:'b.sender_phone_number',title:'Sender Phone',width:30,formatter:function(value,row,index){
  104. return row.sender_phone_number;
  105. }},
  106. {field:'b.receiver_name',title:'Sending To',width:60,formatter:function(value,row,index){
  107. return row.receiver_name;
  108. }},
  109. {field:'b.receiver_phone_number',title:'Receiver Phone',width:30,formatter:function(value,row,index){
  110. return row.receiver_phone_number;
  111. }},
  112. {field:'a.expenses',title:'expenses',width:30,formatter:function(value,row,index){
  113. return row.expenses;
  114. }},
  115. {field:'t.payment_method',title:'paid via',width:30,formatter:function(value,row,index){
  116. return row.payment_method;
  117. }},
  118. {field:'amount',title:'Amount',width:20,formatter:function(value,row,index){
  119. return row.amount;
  120. }}
  121. ]]
  122. });
  123. $(function(){
  124. var transactionDataGrid = $('#transactions').datagrid();
  125. var isStationLoaded = 0;
  126. var isToStationLoaded = 0;
  127. transactionDataGrid.datagrid('enableFilter', [
  128. {
  129. field:'station_name',
  130. type: 'combobox',
  131. options:{
  132. method: 'GET',
  133. mode:'remote',
  134. panelHeight: 'auto',
  135. valueField:'id',
  136. textField:'station_name',
  137. url:'/form/stations',
  138. onSelect:function(value){
  139. console.log(value.id);
  140. if (value.id === -1){
  141. transactionDataGrid.datagrid('removeFilterRule', 'w.toStation');
  142. } else {
  143. transactionDataGrid.datagrid('addFilterRule', {
  144. field: 'd.id',
  145. op: 'equal',
  146. value: value.id
  147. });
  148. }
  149. transactionDataGrid.datagrid('doFilter');
  150. },
  151. onLoadSuccess: function(items){
  152. if (items.length && isToStationLoaded === 0){
  153. isToStationLoaded = 1;
  154. var opts = $(this).combobox('options');
  155. $(this).combobox('select', items[items.length-1][opts.valueField]);
  156. }
  157. }
  158. }
  159. },
  160. {
  161. field:'w.percel_count',
  162. type:'numberbox',
  163. options:{precision:1},
  164. op:['less','greater','equal']
  165. },
  166. {
  167. field:'t.amount',
  168. type:'numberbox',
  169. options:{precision:1},
  170. op:['less','greater','equal']
  171. },
  172. {
  173. field:'t.payment_method',
  174. type:'combobox',
  175. options: {
  176. panelHeight: 'auto',
  177. data: [
  178. {
  179. text: 'MPESA',
  180. value: 'MPESA'
  181. },
  182. {
  183. text: 'CASH',
  184. value: 'CASH'
  185. },
  186. {
  187. text: 'CASH_MPESA',
  188. value: 'CASH_MPESA'
  189. },{
  190. text: 'ALL',
  191. value: 'ALL'
  192. },
  193. ],
  194. onChange:function(value){
  195. console.log(value);
  196. // alert(value.station_name);
  197. if (value === 'ALL'){
  198. transactionDataGrid.datagrid('removeFilterRule', 't.payment_method');
  199. }else {
  200. transactionDataGrid.datagrid('addFilterRule', {
  201. field: 't.payment_method',
  202. op: 'equal',
  203. value: value
  204. });
  205. }
  206. transactionDataGrid.datagrid('doFilter');
  207. },
  208. onLoadSuccess: function(items){
  209. // $(this).combobox('select', items[items.length-1]['value']);
  210. }
  211. }
  212. }
  213. ]);
  214. });
  215. function formatAmount(val,row){
  216. return val.toLocaleString();
  217. }
  218. function cancelTransaction(id) {
  219. // window.open("/viewowner/"+rowh.id,"_self");
  220. $('#cancelDialog').dialog({
  221. title: 'CANCEL TRANSACTION',
  222. width: 550,
  223. height: 620,
  224. border: false,
  225. closed: false,
  226. cache: false,
  227. closable: true,
  228. href: 'transaction/cancel/'+id,
  229. modal: true
  230. });
  231. }
  232. </script>
  233. {% endblock %}