create.html.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace zin;
  3. $parentID = $parentProgram->id ?? 0;
  4. $currency = $parentID ? $parentProgram->budgetUnit : $config->project->defaultCurrency;
  5. jsVar('page', 'create');
  6. jsVar('longTime', $lang->project->longTime);
  7. jsVar('weekend', $config->execution->weekend);
  8. jsVar('parentBudget', $lang->program->parentBudget);
  9. jsVar('beginLessThanParent', $lang->program->beginLessThanParent);
  10. jsVar('endGreatThanParent', $lang->program->endGreatThanParent);
  11. jsVar('ignore', $lang->program->ignore);
  12. jsVar('currencySymbol', $lang->project->currencySymbol);
  13. jsVar('budgetOverrun', $lang->project->budgetOverrun);
  14. unset($lang->project->endList['999']);
  15. jsVar('endList', $lang->project->endList);
  16. $fields = useFields('program.create');
  17. $autoLoad = array();
  18. $autoLoad['parent'] = 'future,budget,budgetUnit,acl,whitelist';
  19. $handleLongTimeChange = jsCallback()->do(<<<'JS'
  20. const endPicker = $element.find('[name=end]').zui('datePicker');
  21. const longTime = $element.find('[name=longTime]').prop('checked');
  22. endPicker.render({disabled: longTime});
  23. if(longTime) endPicker.$.setValue('');
  24. JS
  25. );
  26. formGridPanel
  27. (
  28. set::modeSwitcher(false),
  29. set::title($title),
  30. set::fields($fields),
  31. set::loadUrl($loadUrl),
  32. set::autoLoad($autoLoad),
  33. on::change('[name=budget]', 'budgetOverrunTips'),
  34. on::change('[name=future]', 'onFutureChange'),
  35. on::change('[name=acl]', 'onAclChange'),
  36. on::change('[name=longTime]', $handleLongTimeChange),
  37. on::change('[name=begin], [name=end]', 'onDateChange')
  38. );
  39. render();