| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- <?php
- /**
- * The browsetask view file of tree module of ZenTaoPMS.
- * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
- * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
- * @author Jinyong Zhu<zhujinyong@easycorp.ltd>
- * @package tree
- * @link https://www.zentao.net
- */
- namespace zin;
- data('activeMenuID', 'execution');
- $maxOrder = 0;
- $fnAppendApp = function($tree) use(&$fnAppendApp)
- {
- foreach($tree as $subTree)
- {
- if(!empty($subTree->children)) $subTree->children = $fnAppendApp($subTree->children);
- if(!empty($subTree->url)) $subTree->url .= '#app=project';
- }
- return $tree;
- };
- $tree = $fnAppendApp($tree);
- /* Generate module rows. */
- $moduleRows = array();
- if($newModule and !$productID)
- {
- foreach($products as $product)
- {
- $moduleRows[] = formRow
- (
- formGroup
- (
- setClass('row-module'),
- input
- (
- setClass('col-module'),
- set::name("products[id$product->id]"),
- set::type('input'),
- set::value($product->name),
- set::disabled(true)
- )
- )
- );
- }
- }
- foreach($sons as $son)
- {
- if($son->order > $maxOrder) $maxOrder = $son->order;
- $moduleRows[] = formRow
- (
- formGroup
- (
- inputGroup
- (
- setClass('row-module'),
- input
- (
- setClass('col-module'),
- set::name("modules[id$son->id]"),
- set::type('input'),
- set::value($son->name),
- set::placeholder($lang->tree->name)
- ),
- input
- (
- setClass('col-short'),
- set::name("shorts[id$son->id]"),
- set::type('input'),
- set::value($son->short),
- set::placeholder($lang->tree->short)
- ),
- input
- (
- setClass('hidden'),
- set::name("order[id$son->id]"),
- set::value($son->order),
- set::control('hidden')
- )
- )
- )
- );
- }
- for($i = 0; $i < \tree::NEW_CHILD_COUNT; $i ++)
- {
- $moduleRows[] = formRow
- (
- formGroup
- (
- inputGroup
- (
- setClass('row-module'),
- input
- (
- setClass('col-module'),
- set::name("modules[$i]"),
- set::type('input'),
- set::value(''),
- set::placeholder($lang->tree->name)
- ),
- input
- (
- setClass('col-short'),
- set::name("shorts[$i]"),
- set::type('input'),
- set::value(''),
- set::placeholder($lang->tree->short)
- ),
- input
- (
- setClass('hidden'),
- set::name("branch[$i]"),
- set::value(0),
- set::control('hidden')
- )
- ),
- batchActions()
- )
- );
- }
- $parentPath = array();
- $parentPath[] = span
- (
- a
- (
- setClass('tree-link'),
- set('href', helper::createLink('tree', 'browsetask', "rootID=$root->id&productID=$productID") . '#app=project'),
- $root->name
- ),
- h::i
- (
- setClass('icon icon-angle-right muted align-middle'),
- setStyle('color', '#313C52')
- )
- );
- foreach($parentModules as $module)
- {
- $parentPath[] = span
- (
- a
- (
- setClass('tree-link'),
- set('href', helper::createLink('tree', 'browsetask', "rootID=$root->id&productID=$productID&module=$module->id") . '#app=project'),
- $module->name
- ),
- h::i
- (
- setClass('icon icon-angle-right muted align-middle'),
- setStyle('color', '#313C52')
- )
- );
- }
- div
- (
- setClass('flex gap-x-4 mb-3'),
- backBtn
- (
- set::icon('back'),
- set::type('secondary'),
- set::back('execution-task'),
- $lang->goback
- ),
- div
- (
- setClass('entity-label flex items-center gap-x-2 entity-title text-lg font-bold'),
- $lang->tree->common . $lang->hyphen . $root->name
- )
- );
- div
- (
- setClass('flex gap-x-4'),
- div
- (
- setClass('sidebar sidebar-left basis-2/6'),
- panel
- (
- set::title($title),
- treeEditor
- (
- set('type', 'task'),
- set('items', $tree),
- set('canEdit', common::hasPriv('tree', 'edit') && $canBeChanged),
- set('canDelete', common::hasPriv('tree', 'delete') && $canBeChanged)
- )
- )
- ),
- div
- (
- setClass('basis-4/6'),
- panel
- (
- set::title($execution->multiple ? $lang->tree->manageTaskChild : $lang->tree->manageProjectChild),
- div
- (
- setClass('flex'),
- div
- (
- setClass('p-1 tree-item-content'),
- $parentPath
- ),
- form
- (
- setClass('flex-1 form-horz'),
- set::url(helper::createLink('tree', 'manageChild', "root=$root->id&viewType=task")),
- $moduleRows,
- set::actions(array('submit', 'cancel')),
- set::back('execution-task'),
- set::actionsClass('justify-start'),
- formGroup
- (
- setClass('hidden'),
- set::name('parentModuleID'),
- set::value($currentModuleID),
- set::control('hidden')
- ),
- formGroup
- (
- setClass('hidden'),
- set::name('maxOrder'),
- set::value($maxOrder),
- set::control('hidden')
- )
- )
- )
- )
- )
- );
- render();
|