list.html.php 4.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * The list of programplan 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 programplan
  9. * @version $Id: list.html.php 4903 2013-06-26 05:32:59Z wyd621@gmail.com $
  10. * @link https://www.zentao.net
  11. */
  12. ?>
  13. <?php
  14. include '../../common/view/datatable.fix.html.php';
  15. js::set('confirmDelete', $lang->programplan->confirmDelete);
  16. ?>
  17. <style>
  18. #tableCustomBtn{display: none;}
  19. .table-children {border-left: 2px solid #cbd0db; border-right: 2px solid #cbd0db;}
  20. .table tbody > tr.table-children.table-child-top {border-top: 2px solid #cbd0db;}
  21. .table tbody > tr.table-children.table-child-bottom {border-bottom: 2px solid #cbd0db;}
  22. .table td.has-child > a:not(.plan-toggle) {max-width: 90%; max-width: calc(100% - 30px); display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
  23. .table td.has-child > .plan-toggle {color: #838a9d; position: relative; top: 1px;}
  24. .table td.has-child > .plan-toggle:hover {color: #006af1; cursor: pointer;}
  25. .table td.has-child > .plan-toggle > .icon {font-size: 16px; display: inline-block; transition: transform .2s; -ms-transform:rotate(-90deg); -moz-transform:rotate(-90deg); -o-transform:rotate(-90deg); -webkit-transform:rotate(-90deg); transform: rotate(-90deg);}
  26. .table td.has-child > .plan-toggle > .icon:before {text-align: left;}
  27. .table td.has-child > .plan-toggle.collapsed > .icon {-ms-transform:rotate(90deg); -moz-transform:rotate(90deg); -o-transform:rotate(90deg); -webkit-transform:rotate(90deg); transform: rotate(90deg);}
  28. .main-table tbody > tr.table-children > td:first-child::before {width: 3px;}
  29. @-moz-document url-prefix() {.main-table tbody > tr.table-children > td:first-child::before {width: 4px;}}
  30. </style>
  31. <form class='main-table table-programplan' id='programplanForm' method='post'>
  32. <div class="table-header fixed-right">
  33. <nav class="btn-toolbar pull-right"></nav>
  34. </div>
  35. <?php
  36. $vars = "projectID=$projectID&productID=$productID&type=lists&orderBy=%s";
  37. $setting = $this->datatable->getSetting('programplan');
  38. $widths = $this->datatable->setFixedFieldWidth($setting);
  39. $widths['leftWidth'] = 300;
  40. $columns = 0;
  41. ?>
  42. <table class='table has-sort-head' id='programplanList' data-fixed-left-width='<?php echo $widths['leftWidth']?>' data-fixed-right-width='<?php echo $widths['rightWidth']?>' data-checkbox-name='programplanList[]'>
  43. <thead>
  44. <tr>
  45. <th class='w-50px'><?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
  46. <th> <?php common::printOrderLink('name', $orderBy, $vars, $lang->programplan->name);?></th>
  47. <th class='w-120px'><?php common::printOrderLink('percent', $orderBy, $vars, $lang->programplan->percent);?></th>
  48. <th class='w-80px'><?php common::printOrderLink('attribute', $orderBy, $vars, $lang->programplan->attribute);?></th>
  49. <th class='w-90px'><?php common::printOrderLink('begin', $orderBy, $vars, $lang->programplan->begin);?></th>
  50. <th class='w-90px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->programplan->end);?></th>
  51. <th class='w-100px'><?php common::printOrderLink('realBegan', $orderBy, $vars, $lang->programplan->realBegan);?></th>
  52. <th class='w-90px'><?php common::printOrderLink('realEnd', $orderBy, $vars, $lang->programplan->realEnd);?></th>
  53. <th class='w-150px text-center'><?php echo $lang->actions;?></th>
  54. </tr>
  55. </thead>
  56. <tbody>
  57. <?php foreach($plans as $plan):?>
  58. <tr data-id='<?php echo $plan->id?>'>
  59. <?php foreach($setting as $key => $value) $this->programplan->printCell($value, $plan, $users, $projectID);?>
  60. </tr>
  61. <?php if(!empty($plan->children)):?>
  62. <?php $i = 0;?>
  63. <?php foreach($plan->children as $key => $child):?>
  64. <?php $class = $i == 0 ? ' table-child-top' : '';?>
  65. <?php $class .= ($i + 1 == count($plan->children)) ? ' table-child-bottom' : '';?>
  66. <tr class='table-children<?php echo $class;?> parent-<?php echo $plan->id;?>' data-id='<?php echo $child->id?>'>
  67. <?php foreach($setting as $key => $value) $this->programplan->printCell($value, $child, $users, $projectID);?>
  68. </tr>
  69. <?php $i ++;?>
  70. <?php endforeach;?>
  71. <?php endif;?>
  72. <?php endforeach;?>
  73. </tbody>
  74. </table>
  75. </form>
  76. <script>
  77. $(function(){$('#programplanForm').table();})
  78. $(document).on('click', '.plan-toggle', function(e)
  79. {
  80. var $toggle = $(this);
  81. var id = $(this).data('id');
  82. var isCollapsed = $toggle.toggleClass('collapsed').hasClass('collapsed');
  83. $toggle.closest('[data-ride="table"]').find('tr.parent-' + id).toggle(!isCollapsed);
  84. e.stopPropagation();
  85. e.preventDefault();
  86. });
  87. </script>