This commit is contained in:
lanzongjun
2022-07-19 17:24:52 +08:00
parent 59a4a28b44
commit 3c24e61b69
2 changed files with 93 additions and 0 deletions
+44
View File
@@ -386,6 +386,8 @@ class project extends control
*/
public function create($model = 'scrum', $programID = 0, $copyProjectID = 0, $extra = '')
{
echo 2222;exit;
$this->loadModel('execution');
$this->loadModel('product');
@@ -540,6 +542,48 @@ class project extends control
$this->display();
}
public function copyProject($model = 'scrum', $programID = 0, $copyProjectID = 0)
{
$this->loadModel('project');
// $this->project->getCopyProjectInfo($copyProjectID);
// 基础信息:所属项目集、项目名称、项目代号、项目描述、所属产品、所属计划。
$copyProject = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($copyProjectID)->fetch();
$programID = $copyProject->parent;//项目集
$name = $copyProject->name; //名称
$code = $copyProject->code; //代号
$desc = $copyProject->desc; //描述
$products = $this->product->getProducts($copyProjectID);//产品
$model = $copyProject->model;
//计划
foreach($products as $product)
{
foreach($product->branches as $branch)
{
$productPlans[$product->id][$branch] = $this->loadModel('productplan')->getPairs($product->id, $branch, 'noclosed', true);
}
}
// 迭代:所属项目、执行名称、执行代号、执行类型(scrum)
// 阶段:所属项目、阶段名称、工作量占比、阶段类型、访问控制、里程牌、输出
// 任务:模块、所属执行、任务类型、所属模块、任务名称、优先级、预计故事点、任务描述。
// 文档(文档目录)。
//过程(过程裁剪)。
//QA(质量保证计划):所属过程、所属执行、检查对象。
//团队、权限、人员安排清空。
$this->fetch('project', 'create', "model=$model&programID=$programID&copyProjectID=$copyProjectID");
}
/**
* Edit a project.
*
+49
View File
@@ -28,6 +28,19 @@
<?php js::set('manageProducts', $lang->project->manageProducts);?>
<?php $requiredFields = $config->project->create->requiredFields;?>
<?php js::set('requiredFields', $requiredFields);?>
<?php js::set('test1', ['aaa'=>['bbbb'=>2],'vvvv','vcccc']);?>
<?php js::set('test2', ['aaa', 'vvvv','vcccc']);?>
<script>
sessionStorage.setItem("testkey",JSON.stringify(test1))
// for(i in testkey){
// console.log(i); //获得属性
// console.log(testkey[i]); //获得属性值
// }
console.log(sessionStorage.getItem("testkey"));
</script>
<div id='mainContent' class='main-content'>
<div class='center-block'>
<div class='main-header'>
@@ -214,6 +227,41 @@
<?php echo html::input('projectName', '', "class='form-control' placeholder={$lang->project->searchByName}");?>
</h4>
</div>
<div class='modal-body'>
<?php if(empty($copyProjects)):?>
<div class='alert with-icon'>
<i class='icon-exclamation-sign'></i>
<div class='content'><?php echo $lang->project->copyNoProject;?></div>
</div>
<?php else:?>
<div id='copyProjects' class='row'>
<?php foreach ($copyProjects as $id => $name):?>
<?php $active = ($copyProjectID == $id) ? ' active' : '';?>
<div class='col-md-4 col-sm-6'>
<?php if($config->edition != 'max'):?>
<a href='javascript:;' data-id='<?php echo $id;?>' class='nobr <?php echo $active;?>'><?php echo html::icon($lang->icons['project'], 'text-muted') . ' ' . $name;?></a>
<?php else: ?>
<a data-id='<?php echo $id;?>' class='nobr <?php echo $active;?>' data-toggle='modal' data-target='#copyProjectConfirmModal'><?php echo html::icon($lang->icons['project'], 'text-muted') . ' ' . $name;?></a>
<?php endif; ?>
</div>
<?php endforeach;?>
</div>
<?php endif;?>
</div>
</div>
</div>
<div class='modal fade modal-scroll-inside' id='copyProjectConfirmModal'>
<div class='modal-dialog mw-900px'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal'><i class="icon icon-close"></i></button>
<h2 class='text-center'>
<?php echo $lang->project->copyProjectConfirm;?>
</h2>
<h4 class='modal-title text-center'>
<span></span>
</h4>
</div>
<div class='modal-body'>
<?php if(empty($copyProjects)):?>
<div class='alert with-icon'>
@@ -231,6 +279,7 @@
</div>
</div>
</div>
<div id='projectAcl' class='hidden'>
<?php echo nl2br(html::radio('acl', $lang->project->aclList, $acl, "onclick='setWhite(this.value);'", 'block'));?>
</div>