* Code for task#63579.

This commit is contained in:
xieqiyu
2022-08-10 15:09:57 +08:00
parent 2f6d225550
commit bd18594c80
4 changed files with 27 additions and 32 deletions
+4 -3
View File
@@ -346,13 +346,14 @@ function compareChildDate()
$.get(createLink('project', 'ajaxGetObjectInfo', 'objectType=program&objectID=' + programID + '&selectedProgramID=' + selectedProgramID), function(data)
{
var dateTip = '';
var childInfo = JSON.parse(data);
var childInfo = JSON.parse(data);
if(childInfo.maxChildEnd == '' || childInfo.minChildBegin == '') return;
var childBegin = new Date(childInfo.minChildBegin);
var childEnd = new Date(childInfo.maxChildEnd);
if(programBegin <= childBegin && programEnd >= childEnd) return;
var dateTip = '';
if(programBegin > childBegin && programEnd >= childEnd)
{
dateTip = "<span id='dateTip' class='text-remind'>" + beginGreateChild + childInfo.minChildBegin + "</span>";
+17 -20
View File
@@ -230,19 +230,17 @@ class project extends control
*/
public function ajaxGetObjectInfo($objectType, $objectID, $selectedProgramID)
{
$data = array();
$minChildBegin = '';
$maxChildEnd = '';
if($selectedProgramID)
{
$selectedProgram = $this->loadModel('program')->getByID($selectedProgramID);
if($selectedProgram->budget) $availableBudget = $this->program->getBudgetLeft($selectedProgram);
}
if(!empty($objectID))
{
$object = $objectType == 'project' ? $this->project->getByID($objectID) : $this->loadModel('program')->getByID($objectID);
$selectedProgram = $this->loadModel('program')->getByID($selectedProgramID);
$object = $objectType == 'project' ? $this->project->getByID($objectID) : $this->loadModel('program')->getByID($objectID);
if($selectedProgram->budget)
{
$budgetLeft = $this->program->getBudgetLeft($selectedProgram);
$availableBudget = $object->parent == $selectedProgramID ? $budgetLeft + $object->budget : $budgetLeft;
}
if(isset($availableBudget)) $availableBudget = $object->parent == $selectedProgramID ? $availableBudget + $object->budget : $availableBudget;
if($objectType == 'program')
{
@@ -250,19 +248,18 @@ class project extends control
$maxChildEnd = $this->dao->select('end as maxEnd')->from(TABLE_PROGRAM)->where('id')->ne($objectID)->andWhere('deleted')->eq(0)->andWhere('path')->like("%,{$objectID},%")->andWhere('end')->ne('0000-00-00')->orderBy('end_desc')->fetch('maxEnd');
}
}
else
{
$selectedProgram = $this->loadModel('program')->getByID($selectedProgramID);
if($selectedProgram->budget) $availableBudget = $this->program->getBudgetLeft($selectedProgram);
}
$data = array('selectedProgramBegin' => $selectedProgram->begin, 'selectedProgramEnd' => $selectedProgram->end, 'budgetUnit' => $selectedProgram->budgetUnit);
if(isset($availableBudget)) $data['availableBudget'] = $availableBudget;
if($objectType == 'program')
$data = array();
if(isset($selectedProgram))
{
$data['minChildBegin'] = $minChildBegin;
$data['maxChildEnd'] = $maxChildEnd;
$data['selectedProgramBegin'] = $selectedProgram->begin;
$data['selectedProgramEnd'] = $selectedProgram->end;
$data['budgetUnit'] = $selectedProgram->budgetUnit;
}
if(isset($availableBudget)) $data['availableBudget'] = $availableBudget;
if(isset($minChildBegin)) $data['minChildBegin'] = $minChildBegin;
if(isset($maxChildEnd)) $data['maxChildEnd'] = $maxChildEnd;
echo json_encode($data);
}
+3 -7
View File
@@ -340,7 +340,7 @@ function budgetOverrunTips()
$.get(createLink('project', 'ajaxGetObjectInfo', 'objectType=project&objectID=' + projectID + "&selectedProgramID=" + selectedProgramID), function(data)
{
var data = JSON.parse(data);
if(data.availableBudget == 'undefined') return;
if(typeof(data.availableBudget) == 'undefined') return;
var tip = "";
if(budget != 0 && budget !== null && budget > data.availableBudget) tip = "<span id='beyondBudgetTip' class='text-remind'>" + budgetOverrun + currencySymbol[data.budgetUnit] + data.availableBudget.toFixed(2) + "</span>"
@@ -364,17 +364,14 @@ function outOfDateTip()
{
var end = $('#end').val();
var begin = $('#begin').val();
if($('#dateTip').length > 0) $('#dateTip').remove();
if(end == longTime) end = LONG_TIME;
if(end.length > 0 && begin.length > 0)
{
var selectedProgramID = $('#parent').val();
if(selectedProgramID == 0)
{
if($('#dateTip').length > 0) $('#dateTip').remove();
return;
}
if(selectedProgramID == 0) return;
if(typeof(projectID) == 'undefined') projectID = 0;
$.get(createLink('project', 'ajaxGetObjectInfo', 'objectType=project&objectID=' + projectID + '&selectedProgramID=' + selectedProgramID), function(data)
@@ -401,7 +398,6 @@ function outOfDateTip()
dateTip = "<span id='dateTip' class='text-remind'>" + dateExceedParent + data.selectedProgramBegin + "~" + data.selectedProgramEnd + "</span>";
}
if($('#dateTip').length > 0) $('#dateTip').remove();
$('#dateBox').after(dateTip);
});
}
+3 -2
View File
@@ -4,8 +4,6 @@ $(function()
{
var programID = $(this).val();
setAclList(programID);
budgetOverrunTips();
outOfDateTip();
/* Determine whether the project can change the project set. */
link = createLink('project', 'ajaxCheckProduct', 'programID=' + programID + '&projectID=' + projectID);
@@ -59,6 +57,9 @@ $(function()
if(!changed) $("#parent").val(oldParent).trigger("chosen:updated");
oldParent = $('#parent').val();
budgetOverrunTips();
outOfDateTip();
});
});