report.html.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * The report view file of testtask module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Yuting Wang <wangyuting@easycorp.ltd>
  7. * @package testtask
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('params', "productID={$productID}&taskID={$taskID}&browseType={$browseType}&branchID={$branchID}&moduleID={$moduleID}");
  12. detailHeader
  13. (
  14. to::title
  15. (
  16. entityLabel
  17. (
  18. set::level(1),
  19. set::text($lang->testtask->report->common)
  20. )
  21. )
  22. );
  23. $reports = array();
  24. foreach($lang->testtask->report->charts as $key => $label) $reports[] = array('text' => $label, 'value' => $key);
  25. function getEcharts($tabCharts, $tabDatas)
  26. {
  27. global $lang;
  28. $echarts = array();
  29. foreach($tabCharts as $type => $option)
  30. {
  31. $chartData = $tabDatas[$type];
  32. $echarts[] = tableChart
  33. (
  34. set::item('chart-' . $type),
  35. set::type($option->type),
  36. set::title($lang->testtask->report->charts[$type]),
  37. set::datas((array)$chartData),
  38. set::tableWidth('40%')
  39. );
  40. }
  41. return $echarts;
  42. }
  43. $tabItems = array();
  44. unset($lang->report->typeList['default']);
  45. foreach($lang->report->typeList as $type => $typeName)
  46. {
  47. $tabItems[] = tabPane
  48. (
  49. set::title($typeName),
  50. set::active($type == $chartType),
  51. set::param($type),
  52. set::key($type),
  53. to::prefix(icon($type == 'default' ? 'list-alt' : "chart-{$type}")),
  54. div(set::className('pb-4 pt-2'), span(set::className('text-gray'), html(str_replace('%tab%', $lang->testtask->wait . $lang->testcase->common, $lang->report->notice->help)))),
  55. div(getEcharts($charts, $datas))
  56. );
  57. }
  58. div
  59. (
  60. set::className('flex items-start'),
  61. cell
  62. (
  63. set::width('240'),
  64. set::className('bg-white p-4 mr-5'),
  65. div(set::className('pb-2'), span(set::className('font-bold'), $lang->testtask->report->select)),
  66. div
  67. (
  68. set::className('pb-2'),
  69. control
  70. (
  71. set::type('checkList'),
  72. set::name('charts'),
  73. set::items($reports)
  74. )
  75. ),
  76. btn
  77. (
  78. set('data-on', 'click'),
  79. set('data-call', 'selectAll'),
  80. $lang->selectAll
  81. ),
  82. btn
  83. (
  84. set::className('primary ml-4 inited'),
  85. set('data-on', 'click'),
  86. set('data-call', 'clickInit'),
  87. set('data-params', 'event'),
  88. $lang->testtask->report->create
  89. )
  90. ),
  91. cell
  92. (
  93. set::flex('1'),
  94. set::className('bg-white px-4 py-2'),
  95. set::id('report'),
  96. tabs
  97. (
  98. on::click('.font-medium', 'changeTab'),
  99. $tabItems
  100. )
  101. )
  102. );
  103. render();