151 lines
4.3 KiB
PHP
151 lines
4.3 KiB
PHP
<?php
|
|
namespace zin;
|
|
|
|
$parentID = $parentProgram->id ?? 0;
|
|
$currency = $parentID ? $parentProgram->budgetUnit : $config->project->defaultCurrency;
|
|
$aclList = $parentProgram ? $lang->program->subAclList : $lang->program->aclList;
|
|
|
|
jsVar('longTime', $lang->project->longTime);
|
|
jsVar('weekend', $config->execution->weekend);
|
|
jsVar('page', 'create');
|
|
jsVar('parentBudget', $lang->program->parentBudget);
|
|
jsVar('beginLessThanParent', $lang->program->beginLessThanParent);
|
|
jsVar('endGreatThanParent', $lang->program->endGreatThanParent);
|
|
jsVar('ignore', $lang->program->ignore);
|
|
jsVar('currencySymbol', $lang->project->currencySymbol);
|
|
jsVar('budgetOverrun', $lang->project->budgetOverrun);
|
|
|
|
set::title($parentID ? $lang->program->children : $lang->program->create);
|
|
formPanel
|
|
(
|
|
to::heading
|
|
(
|
|
div
|
|
(
|
|
setClass('panel-title text-lg'),
|
|
$title
|
|
)
|
|
),
|
|
on::change('#parent', 'onParentChange'),
|
|
on::change('#budget', 'budgetOverrunTips'),
|
|
on::change('#future', 'onFutureChange'),
|
|
on::change('#acl', 'onAclChange'),
|
|
formGroup
|
|
(
|
|
set::width('1/2'),
|
|
set::name('parent'),
|
|
set::label($lang->program->parent),
|
|
set::value($parentID),
|
|
set::items($parents),
|
|
),
|
|
formGroup
|
|
(
|
|
set::width('1/2'),
|
|
set::name('name'),
|
|
set::strong(true),
|
|
set::label($lang->program->name)
|
|
),
|
|
formGroup
|
|
(
|
|
set::width('1/4'),
|
|
set::name('PM'),
|
|
set::label($lang->program->PM),
|
|
set::items($pmUsers)
|
|
),
|
|
formRow
|
|
(
|
|
set::id('budgetRow'),
|
|
formGroup
|
|
(
|
|
set::width('1/4'),
|
|
set::name('budget'),
|
|
set::label($lang->project->budget),
|
|
set::control(array
|
|
(
|
|
'type' => 'inputControl',
|
|
'prefix' => zget($lang->project->currencySymbol, $currency),
|
|
'prefixWidth' => 'icon',
|
|
'suffix' => $lang->project->tenThousandYuan,
|
|
'suffixWidth' => 60,
|
|
)),
|
|
$parentProgram ? null : formHidden('budgetUnit', $config->project->defaultCurrency)
|
|
),
|
|
formGroup
|
|
(
|
|
set::width('1/4'),
|
|
set::name('future'),
|
|
set::className('items-center'),
|
|
set::control(array('type' => 'checkList', 'inline' => true)),
|
|
set::items(array('1' => $lang->project->future)),
|
|
)
|
|
),
|
|
formRow
|
|
(
|
|
formGroup
|
|
(
|
|
set::width('1/2'),
|
|
set::label($lang->project->dateRange),
|
|
set::required(true),
|
|
inputGroup
|
|
(
|
|
set::seg(true),
|
|
datePicker
|
|
(
|
|
set::name('begin'),
|
|
set::id('begin'),
|
|
set::value(date('Y-m-d')),
|
|
set::placeholder($lang->project->begin),
|
|
set::required(true),
|
|
on::change('computeWorkDays')
|
|
),
|
|
$lang->project->to,
|
|
datePicker
|
|
(
|
|
set::name('end'),
|
|
set::id('end'),
|
|
set::placeholder($lang->project->end),
|
|
set::required(true),
|
|
set::value(''),
|
|
on::change('computeWorkDays')
|
|
),
|
|
)
|
|
),
|
|
formGroup
|
|
(
|
|
set::name('delta'),
|
|
set::className('pl-4 items-center'),
|
|
set::control(array('type' => 'radioList', 'inline' => true, 'rootClass' => 'ml-4', 'items' => $lang->program->endList)),
|
|
on::change('setDate'),
|
|
),
|
|
),
|
|
formGroup
|
|
(
|
|
set::name('desc'),
|
|
set::label($lang->program->desc),
|
|
set::control('editor')
|
|
),
|
|
formHidden('status', 'wait'),
|
|
formGroup
|
|
(
|
|
set::name('acl'),
|
|
set::label($lang->program->acl),
|
|
set::value('open'),
|
|
set::items($aclList),
|
|
set::control('radioList'),
|
|
),
|
|
formRow
|
|
(
|
|
set::id('whitelistRow'),
|
|
setClass('hidden'),
|
|
formGroup
|
|
(
|
|
set::width('3/4'),
|
|
set::name('whitelist[]'),
|
|
set::label($lang->whitelist),
|
|
set::control(array('type' => 'picker', 'multiple' => true, 'items' => $users)),
|
|
)
|
|
)
|
|
);
|
|
|
|
render();
|