znt/module/execution/ui/storyestimate.html.php

165 lines
5.1 KiB
PHP

<?php
declare(strict_types=1);
/**
* The storyestimate 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;
modalHeader
(
set::title($lang->execution->storyEstimate),
set::entityText($story->title),
set::entityID($story->id)
);
if(empty($team))
{
div
(
setClass('h-60 flex items-center justify-center'),
p
(
setClass('text-gray-400'),
span($lang->execution->noTeam)
)
);
}
else
{
if(!empty($rounds))
{
$loadUrl = inLink('storyEstimate', "executionID={$executionID}&storyID={$storyID}&round=%s");
div
(
setClass('flex items-center ml-2'),
span($lang->execution->selectRound),
picker
(
setClass('w-40 mx-3 my-1'),
set::name('round'),
set::items($rounds),
set::value($round),
set::required(true),
on::change("selectRound('{$loadUrl}')")
),
btn
(
set::type('primary'),
on::click('$(".new-estimate, .form-actions > .btn").removeClass("hidden")'),
$lang->execution->reestimate
)
);
}
$tableRows = array();
foreach($team as $user)
{
$estimate = isset($estimateInfo->estimate->{$user->account}) ? $estimateInfo->estimate->{$user->account}->estimate : '';
$tableRows[] = h::tr
(
h::td
(
input
(
setClass('form-control'),
set::value(zget($users, $user->account)),
set::disabled(true)
),
input
(
set::type('hidden'),
set::name('account[]'),
set::value($user->account)
)
),
h::td
(
setClass('story-estimate'),
input
(
setClass('form-control'),
empty($estimateInfo->estimate) ? set::name('estimate[]') : null,
set::disabled(!empty($estimateInfo->estimate)),
set::value($estimate),
on::input('updateAverage()')
)
),
!empty($estimateInfo->estimate) ? h::td
(
setClass('new-estimate hidden'),
input
(
setClass('form-control'),
set::name('estimate[]'),
set::value($estimate),
on::input('updateAverage()')
)
) : null
);
}
formBase
(
h::table
(
setID('storyEstimateTable'),
setClass('table condensed'),
h::tbody
(
h::tr
(
h::th($lang->execution->team),
h::th($lang->story->estimate),
!empty($estimateInfo->estimate) ? h::th(setClass('new-estimate hidden'), $lang->execution->newEstimate) : null
),
$tableRows,
h::tr
(
h::td
(
input
(
setClass('form-control text-primary'),
set::value($lang->execution->average),
set::disabled(true)
)
),
h::td
(
input
(
setClass('form-control text-primary'),
empty($estimateInfo->estimate) ? set::name('average') : null,
set::readonly(true),
set::value(!empty($estimateInfo->estimate) ? $estimateInfo->average : '')
)
),
!empty($estimateInfo->estimate) ? h::td
(
setClass('new-estimate hidden'),
input
(
set::name('average'),
setClass('form-control text-primary'),
set::readonly(true),
set::value($estimateInfo->average)
)
) : null
)
)
),
set::actions(array(array(
'text' => $lang->save,
'type' => empty($estimateInfo->estimate) ? 'primary' : 'primary hidden',
'btnType' => 'submit'
)))
);
}