From d82454cafb17f4e208329ed8eb5f994fc969892b Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 15 Sep 2020 10:01:52 +0800 Subject: [PATCH] * Finish task #7852. --- module/common/lang/zh-cn.php | 17 +++-- module/common/model.php | 6 +- module/programset/control.php | 13 ++++ module/programset/view/browse.html.php | 90 ++++++++++++++++++++++++++ module/programset/view/index.html.php | 2 + www/theme/default/style.css | 2 + 6 files changed, 124 insertions(+), 6 deletions(-) create mode 100644 module/programset/control.php create mode 100644 module/programset/view/browse.html.php create mode 100644 module/programset/view/index.html.php diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 891b1611fb..5d9089ae7e 100755 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -120,14 +120,21 @@ $lang->common->common = '公有模块'; /* 主导航菜单。*/ $lang->mainNav = new stdclass(); -$lang->mainNav->my = ' 地盘|my|index|'; -$lang->mainNav->program = ' 项目|program|browse|'; -$lang->mainNav->system = ' 组织|custom|estimate|'; -$lang->mainNav->admin = ' 后台|admin|index|'; +$lang->mainNav->my = ' 地盘|my|index|'; +$lang->mainNav->programset = ' 项目集|programset|index|'; +$lang->mainNav->program = ' 项目|program|browse|'; +$lang->mainNav->system = ' 组织|custom|estimate|'; +$lang->mainNav->admin = ' 后台|admin|index|'; $lang->reporting = new stdclass(); $lang->dividerMenu = ',admin,'; +/* Program set menu. */ +$lang->programset = new stdclass(); +$lang->programset->menu = new stdclass(); +$lang->programset->menu->index = '主页|programset|index|'; +$lang->programset->menu->browse = '项目集|programset|browse|'; + /* Scrum menu. */ $lang->menu = new stdclass(); $lang->menu->program = '仪表盘|program|index|'; @@ -889,6 +896,6 @@ if($config->URAndSR) } $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search'); +$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'programset', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/model.php b/module/common/model.php index 2979e0b904..e02288a216 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -556,7 +556,7 @@ class commonModel extends model $currentMethod = $app->rawMethod; /* Set main menu by group. */ - $group = isset($lang->navGroup->$moduleName) ? $lang->navGroup->$moduleName : ''; + $group = isset($lang->navGroup->$moduleName) ? $lang->navGroup->$moduleName : $moduleName; self::setMainMenuByGroup($group, $moduleName, $methodName); /* Print all main menus. */ @@ -2157,6 +2157,10 @@ EOD; $lang->menu = $lang->admin->menu; $lang->menuOrder = $lang->admin->menuOrder; } + if($group == 'programset') + { + $lang->menu = $lang->programset->menu; + } if($group == 'program') $lang->menu = self::getProgramMainMenu($moduleName); } diff --git a/module/programset/control.php b/module/programset/control.php new file mode 100644 index 0000000000..b190d80ccf --- /dev/null +++ b/module/programset/control.php @@ -0,0 +1,13 @@ +display(); + } + + public function browse() + { + $this->display(); + } +} diff --git a/module/programset/view/browse.html.php b/module/programset/view/browse.html.php new file mode 100644 index 0000000000..022ea52faa --- /dev/null +++ b/module/programset/view/browse.html.php @@ -0,0 +1,90 @@ + +
+ +
+

programset->noProgramset;?> " . $lang->programset->create, '', "class='btn btn-info' data-toggle=modal");?>

+
+ +
+
+ + recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?> + + + + + + + + + + + + + + + + id' data-order='$program->order' data-parent='$program->parent'"; + if($program->isCat) + { + $trAttrs .= " data-nested='true'"; + if($program->parent == '0') $trClass .= ' is-top-level table-nest-child-hide'; + else $trClass .= ' is-top-level table-nest-hide'; + } + + if($program->parent) + { + if(!$program->isCat) $trClass .= ' is-nest-child'; + $trClass .= ' table-nest-hide'; + $trAttrs .= " data-nest-parent='$program->parent' data-nest-path='$program->path'"; + } + else if(!$program->isCat) $trClass .= ' no-nest'; + $trAttrs .= " class='$trClass'"; + ?> + > + + + + + + + + + + + + +
+ idAB);?> + program->code);?>program->name);?>program->status);?>program->begin);?>program->end);?>program->budget);?>program->PM);?>actions;?>
+ id);?> + code;?> + + isCat ? $program->name : html::a($this->createLink('program', 'index', "programID=$program->id", '', '', $program->id), $program->name);?> + project->statusList, $program->status, '');?>begin;?>end == '0000-00-00' ? '' : $program->end;?>budget . ' ' . zget($lang->program->unitList, $program->budgetUnit);?>PM);?> + id", $program, 'list', 'group');?> + id", $program, 'list', 'persons');?> + id", $program, 'list', '', '', 'iframe', true);?> + id", $program, 'list', '', '', 'iframe', true);?> + id", $program, 'list', '', '', 'iframe', true);?> + id", $program, 'list', '', '', 'iframe', true);?> + createLink("program", "edit", "programID=$program->id"), "", '', "class='btn' title='{$lang->edit}'");?> + id", '', 'list', 'treemap-alt', '', '', '', '', $this->lang->program->children);?> + createLink("program", "delete", "programID=$program->id"), "", 'hiddenwin', "class='btn' title='{$lang->delete}'");?> +
+ +
+
+ +
+ + diff --git a/module/programset/view/index.html.php b/module/programset/view/index.html.php new file mode 100644 index 0000000000..679560fa37 --- /dev/null +++ b/module/programset/view/index.html.php @@ -0,0 +1,2 @@ + + diff --git a/www/theme/default/style.css b/www/theme/default/style.css index dadbbe6f2d..be6a812116 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -44,3 +44,5 @@ a.showMoreImage:hover {opacity: 1;} .color-darkblue:hover{background:rgb(0,0,139)} .color-darkblue:focus{background:rgb(0,0,139)} .margin-l-50px{margin-left:50px;} + +#menu{width: 96px}