myaudit.html.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * The myAudit view file of my module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(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 Shujie Tian <tianshujie@chandao.com>
  7. * @package my
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. featureBar(set::current($browseType), set::linkParams("mode={$mode}&type={key}&param=&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"));
  12. $cols = $this->loadModel('datatable')->getSetting($this->moduleName, 'myaudit');
  13. $cols['category']['map'] = $lang->baseline->objectList;
  14. $cols['project']['map'] = $projectPairs;
  15. $cols['product']['map'] = $productPairs;
  16. $reviewList = initTableData($reviewList, $cols, $this->review);
  17. $waitReviews = $reviewingReviews = $passReviews = $auditingReviews = $doneReviews = 0;
  18. foreach($reviewList as $reviewID => $review)
  19. {
  20. if($review->status === 'wait') $waitReviews ++;
  21. if($review->status === 'reviewing') $reviewingReviews ++;
  22. if($review->status === 'pass') $passReviews ++;
  23. if($review->status === 'auditing') $auditingReviews ++;
  24. if($review->status === 'done') $doneReviews ++;
  25. if(!empty($review->reviewedBy))
  26. {
  27. $reviewedBy = array();
  28. foreach(explode(',', $review->reviewedBy) as $reviewer)
  29. {
  30. if(empty($reviewer)) continue;
  31. $reviewedBy[$reviewer] = $users[$reviewer];
  32. }
  33. $reviewList[$reviewID]->reviewedBy = implode(',', array_filter($reviewedBy));
  34. }
  35. foreach($review->actions as $actionID => $action)
  36. {
  37. if(!empty($ipdProjects[$review->project]) && !in_array($action, array('submit', 'recall', 'assess', 'progress', 'report', 'edit'))) unset($reviewList[$reviewID]->actions[$actionID]);
  38. if($action['name'] == 'recall' && $this->approval->canCancel($review)) $reviewList[$reviewID]->actions[$actionID]['disabled'] = false;
  39. }
  40. }
  41. $checkInfo = str_replace(array('%total%', '%wait%', '%reviewing%', '%pass%', '%auditing%', '%done%'), array(count($reviewList), $waitReviews, $reviewingReviews, $passReviews, $auditingReviews, $doneReviews), $lang->review->pageAllSummary);
  42. dtable
  43. (
  44. set::cols(array_values($cols)),
  45. set::data(array_values($reviewList)),
  46. set::userMap($users),
  47. set::customCols(true),
  48. set::checkable(false),
  49. set::orderBy($orderBy),
  50. set::sortLink(createLink('my', $app->rawMethod, "mode={$mode}&type={$browseType}&param=&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
  51. set::checkInfo(jsRaw("function(checkedIDList){return {html: '{$checkInfo}'}}")),
  52. set::footer(array($checkInfo, 'flex', 'pager')),
  53. set::footPager(usePager())
  54. );