* Finish task #63580.

This commit is contained in:
zhouxudong
2022-08-11 07:00:06 +00:00
parent 40909f0195
commit 04247b0533
3 changed files with 33 additions and 17 deletions
+1
View File
@@ -4,3 +4,4 @@
.c-name {width: 180px;}
.c-code {width: 160px;}
.c-acl {width: 125px;}
#dateTip {padding: 0 7px;}
+24 -14
View File
@@ -89,16 +89,13 @@ function computeWorkDays(currentID)
if(beginDate && endDate)
{
if(isBactchEdit) $('#dayses\\[' + index + '\\]').val(computeDaysDelta(beginDate, endDate));
if(!isBactchEdit)
{
$('#days').val(computeDaysDelta(beginDate, endDate));
outOfDateTip();
}
if(!isBactchEdit) $('#days').val(computeDaysDelta(beginDate, endDate));
}
else if($('input[checked="true"]').val())
{
computeEndDate();
}
outOfDateTip(isBactchEdit ? index : 0);
}
/**
@@ -364,20 +361,22 @@ function budgetOverrunTips()
* @access public
* @return void
*/
function outOfDateTip()
function outOfDateTip(currentID = 0)
{
var end = $('#end').val();
var begin = $('#begin').val();
if($('#dateTip').length > 0) $('#dateTip').remove();
var end = currentID ? $('#ends\\[' + currentID + '\\]').val() : $('#end').val();
var begin = currentID ? $('#begins\\[' + currentID + '\\]').val() : $('#begin').val();
if($('#dateTip.text-remind').length > 0) $('#dateTip').remove();
if(currentID) $('#dateTip\\[' + currentID + '\\]').remove();
if(end == longTime) end = LONG_TIME;
if(end.length > 0 && begin.length > 0)
{
var selectedProgramID = $('#parent').val();
var selectedProgramID = currentID ? $("select[name='parents\[" + currentID + "\]']").val() : $('#parent').val();
if(selectedProgramID == 0) return;
if(typeof(projectID) == 'undefined') projectID = 0;
projectID = currentID ? $('#projectIdList\\['+ currentID + '\\]').val() : projectID;
$.get(createLink('project', 'ajaxGetObjectInfo', 'objectType=project&objectID=' + projectID + '&selectedProgramID=' + selectedProgramID), function(data)
{
var data = JSON.parse(data);
@@ -386,23 +385,34 @@ function outOfDateTip()
var projectEnd = new Date(end);
var projectBegin = new Date(begin);
var beginLetterParentTip = beginLetterParent + data.selectedProgramBegin;
var endGreaterParentTip = endGreaterParent + data.selectedProgramEnd;
var dateExceedParentTip = dateExceedParent + data.selectedProgramBegin + "~" + data.selectedProgramEnd;
if(projectBegin >= parentBegin && projectEnd <= parentEnd) return;
var dateTip = "";
if(projectBegin < parentBegin && projectEnd <= parentEnd && projectEnd >= parentBegin)
{
dateTip = "<span id='dateTip' class='text-remind'>" + beginLetterParent + data.selectedProgramBegin + "</span>";
dateTip = currentID ? beginLetterParentTip + "'>" + beginLetterParentTip : beginLetterParentTip;
}
else if(projectEnd > parentEnd && projectBegin >= parentBegin && projectBegin <= parentEnd)
{
dateTip = "<span id='dateTip' class='text-remind'>" + endGreaterParent + data.selectedProgramEnd + "</span>";
dateTip = currentID ? endGreaterParentTip + "'>" + endGreaterParentTip : endGreaterParentTip;
}
else
{
dateTip = "<span id='dateTip' class='text-remind'>" + dateExceedParent + data.selectedProgramBegin + "~" + data.selectedProgramEnd + "</span>";
dateTip = currentID ? dateExceedParentTip + "'>" + dateExceedParentTip : dateExceedParentTip;
}
$('#dateBox').after(dateTip);
if(currentID)
{
$("#projects\\[" + currentID + "\\]").after("<tr id='dateTip[" + currentID + "]'><td colspan='5'></td><td id='dateTip' class='c-name' colspan='3'><span class='text-remind' title='" + dateTip + "</span></td></tr>");
}
else
{
$('#dateBox').after("<span id='dateTip' class='text-remind'>" + dateTip + "</span>");
}
});
}
}
+8 -3
View File
@@ -14,6 +14,11 @@
<?php js::set('weekend', $config->execution->weekend);?>
<?php js::set('linkedProjectsTip', $lang->project->linkedProjectsTip);?>
<?php js::set('changeProgram', $lang->project->changeProgram);?>
<?php js::set('beginLetterParent', $lang->project->beginLetterParent);?>
<?php js::set('endGreaterParent', $lang->project->endGreaterParent);?>
<?php js::set('dateExceedParent', $lang->project->dateExceedParent);?>
<?php js::set('LONG_TIME', LONG_TIME);?>
<?php js::set('longTime', $lang->project->longTime);?>
<?php $requiredFields = $config->project->edit->requiredFields;?>
<div id="mainContent" class="main-content">
<div class="main-header">
@@ -42,15 +47,15 @@
<tbody>
<?php foreach($projects as $projectID => $project):?>
<?php $aclList = $project->parent ? $lang->program->subAcls : $lang->project->acls;?>
<tr>
<tr id="projects[<?php echo $projectID;?>]">
<td><?php echo sprintf('%03d', $projectID) . html::hidden("projectIdList[$projectID]", $projectID);?></td>
<?php if(isset($unauthorizedPrograms[$project->parent])):?>
<td>
<?php echo html::select("parents[$projectID]", $unauthorizedPrograms, $project->parent, "class='form-control chosen' data-id='$projectID' data-name='{$project->name}' data-parent='{$project->parent}' disabled");?>
<?php echo html::select("parents[$projectID]", $unauthorizedPrograms, $project->parent, "class='form-control chosen' onchange='outOfDateTip($projectID)' data-id='$projectID' data-name='{$project->name}' data-parent='{$project->parent}' disabled");?>
<?php echo html::hidden("parents[$projectID]", $project->parent);?>
</td>
<?php else:?>
<td><?php echo html::select("parents[$projectID]", $programs, $project->parent, "class='form-control chosen' data-id='$projectID' data-name='{$project->name}' data-parent='{$project->parent}'");?></td>
<td><?php echo html::select("parents[$projectID]", $programs, $project->parent, "class='form-control chosen' onchange='outOfDateTip($projectID)' data-id='$projectID' data-name='{$project->name}' data-parent='{$project->parent}'");?></td>
<?php endif;?>
<td title='<?php echo $project->name;?>'><?php echo html::input("names[$projectID]", $project->name, "class='form-control'");?></td>
<?php if(!isset($config->setCode) or $config->setCode == 1):?>