tableandcharts.html.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * The browse view file of company 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 Mengyi Liu <liumengyi@easycorp.ltd>
  7. * @package company
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('updateTimeTip', $lang->metric->updateTimeTip);
  12. $fnGenerateTableAndCharts = function($metric) use($viewType, $groupHeader, $groupData, $tableWidth, $pagerExtra, $headerGroup, $echartOptions, $chartTypeList, $noDataTip)
  13. {
  14. return div
  15. (
  16. setClass("table-and-chart table-and-chart-{$viewType}" . ($groupData ? '' : ' no-data')),
  17. $groupData ? div
  18. (
  19. setClass('table-side'),
  20. setStyle(array('flex-basis' => $tableWidth . 'px')),
  21. div
  22. (
  23. dtable
  24. (
  25. setID('ajaxmetric' . $metric->id),
  26. $viewType == 'multiple' ? set::height(328) : set::height(jsRaw('window.getTableHeight')),
  27. set::rowHeight(32),
  28. set::bordered(true),
  29. set::cols($groupHeader),
  30. set::data(array_values($groupData)),
  31. set::footPager(usePager('dtablePager', $pagerExtra)),
  32. $headerGroup ? set::plugins(array('header-group')) : null,
  33. set::onRenderCell(jsRaw('window.renderDTableCell')),
  34. set::loadPartial(true)
  35. )
  36. )
  37. ) : null,
  38. $echartOptions ? div
  39. (
  40. setStyle(array('width' => "calc(100vh - {$tableWidth}px)")),
  41. setClass('chart-side'),
  42. div
  43. (
  44. setClass('chart-type'),
  45. picker
  46. (
  47. set::name('chartType'),
  48. set::items($chartTypeList),
  49. set::value('line'),
  50. set::required(true),
  51. set::onchange("window.handleChartTypeChange($metric->id, '$viewType')")
  52. )
  53. ),
  54. div
  55. (
  56. setClass("chart chart-{$viewType}"),
  57. echarts
  58. (
  59. set::width('100%'),
  60. set::height('100%'),
  61. set::xAxis($echartOptions['xAxis']),
  62. set::yAxis($echartOptions['yAxis']),
  63. set::legend($echartOptions['legend']),
  64. set::series($echartOptions['series']),
  65. isset($echartOptions['dataZoom']) ? set::dataZoom($echartOptions['dataZoom']) : null,
  66. set::grid($echartOptions['grid']),
  67. set::tooltip($echartOptions['tooltip'])
  68. )
  69. )
  70. ) : null,
  71. $groupData ? null : span($noDataTip, setClass('text-md'))
  72. );
  73. };