| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- <?php
- namespace zin;
- jsVar('model', $project->model);
- jsVar('labelClass', $config->project->labelClass);
- jsVar('longTime', $lang->project->longTime);
- jsVar('weekend', $config->execution->weekend);
- jsVar('multiBranchProducts', $multiBranchProducts);
- jsVar('errorSameProducts', $lang->project->errorSameProducts);
- jsVar('beginLessThanParent', $lang->project->beginLessThanParent);
- jsVar('endGreatThanParent', $lang->project->endGreatThanParent);
- jsVar('ignore', $lang->project->ignore);
- jsVar('unLinkProductTip', $lang->project->unLinkProductTip);
- jsVar('allProducts', $allProducts);
- jsVar('branchGroups', $branchGroups);
- jsVar('programTip', $lang->program->tips);
- jsVar('projectID', $project->id);
- jsVar('from', $from);
- jsVar('LONG_TIME', LONG_TIME);
- $labelClass = $config->project->labelClass[$model];
- $delta = $project->end == LONG_TIME ? 999 : (strtotime($project->end) - strtotime($project->begin)) / 3600 / 24 + 1;
- $checkDeltaChecked = jsCallback()->do(<<<'JS'
- const beginDate = new Date($('[name=begin]').zui('datePicker').$.value);
- const endDate = new Date($('[name=end]').zui('datePicker').$.value);
- const days = parseInt((endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000)) + 1;
- if(parseInt($('input[name=delta]:checked').val()) != 999) $('[name=delta]').prop('checked', false);
- if($('#delta' + days).length > 0 && days != 999) $('#delta' + days).prop('checked', true);
- JS
- );
- formPanel
- (
- to::heading
- (
- div
- (
- setClass('panel-title text-lg'),
- $title,
- btn
- (
- set::id('project-model'),
- setClass("$labelClass h-5 px-2"),
- zget($lang->project->modelList, $model, '')
- )
- )
- ),
- on::change('[name=delta]', 'computeEndDate'),
- formHidden('parent', $project->parent),
- formHidden('model', $project->model),
- formHidden('hasProduct', $project->hasProduct),
- formGroup
- (
- set::width('1/2'),
- set::name('name'),
- set::value($project->name),
- set::label($lang->project->name)
- ),
- (isset($config->setCode) && $config->setCode == 1) ? formGroup
- (
- set::width('1/2'),
- set::name('code'),
- set::value($project->code),
- set::label($lang->project->code)
- ) : null,
- formGroup
- (
- set::width('1/4'),
- set::label($lang->project->PM),
- picker
- (
- set::name('PM'),
- set::value($project->PM),
- set::items($PMUsers)
- )
- ),
- formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::label($lang->project->planDate),
- set::required(true),
- inputGroup
- (
- on::change('[name=end], [name=begin]', $checkDeltaChecked),
- datePicker
- (
- set::name('begin'),
- set('id', 'begin'),
- set::value($project->begin),
- set::placeholder($lang->project->begin),
- set::required(true)
- ),
- $lang->project->to,
- datePicker
- (
- set::name('end'),
- set('id', 'end'),
- set::value($project->end != LONG_TIME ? $project->end : ''),
- set::placeholder($lang->project->end),
- set::required(true),
- set::disabled($project->end == LONG_TIME)
- )
- )
- ),
- formGroup
- (
- set::width('1/2'),
- setClass('items-center'),
- radioList
- (
- set::name('delta'),
- set::value($delta),
- set::inline(true),
- set::items($lang->project->endList)
- )
- )
- ),
- formGroup
- (
- set::label($lang->project->desc),
- editor(set::name('desc'), html($project->desc))
- ),
- formRow
- (
- set::id('aclList'),
- formGroup
- (
- set::name('acl'),
- set::label($lang->project->acl),
- set::control('radioList'),
- set::items($lang->project->aclList),
- $programID ? set::items($lang->project->subAclList) : set::items($lang->project->aclList),
- on::change()->toggleClass('.whitelistBox', 'hidden', "\$element.find('[name=acl]:checked').val() === 'open'"),
- set::value($project->acl)
- )
- ),
- formGroup
- (
- setClass('whitelistBox' . ($project->acl == 'open' ? ' hidden' : '')),
- set::width('1/2'),
- set::label($lang->whitelist),
- picker
- (
- set::name('whitelist[]'),
- set::value($project->whitelist),
- set::items($users),
- set::multiple(true)
- )
- )
- );
- setPageData('title', $title);
- render();
|