zentaopms/module/execution/view/preview.html.php
2023-05-16 10:47:08 +08:00

275 lines
13 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php include '../../common/view/header.lite.html.php';?>
<?php include '../../common/view/chart.html.php';?>
<?php
$height = 7;
$width = 6.4;
$pagerH = '30.5';
$bottom = '40';
$agent = $_SERVER["HTTP_USER_AGENT"];
if(strpos($agent, "MSIE"))
{
$width = 6.6;
$height = 7.3;
$pagerH = '30.8';
$bottom = '80';
}
elseif(strpos($agent, "Firefox"))
{
$height = 6.9;
$pagerH = '29';
$bottom = '60';
}
elseif(strpos($agent, "Opera"))
{
$height = 7;
}
$today = date('n/d');
?>
<style type='text/css'>
body {margin: 0pt}
.pager {border:1px solid #000; margin-bottom: <?php echo $bottom?>px; border-collapse: collapse; border-spacing: 0; width: 21.6cm; height: <?php echo $pagerH?>cm;}
.pager td{border:1px dotted #000;}
.pager td{width: <?php echo $width?>cm; height: <?php echo $height?>cm;}
.pager .stage {border:0; width: 100%; height: auto; margin: 0;}
.pager .stage td {height: auto; border: 0; padding: 0; margin: 0;}
.board {width: <?php echo $width - 0.2?>cm; height: <?php echo $height - 0.2?>cm; font-size: 12px; border: 1px solid #ccc; text-align: left;}
#record {margin-bottom: 0; margin-top: 5px; border: 1px solid #000; width: 100%; border-collapse: collapse; border-spacing: 0;}
#record td {width: 13%; height: 14px; border: 1px solid #000;}
#burn {margin-top: 50px;}
.board-header {overflow: hidden; padding: 1px 3px 1px 3px;}
.board-id {overflow: hidden; padding: 1px 3px 1px 3px; width: 84%; border-bottom: 2px solid #000;}
.board-pri {border: 1px solid #000; position: absolute; right: 0; top: 0; font-size: 20px; padding: 2px;}
.board-middle {overflow: hidden}
.board-title {overflow: hidden; padding: 1px 3px 1px 3px; width:95%; font-size:18px; font-weight: bold; line-height: 1.15;}
.board-content {overflow: hidden; padding: 1px 3px 1px 3px; width:95%; font-size:14px; line-height: 1.2;letter-spacing: 1px;}
.board-content p {margin-bottom: 0;}
.board-footer {border-top: 1px dotted #000; padding-top: 5px; position: absolute; left: 0; width: 100%}
.board-footer.story {bottom: 0;}
.board-footer.task {bottom: 0;}
.board-footer p{height: 14px; padding:0px 3px; margin-bottom:2px;}
</style>
<?php
$i = 0;
$dataType = '';
?>
<?php foreach($datas as $col => $data):?>
<?php foreach($data as $id => $content):?>
<?php if($col != 'story') $dataType = strpos($id, 'bug') !== false ? 'bug' : 'task';?>
<?php if($i % 12 == 0):?>
<table class='pager'>
<?php endif;?>
<?php if($i % 3 == 0):?>
<tr>
<?php endif;?>
<td valign='middle' align='center'>
<div class="board" style='position:relative'>
<div class="board-header">
<div class="board-id">
<?php
if($col != 'story')
{
$story = $dataType == 'bug' ? $content->story : $content->storyID;
echo $lang->story->common . "#<span style='font-size:20px'>" . (empty($story) ? '0' : $story) . '</span>';
echo ' <i class="icon-angle-right"></i> ';
}
?>
<?php echo $col == 'story' ? $lang->story->common : ($dataType == 'task' ? $lang->task->common : $lang->bug->common)?>
#<span style='font-size:20px;'><?php echo $content->id;?></span></div>
<span class="board-pri">P<?php echo $content->pri ? $content->pri : '&nbsp;&nbsp;';?></span>
</div>
<div class='board-middle' style='height:<?php echo ($col == 'story' or $dataType == 'bug') ? '150px' : '100px'?>'>
<div class='board-title <?php echo ($col == 'story' or $dataType == 'bug') ? 'h-40px' : 'h-100px'?>'>
<?php
$title = ($col == 'story' or strpos($id, 'bug') !== false) ? $content->title : $content->name;
echo $col == 'story' ? mb_substr($title, 0, 22, 'utf8') : mb_substr($title, 0, 85, 'utf8')
?>
</div>
<?php if($col == 'story' or $dataType == 'bug'):?>
<?php $desc = $col == 'story' ? $storySpecs[$content->id]->spec : $content->steps;?>
<div class='board-content'><?php echo mb_substr(strip_tags($desc, "<p><br>"), 0, 90, 'utf8')?></div>
<?php endif;?>
</div>
<div class="board-footer <?php echo $col == 'story' ? 'story' : 'task'?>">
<?php if($col == 'story'):?>
<table class='stage'>
<tr>
<td style='padding-left:15px;'>
<table class='table-1'>
<tr>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developing" <?php echo $content->stage == 'developing' ? "checked" : ''?> id="story<?php echo $content->id;?>developing"><label for="story<?php echo $content->id;?>developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developed" <?php echo $content->stage == 'developed' ? "checked" : ''?> id="story<?php echo $content->id;?>developed"><label for="story<?php echo $content->id;?>developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="testing" <?php echo $content->stage == 'testing' ? "checked" : ''?> id="story<?php echo $content->id;?>testing"><label for="story<?php echo $content->id;?>testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
</tr>
<tr>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="tested" <?php echo $content->stage == 'tested' ? "checked" : ''?> id="story<?php echo $content->id;?>tested"><label for="story<?php echo $content->id;?>tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="verified" <?php echo $content->stage == 'verified' ? "checked" : ''?> id="story<?php echo $content->id;?>verified"><label for="story<?php echo $content->id;?>verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
<?php elseif($dataType == 'bug'):?>
<div><?php echo $lang->bug->assignTo . ''; echo empty($content->assignedTo) ? '' : $realnames[$content->assignedTo]->realname;?></div>
<div><?php echo $lang->printKanban->taskStatus . '' . html::checkbox("bug$content->id", $lang->bug->statusList, $content->status);?></div>
<?php else:?>
<div><?php echo $lang->task->assign . ''; echo empty($content->assignedTo) ? '' : $realnames[$content->assignedTo]->realname;?></div>
<div><?php echo $lang->printKanban->taskStatus . '' . html::checkbox("task$content->id", $lang->task->statusList,$content->status);?></div>
<table class='table-1' id='record'>
<tr>
<td align='center'><?php echo $lang->task->date?></td>
<td align='center'><?php echo $today?></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td align='center'><?php echo $lang->task->leftThisTime?></td>
<td align='center'><?php if($content->left) echo $content->left . $lang->execution->workHourUnit;?></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<?php endif;?>
</div>
</div>
</td>
<?php $i ++;?>
<?php if($i % 3 == 0):?>
</tr>
<?php endif;?>
<?php if($i % 12 == 0):?>
</table>
<p style='page-break-before:always'></p>
<?php endif;?>
<?php endforeach;?>
<?php endforeach;?>
<?php while($i % 12 != 0):?>
<td valign='middle' align='center'>
<div class="board" style='position:relative'>
<div class="board-header">
<div class="board-id"><?php echo $col == 'story' ? $lang->story->common : ($dataType == 'task' ? $lang->task->common : $lang->bug->common)?>#</div>
<span class="board-pri">P &nbsp; </span>
</div>
<div class='board-middle <?php echo $col == 'story' ? 'h-150px' : 'h-100px'?>'>
<div class='board-title <?php echo $col == 'story' ? 'h-40px' : 'h-100px'?>'>
</div>
<?php if($col == 'story'):?>
<?php endif;?>
</div>
<div class="board-footer <?php echo $col == 'story' ? 'story' : 'task'?>">
<?php if($col == 'story'):?>
<table class='stage'>
<tr>
<td style='padding-left:15px;'>
<table class='table-1'>
<tr>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developing" id="story<?php echo $content->id;?>developing"><label for="story<?php echo $content->id;?>developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developed" id="story<?php echo $content->id;?>developed"><label for="story<?php echo $content->id;?>developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="testing" id="story<?php echo $content->id;?>testing"><label for="story<?php echo $content->id;?>testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
</tr>
<tr>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="tested" id="story<?php echo $content->id;?>tested"><label for="story<?php echo $content->id;?>tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="verified" id="story<?php echo $content->id;?>verified"><label for="story<?php echo $content->id;?>verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
<?php elseif($dataType == 'bug'):?>
<div><?php echo $lang->bug->assignTo . '';?></div>
<div><?php echo $lang->printKanban->taskStatus . '' . html::checkbox("bug$content->id", $lang->bug->statusList);?></div>
<?php else:?>
<div><?php echo $lang->task->assignedTo . '';?></div>
<div><?php echo $lang->printKanban->taskStatus . '' . html::checkbox("task$content->id", $lang->task->statusList);?></div>
<table class='table-1' id='record'>
<tr>
<td align='center'><?php echo $lang->task->date?></td>
<td align='center'><?php echo $today?></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td align='center'><?php echo $lang->task->leftThisTime?></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<?php endif;?>
</div>
</div>
</td>
<?php $i++;?>
<?php if($i % 3 == 0):?>
</tr>
<?php endif;?>
<?php if($i % 12 == 0):?>
</table>
<p style='page-break-before:always'></p>
<?php endif;?>
<?php endwhile;?>
<div class='chart-canvas'>
<img style="width: 790px; height: 400px;" id='chartImg'/>
<canvas id='burnChart' data-bezier-curve='false' data-responsive='true'></canvas>
</div>
</body>
<script>
function initBurnChar()
{
var data =
{
labels: <?php echo json_encode($chartData['labels'])?>,
datasets: [
{
label: "<?php echo $lang->execution->charts->burn->graph->reference;?>",
color: "#CCC",
fillColor: "rgba(0,0,0,0)",
showTooltips: false,
data: <?php echo $chartData['baseLine']?>
},
{
label: "<?php echo $lang->execution->charts->burn->graph->actuality;?>",
color: "#0033CC",
data: <?php echo $chartData['burnLine']?>
}]
};
var burnChart = $("#burnChart").lineChart(data, {animation: !($.zui.browser && $.zui.browser.ie === 8)});
}
$(function()
{
initBurnChar();
setTimeout(function()
{
var chartImg = $('#burnChart').get(0).toDataURL("image/png");
$('#chartImg').attr('src', chartImg);
$('#burnChart').hide();
<?php if(strpos($agent,'Chrome') !== false) echo "window.print();\n" ?>
}, 200);
$('#placeholder').prev('h1').width(700);
$('#placeholder').css('margin', 0);
$('#placeholder .tickLabels .xAxis .tickLabel').each(function()
{
var text = $(this).html();
if(text.indexOf('-') >= 0) $(this).html(text.substr(text.indexOf('-') + 1))
});
})
</script>
</html>