* Finish task #64882.

This commit is contained in:
zhouxudong
2022-08-18 09:21:35 +00:00
parent fea283edf4
commit 9883b69c7d
2 changed files with 27 additions and 7 deletions
+10 -2
View File
@@ -234,6 +234,7 @@ class project extends control
{
$selectedProgram = $this->loadModel('program')->getByID($selectedProgramID);
if($selectedProgram->budget) $availableBudget = $this->program->getBudgetLeft($selectedProgram);
if(isset($selectedProgram)) $allProducts = $this->program->getProductPairs($selectedProgram->id, 'assign', 'noclosed');
}
if(!empty($objectID))
@@ -255,9 +256,16 @@ class project extends control
$data['selectedProgramBegin'] = $selectedProgram->begin;
$data['selectedProgramEnd'] = $selectedProgram->end;
$data['budgetUnit'] = $selectedProgram->budgetUnit;
$data['selectedProgramParent'] = $selectedProgram->parent;
$allProducts = array(0 => '') + $allProducts;
//Finish task #64882.Get the path of the currently selected program.
$data['selectedProgramPath'] = explode(',', $selectedProgram->path);
//Get the products that can be linked with the currently selected program.
$data['allProducts'] = html::select("products[0]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");
$data['plans'] = html::select('plans[][][]', '', '', 'class=\'form-control chosen\' multiple');
}
if(!empty($objectID)) $data['parent'] = $object->parent;
//Finish task #64882.Get the path of the last selected program.
if(!empty($objectID)) $data['objectPath'] = explode(',', $object->path);
if(isset($availableBudget)) $data['availableBudget'] = $availableBudget;
if(isset($minChildBegin)) $data['minChildBegin'] = $minChildBegin;
if(isset($maxChildEnd)) $data['maxChildEnd'] = $maxChildEnd;
+17 -5
View File
@@ -109,7 +109,7 @@ $(function()
/**
* Set parent program.
*
* @param $parentProgram
* @param int $parentProgram
* @access public
* @return void
*/
@@ -126,13 +126,25 @@ function setParentProgram(parentProgram)
$.get(createLink('project', 'ajaxGetObjectInfo', 'objectType=program&objectID=' + lastSelectedID + "&selectedProgramID=" + parentProgram), function(data)
{
var data = JSON.parse(data);
selectedParent = parentProgram != 0 ? data.selectedProgramParent : 0;
lastSelectedParent = lastSelectedID != 0 ? data.parent : 0;
selectedParent = parentProgram != 0 ? data.selectedProgramPath[1] : 0;
lastSelectedParent = lastSelectedID != 0 ? data.objectPath[1] : 0;
$('#budget').val('');
if(selectedParent != lastSelectedParent)
{
location.href = createLink('project', 'create', 'model=' + model + '&programID=' + parentProgram);
return;
/* Hide product and plan dropdown controls. */
$('#productsBox .row .col-sm-4:not(:last)').remove();
$('#productsBox .row .col-sm-4:last select').remove();
$('#productsBox .row .col-sm-4:last .chosen-container').remove();
var select = data.allProducts;
$('#productsBox .row .col-sm-4 .input-group').prepend(select)
$('#productsBox .row .col-sm-4 .input-group select').chosen();
$('#plansBox .col-sm-4:not(:last)').remove();
$('#plansBox .col-sm-4').children().remove();
var planSelect = data.plans;
$('#plansBox .col-sm-4').prepend(planSelect);
$('#plansBox .col-sm-4 select').chosen();
}
budgetOverrunTips();
outOfDateTip();