soil-analysis-bs.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <title>[[*longtitle]] | [[++site_name]]</title>
  5. <base href="[[!++site_url]]" >
  6. <meta charset="[[++modx_charset]]" >
  7. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" >
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
  9. <meta name="keywords" content="[[*introtext]]" >
  10. <meta name="description" content="[[*description]]" >
  11. [[!Profile]]
  12. [[$dash-header]]
  13. <link href="/client-assets/css/dashboard.css" rel="stylesheet" type="text/css" />
  14. <script src="https://unpkg.com/gijgo@1.9.11/js/gijgo.min.js" type="text/javascript"></script>
  15. <link href="https://unpkg.com/gijgo@1.9.11/css/gijgo.min.css" rel="stylesheet" type="text/css" />
  16. <script src="client-assets/js/skycons.js" type="text/javascript"></script>
  17. <link href="client-assets/home/css/graphing.css" rel="stylesheet" type="text/css" media="screen" />
  18. <link href="client-assets/home/css/alux.min.css" rel="stylesheet" type="text/css" media="screen" />
  19. <script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.3/html2pdf.bundle.min.js" integrity="sha512-YcsIPGdhPK4P/uRW6/sruonlYj+Q7UHWeKfTAkBW+g83NKM+jMJFJ4iAPfSnVp7BKD4dKMHmVSvICUbE/V1sSw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  20. <style>
  21. @media print {
  22. @page {
  23. size: A4 portrait;
  24. }
  25. @page :left {
  26. margin-left: 0.5cm;
  27. }
  28. @page :right {
  29. margin-right: 0.5cm;
  30. }
  31. @page :top {
  32. margin-top: 0cm;
  33. }
  34. @page :bottom {
  35. margin-bottom: 0cm;
  36. }
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="container pagebreak">
  42. <div class="row">
  43. [[!logoHeader]]
  44. </div>
  45. <div class="row">
  46. <div class="col-md-12 text-center font-weight-bold h4" >ANALYSIS RESULTS</div>
  47. </div>
  48. <hr class="p-1 m-1">
  49. <div class="row p-3">
  50. <div class="col-md-6 border ">
  51. <div class="row h4 text-center">Base Saturation</div>
  52. <div class="row">Body</div>
  53. </div>
  54. <div class="col-md-6 border ">
  55. <div class="row h4 text-center">Header</div>
  56. <div class="row">Body</div>
  57. </div>
  58. </div>
  59. <hr class="p-1 m-1">
  60. <table class="chart">
  61. <tbody>
  62. <tr class="chart-header">
  63. <th colspan=3 class="text-center col-md-6 border-left border-right border-top">ELEMENT</th>
  64. <th colspan=3 class="text-center col-md-6 border-right border-top">STATUS</th>
  65. </tr>
  66. <tr class="chart-header-sub">
  67. <th class="text-center col-18 border-left"></th>
  68. <th class="text-center col-15">DESIRED</th>
  69. <th class="text-center col-15">FOUND</th>
  70. <th class="text-center col-16 stripe-1">LIGHT</th>
  71. <th class="text-center col-16 stripe-1">MEDIUM</th>
  72. <th class="text-center col-16 border-right stripe-1">HEAVY</th>
  73. </tr>
  74. <tr>
  75. <td class="border-left"></td>
  76. <td class="border-left"></td>
  77. <td class="border-left nutrient-balance"></td>
  78. <td class="border-left"></td>
  79. <td class="border-left"></td>
  80. <td class="border-left border-right"></td>
  81. </tr>
  82. <tr class="chart-header-sub">
  83. <th colspan=3 class="col-16 border-left text-center lightblue">RATIOS</th>
  84. <th class="text-center col-16 stripe-1"></th>
  85. <th class="text-center col-16 stripe-1"></th>
  86. <th class="text-center col-16 border-right stripe-1"></th>
  87. </tr>
  88. <!-- Ca : Mg -->
  89. [[!soilAnalysisRatio? &element=`ca_mehlick3` &elementTwo=`mg_mehlick3` &sbl=`` &rec=`ca_mg_ratio` &nutrient=`Ca:Mg Ratio` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  90. <!-- Mg : K -->
  91. [[!soilAnalysisRatio? &element=`mg_mehlick3` &elementTwo=`k_mehlick3` &sbl=`` &rec=`c_n_ratio` &nutrient=`Mg:K Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  92. <!-- K : Na -->
  93. [[!soilAnalysisRatio? &element=`k_mehlick3` &elementTwo=`na_mehlick3` &sbl=`` &rec=`c_n_ratio` &nutrient=`K:Na Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  94. <!-- P : S -->
  95. [[!soilAnalysisRatio? &element=`k_mehlick3` &elementTwo=`na_mehlick3` &sbl=`` &rec=`c_n_ratio` &nutrient=`P:S Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  96. <!-- P : Zn -->
  97. [[!soilAnalysisRatio? &element=`k_mehlick3` &elementTwo=`na_mehlick3` &sbl=`` &rec=`c_n_ratio` &nutrient=`P:Zn Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  98. <!-- Fe : Mn -->
  99. [[!soilAnalysisRatio? &element=`k_mehlick3` &elementTwo=`na_mehlick3` &sbl=`` &rec=`c_n_ratio` &nutrient=`Fe:Mn Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  100. <!-- Ca : Mg -->
  101. [[!soilAnalysisRatio? &element=`ocarbon` &elementTwo=`NO3_N` &sbl=`` &rec=`c_n_ratio` &nutrient=`C:N Ratio `&type=`:1` &min=`` &max=`` &text=`y` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  102. [[!soilAnalysisCalcs? &element=`NH3_N` &sbl=`` &nutrient=`Total Nitrogen` &type=`%` &min=`` &max=`` &text=`c` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  103. [[!soilAnalysisCalcs? &element=`ocarbon` &sbl=`` &nutrient=`Total Carbon` &type=`%` &min=`` &max=`` &text=`c` &rec_text=`r` &decimal=`1` &graph=lightblueGraph]]
  104. <tr>
  105. <td class="border-bottom border-left"></td>
  106. <td class="border-bottom border-left"></td>
  107. <td class="border-bottom border-left nutrient-balance"></td>
  108. <td class="border-bottom border-left"></td>
  109. <td class="border-bottom border-left"></td>
  110. <td class="border-bottom border-left border-right"></td>
  111. </tr>
  112. </tbody>
  113. </table>
  114. </div>
  115. </div>
  116. <!--
  117. <script src="https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=xcotawi18mg1imp8im144buq68h9g3ndd3c9c8215w8qu3ld"></script>
  118. <script>
  119. tinymce.init({
  120. selector: 'textarea',
  121. menubar: false,
  122. toolbar: 'bold italic | alignleft aligncenter alignright alignjustify | bullist numlist | removeformat',
  123. plugins: 'autosave',
  124. autosave_interval: '20s'
  125. });
  126. </script>
  127. -->
  128. [[$dash-footer]]
  129. <script>
  130. //https://github.com/eKoopmans/html2pdf.js
  131. $('.downloadPDF').click(function () {
  132. var element = document.getElementById('content'); //document.createElement("body");
  133. element.classList.remove('screen');
  134. element.classList.add('print');
  135. var opt = {
  136. margin: 3,
  137. filename: 'soil-analysis.pdf',
  138. image: { type: 'jpeg', quality: 1.0 },
  139. html2canvas: { scale: 2, letterRendering: true, windowWidth: 1024 }, //, windowWidth: 1024
  140. jsPDF: { orientation: 'portrait', unit: 'mm', format: 'a4', putOnlyUsedFonts: true, floatPrecision: 'smart', }
  141. };
  142. html2pdf()
  143. .from(element)
  144. .toPdf()
  145. .set(opt)
  146. .save()
  147. .then(function(){
  148. element.classList.remove('print');
  149. element.classList.add('screen');
  150. });
  151. });
  152. </script>
  153. </body>
  154. </html>