| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- <?php
- /**
- * The treetask view file of execution 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 Yanyi Cao <caoyanyi@easycorp.ltd>
- * @package execution
- * @link https://www.zentao.net
- */
- namespace zin;
- div
- (
- setClass('section-list', 'canvas', 'pt-4', 'pb-6', 'px-4', 'mb-4'),
- div
- (
- setClass('flex items-center flex-nowrap mb-4'),
- label
- (
- setClass('flex-none rounded-full gray-outline'),
- $task->id
- ),
- $task->isParent ? label
- (
- setClass('flex-none rounded-full dark-outline ml-2'),
- $this->lang->task->parentAB
- ) : null,
- $task->parent > 0 && !$task->isParent ? label
- (
- setClass('flex-none rounded-full dark-outline ml-2'),
- $this->lang->task->childrenAB
- ) : null,
- !empty($task->mode) ? label
- (
- setClass('flex-none rounded-full dark-outline ml-2'),
- $this->lang->task->multipleAB
- ) : null,
- span
- (
- setClass('text-lg font-bold mx-2 clip'),
- (isset($task->parentName) ? $task->parentName . '/' : '') . $task->name
- ),
- label
- (
- setClass('flex-none rounded-full task-status status-' . $task->status),
- $this->processStatus('task', $task)
- )
- ),
- div
- (
- setClass('flex items-center flex-wrap mb-4'),
- div
- (
- setClass('w-1/3'),
- $lang->task->estimate,
- span
- (
- setClass('ml-2 font-bold'),
- helper::formatHours($task->estimate) . ' ' . $lang->execution->workHourUnit
- )
- ),
- div
- (
- setClass('w-1/3'),
- $lang->task->consumedAB,
- span
- (
- setClass('ml-2 font-bold'),
- helper::formatHours($task->consumed) . ' ' . $lang->execution->workHourUnit
- )
- ),
- div
- (
- setClass('w-1/3'),
- $lang->task->leftAB,
- span
- (
- setClass('ml-2 font-bold'),
- helper::formatHours($task->left) . ' ' . $lang->execution->workHourUnit
- )
- ),
- div
- (
- setClass('w-full mt-4'),
- $lang->task->type,
- span
- (
- setClass('ml-2 font-bold'),
- $lang->task->typeList[$task->type]
- )
- ),
- helper::isZeroDate($task->deadline) ? null : div
- (
- setClass('w-full mt-4'),
- $lang->task->deadline,
- span
- (
- setClass('ml-2 font-bold'),
- $task->deadline
- ),
- isset($task->delay) ? label
- (
- setClass('flex-none rounded-full danger-pale ml-2'),
- html(sprintf($lang->task->delayWarning, $task->delay))
- ) : null
- )
- ),
- btngroup
- (
- setID('actionButtons'),
- setClass('mb-4'),
- ($task->status == 'wait' && hasPriv('task', 'finish')) && common::hasDBPriv($task, 'task', 'finish')? btn
- (
- setClass('text-primary'),
- set::icon('checked'),
- set::hint($lang->task->finish),
- set::url(createLink('task', 'finish', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'finish')),
- set('data-toggle', 'modal')
- ) : null,
- ($task->status == 'wait' && hasPriv('task', 'start')) && common::hasDBPriv($task, 'task', 'start') ? btn
- (
- setClass('text-primary'),
- set::icon('play'),
- set::hint($lang->task->start),
- set::url(createLink('task', 'start', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'start')),
- set('data-toggle', 'modal')
- ) : null,
- ($task->status == 'pause' && hasPriv('task', 'restart')) && common::hasDBPriv($task, 'task', 'restart') ? btn
- (
- setClass('text-primary'),
- set::icon('restart'),
- set::hint($lang->task->restart),
- set::url(createLink('task', 'restart', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'restart')),
- set('data-toggle', 'modal')
- ) : null,
- (($task->status == 'done' || $task->status == 'cancel' || $task->status == 'closed') && hasPriv('task', 'close')) && common::hasDBPriv($task, 'task', 'close') ? btn
- (
- setClass('text-primary'),
- set::icon('off'),
- set::hint($lang->task->close),
- set::url(createLink('task', 'close', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'close')),
- set('data-toggle', 'modal')
- ) : null,
- ($task->status == 'doing' && hasPriv('task', 'finish')) && common::hasDBPriv($task, 'task', 'finish') ? btn
- (
- setClass('text-primary'),
- set::icon('checked'),
- set::hint($lang->task->finish),
- set::url(createLink('task', 'finish', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'finish')),
- set('data-toggle', 'modal')
- ) : null,
- hasPriv('task', 'recordWorkhour') && common::hasDBPriv($task, 'task', 'recordWorkhour') ? btn
- (
- setClass('text-primary'),
- set::icon('time'),
- set::hint($lang->task->recordWorkhour),
- set::url(createLink('task', 'recordWorkhour', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'recordWorkhour')),
- set('data-toggle', 'modal')
- ) : null,
- hasPriv('task', 'edit') && common::hasDBPriv($task, 'task', 'edit') ? btn
- (
- setClass('text-primary'),
- set::icon('edit'),
- set::hint($lang->task->edit),
- set::url(createLink('task', 'edit', array('taskID' => $task->id))),
- set::disabled(!$this->task->isClickable($task, 'edit')),
- set('data-app', $app->tab)
- ) : null,
- ((empty($task->team) || empty($task->children)) && hasPriv('task', 'batchCreate') && $config->vision != 'lite' && common::hasDBPriv($task, 'task', 'batchCreate')) ? btn
- (
- setClass('text-primary'),
- set::icon('split'),
- set::hint($lang->task->batchCreate),
- set::url(createLink('task', 'batchCreate', "execution={$task->execution}&storyID={$task->story}&moduleID={$task->module}&askID={$task->id}&ifame=0")),
- set::disabled(!$this->task->isClickable($task, 'batchCreate')),
- set('data-app', $app->tab)
- ) : null
- ),
- section
- (
- set::title($lang->task->legendDesc),
- set::content(empty($task->desc) ? $lang->noData : $task->desc),
- set::useHtml(true)
- )
- );
- history
- (
- set::objectType('task'),
- set::objectID($task->id),
- set::commentBtn(true),
- set::commentUrl(createLink('action', 'comment', array('objectType' => 'task', 'objectID' => $task->id)))
- );
|