Merge branch 'sprint/master_zhouxudong_code' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/master_zhouxudong_code
This commit is contained in:
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user