* Code for task #72375.
This commit is contained in:
+126
-40
@@ -1,56 +1,142 @@
|
||||
$('#confirmButton').click(function()
|
||||
$(function()
|
||||
{
|
||||
var memberCount = '';
|
||||
var totalEstimate = 0;
|
||||
var totalConsumed = oldConsumed;
|
||||
var totalLeft = 0;
|
||||
var error = false;
|
||||
$('select[name^=team]').each(function()
|
||||
$('#confirmButton').click(function()
|
||||
{
|
||||
if($(this).val() == '') return;
|
||||
|
||||
memberCount++;
|
||||
|
||||
var $tr = $(this).closest('tr');
|
||||
var account = $(this).find('option:selected').text();
|
||||
|
||||
var estimate = parseFloat($tr.find('[name^=teamEstimate]').val());
|
||||
if(!isNaN(estimate)) totalEstimate += estimate;
|
||||
if($tr.hasClass('member-wait') && (isNaN(estimate) || estimate <= 0))
|
||||
var memberCount = '';
|
||||
var totalEstimate = 0;
|
||||
var totalConsumed = oldConsumed;
|
||||
var totalLeft = 0;
|
||||
var error = false;
|
||||
$('select[name^=team]').each(function()
|
||||
{
|
||||
bootbox.alert(account + ' ' + estimateNotEmpty);
|
||||
error = true;
|
||||
if($(this).val() == '') return;
|
||||
|
||||
memberCount++;
|
||||
|
||||
var $tr = $(this).closest('tr');
|
||||
var account = $(this).find('option:selected').text();
|
||||
|
||||
var estimate = parseFloat($tr.find('[name^=teamEstimate]').val());
|
||||
if(!isNaN(estimate)) totalEstimate += estimate;
|
||||
if($tr.hasClass('member-wait') && (isNaN(estimate) || estimate <= 0))
|
||||
{
|
||||
bootbox.alert(account + ' ' + estimateNotEmpty);
|
||||
error = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
var consumed = parseFloat($tr.find('[name^=teamConsumed]').val());
|
||||
if(!isNaN(consumed)) totalConsumed += consumed;
|
||||
|
||||
var $left = $tr.find('[name^=teamLeft]');
|
||||
var left = parseFloat($left.val());
|
||||
if(!isNaN(left)) totalLeft += left;
|
||||
if(!$left.prop('readonly') && $tr.hasClass('member-wait') && (isNaN(left) || left <= 0))
|
||||
{
|
||||
bootbox.alert(account + ' ' + leftNotEmpty);
|
||||
error = true;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
|
||||
if(error) return false;
|
||||
|
||||
if(memberCount < 2)
|
||||
{
|
||||
bootbox.alert(teamMemberError);
|
||||
return false;
|
||||
}
|
||||
|
||||
var consumed = parseFloat($tr.find('[name^=teamConsumed]').val());
|
||||
if(!isNaN(consumed)) totalConsumed += consumed;
|
||||
$('#left').val(totalLeft);
|
||||
updateAssignedTo();
|
||||
|
||||
var $left = $tr.find('[name^=teamLeft]');
|
||||
var left = parseFloat($left.val());
|
||||
if(!isNaN(left)) totalLeft += left;
|
||||
if(!$left.prop('readonly') && $tr.hasClass('member-wait') && (isNaN(left) || left <= 0))
|
||||
{
|
||||
bootbox.alert(account + ' ' + leftNotEmpty);
|
||||
error = true;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
$('.close').click();
|
||||
});
|
||||
|
||||
if(error) return false;
|
||||
|
||||
if(memberCount < 2)
|
||||
$('#multiple').on('click', function()
|
||||
{
|
||||
bootbox.alert(teamMemberError);
|
||||
return false;
|
||||
}
|
||||
var showTeam = $(this).is(":checked");
|
||||
$('#assignedTo').val('');
|
||||
$('#left').val('');
|
||||
$('#dataPlanGroup').removeClass('required');
|
||||
$('.multi-append').empty();
|
||||
$('.teamTemplate select, .teamTemplate input').val('');
|
||||
$('.teamTemplate input[name^=teamConsumed]').val('0');
|
||||
$('.teamTemplate select').trigger('chosen:updated');
|
||||
var trCount = $('#taskTeamEditor tr').length;
|
||||
var tmpCount = $('#taskTeamEditor select:disabled').length;
|
||||
|
||||
$('#left').val(totalLeft);
|
||||
updateAssignedTo();
|
||||
var removeNum = tmpCount > 6 ? 1 : (5 - tmpCount);
|
||||
$('#taskTeamEditor tr.teamTemplate').filter(':gt(' + removeNum + ')').remove();
|
||||
|
||||
$('.close').click();
|
||||
if(showTeam)
|
||||
{
|
||||
$('#assignedTo').attr('disabled', true);
|
||||
$('#left').attr('readonly', true);
|
||||
$('.team-group').removeClass('hidden');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('.team-group').addClass('hidden');
|
||||
$('#assignedTo').removeAttr('disabled');
|
||||
$('#left').removeAttr('readonly');
|
||||
$('#dataPlanGroup').addClass('required');
|
||||
}
|
||||
$('#assignedTo').trigger('chosen:updated');
|
||||
});
|
||||
|
||||
$('#assignedTo').on('change', setTeamUser);
|
||||
$('#left').on('input', setTeamUser);
|
||||
|
||||
$('#submit').on('click', function()
|
||||
{
|
||||
if(isMultiple)
|
||||
{
|
||||
var multiple = $('#multiple').is(":checked");
|
||||
if(!multiple)
|
||||
{
|
||||
var assignedTo = $('#assignedTo').val();
|
||||
if(!assignedTo)
|
||||
{
|
||||
bootbox.alert(teamNotEmpty);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var estimate = parseInt($('#left').val());
|
||||
if(isNaN(estimate) || estimate <= 0)
|
||||
{
|
||||
bootbox.alert(multiple ? teamLeftEmpty : leftNotEmpty);
|
||||
return false;
|
||||
}
|
||||
|
||||
$('#assignedTo').val('');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Set team user form.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setTeamUser()
|
||||
{
|
||||
$('.multi-append').empty();
|
||||
|
||||
var assignedTo = $('#assignedTo').val();
|
||||
var estimate = parseInt($('#left').val());
|
||||
if(!assignedTo || !estimate) return;
|
||||
|
||||
var teamLine = '<input type="hidden" name="team[]" value="' + assignedTo + '">';
|
||||
teamLine += '<input type="hidden" name="teamSource[]" value="' + assignedTo + '">';
|
||||
teamLine += '<input type="hidden" name="teamEstimate[]" value="' + estimate + '">';
|
||||
teamLine += '<input type="hidden" name="teamConsumed[]" value="0">';
|
||||
teamLine += '<input type="hidden" name="teamLeft[]" value="' + estimate + '">';
|
||||
$('.multi-append').html(teamLine);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update assignedTo.
|
||||
*
|
||||
|
||||
@@ -60,6 +60,7 @@ $lang->task->replace = 'Replace';
|
||||
$lang->task->myEffort = 'My Effort';
|
||||
$lang->task->allEffort = 'Team Effort';
|
||||
$lang->task->teamOrder = 'Order';
|
||||
$lang->task->manageTeam = 'Manage Team';
|
||||
|
||||
$lang->task->common = 'Aufgabe';
|
||||
$lang->task->id = 'ID';
|
||||
@@ -278,6 +279,7 @@ $lang->task->error->date = 'The date should be <= today.';
|
||||
$lang->task->error->leftEmptyAB = 'When the task status is %s, "Hours Left" cannot be 0';
|
||||
$lang->task->error->leftEmpty = 'Task#%sWhen the task status is %s, "Left" cannot be 0';
|
||||
$lang->task->error->notempty = '%s must be > 0.';
|
||||
$lang->task->error->teamLeftEmpty = 'Please maintain team hours.';
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report = new stdclass();
|
||||
|
||||
@@ -60,6 +60,7 @@ $lang->task->replace = 'Replace';
|
||||
$lang->task->myEffort = 'My Effort';
|
||||
$lang->task->allEffort = 'Team Effort';
|
||||
$lang->task->teamOrder = 'Order';
|
||||
$lang->task->manageTeam = 'Manage Team';
|
||||
|
||||
$lang->task->common = 'Task';
|
||||
$lang->task->id = 'ID';
|
||||
@@ -278,6 +279,7 @@ $lang->task->error->date = 'The date should be <= today.';
|
||||
$lang->task->error->leftEmptyAB = 'When the task status is %s, "Hours Left" cannot be 0';
|
||||
$lang->task->error->leftEmpty = 'Task#%sWhen the task status is %s, "Left" cannot be 0';
|
||||
$lang->task->error->notempty = '%s must be > 0.';
|
||||
$lang->task->error->teamLeftEmpty = 'Please maintain team hours.';
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report = new stdclass();
|
||||
|
||||
@@ -60,6 +60,7 @@ $lang->task->replace = 'Replace';
|
||||
$lang->task->myEffort = 'My Effort';
|
||||
$lang->task->allEffort = 'Team Effort';
|
||||
$lang->task->teamOrder = 'Order';
|
||||
$lang->task->manageTeam = 'Manage Team';
|
||||
|
||||
$lang->task->common = 'Tâche';
|
||||
$lang->task->id = 'ID';
|
||||
@@ -278,6 +279,7 @@ $lang->task->error->date = 'The date should be <= today.';
|
||||
$lang->task->error->leftEmptyAB = 'When the task status is %s, "Hours Left" cannot be 0';
|
||||
$lang->task->error->leftEmpty = 'Task#%sWhen the task status is %s, "Left" cannot be 0';
|
||||
$lang->task->error->notempty = '%s must be > 0.';
|
||||
$lang->task->error->teamLeftEmpty = 'Please maintain team hours.';
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report = new stdclass();
|
||||
|
||||
@@ -60,6 +60,7 @@ $lang->task->replace = '替换';
|
||||
$lang->task->myEffort = '我的日志';
|
||||
$lang->task->allEffort = '团队日志';
|
||||
$lang->task->teamOrder = '工序';
|
||||
$lang->task->manageTeam = '维护团队';
|
||||
|
||||
$lang->task->common = '任务';
|
||||
$lang->task->id = '编号';
|
||||
@@ -278,6 +279,7 @@ $lang->task->error->date = '日期不能大于今天';
|
||||
$lang->task->error->leftEmptyAB = '任务状态为%s时,预计剩余不能为0';
|
||||
$lang->task->error->leftEmpty = 'Task#%s任务状态为%s时,剩余不能为0';
|
||||
$lang->task->error->notempty = '%s必须大于0。';
|
||||
$lang->task->error->teamLeftEmpty = '请维护团队工时。';
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report = new stdclass();
|
||||
|
||||
@@ -17,9 +17,14 @@
|
||||
<?php js::set('currentUser', $app->user->account);?>
|
||||
<?php js::set('members', $members);?>
|
||||
<?php js::set('teamMemberError', $lang->task->error->teamMember);?>
|
||||
<?php js::set('teamLeftEmpty', $lang->task->error->teamLeftEmpty);?>
|
||||
<?php js::set('totalLeftError', sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status]));?>
|
||||
<?php js::set('estimateNotEmpty', sprintf($lang->task->error->notempty, $lang->task->estimate))?>
|
||||
<?php js::set('leftNotEmpty', sprintf($lang->task->error->notempty, $lang->task->left))?>
|
||||
<?php js::set('teamNotEmpty', sprintf($lang->error->notempty, $lang->task->assignedTo))?>
|
||||
<?php $isMultiple = !empty($task->team);?>
|
||||
<?php js::set('isMultiple', $isMultiple);?>
|
||||
<?php js::set('taskMode', $task->mode);?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
@@ -34,7 +39,6 @@
|
||||
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<?php $isMultiple = !empty($task->team);?>
|
||||
<?php if($isMultiple):?>
|
||||
<tr>
|
||||
<th class='thWidth'><?php echo $lang->task->mode;?></th>
|
||||
@@ -45,17 +49,17 @@
|
||||
<tr>
|
||||
<th class='thWidth'><?php echo $lang->task->assignedTo;?></th>
|
||||
<td class='w-p35-f'>
|
||||
<div class="input-group" id="dataPlanGroup">
|
||||
<?php echo html::select('assignedTo', $members, $task->finishedBy, "class='form-control chosen'" . ($isMultiple ? ' disabled' : ''));?>
|
||||
<div class="input-group<?php if($isMultiple) echo ' required';?>" id="dataPlanGroup">
|
||||
<?php echo html::select('assignedTo', $members, $isMultiple ? '' : $task->finishedBy, "class='form-control chosen'");?>
|
||||
<?php if($isMultiple):?>
|
||||
<span class="input-group-btn team-group"><a class="btn br-0" href="#modalTeam" data-toggle="modal"><?php echo $lang->task->team;?></a></span>
|
||||
<span class="input-group-btn team-group hidden"><a class="btn br-0" href="#modalTeam" data-toggle="modal"><?php echo $lang->task->team;?></a></span>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<?php if($isMultiple):?>
|
||||
<div class="checkbox-primary c-multipleTask affair">
|
||||
<input type="checkbox" name="multiple" value="1" id="multiple" checked disabled /><label for="multiple" class="no-margin"><?php echo $lang->task->multiple;?></label>
|
||||
<input type="checkbox" name="multiple" value="1" id="multiple" /><label for="multiple" class="no-margin"><?php echo $lang->task->manageTeam;?></label>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
@@ -65,7 +69,7 @@
|
||||
<th><?php echo $lang->task->left;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('left', '', "class='form-control'" . ($isMultiple ? ' readonly' : ''));?>
|
||||
<?php echo html::input('left', '', "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->task->hour;?></span>
|
||||
</div>
|
||||
</td>
|
||||
@@ -105,7 +109,12 @@
|
||||
<?php include __DIR__ . DS . 'taskteam.html.php';?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td colspan='3' class='text-center form-actions'><?php echo html::a('javascript:void(0)', $lang->confirm, '', "id='confirmButton' class='btn btn-primary btn-wide'");?></td></tr>
|
||||
<tr>
|
||||
<td colspan='4' class='text-center form-actions'>
|
||||
<div class='multi-append'></div>
|
||||
<?php echo html::a('javascript:void(0)', $lang->confirm, '', "id='confirmButton' class='btn btn-primary btn-wide'");?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user