* Task #39998: Adjust the tab active in project drop menu.

This commit is contained in:
hufangzhou
2021-07-13 10:16:05 +08:00
parent 106ffc839e
commit f30d5627d5
2 changed files with 22 additions and 29 deletions
+9 -18
View File
@@ -117,29 +117,20 @@ class project extends control
$programs = array();
$orderedProjects = array();
$objects = $this->dao->select('*')->from(TABLE_PROGRAM)
->where('type')->in('program,project')
$projects = $this->dao->select('*')->from(TABLE_PROJECT)
->where('type')->eq('project')
->andWhere('deleted')->eq(0)
->beginIF(!$this->app->user->admin)
->andWhere('(id')->in($this->app->user->view->programs)
->orWhere('id')->in($this->app->user->view->projects)
->markRight(1)
->fi()
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi()
->orderBy('id_asc')
->fetchAll('id');
foreach($objects as $objectID => $object)
$programs = $this->program->getPairs(true);
foreach($projects as $project)
{
if($object->type == 'program')
{
$programs[$objectID] = $object->name;
}
else
{
$object->parent = $this->program->getTopByID($object->parent);
$orderedProjects[$object->parent][] = $object;
unset($objects[$object->id]);
}
$project->parent = $this->program->getTopByID($project->parent);
$orderedProjects[$project->parent][] = $project;
unset($projects[$project->id]);
}
$this->view->projectID = $projectID;
+13 -11
View File
@@ -25,6 +25,7 @@ $projectNames = array();
$myProjectsHtml = '';
$normalProjectsHtml = '';
$closedProjectsHtml = '';
$tabActive = '';
$iCharges = 0;
$others = 0;
$dones = 0;
@@ -70,12 +71,16 @@ foreach($projects as $programID => $programProjects)
{
$myProjectsHtml .= '<li>' . html::a(sprintf($link, $project->id), $projectName, '', "class='text-muted $selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . '</li>';
if($selected == 'selected') $tabActive = 'myProject';
$iCharges++;
}
else if($project->status != 'done' and $project->status != 'closed' and !($project->PM == $this->app->user->account))
{
$normalProjectsHtml .= '<li>' . html::a(sprintf($link, $project->id), $projectName, '', "class='$selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . '</li>';
if($selected == 'selected') $tabActive = 'other';
$others++;
}
else if($project->status == 'done' or $project->status == 'closed') $closedProjectsHtml .= html::a(sprintf($link, $project->id), $project->name, '', "class='$selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'");
@@ -96,21 +101,18 @@ foreach($projects as $programID => $programProjects)
<div class="table-row">
<div class="table-col col-left">
<div class='list-group'>
<?php if($iCharges): ?>
<?php $tabActive = ($tabActive == '' or $tabActive == 'myProject') ? 'myProject' : 'other';?>
<ul class="nav nav-tabs">
<?php if($iCharges): ?>
<li class="active"><?php echo html::a('#myProject', $lang->project->myProject, '', "data-toggle='tab' class='not-list-item not-clear-menu'");?><span class="text-muted"><?php echo $iCharges;?></span><li>
<li><?php echo html::a('#other', $lang->project->other, '', "data-toggle='tab' class='not-list-item not-clear-menu'")?><span class="text-muted"><?php echo $others;?></span><li>
<?php endif;?>
<li class="<?php if($tabActive == 'myProject') echo 'active';?>"><?php echo html::a('#myProject', $lang->project->myProject, '', "data-toggle='tab' class='not-list-item not-clear-menu'");?><span class="text-muted"><?php echo $iCharges;?></span><li>
<li class="<?php if($tabActive == 'other') echo 'active';?>"><?php echo html::a('#other', $lang->project->other, '', "data-toggle='tab' class='not-list-item not-clear-menu'")?><span class="text-muted"><?php echo $others;?></span><li>
</ul>
<?php
$myProjectActive = $iCharges ? 'active' : '';
$otherActive = $iCharges ? '' : 'active';
?>
<?php endif;?>
<div class="tab-content">
<div class="tab-pane <?php echo $myProjectActive;?>" id="myProject">
<div class="tab-pane <?php if($tabActive == 'myProject') echo 'active';?>" id="myProject">
<?php echo $myProjectsHtml;?>
</div>
<div class="tab-pane <?php echo $otherActive;?>" id="other">
<div class="tab-pane <?php if($tabActive == 'other') echo 'active';?>" id="other">
<?php echo $normalProjectsHtml;?>
</div>
</div>
@@ -129,7 +131,7 @@ foreach($projects as $programID => $programProjects)
$(function()
{
$('.nav-tabs li span').hide();
$('.nav-tabs li:first').find('span').show();
$('.nav-tabs li.active').find('span').show();
$('.nav-tabs>li').click(function()
{