Merge branch 'sprint/master_zhouxudong_code' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/master_zhouxudong_code

This commit is contained in:
zhouxudong
2022-08-10 07:21:02 +00:00
4 changed files with 31 additions and 36 deletions
+6 -5
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>";
@@ -410,11 +411,11 @@ function outOfDateTip()
return;
}
if(programBegin < parentBegin && programEnd <= parentEnd)
if(programBegin < parentBegin && programEnd <= parentEnd && programEnd >= parentBegin)
{
dateTip = "<span id='dateTip' class='text-remind'>" + beginLetterParent + data.selectedProgramBegin + "</span>";
}
else if(programBegin >= parentBegin && programEnd > parentEnd)
else if(programEnd > parentEnd && programBegin >= parentBegin && programBegin <= parentEnd)
{
dateTip = "<span id='dateTip' class='text-remind'>" + endGreaterParent + data.selectedProgramEnd + "</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);
}
+5 -9
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)
@@ -388,11 +385,11 @@ function outOfDateTip()
if(projectBegin >= parentBegin && projectEnd <= parentEnd) return;
var dateTip = "";
if(projectBegin < parentBegin && projectEnd <= parentEnd)
if(projectBegin < parentBegin && projectEnd <= parentEnd && projectEnd >= parentBegin)
{
dateTip = "<span id='dateTip' class='text-remind'>" + beginLetterParent + data.selectedProgramBegin + "</span>";
}
else if(projectBegin >= parentBegin && projectEnd > parentEnd)
else if(projectEnd > parentEnd && projectBegin >= parentBegin && projectBegin <= parentEnd)
{
dateTip = "<span id='dateTip' class='text-remind'>" + endGreaterParent + data.selectedProgramEnd + "</span>";
}
@@ -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();
});
});