storyestimate.html.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <?php
  2. /**
  3. * The storyestimate view file of execution 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 execution
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. modalHeader
  12. (
  13. set::title($lang->execution->storyEstimate),
  14. set::entityText($story->title),
  15. set::entityID($story->id)
  16. );
  17. if(empty($team))
  18. {
  19. div
  20. (
  21. setClass('h-60 flex items-center justify-center'),
  22. p
  23. (
  24. setClass('text-gray-400'),
  25. span($lang->execution->noTeam)
  26. )
  27. );
  28. }
  29. else
  30. {
  31. if(!empty($rounds))
  32. {
  33. $loadUrl = inLink('storyEstimate', "executionID={$executionID}&storyID={$storyID}&round=%s");
  34. div
  35. (
  36. setClass('flex items-center ml-2'),
  37. span($lang->execution->selectRound),
  38. picker
  39. (
  40. setClass('w-40 mx-3 my-1'),
  41. set::name('round'),
  42. set::items($rounds),
  43. set::value($round),
  44. set::required(true),
  45. on::change("selectRound('{$loadUrl}')")
  46. ),
  47. btn
  48. (
  49. set::type('primary'),
  50. on::click('$(".new-estimate, .form-actions > .btn").removeClass("hidden")'),
  51. $lang->execution->reestimate
  52. )
  53. );
  54. }
  55. $tableRows = array();
  56. foreach($team as $user)
  57. {
  58. $estimate = isset($estimateInfo->estimate->{$user->account}) ? $estimateInfo->estimate->{$user->account}->estimate : '';
  59. $tableRows[] = h::tr
  60. (
  61. h::td
  62. (
  63. input
  64. (
  65. setClass('form-control'),
  66. set::value(zget($users, $user->account)),
  67. set::disabled(true)
  68. ),
  69. input
  70. (
  71. set::type('hidden'),
  72. set::name('account[]'),
  73. set::value($user->account)
  74. )
  75. ),
  76. h::td
  77. (
  78. setClass('story-estimate'),
  79. input
  80. (
  81. setClass('form-control'),
  82. empty($estimateInfo->estimate) ? set::name('estimate[]') : null,
  83. set::disabled(!empty($estimateInfo->estimate)),
  84. set::value($estimate),
  85. on::input('updateAverage()')
  86. )
  87. ),
  88. !empty($estimateInfo->estimate) ? h::td
  89. (
  90. setClass('new-estimate hidden'),
  91. input
  92. (
  93. setClass('form-control'),
  94. set::name('estimate[]'),
  95. set::value($estimate),
  96. on::input('updateAverage()')
  97. )
  98. ) : null
  99. );
  100. }
  101. formBase
  102. (
  103. h::table
  104. (
  105. setID('storyEstimateTable'),
  106. setClass('table condensed'),
  107. h::tbody
  108. (
  109. h::tr
  110. (
  111. h::th($lang->execution->team),
  112. h::th($lang->story->estimate),
  113. !empty($estimateInfo->estimate) ? h::th(setClass('new-estimate hidden'), $lang->execution->newEstimate) : null
  114. ),
  115. $tableRows,
  116. h::tr
  117. (
  118. h::td
  119. (
  120. input
  121. (
  122. setClass('form-control text-primary'),
  123. set::value($lang->execution->average),
  124. set::disabled(true)
  125. )
  126. ),
  127. h::td
  128. (
  129. input
  130. (
  131. setClass('form-control text-primary'),
  132. empty($estimateInfo->estimate) ? set::name('average') : null,
  133. set::readonly(true),
  134. set::value(!empty($estimateInfo->estimate) ? $estimateInfo->average : '')
  135. )
  136. ),
  137. !empty($estimateInfo->estimate) ? h::td
  138. (
  139. setClass('new-estimate hidden'),
  140. input
  141. (
  142. set::name('average'),
  143. setClass('form-control text-primary'),
  144. set::readonly(true),
  145. set::value($estimateInfo->average)
  146. )
  147. ) : null
  148. )
  149. )
  150. ),
  151. set::actions(array(array(
  152. 'text' => $lang->save,
  153. 'type' => empty($estimateInfo->estimate) ? 'primary' : 'primary hidden',
  154. 'btnType' => 'submit'
  155. )))
  156. );
  157. }