2
0

cms.documents-my-assign.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. $jsonTarget = "/json.php?jsonData=documents-my-assign";
  3. if(core::isDebug()){
  4. debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
  5. json::create("documents");
  6. }
  7. ?>
  8. <header class="d-flex flex-column flex-md-row align-items-md-center p-3 bg-light ">
  9. <h2 class="bd-title" id="content">
  10. <span>Listes des documents à traiter</span>
  11. </h2>
  12. </header>
  13. <?php
  14. echo core::filAriane(array(
  15. "current" => "Listes des documents à traiter",
  16. "arbo" => array(
  17. "Documents" => NULL,
  18. "Listes des documents à traiter" => "/documents-my-assign.html")
  19. ));
  20. ?>
  21. <div>
  22. <table
  23. id="table"
  24. class="table-striped table-hover table-sm"
  25. data-page-size="25"
  26. data-toggle="table"
  27. data-show-columns="true"
  28. data-search="true"
  29. data-buttons-align="left"
  30. data-show-footer="true"
  31. data-pagination="true"
  32. data-filter-control="true"
  33. data-flat="true"
  34. data-sort-name="date"
  35. data-sort-order="desc"
  36. data-url="<?php echo $jsonTarget ?>">
  37. <thead>
  38. <tr>
  39. <th data-sortable="true" data-field="date" data-filter-control="input" data-width="100">Date</th>
  40. <th data-sortable="true" data-field="titre" data-filter-control="input">Titre</th>
  41. <th data-sortable="true" data-field="label" data-filter-control="select" data-width="180">Type</th>
  42. <th data-sortable="true" data-field="deadline" data-filter-control="input" data-width="100">Echéance</th>
  43. <th data-sortable="true" data-field="tags" data-filter-control="input" data-width="200">Tags</th>
  44. <th data-sortable="true" data-field="assign" data-filter-control="input" data-width="200">Attribution</th>
  45. <th data-sortable="true" data-field="montant" data-filter-control="input" data-width="110" data-formatter="dataFormatter" data-footer-formatter="montantFormatter">Montant</th>
  46. <th data-field="id" data-formatter="selectFormatter" data-width="60"></th>
  47. </tr>
  48. </thead>
  49. </table>
  50. </div>
  51. <script>
  52. function selectFormatter(value, row) {
  53. return '<a href="/document-' + row.id + '.html"><button type="submit" class="btn btn-outline-primary btn-sm">Traiter</button></a>';
  54. }
  55. let euro = Intl.NumberFormat('de-DE', {
  56. style: 'currency',
  57. currency: 'EUR',
  58. });
  59. function dataFormatter(value) {
  60. return euro.format(value);
  61. }
  62. function montantFormatter(data) {
  63. var total = 0;
  64. data.forEach(function (row) {
  65. total += parseFloat(row.montant);
  66. });
  67. return parseFloat(total) === 0 ? euro.format(0.00) : euro.format(total.toFixed(2));
  68. }
  69. </script>