browse.html.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php include $app->getModuleRoot() . 'common/view/header.html.php';?>
  2. <?php include $app->getModuleRoot() . 'common/view/datatable.fix.html.php';?>
  3. <style>#tableCustomBtn+.dropdown-menu > li:last-child{display: none}</style>
  4. <?php js::set('browseType', $browseType);?>
  5. <?php js::set('pageSummary', $lang->review->pageSummary);?>
  6. <?php js::set('pageAllSummary', $lang->review->pageAllSummary);?>
  7. <div id="mainMenu" class="clearfix">
  8. <div class="btn-toolbar pull-left">
  9. <?php
  10. foreach($lang->review->featureBar['browse'] as $type => $label)
  11. {
  12. $active = $type == $browseType ? 'btn-active-text' : '';
  13. echo html::a($this->createLink('review', 'browse', "project=$projectID&browseType=$type"), "<span class='text'>" . $label . '</span> ' . ($browseType == $type ? "<span class='label label-light label-badge'>{$pager->recTotal}</span>" : ''), '', "class='btn btn-link $active'");
  14. }
  15. ?>
  16. <a class="btn btn-link querybox-toggle" id='bysearchTab'><i class="icon icon-search muted"></i> <?php echo $lang->searchAB;?></a>
  17. </div>
  18. <div class="btn-toolbar pull-right">
  19. <?php common::printLink('review', 'create', "project=$projectID", "<i class='icon icon-plus'></i>" . $lang->review->create, '', "class='btn btn-primary'");?>
  20. </div>
  21. </div>
  22. <div id="mainContent" class="main-row fade">
  23. <div class='main-col'>
  24. <div class="cell<?php if($browseType == 'bysearch') echo ' show';?>" id="queryBox" data-url="<?php echo $this->createLink('search', 'buildOldForm', 'module=review');?>" data-module="review"></div>
  25. <?php if(empty($reviewList)):?>
  26. <div class="table-empty-tip">
  27. <p>
  28. <span class="text-muted"><?php echo $lang->noData;?></span>
  29. </p>
  30. </div>
  31. <?php else:?>
  32. <form class='main-table' method='post' id='reviewForm'>
  33. <div class="table-header fixed-right">
  34. <nav class="btn-toolbar pull-right"></nav>
  35. </div>
  36. <?php
  37. $vars = "project=$projectID&browseType=$browseType&orderBy=%s&param=$param&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID";
  38. include $app->getModuleRoot() . 'common/view/datatable.html.php';
  39. $setting = $this->datatable->getOldSetting('review');
  40. $widths = $this->datatable->setFixedFieldWidth($setting);
  41. ?>
  42. <table class='table has-sort-head datatable' id='bugList' data-fixed-left-width='<?php echo $widths['leftWidth']?>' data-fixed-right-width='<?php echo $widths['rightWidth']?>'>
  43. <thead>
  44. <tr>
  45. <?php
  46. foreach($setting as $value)
  47. {
  48. if($value->show)
  49. {
  50. $this->datatable->printHead($value, $orderBy, $vars, false);
  51. }
  52. }
  53. ?>
  54. </tr>
  55. </thead>
  56. <tbody>
  57. <?php foreach($reviewList as $review):?>
  58. <tr data-id='<?php echo $review->id?>' data-status='<?php echo $review->status?>'>
  59. <?php foreach($setting as $value) $this->review->printCell($value, $review, $users, $products, $pendingReviews, $project, $reviewers);?>
  60. </tr>
  61. <?php endforeach;?>
  62. </tbody>
  63. </table>
  64. <div class='table-footer'>
  65. <div class="table-statistic"></div>
  66. <?php $pager->show('right', 'pagerjs');?>
  67. </div>
  68. </form>
  69. <?php endif;?>
  70. </div>
  71. </div>
  72. <script>
  73. $(function()
  74. {
  75. $('#reviewForm').table({
  76. statisticCreator: function(table)
  77. {
  78. var $table = table.getTable();
  79. var $checkedRows = $table.find(table.isDataTable ? '.datatable-row-left.checked' : 'tbody>tr.checked');
  80. var $originTable = table.isDataTable ? table.$.find('.datatable-origin') : null;
  81. var checkedTotal = $checkedRows.length;
  82. var $rows = checkedTotal ? $checkedRows : $table.find(table.isDataTable ? '.datatable-rows .datatable-row-left' : 'tbody>tr');
  83. var checkedWait = 0;
  84. var checkedReviewing = 0;
  85. var checkedPass = 0;
  86. var checkedAuditing = 0;
  87. var checkedDone = 0;
  88. $rows.each(function()
  89. {
  90. var $row = $(this);
  91. if($originTable) $row = $originTable.find('tbody>tr[data-id="' + $row.data('id') + '"]');
  92. var data = $row.data();
  93. if(data.status === 'wait') checkedWait++;
  94. if(data.status === 'reviewing') checkedReviewing++;
  95. if(data.status === 'pass') checkedPass++;
  96. if(data.status === 'auditing') checkedAuditing++;
  97. if(data.status === 'done') checkedDone++;
  98. });
  99. if(browseType == 'reviewing' || browseType == 'done') return pageSummary.replace('%s', $rows.length);
  100. return pageAllSummary.replace('%total%', $rows.length).replace('%wait%', checkedWait).replace('%reviewing%', checkedReviewing).replace('%pass%', checkedPass).replace('%auditing%', checkedAuditing).replace('%done%', checkedDone);
  101. }
  102. });
  103. })
  104. </script>
  105. <?php include $app->getModuleRoot() . 'common/view/footer.html.php';?>