diff --git a/module/program/ui/browse.html.php b/module/program/ui/browse.html.php index b9e5063eb9..17107b57ec 100644 --- a/module/program/ui/browse.html.php +++ b/module/program/ui/browse.html.php @@ -63,7 +63,9 @@ programmenu ( 'title' => '所有项目集', 'subTitle' => '筛选项目集', - 'programs' => $data + 'programs' => $data, + 'activeKey' => '7', + 'closeLink' => '#' ) ) ); @@ -75,9 +77,11 @@ modulemenu array ( 'productID' => 1, - 'title' => '所有分类', + 'title' => '售后服务', 'moduleSettingText' => '模块设置', - 'displaySettingText' => '显示设置' + 'displaySettingText' => '显示设置', + 'activeKey' => '4', + 'closeLink' => '#' ) ) ); diff --git a/zin/wg/modulemenu/v1.php b/zin/wg/modulemenu/v1.php index 8c537a4f00..812b0cb921 100644 --- a/zin/wg/modulemenu/v1.php +++ b/zin/wg/modulemenu/v1.php @@ -28,16 +28,62 @@ class modulemenu extends wg return array_filter($this->modules, function($module) use($id) {return $module->parent == $id;}); } - protected function build() + private function setMenuTreeProps() { global $app; $id = $this->prop('productID'); $this->setProp('productID', null); $this->modules = $app->loadTarget('tree')->getProductStructure($id, 'story'); - $moduleItems = $this->buildMenuTree(array(), 0); - $this->setProp('items', $moduleItems); - $this->setProp('activeClass', 'active'); + $this->setProp('items', $this->buildMenuTree(array(), 0)); + $this->setDefaultProps(array('activeClass' => 'active')); + } - return zui::modulemenu(inherit($this)); + protected function build() + { + $this->setMenuTreeProps(); + $activeKey = $this->prop('activeKey'); + $closeBtn = null; + if(!empty($activeKey)) + { + $closeBtn = a + ( + set('href', $this->prop('closeLink')), + h::i + ( + setClass('icon icon-close'), + ) + ); + } + return div + ( + setClass('module-menu'), + h::header + ( + span + ( + setClass('module-title'), + $this->prop('title') + ), + $closeBtn + ), + h::main + ( + zui::menutree(inherit($this)) + ), + div + ( + setClass('setting-btns'), + a + ( + setClass('btn primary'), + $this->prop('moduleSettingText') + ), + a + ( + setClass('btn white'), + $this->prop('displaySettingText') + ), + ) + ); } } diff --git a/zin/wg/programmenu/v1.php b/zin/wg/programmenu/v1.php index eec9107fdb..eb1fc27b28 100644 --- a/zin/wg/programmenu/v1.php +++ b/zin/wg/programmenu/v1.php @@ -5,7 +5,7 @@ class programmenu extends wg { private $programs = array(); - protected static $defineProps = array('js-render?:bool=true'); + protected static $defineProps = array('js-render?:bool=true, title?:string, subTitle?:string, programs?:array, activeClass?:string, activeIcon?:string, activeKey?:string'); private function buildMenuTree($parent, $parentID) { @@ -26,8 +26,30 @@ class programmenu extends wg return array_filter($this->programs, function($program) use($id) {return $program->parent == $id;}); } - private function getContainer() + private function setMenuTreeProps() { + $this->programs = $this->prop('programs'); + $this->setProp('programs', null); + $this->setProp('items', $this->buildMenuTree(array(), 0)); + $this->setDefaultProps(array('activeClass' => 'active', 'activeIcon' => 'check')); + } + + protected function build() + { + $this->setMenuTreeProps(); + $activeKey = $this->prop('activeKey'); + $closeBtn = null; + if(!empty($activeKey)) + { + $closeBtn = a + ( + set('href', $this->prop('closeLink')), + h::i + ( + setClass('icon icon-close') + ) + ); + } return div ( setClass('program-menu'), @@ -42,19 +64,13 @@ class programmenu extends wg h::i(setClass('gg-chevron-down')) ), span($this->prop('title')) - ) + ), + $closeBtn + ), + h::main + ( + zui::menutree(inherit($this)) ) ); } - - protected function build() - { - $this->programs = $this->prop('programs'); - $this->setProp('programs', null); - $programItems = $this->buildMenuTree(array(), 0); - $this->setProp('items', $programItems); - $this->setProp('activeClass', 'active'); - $this->setProp('activeIcon', 'check'); - return zui::programmenu(inherit($this)); - } }