index.html.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <?php
  2. /**
  3. * The html template file of index method of index module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
  6. * @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Chunsheng Wang <chunsheng@cnezsoft.com>
  8. * @package ZenTaoPMS
  9. * @version $Id: index.html.php 5094 2013-07-10 08:46:15Z chencongzhi520@gmail.com $
  10. */
  11. ?>
  12. <?php include '../../common/view/header.html.php';?>
  13. <?php js::set('selectedWeekBegin', $date);?>
  14. <?php if(common::hasPriv('weekly', 'exportweeklyreport')):?>
  15. <script>
  16. $(function(){$('#exportreport').modalTrigger();});
  17. </script>
  18. <?php endif;?>
  19. <div id="mainMenu" class="clearfix text-center">
  20. <div class="btn-toolbar pull-right">
  21. <?php echo html::a($this->createLink('weekly', 'exportweeklyreport', "module=weekly&projectID={$project->id}"), $this->lang->export, '', "class='btn btn-primary' data-width='30%' id='exportreport' data-group='project'");?>
  22. </div>
  23. <div id='mainContent' >
  24. <div class='main-table'>
  25. <table class='table table-bordered'>
  26. <tr>
  27. <td><?php echo $lang->weekly->term;?></td>
  28. <td><?php echo $monday . ' ~ ' . $lastDay?></td>
  29. <td><?php echo $lang->weekly->master;?></td>
  30. <td><?php echo zget($users, $project->PM, '');?></td>
  31. </tr>
  32. <tr>
  33. <td><?php echo $lang->weekly->project;?></td>
  34. <td class='projectName' title='<?php echo $project->name;?>'><?php echo $project->name;?></td>
  35. <td><?php echo $lang->weekly->staff;?></td>
  36. <td><?php echo $staff;?></td>
  37. </tr>
  38. </table>
  39. <div class='page-title'><h4><?php echo $lang->weekly->summary;?></h4></div>
  40. <table class='table table-bordered'>
  41. <tr>
  42. <td>
  43. <?php echo $lang->weekly->progress;?>
  44. <div id='helpDropdown' class="dropdown dropdown-hover">
  45. <a data-toggle="dropdown"><i class="icon-help"></i></a>
  46. <div class="dropdown-menu">
  47. <?php echo $lang->weekly->reportHelpNotice;?>
  48. </div>
  49. </div>
  50. </td>
  51. <td></td>
  52. <td><?php echo $lang->weekly->analysisResult;?></td>
  53. <td></td>
  54. </tr>
  55. <tr>
  56. <td><?php echo $lang->weekly->pv;?></td>
  57. <td><?php echo $pv;?></td>
  58. <td rowspan='4'><?php echo $lang->weekly->progress;?></td>
  59. <td rowspan='4'><?php echo $this->weekly->getTips('progress', $sv) . '<br/>' . $this->weekly->getTips('cost', $cv);?></td>
  60. </tr>
  61. <tr>
  62. <td><?php echo $lang->weekly->ev;?></td>
  63. <td><?php echo $ev;?></td>
  64. </tr>
  65. <tr>
  66. <td><?php echo $lang->weekly->ac;?></td>
  67. <td><?php echo $ac;?></td>
  68. </tr>
  69. <tr>
  70. <td><?php echo $lang->weekly->sv;?></td>
  71. <td><?php echo $sv ? $sv . '%' : '';?></td>
  72. </tr>
  73. <tr>
  74. <td><?php echo $lang->weekly->cv;?></td>
  75. <td><?php echo $cv ? $cv . '%' : '';?></td>
  76. <td><?php echo $lang->weekly->cost;?></td>
  77. <?php $projectCost = zget($this->config->custom, 'cost', 1);?>
  78. <td class='projectCost'><?php echo empty($projectCost) ? 0 : $ac * $projectCost;?></td>
  79. </tr>
  80. </table>
  81. <div class='page-title'><h4><?php echo $lang->weekly->finished;?></h4></div>
  82. <table class='table has-sort-head table-fixed'>
  83. <thead>
  84. <tr>
  85. <th class='c-id'><?php echo $lang->idAB;?></th>
  86. <th class='text-left'><?php echo $lang->task->name;?></th>
  87. <th class='text-left w-120px'><?php echo $lang->task->estStarted;?></th>
  88. <th class='text-left w-120px'><?php echo $lang->task->deadline;?></th>
  89. <th class='text-left w-120px'><?php echo $lang->task->realStarted;?></th>
  90. <th class='text-left w-100px'><?php echo $lang->task->finishedBy;?></th>
  91. </tr>
  92. </thead>
  93. <tbody>
  94. <?php foreach($finished as $task):?>
  95. <tr data-id='<?php echo $task->id ?>'>
  96. <td class='c-id'>
  97. <?php printf('%03d', $task->id);?>
  98. </td>
  99. <td class='text-left' title='<?php echo $task->name?>'>
  100. <?php echo html::a($this->createLink('task', 'view', 'id=' . $task->id), $task->name); ?>
  101. </td>
  102. <td class='text-left'><?php echo $task->estStarted;?></td>
  103. <td class='text-left'><?php echo $task->deadline;?></td>
  104. <td class='text-left'><?php if(!helper::isZeroDate($task->realStarted)) echo substr($task->realStarted, 0, 11);?></td>
  105. <td class='text-left'><?php echo zget($users, $task->finishedBy);?></td>
  106. </tr>
  107. <?php endforeach;?>
  108. <td colspan='6' class='totalCount'><?php echo sprintf($lang->weekly->totalCount, count($finished));?></tr>
  109. </tbody>
  110. </table>
  111. <div class='page-title'><h4><?php echo $lang->weekly->postponed;?></h4></div>
  112. <table class='table has-sort-head table-fixed'>
  113. <thead>
  114. <tr>
  115. <th class='c-id'><?php echo $lang->idAB;?></th>
  116. <th class='text-left'><?php echo $lang->task->name;?></th>
  117. <th class='text-left w-100px'><?php echo $lang->task->assignedTo;?></th>
  118. <th class='text-left w-120px'><?php echo $lang->task->estStarted;?></th>
  119. <th class='text-left w-120px'><?php echo $lang->task->deadline;?></th>
  120. <th class='text-left w-120px'><?php echo $lang->task->realStarted;?></th>
  121. <th class='text-left w-100px'><?php echo $lang->task->progress;?></th>
  122. </tr>
  123. </thead>
  124. <tbody>
  125. <?php foreach($postponed as $task):?>
  126. <tr data-id='<?php echo $task->id ?>'>
  127. <td class='c-id'>
  128. <?php printf('%03d', $task->id);?>
  129. </td>
  130. <td class='text-left' title='<?php echo $task->name?>'>
  131. <?php echo html::a($this->createLink('task', 'view', 'id=' . $task->id), $task->name); ?>
  132. </td>
  133. <td class='text-left'><?php echo zget($users, $task->assignedTo);?></td>
  134. <td class='text-left'><?php echo $task->estStarted;?></td>
  135. <td class='text-left'><?php echo $task->deadline;?></td>
  136. <td class='text-left'><?php if(!helper::isZeroDate($task->realStarted)) echo substr($task->realStarted, 0, 11);?></td>
  137. <td class='text-left'><?php echo $task->progress;?>%</td>
  138. </tr>
  139. <?php endforeach;?>
  140. <td colspan='7' class='totalCount'><?php echo sprintf($lang->weekly->totalCount, count($postponed));?></tr>
  141. </tbody>
  142. </table>
  143. <div class='page-title'><h4><?php echo $lang->weekly->nextWeek;?></h4></div>
  144. <table class='table has-sort-head table-fixed'>
  145. <thead>
  146. <tr>
  147. <th class='c-id'><?php echo $lang->idAB;?></th>
  148. <th class='text-left'><?php echo $lang->task->name;?></th>
  149. <th class='text-left w-100px'><?php echo $lang->task->assignedTo;?></th>
  150. <th class='text-left w-120px'><?php echo $lang->task->estStarted;?></th>
  151. <th class='text-left w-120px'><?php echo $lang->task->deadline;?></th>
  152. </tr>
  153. </thead>
  154. <tbody>
  155. <?php foreach($nextWeek as $task):?>
  156. <tr data-id='<?php echo $task->id ?>'>
  157. <td class='c-id'>
  158. <?php printf('%03d', $task->id);?>
  159. </td>
  160. <td class='text-left' title='<?php echo $task->name?>'>
  161. <?php echo html::a($this->createLink('task', 'view', 'id=' . $task->id), $task->name); ?>
  162. </td>
  163. <td class='text-left'><?php echo zget($users, $task->assignedTo);?></td>
  164. <td class='text-left'><?php echo $task->estStarted;?></td>
  165. <td class='text-left'><?php echo $task->deadline;?></td>
  166. </tr>
  167. <?php endforeach;?>
  168. <td colspan='5' class='totalCount'><?php echo sprintf($lang->weekly->totalCount, count($nextWeek));?></tr>
  169. </tbody>
  170. </table>
  171. <div class='page-title'><h4><?php echo $lang->weekly->workloadByType;?></h4></div>
  172. <table class='table has-sort-head table-fixed'>
  173. <thead>
  174. <tr>
  175. <th><?php echo $lang->task->type;?></th>
  176. <?php foreach($lang->task->typeList as $type => $name):?>
  177. <?php if(!$name) continue;?>
  178. <th><?php echo $name;?></th>
  179. <?php endforeach;?>
  180. <th><?php echo $lang->weekly->total;?></th>
  181. </tr>
  182. </thead>
  183. <tbody class='sortable' id='taskTableList'>
  184. <tr>
  185. <th><?php echo $lang->weekly->workload;?></th>
  186. <?php $total = 0;?>
  187. <?php foreach($lang->task->typeList as $type => $name):?>
  188. <?php if(!$name) continue;?>
  189. <?php $worktimes = zget($workload, $type, 0);?>
  190. <td><?php echo $worktimes;?></td>
  191. <?php $total += $worktimes;?>
  192. <?php if(!$name) continue;?>
  193. <?php endforeach;?>
  194. <td><?php echo $total;?></td>
  195. </tr>
  196. </tbody>
  197. </table>
  198. </div>
  199. </div>
  200. <?php include '../../common/view/footer.html.php';?>