+ the page of tasks report
This commit is contained in:
@@ -484,4 +484,43 @@ class task extends control
|
||||
$tasks = $this->task->getProjectTaskPairs((int)$projectID);
|
||||
die(html::select('task', $tasks, $taskID));
|
||||
}
|
||||
|
||||
/**
|
||||
* The report page.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param string $browseType
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function report($projectID, $browseType)
|
||||
{
|
||||
|
||||
$this->loadModel('report');
|
||||
$this->view->charts = array();
|
||||
$this->view->renderJS = '';
|
||||
|
||||
if(!empty($_POST))
|
||||
{
|
||||
foreach($this->post->charts as $chart)
|
||||
{
|
||||
$chartFunc = 'getDataOf' . $chart;
|
||||
$chartData = $this->task->$chartFunc();
|
||||
$chartOption = $this->lang->task->report->$chart;
|
||||
$this->task->mergeChartOption($chart);
|
||||
|
||||
$chartXML = $this->report->createSingleXML($chartData, $chartOption->graph);
|
||||
$this->view->charts[$chart] = $this->report->createJSChart($chartOption->swf, $chartXML, $chartOption->width, $chartOption->height);
|
||||
$this->view->datas[$chart] = $this->report->computePercent($chartData);
|
||||
}
|
||||
$this->view->renderJS = $this->report->renderJsCharts(count($this->view->charts));
|
||||
}
|
||||
$this->project->setMenu($this->project->getPairs(), $projectID);
|
||||
$this->projects = $this->project->getPairs();
|
||||
$this->view->header->title = $this->projects[$projectID] . $this->lang->colon . $this->lang->task->report->common;
|
||||
$this->view->projectID = $projectID;
|
||||
$this->view->browseType = $browseType;
|
||||
$this->view->checkedCharts = $this->post->charts ? join(',', $this->post->charts) : '';
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.side span {display:block}
|
||||
@@ -0,0 +1,20 @@
|
||||
/* Select All. */
|
||||
function checkAll()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check reverse. */
|
||||
function checkReverse()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = !checkOBJ.get(i).checked;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -111,3 +111,22 @@ $lang->task->copyStoryTitle = "Same as story";
|
||||
$lang->task->afterSubmit = "After created";
|
||||
$lang->task->successSaved = "Success saved";
|
||||
$lang->task->delayWarning = " <strong class='delayed f-14px'> Postponed %s days </strong>";
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report->common = 'Report';
|
||||
$lang->task->report->select = 'Select';
|
||||
$lang->task->report->create = 'Create';
|
||||
$lang->task->report->selectAll = 'All';
|
||||
$lang->task->report->selectReverse = 'Reverse';
|
||||
|
||||
$lang->task->report->charts['tasksPerProject'] = 'Project tasks';
|
||||
$lang->task->report->charts['tasksPerAssignedTo'] = 'Assigned To';
|
||||
$lang->task->report->charts['tasksPerType'] = 'Type';
|
||||
$lang->task->report->charts['tasksPerPrimary'] = 'Primary';
|
||||
$lang->task->report->charts['tasksPerDeadline'] = 'Deadline';
|
||||
$lang->task->report->charts['tasksPerEstimate'] = 'Estimate time';
|
||||
$lang->task->report->charts['tasksPerLeft'] = 'Left time';
|
||||
$lang->task->report->charts['tasksPerConsumed'] = 'Consumed time';
|
||||
$lang->task->report->charts['tasksPerFinishedBy'] = 'Finished By';
|
||||
$lang->task->report->charts['tasksPerClosedReason'] = 'Closed reason';
|
||||
$lang->task->report->charts['finishedTasksPerDay'] = 'Finished tasks per day';
|
||||
|
||||
@@ -111,3 +111,22 @@ $lang->task->copyStoryTitle = "同需求";
|
||||
$lang->task->afterSubmit = "添加之后";
|
||||
$lang->task->successSaved = "成功添加,";
|
||||
$lang->task->delayWarning = " <strong class='delayed f-14px'> 延期%s天 </strong>";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->task->report->common = '统计报表';
|
||||
$lang->task->report->select = '请选择报表类型';
|
||||
$lang->task->report->create = '生成报表';
|
||||
$lang->task->report->selectAll = '全选';
|
||||
$lang->task->report->selectReverse = '反选';
|
||||
|
||||
$lang->task->report->charts['tasksPerProject'] = '项目任务数统计';
|
||||
$lang->task->report->charts['tasksPerAssignedTo'] = '指派给统计';
|
||||
$lang->task->report->charts['tasksPerType'] = '任务类型统计';
|
||||
$lang->task->report->charts['tasksPerPrimary'] = '优先级统计';
|
||||
$lang->task->report->charts['tasksPerDeadline'] = '截止日期统计';
|
||||
$lang->task->report->charts['tasksPerEstimate'] = '预计时间统计';
|
||||
$lang->task->report->charts['tasksPerLeft'] = '剩余时间统计';
|
||||
$lang->task->report->charts['tasksPerConsumed'] = '消耗时间统计';
|
||||
$lang->task->report->charts['tasksPerFinishedBy'] = '由有谁完成统计';
|
||||
$lang->task->report->charts['tasksPerClosedReason'] = '关闭原因统计';
|
||||
$lang->task->report->charts['finishedTasksPerDay'] = '每天完成统计';
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* The report view file of bug module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @license LGPL (http://www.gnu.org/licenses/lgpl.html)
|
||||
* @author wenjie<wenjie@cnezsoft.com>
|
||||
* @package project
|
||||
* @version $Id: report.html.php 1594 2011-04-10 11:00:00Z wj $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='featurebar'>
|
||||
<div class='f-left'><?php echo $lang->report->common;?></div>
|
||||
<div class='f-right'><?php common::printLink('project', 'task', "projectID=$projectID&browseType=$browseType", $lang->goback); ?></div>
|
||||
</div>
|
||||
|
||||
<table class='cont-lt1'>
|
||||
<tr valign='top'>
|
||||
<td class='side'>
|
||||
<div class='box-title'><?php echo $lang->task->report->select;?></div>
|
||||
<div class='box-content'>
|
||||
<form method='post'>
|
||||
<?php echo html::checkBox('charts', $lang->task->report->charts, $checkedCharts)?>
|
||||
<input type='button' value='<?php echo $lang->task->report->selectAll;?>' onclick='checkAll()' />
|
||||
<input type='button' value='<?php echo $lang->task->report->selectReverse;?>' onclick='checkReverse()' />
|
||||
<br /><br />
|
||||
<?php echo html::submitButton($lang->task->report->create);?>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
<td class='divider'></td>
|
||||
<td>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->task->report->common;?></caption>
|
||||
<?php foreach($charts as $chartType => $chartContent):?>
|
||||
<tr valign='top'>
|
||||
<td><?php echo $chartContent;?></td>
|
||||
<td width='300'>
|
||||
<table class='table-1'>
|
||||
<tr>
|
||||
<th><?php echo $lang->report->item;?></th>
|
||||
<th><?php echo $lang->report->value;?></th>
|
||||
<th><?php echo $lang->report->percent;?></th>
|
||||
</tr>
|
||||
<?php foreach($datas[$chartType] as $key => $data):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $data->name;?></td>
|
||||
<td><?php echo $data->value;?></td>
|
||||
<td><?php echo ($data->percent * 100) . '%';?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php echo $renderJS;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
Reference in New Issue
Block a user