| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * The ajaxPreview view file of workflowreport module of ZDOO.
- *
- * @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
- * @license ZPL (http://zpl.pub/page/zplv12.html)
- * @author Dongdong Jia <jiadongdong@easycorp.ltd>
- * @package workflowreport
- * @version $Id$
- * @link http://www.zdoo.com
- */
- ?>
- <?php js::set('chartDemo', $lang->workflowreport->demo);?>
- <?php js::set('currentType', $report->type);?>
- <?php js::set('currentCountType', $report->countType);?>
- <?php js::set('reportFields', !empty($report->fields) ? sizeof($report->fields) : 0);?>
- <?php js::set('displayType', $report->displayType);?>
- <table class='table'>
- <tr>
- <td id='previewID'><?php echo $report->name;?></td>
- <td></td>
- </tr>
- <tr>
- <td style='border-bottom: unset;'><div id='container'></div></td>
- <td class="legendContainer"><span id="pieLegend" class="chart-legend"></span></td>
- </tr>
- </table>
- <script>
- $(document).ready(function()
- {
- var globalOption = {};
- if(displayType == 'percent') globalOption = {scaleLabel: "<%=value%>%", tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>%", multiTooltipTemplate: "<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>%"};
- if(currentType == 'pie')
- {
- $('#container').html('<canvas id="previewChart" width="400" height="400"></canvas>');
- var data = [{value: 40, color: "blue", label: chartDemo.pie1 },
- {value: 30, color:"#F7464A", label: chartDemo.pie2 },
- {value: 20, color: 'green' , label: chartDemo.pie3 },
- {value: 10, color: 'yellow', label: chartDemo.pie4 }];
- var options = globalOption;
- options["scaleShowLabels"] = true;
- var myPieChart = $("#previewChart").pieChart(data, options);
- $('#pieLegend').append(myPieChart.generateLegend());
- }
- else if(currentType == 'line')
- {
- $('#container').html('<canvas id="previewChart" width="800" height="400"></canvas>');
- var data = generateRandomData();
- var options = globalOption;
- options["responsive"] = true;
- var myLineChart = $("#previewChart").lineChart(data, options);
- if(reportFields > 1)
- {
- $('#container').prepend('<div id="lineLegend"></div>');
- $('#lineLegend').append(myLineChart.generateLegend());
- }
- }
- else if(currentType == 'bar')
- {
- $('#container').html('<canvas id="previewChart" width="800" height="400"></canvas>');
- var data = generateRandomData();
- var options = globalOption;
- options["responsive"] = true;
- options["barValueSpacing"] = 20;
- var myBarChart = $('#previewChart').barChart(data, options);
- if(reportFields > 1)
- {
- $('#container').prepend('<div id="barLegend"></div>');
- $('#barLegend').append(myBarChart.generateLegend());
- }
- }
- /**
- * Generate random data of line chart or bar chart.
- *
- * @access public
- * @return void
- */
- function generateRandomData()
- {
- var datasets = new Array();
- if(currentCountType == 'count') reportFields = 1;
- for(var i = 1; i <= reportFields; i++)
- {
- var dataset = {};
- dataset.label = chartDemo.dataset + i;
- dataset.data = new Array();
- randomArray = new Array();
- for(var j = 0; j < 6; j++)
- {
- var rand = parseInt(Math.random() * 90 + 10);
- randomArray.push(rand);
- }
- /* Count percentage. */
- if(displayType == 'percent')
- {
- var sum = eval(randomArray.join("+"));
- $.each(randomArray, function(index, value){ randomArray[index] = (value / sum * 100).toFixed(1)});
- }
- dataset.data = randomArray;
- datasets.push(dataset);
- }
- var data = {labels: [chartDemo.month1, chartDemo.month2, chartDemo.month3, chartDemo.month4, chartDemo.month5, chartDemo.month6 ], datasets: datasets};
- return data;
- }
- });
- </script>
|