batchedit.html.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. /**
  3. * The batchedit view file of project module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Sun Guangming<sunguangming@easycorp.ltd>
  7. * @package project
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $programAclList = array();
  12. $projectAclList = array();
  13. foreach($lang->program->subAcls as $acl => $label) $programAclList[] = array('text' => $label, 'value' => $acl);
  14. foreach($lang->project->acls as $acl => $label) $projectAclList[] = array('text' => $label, 'value' => $acl);
  15. jsVar('longTime', LONG_TIME);
  16. jsVar('weekend', $config->execution->weekend);
  17. jsVar('programAclList', $programAclList);
  18. jsVar('projectAclList', $projectAclList);
  19. jsVar('disabledprograms', !empty($globalDisableProgram));
  20. jsVar('beginLessThanParent', $lang->project->beginLessThanParent);
  21. jsVar('endGreatThanParent', $lang->project->endGreatThanParent);
  22. $setCode = (isset($config->setCode) and $config->setCode == 1);
  23. $items = array();
  24. $items[] = array
  25. (
  26. 'name' => 'id',
  27. 'label' => $lang->idAB,
  28. 'control' => 'hidden',
  29. 'hidden' => true
  30. );
  31. $items[] = array
  32. (
  33. 'name' => 'id',
  34. 'label' => $lang->idAB,
  35. 'control' => 'index',
  36. 'width' => '38px'
  37. );
  38. $items[] = array
  39. (
  40. 'name' => 'parent',
  41. 'label' => $lang->project->program,
  42. 'control' => 'picker',
  43. 'items' => $programs,
  44. 'width' => '136px'
  45. );
  46. $items[] = array
  47. (
  48. 'name' => 'name',
  49. 'required' => true,
  50. 'label' => $lang->project->name,
  51. 'width' => '240px'
  52. );
  53. if($setCode)
  54. {
  55. $items[] = array
  56. (
  57. 'name' => 'code',
  58. 'label' => $lang->project->code,
  59. 'required' => strpos($config->project->edit->requiredFields, 'code') !== false,
  60. 'width' => '136px'
  61. );
  62. }
  63. $items[] = array
  64. (
  65. 'name' => 'PM',
  66. 'label' => $lang->project->PM,
  67. 'control' => 'picker',
  68. 'ditto' => true,
  69. 'defaultDitto' => 'off',
  70. 'items' => $PMUsers,
  71. 'width' => '136px'
  72. );
  73. $items[] = array
  74. (
  75. 'name' => 'begin',
  76. 'required' => true,
  77. 'label' => $lang->project->begin,
  78. 'control' => 'date',
  79. 'width' => '120px'
  80. );
  81. $items[] = array
  82. (
  83. 'name' => 'end',
  84. 'required' => true,
  85. 'label' => $lang->project->end,
  86. 'width' => '120px',
  87. 'control' => array
  88. (
  89. 'control' => 'date',
  90. 'display' => jsRaw("(value) => (value === '" . LONG_TIME . "' ? '" . $lang->project->longTime . "' : zui.formatDate(value, 'yyyy-MM-dd'))"),
  91. 'actions' => array
  92. (
  93. array('text' => $lang->datepicker->dpText->TEXT_TODAY, 'data-set-date' => helper::today()),
  94. array('text' => $lang->project->longTime, 'data-set-date' => LONG_TIME)
  95. )
  96. ),
  97. );
  98. $items[] = array
  99. (
  100. 'name' => 'days',
  101. 'label' => $lang->project->days,
  102. 'width' => '84px'
  103. );
  104. $items[] = array
  105. (
  106. 'name' => 'acl',
  107. 'label' => $lang->project->acl,
  108. 'control' => 'picker',
  109. 'items' => array(),
  110. 'width' => '76px'
  111. );
  112. formBatchPanel
  113. (
  114. set::title($lang->project->batchEdit),
  115. set::mode('edit'),
  116. set::data(array_values($projects)),
  117. set::onRenderRow(jsRaw('renderRowData')),
  118. on::change('[name^=begin],[name^=end]', 'batchComputeWorkDays'),
  119. $config->systemMode != 'light' ? on::change('[name^=begin],[name^=end],[name^=parent]', 'batchCheckDate') : null,
  120. set::items($items)
  121. );
  122. h::table
  123. (
  124. setID('dateTipTemplate'),
  125. setClass('hidden'),
  126. h::tr
  127. (
  128. setClass('dateTip'),
  129. h::td
  130. (
  131. set::colspan($setCode ? 9 : 8),
  132. div
  133. (
  134. setClass('text-right'),
  135. span(setClass('beginLess text-warning hidden'), html($lang->project->beginLessThanParent)),
  136. span(setClass('endGreater text-warning hidden'), html($lang->project->endGreatThanParent)),
  137. a(setClass('underline text-warning'), set::href('javascript:;'), $lang->project->ignore)
  138. )
  139. )
  140. )
  141. );
  142. render();