Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/285
This commit is contained in:
@@ -7,17 +7,17 @@
|
||||
.types-line > li > div:after {content: ''; display: block; background: #FFFFFF; box-shadow: 0 2px 4px 0 rgba(170,170,170,0.50), 0 0 5px 0 rgba(0,0,0,0.1); width: 10px; height: 10px; position: absolute; border-radius: 50%; top: 0; left: 50%; margin-left: -2px;}
|
||||
.types-line > li > div > small {display: block; color: #A6AAB8;}
|
||||
.types-line > li > div > span {display: block; color: #CBD0DB; font-size: 16px;}
|
||||
.product-info {position: relative; height: 65px;}
|
||||
.product-info + .product-info {margin-top: 10px;}
|
||||
.product-info .progress {position: absolute; left: 10px; top: 35px; right: 100px;}
|
||||
.product-info .progress-info {position: absolute; left: 8px; top: 10px; width: 180px; font-size: 12px;}
|
||||
.product-info .type-info {color: #A6AAB8; text-align: center; position: absolute; right: 0; top: 6px; width: 100px;}
|
||||
html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; position: absolute; right: 0; top: 6px; width: 110px;}
|
||||
.product-info .type-value,
|
||||
.product-info .type-label {font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
|
||||
.product-info .type-value {font-size: 14px;}
|
||||
.product-info .type-value > strong {font-size: 20px; color: #3C4353;}
|
||||
.product-info .actions {position: absolute; left: 10px; top: 14px;}
|
||||
.execution-info {position: relative; height: 65px;}
|
||||
.execution-info + .execution-info {margin-top: 10px;}
|
||||
.execution-info .progress {position: absolute; left: 10px; top: 35px; right: 100px;}
|
||||
.execution-info .progress-info {position: absolute; left: 8px; top: 10px; width: 180px; font-size: 12px;}
|
||||
.execution-info .type-info {color: #A6AAB8; text-align: center; position: absolute; right: 0; top: 6px; width: 100px;}
|
||||
html[lang="en"] .execution-info .type-info {color: #A6AAB8; text-align: center; position: absolute; right: 0; top: 6px; width: 110px;}
|
||||
.execution-info .type-value,
|
||||
.execution-info .type-label {font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
|
||||
.execution-info .type-value {font-size: 14px;}
|
||||
.execution-info .type-value > strong {font-size: 20px; color: #3C4353;}
|
||||
.execution-info .actions {position: absolute; left: 10px; top: 14px;}
|
||||
.block-statistic .panel-body {padding-top: 0}
|
||||
.block-statistic .tile {margin-bottom: 30px;}
|
||||
.block-statistic .tile-title {font-size: 18px; color: #A6AAB8;}
|
||||
@@ -58,6 +58,7 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po
|
||||
|
||||
.status-count{margin:auto}
|
||||
.status-count tr:first-child td:last-child{color:#000;font-weight:bold}
|
||||
.block-statistic .execution-progress {vertical-align: middle;}
|
||||
</style>
|
||||
<script>
|
||||
<?php $blockNavId = 'nav-' . uniqid(); ?>
|
||||
@@ -132,8 +133,8 @@ $(function()
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<div class="product-info">
|
||||
<div class="col-7 execution-progress">
|
||||
<div class="execution-info">
|
||||
<div class="progress-info"><i class="icon icon-check-circle text-success icon-sm"></i> <span class="text-muted"><?php echo $lang->task->yesterdayFinished;?></span> <strong><?php echo $execution->yesterdayFinished;?></strong></div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $execution->taskProgress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $execution->taskProgress;?>%">
|
||||
@@ -154,7 +155,8 @@ $(function()
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-info">
|
||||
<?php if($execution->lifetime != 'ops' and !in_array($execution->attribute, array('request', 'review'))):?>
|
||||
<div class="execution-info">
|
||||
<div class="progress-info"><i class="icon icon-check-circle text-success icon-sm"></i> <span class="text-muted"><?php echo $lang->story->released;?></span> <strong><?php echo $execution->releasedStories;?></strong></div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $execution->storyProgress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $execution->storyProgress;?>%"></div>
|
||||
@@ -174,7 +176,8 @@ $(function()
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-info">
|
||||
<?php if($execution->attribute != 'design'):?>
|
||||
<div class="execution-info">
|
||||
<div class="progress-info"><i class="icon icon-check-circle text-success icon-sm"></i> <span class="text-muted"><?php echo $lang->bug->yesterdayResolved;?></span> <strong><?php echo $execution->yesterdayResolved;?></strong></div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $execution->bugProgress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $execution->bugProgress;?>%">
|
||||
@@ -195,6 +198,8 @@ $(function()
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10,9 +10,10 @@ $config->execution->defaultBurnPeriod = 30;
|
||||
$config->execution->list = new stdclass();
|
||||
$config->execution->list->exportFields = 'id,name,projectName,PM,begin,end,status,totalEstimate,totalConsumed,totalLeft,progress';
|
||||
|
||||
$config->execution->modelList['scrum'] = 'sprint';
|
||||
$config->execution->modelList['waterfall'] = 'stage';
|
||||
$config->execution->modelList['kanban'] = 'kanban';
|
||||
$config->execution->modelList['scrum'] = 'sprint';
|
||||
$config->execution->modelList['waterfall'] = 'stage';
|
||||
$config->execution->modelList['kanban'] = 'kanban';
|
||||
$config->execution->modelList['waterfallplus'] = 'stage';
|
||||
|
||||
$config->execution->statusActions = array('start', 'putoff', 'suspend', 'close', 'activate');
|
||||
|
||||
|
||||
@@ -1694,7 +1694,7 @@ class execution extends control
|
||||
|
||||
$lang->execution->typeList['sprint'] = $executionCommonLang;
|
||||
}
|
||||
elseif(!empty($project) and $project->model == 'waterfall')
|
||||
elseif(!empty($project) and ($project->model == 'waterfall' or $project->model == 'waterfallplus'))
|
||||
{
|
||||
global $lang;
|
||||
$lang->executionCommon = $lang->execution->stage;
|
||||
|
||||
@@ -38,3 +38,4 @@
|
||||
.productsBox .input-group-addon > div {display: inline-block !important;}
|
||||
.productsBox .required + .text-danger.help-text {position: relative; left: 10px;}
|
||||
.productsBox > #productNameLabel {padding-top: 8px;}
|
||||
.productsBox div[id^='branch'].chosen-disabled {pointer-events: none;}
|
||||
|
||||
@@ -179,6 +179,13 @@ function loadBranches(product)
|
||||
|
||||
var branch = $('#branch' + index);
|
||||
loadPlans(product, branch);
|
||||
|
||||
if(typeof isWaterfall != 'undefined' && isWaterfall == true)
|
||||
{
|
||||
$tableRow.find("select[name^='branch'] option").attr('selected', 'selected');
|
||||
$tableRow.find("select[name^='branch']").trigger('chosen:updated');
|
||||
$tableRow.find("div[id^='branch']").addClass('chosen-disabled');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -210,15 +217,15 @@ function loadPlans(product, branch)
|
||||
|
||||
/**
|
||||
* Add new line for link product.
|
||||
*
|
||||
* @param obj $obj
|
||||
*
|
||||
* @param obj $obj
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function addNewLine(obj)
|
||||
{
|
||||
var newLine = $(obj).closest('tr').clone();
|
||||
var index = 0;
|
||||
var index = 0;
|
||||
$(".productsBox select[name^='products']").each(function()
|
||||
{
|
||||
var id = $(this).attr('id').replace('products' , '');
|
||||
|
||||
@@ -148,6 +148,11 @@ $(function()
|
||||
});
|
||||
|
||||
$(document).on('change', "select[id^='branch']", disableSelectedBranch);
|
||||
|
||||
if($('.disabledBranch').length > 0)
|
||||
{
|
||||
$('.disabledBranch div[id^="branch"]').addClass('chosen-disabled');
|
||||
}
|
||||
});
|
||||
|
||||
function showLifeTimeTips()
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php $isWaterfall = (!empty($project->model) and ($project->model == 'waterfall' or $project->model == 'waterfallplus')) ? true : false;?>
|
||||
<?php js::import($jsRoot . 'misc/date.js');?>
|
||||
<?php js::set('weekend', $config->execution->weekend);?>
|
||||
<?php js::set('holders', $lang->execution->placeholder);?>
|
||||
@@ -46,6 +47,7 @@
|
||||
<?php js::set('cancelCopy', $lang->execution->cancelCopy);?>
|
||||
<?php js::set('copyNoExecution', $lang->execution->copyNoExecution);?>
|
||||
<?php js::set('model', isset($project->model) ? $project->model : '');?>
|
||||
<?php js::set('isWaterfall', $isWaterfall);?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
@@ -151,12 +153,12 @@
|
||||
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
|
||||
<div class='input-group <?php if($hasBranch) echo ' has-branch';?>'>
|
||||
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
|
||||
<?php $disabled = ($project->model == 'waterfall' and !$project->division) ? "disabled='disabled'" : '';?>
|
||||
<?php $disabled = ($isWaterfall and !$project->division) ? "disabled='disabled'" : '';?>
|
||||
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' $disabled onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
|
||||
<?php if($project->model == 'waterfall' and !$project->division) echo html::hidden("products[$i]", $product->id);?>
|
||||
<?php if($isWaterfall and !$project->division) echo html::hidden("products[$i]", $product->id);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='table-col <?php if(!$hasBranch) echo 'hidden';?>'>
|
||||
<div class='table-col <?php if(!$hasBranch) echo 'hidden'; if($disabled) echo ' disabledBranch'?>'>
|
||||
<div class='input-group required'>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->project->branch;?></span>
|
||||
<?php $branchIdList = isset($product->branches) ? join(',', $product->branches) : '';?>
|
||||
@@ -169,7 +171,7 @@
|
||||
<div class='input-group' <?php echo "id='plan$i'";?>>
|
||||
<span class='input-group-addon'><?php echo $lang->product->plan;?></span>
|
||||
<?php echo html::select("plans[$product->id][]", isset($productPlans[$product->id]) ? $productPlans[$product->id] : array(), isset($product->plans) ? $product->plans : '', "class='form-control chosen' multiple");?>
|
||||
<?php if(!($project->model == 'waterfall' and !$project->division)):?>
|
||||
<?php if(!($isWaterfall and !$project->division)):?>
|
||||
<div class='input-group-btn'>
|
||||
<a href='javascript:;' onclick='addNewLine(this)' class='btn btn-link addLine'><i class='icon-plus'></i></a>
|
||||
<a href='javascript:;' onclick='removeLine(this)' class='btn btn-link removeLine' <?php if($i == 0) echo "style='visibility: hidden'";?>><i class='icon-close'></i></a>
|
||||
@@ -207,7 +209,7 @@
|
||||
<div class='input-group' id='plan0'>
|
||||
<span class='input-group-addon'><?php echo $lang->product->plan;?></span>
|
||||
<?php echo html::select("plans[][]", $productPlan, '', "class='form-control chosen' multiple");?>
|
||||
<?php if(!($project->model == 'waterfall' and $project->division)):?>
|
||||
<?php if(!($isWaterfall and $project->division)):?>
|
||||
<div class='input-group-btn'>
|
||||
<a href='javascript:;' onclick='addNewLine(this)' class='btn btn-link addLine'><i class='icon-plus'></i></a>
|
||||
<a href='javascript:;' onclick='removeLine(this)' class='btn btn-link removeLine' style='visibility: hidden'><i class='icon-close'></i></a>
|
||||
|
||||
Reference in New Issue
Block a user