* finish task #3838.

This commit is contained in:
wangyidong
2018-04-20 13:00:35 +08:00
parent 9bd46a15b9
commit 4524f89c21
12 changed files with 397 additions and 168 deletions
+86 -59
View File
@@ -11,67 +11,94 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id='featurebar'>
<ul class='nav'>
<div id="mainMenu" class="clearfix">
<div class="btn-toolbar pull-left">
<?php
echo '<li id="today">' . html::a(inlink('dynamic', "projectID=$projectID&type=today"), $lang->action->dynamic->today) . '</li>';
echo '<li id="yesterday">' . html::a(inlink('dynamic', "projectID=$projectID&type=yesterday"), $lang->action->dynamic->yesterday) . '</li>';
echo '<li id="twodaysago">' . html::a(inlink('dynamic', "projectID=$projectID&type=twodaysago"), $lang->action->dynamic->twoDaysAgo) . '</li>';
echo '<li id="thisweek">' . html::a(inlink('dynamic', "projectID=$projectID&type=thisweek"), $lang->action->dynamic->thisWeek) . '</li>';
echo '<li id="lastweek">' . html::a(inlink('dynamic', "projectID=$projectID&type=lastweek"), $lang->action->dynamic->lastWeek) . '</li>';
echo '<li id="thismonth">' . html::a(inlink('dynamic', "projectID=$projectID&type=thismonth"), $lang->action->dynamic->thisMonth) . '</li>';
echo '<li id="lastmonth">' . html::a(inlink('dynamic', "projectID=$projectID&type=lastmonth"), $lang->action->dynamic->lastMonth) . '</li>';
echo '<li id="all">' . html::a(inlink('dynamic', "projectID=$projectID&type=all"), $lang->action->dynamic->all) . '</li>';
// echo "<li id='account'>" . html::select('account', $users, $account, "onchange=changeUser(this.value,$projectID)") . '</li>';
$withSearch = count($users) > 10;
echo "<li id='account' class='dropdown'>";
$current = zget($users, isset($account) ? $account : '', '');
if(empty($current)) $current = $lang->project->byUser;
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "data-toggle='dropdown'");
echo "<div class='dropdown-menu" . ($withSearch ? ' with-search':'') . "'>";
echo '<ul class="dropdown-list">';
foreach ($users as $key => $value)
{
echo '<li' . ($key == $account ? " class='active'" : '') . '>';
if($key == '') echo html::a($this->createLink('project', 'dynamic', "projectID=$projectID&type=all"), $lang->project->all);
else echo html::a($this->createLink('project', 'dynamic', "projectID=$projectID&type=account&param=$key"), $value);
echo '</li>';
}
echo "</ul>";
echo "</div></li>";
echo html::a(inlink('dynamic', "projectID=$projectID&type=all"), "<span class='text'>{$lang->action->dynamic->all}</span> <span class='label label-light label-badge'>{$allCount}</span>", '', "class='btn btn-link " . ($type == 'all' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=today"), "<span class='text'>{$lang->action->dynamic->today}</span>", '', "class='btn btn-link " . ($type == 'today' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=yesterday"), "<span class='text'>{$lang->action->dynamic->yesterday}</span>", '', "class='btn btn-link " . ($type == 'yesterday' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=thisweek"), "<span class='text'>{$lang->action->dynamic->thisWeek}</span>", '', "class='btn btn-link " . ($type == 'thisweek' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=lastweek"), "<span class='text'>{$lang->action->dynamic->lastWeek}</span>", '', "class='btn btn-link " . ($type == 'lastweek' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=thismonth"), "<span class='text'>{$lang->action->dynamic->thisMonth}</span>", '', "class='btn btn-link " . ($type == 'thismonth' ? 'btn-active-text' : '') . "'");
echo html::a(inlink('dynamic', "projectID=$projectID&type=lastmonth"), "<span class='text'>{$lang->action->dynamic->lastMonth}</span>", '', "class='btn btn-link " . ($type == 'lastmonth' ? 'btn-active-text' : '') . "'");
?>
</ul>
<div class="input-control space w-150px">
<?php echo html::select('account', $users, $account, "onchange='changeUser(this.value, $projectID)' class='form-control chosen'");?>
</div>
</div>
</div>
<table class='table table-fixed with-border'>
<thead>
<tr>
<?php $vars = "projectID={$projectID}&type=$type&param=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
<th class='w-150px'><?php common::printOrderLink('date', $orderBy, $vars, $lang->action->date);?></th>
<th class='w-user'> <?php common::printOrderLink('actor', $orderBy, $vars, $lang->action->actor);?></th>
<th class='w-100px'><?php common::printOrderLink('action', $orderBy, $vars, $lang->action->action);?></th>
<th class='w-80px'> <?php common::printOrderLink('objectType', $orderBy, $vars, $lang->action->objectType);?></th>
<th class='w-id'> <?php common::printOrderLink('objectID', $orderBy, $vars, $lang->idAB);?></th>
<th><?php echo $lang->action->objectName;?></th>
</tr>
</thead>
<?php if(count($actions)): ?>
<tbody>
<?php foreach($actions as $action):?>
<?php $module = $action->objectType == 'case' ? 'testcase' : $action->objectType;?>
<tr class='text-center'>
<td><?php echo $action->date;?></td>
<td><?php isset($users[$action->actor]) ? print($users[$action->actor]) : print($action->actor);?></td>
<td><?php echo $action->actionLabel;?></td>
<td><?php echo $lang->action->objectTypes[$action->objectType];?></td>
<td><?php echo $action->objectID;?></td>
<td class='text-left'><?php echo html::a($action->objectLink, $action->objectName);?></td>
</tr>
<?php endforeach;?>
</tbody>
<?php endif; ?>
<tfoot><tr><td colspan='6'><?php $pager->show();?></td></tr></tfoot>
</table>
<script>$('#<?php echo $type;?>').addClass('active')</script>
<div id="mainContent" class="main-content">
<div id="dynamics">
<?php $firstAction = '';?>
<?php foreach($dateGroups as $date => $actions):?>
<?php $isToday = date(DT_DATE4) == $date;?>
<div class="dynamic <?php if($isToday) echo 'active';?>">
<div class="dynamic-date">
<?php if($isToday):?>
<span class="date-label"><?php echo $lang->action->dynamic->today;?></span>
<?php endif;?>
<span class="date-text"><?php echo $date;?></span>
<button type="button" class="btn btn-info btn-icon btn-sm dynamic-btn"><i class="icon icon-caret-up"></i></button>
</div>
<ul class="timeline timeline-tag-left">
<?php if($direction == 'next') $actions = array_reverse($actions);?>
<?php foreach($actions as $i => $action):?>
<?php if(empty($firstAction)) $firstAction = $action;?>
<li <?php if($action->actor == $this->app->user->account) echo "class='active'";?>>
<div>
<span class="timeline-tag"><?php echo $action->time?></span>
<span class="timeline-text">
<?php echo zget($users, $action->actor) . ' ' . $action->actionLabel;?>
<span class="text-muted"><?php echo $action->objectLabel;?></span>
<span class="label label-id"><?php echo $action->objectID;?></span>
<?php echo html::a($action->objectLink, $action->objectName);?>
</span>
</div>
</li>
<?php endforeach;?>
</ul>
</div>
<?php endforeach;?>
</div>
<?php if(!empty($firstAction)):?>
<?php
$firstDate = date('Y-m-d', strtotime($firstAction->originalDate) + 24 * 3600);
$lastDate = substr($action->originalDate, 0, 10);
$hasPre = $this->action->hasPreOrNext($firstDate, 'pre');
$hasNext = $this->action->hasPreOrNext($lastDate, 'next');
?>
<?php if($hasPre or $hasNext):?>
<div class='table-footer'>
<ul class='pager'>
<?php $class = $hasPre ? '' : 'disabled';?>
<li class='<?php echo $class;?> pager-item-left'>
<?php
$link = '###';
if($hasPre) $link = inlink('dynamic', "projectID=$projectID&type=$type&param=$param&recTotal={$pager->recTotal}&date=" . strtotime($firstDate) . '&direction=pre');
echo html::a($link, '<i class="icon icon-angle-left"></i>', '', "class='pager-item'");
?>
</li>
<?php $class = $hasNext ? '' : 'disabled';?>
<li class='<?php echo $class;?> pager-item-left'>
<?php
$link = '###';
if($hasNext) $link = inlink('dynamic', "projectID=$projectID&type=$type&param=$param&recTotal={$pager->recTotal}&date=" . strtotime($lastDate) . '&direction=next');
echo html::a($link, '<i class="icon icon-angle-right"></i>', '', "class='pager-item'");
?>
</li>
</ul>
</div>
<?php endif;?>
<?php endif;?>
</div>
<script>
$(function()
{
$('#dynamics').on('click', '.dynamic-btn', function()
{
$(this).closest('.dynamic').toggleClass('collapsed');
});
})
</script>
<?php include '../../common/view/footer.html.php';?>