batchcreate.html.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. /**
  3. * The batch create view file of todo 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 Yanyi Cao<caoyanyi@easycorp.ltd>
  7. * @package todo
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $timesKeys = array_keys($times);
  12. jsVar('time', $time);
  13. jsVar('times', $timesKeys);
  14. jsVar('userID', $app->user->id);
  15. jsVar('futureDate', FUTURE_TIME);
  16. jsVar('noOptions', $lang->todo->noOptions);
  17. jsVar('moduleList', $config->todo->moduleList);
  18. jsVar('objectsMethod', $config->todo->getUserObjectsMethod);
  19. jsVar('nameBoxLabel', array('custom' => $lang->todo->name, 'objectID' => $lang->todo->objectID));
  20. jsVar('batchCreateNum', $config->todo->batchCreate);
  21. jsVar('beginTime', date('Y-m-d') != $date ? $timesKeys[0] : $time);
  22. div
  23. (
  24. setID('nameInputBox'),
  25. setClass('hidden'),
  26. input
  27. (
  28. set::name('name'),
  29. setClass('form-batch-input')
  30. )
  31. );
  32. formBatchPanel
  33. (
  34. setID('batchCreateTodoForm'),
  35. set::customFields(array('list' => $customFields, 'show' => explode(',', $showFields), 'key' => 'batchCreateFields')),
  36. set::actions(array('submit', array('text' => $lang->goback, 'data-dismiss' => 'modal'))),
  37. on::change('[data-name="type"]', 'changeType'),
  38. on::change('.time-input', 'initTime'),
  39. on::click('.time-check', "window.togglePending"),
  40. on::click('.form-batch-row-actions .btn', 'initTime'),
  41. to::heading
  42. (
  43. div
  44. (
  45. setClass("panel-title text-lg"),
  46. $lang->todo->batchCreate . $lang->todo->common,
  47. inputGroup
  48. (
  49. setClass('text-base font-medium'),
  50. span
  51. (
  52. setClass('input-group-addon'),
  53. $lang->todo->date
  54. ),
  55. datePicker
  56. (
  57. setID('todoDate'),
  58. set::name('date'),
  59. set::value($date),
  60. on::change('window.changeTodoDate')
  61. ),
  62. span
  63. (
  64. setClass('input-group-addon'),
  65. checkBox
  66. (
  67. setID('futureDate'),
  68. set::name('futureDate'),
  69. $lang->todo->periods['future'],
  70. on::click('window.changeFuture')
  71. )
  72. )
  73. )
  74. )
  75. ),
  76. formBatchItem
  77. (
  78. set::name('id'),
  79. set::label($lang->todo->idAB),
  80. set::control('index'),
  81. set::width('30px')
  82. ),
  83. formBatchItem
  84. (
  85. set::label($lang->todo->beginAndEnd),
  86. set::width('260px'),
  87. set::control('inputGroup'),
  88. set::name('beginAndEnd'),
  89. inputGroup
  90. (
  91. set::seg(true),
  92. control
  93. (
  94. setClass('time-input'),
  95. set::type('picker'),
  96. set::name('begin'),
  97. set::items($times),
  98. set::required(true)
  99. ),
  100. control
  101. (
  102. setClass('time-input'),
  103. set::type('picker'),
  104. set::name('end'),
  105. set::items($times),
  106. set::required(true)
  107. ),
  108. span
  109. (
  110. setClass('input-group-addon'),
  111. checkBox
  112. (
  113. setClass('time-check'),
  114. set::name('switchTime'),
  115. $lang->todo->periods['future']
  116. )
  117. )
  118. )
  119. ),
  120. formBatchItem
  121. (
  122. set::name('type'),
  123. set::label($lang->todo->type),
  124. set::width('120px'),
  125. set::control(array('control' => 'picker', 'required' => true)),
  126. set::value('custom'),
  127. set::items($lang->todo->typeList)
  128. ),
  129. formBatchItem
  130. (
  131. set::name('name'),
  132. set::label($lang->todo->name),
  133. set::required(true),
  134. set::minWidth('100px')
  135. ),
  136. formBatchItem
  137. (
  138. set::name('desc'),
  139. set::label($lang->todo->desc),
  140. set::control('textarea')
  141. ),
  142. formBatchItem
  143. (
  144. set::name('assignedTo'),
  145. set::label($lang->todo->assignedTo),
  146. set::value($app->user->account),
  147. set::ditto(true),
  148. set::width('140px'),
  149. set::control(array('control' => 'picker', 'required' => true)),
  150. set::items($users)
  151. ),
  152. formBatchItem
  153. (
  154. set::name('pri'),
  155. set::label($lang->todo->pri),
  156. set::width('80px'),
  157. set::control(array('control' => 'priPicker', 'required' => true)),
  158. set::value('3'),
  159. set::items($lang->todo->priList)
  160. ),
  161. input(set::type('hidden'), set::name('date'), set::value($date)),
  162. input(set::type('hidden'), set::name('futureDate'), set::value(0))
  163. );
  164. /* ====== Render page ====== */
  165. if(isInModal()) set::size('xl');
  166. render();