browse.html.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace zin;
  3. if(!$hasDeliverable)
  4. {
  5. $currentModuleName = $lang->deliverable->common;
  6. include('../../common/ext/ui/closefeaturenotice.html.php');
  7. return;
  8. }
  9. jsVar('builtinConfirm', $lang->deliverable->builtinConfirm);
  10. featureBar
  11. (
  12. set::current('all'),
  13. set::linkParams("groupID={$groupID}&browseType={key}&param={$param}&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"),
  14. li(searchToggle(set::module('deliverable'), set::open($browseType == 'bysearch')))
  15. );
  16. toolbar(hasPriv('deliverable', 'create') ? item(set(array
  17. (
  18. 'icon' => 'plus',
  19. 'class' => 'primary',
  20. 'text' => $lang->deliverable->createAbbr,
  21. 'data-app' => $app->tab,
  22. 'url' => createLink('deliverable', 'create', "groupID={$groupID}&moduleID=$moduleID")
  23. ))) : null);
  24. foreach($moduleTree as $tree)
  25. {
  26. $hasDeliverable = !empty($modulePairs[$tree->id]);
  27. if(hasPriv('tree', 'edit') && !in_array($tree->extra, array_keys($lang->deliverable->buildinModule))) $tree->actions['items'][] = array('icon' => 'edit', 'hint' => $lang->edit, 'url' => createLink('tree', 'edit', "moduleID={$tree->id}&type=deliverable"), 'data-toggle' => 'modal', 'data-size' => 'sm');
  28. if(hasPriv('tree', 'delete') && !in_array($tree->extra, array_keys($lang->deliverable->buildinModule))) $tree->actions['items'][] = array('icon' => 'trash', 'hint' => $lang->delete, 'url' => createLink('tree', 'delete', "moduleID={$tree->id}"), 'className' => 'btn ghost toolbar-item square size-sm rounded ajax-submit', 'data-confirm' => $hasDeliverable ? array('message' => $lang->deliverable->deleteModuleConfirm, 'actions' => 'cancel') : null);
  29. }
  30. sidebar
  31. (
  32. moduleMenu
  33. (
  34. set::modules($moduleTree),
  35. set::activeKey($moduleID),
  36. set::closeLink(createLink('deliverable', 'browse', "id={$groupID}")),
  37. set::createModuleLink(hasPriv('tree', 'create') ? createLink('tree', 'create', "rootID={$groupID}&viewType=deliverable") : null),
  38. set::settingText($lang->deliverable->moduleSetting),
  39. set::showDisplay(false),
  40. set::app('admin')
  41. )
  42. );
  43. $cols = $this->loadModel('datatable')->getSetting('deliverable');
  44. if(!$hasProcess)
  45. {
  46. unset($cols['activity']);
  47. unset($cols['trimmable']);
  48. unset($cols['trimRule']);
  49. }
  50. $activities[0] = '';
  51. if(isset($cols['activity'])) $cols['activity']['map'] = $activities;
  52. if(isset($cols['module'])) $cols['module']['map'] = $modules;
  53. $summary = sprintf($lang->deliverable->typeLang->summary, count($deliverables));
  54. $tableData = initTableData($deliverables, $cols, $this->deliverable);
  55. $data = array();
  56. foreach($tableData as $key => $row)
  57. {
  58. if(!empty($row->stages))
  59. {
  60. foreach($row->stages as $stage)
  61. {
  62. $row->stage = zget($stageList, $stage->stage, '');
  63. $row->required = zget($lang->deliverable->requiredList, $stage->required, '');
  64. $row->rowspan = count($row->stages);
  65. $data[] = clone $row;
  66. }
  67. }
  68. else
  69. {
  70. $data[] = $row;
  71. }
  72. }
  73. dtable
  74. (
  75. set::cols($cols),
  76. set::data($data),
  77. set::userMap($users),
  78. set::orderBy($orderBy),
  79. set::customCols(array('url' => createLink('datatable', 'ajaxcustom', "module=deliverable&method=browse&extra=$groupID"))),
  80. set::plugins(array('cellspan')),
  81. set::checkable(false),
  82. set::sortLink(createLink('deliverable', 'browse', "groupID={$groupID}&browseType=$browseType&param={$param}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")),
  83. set::getCellSpan(jsRaw('window.getCellSpan')),
  84. set::onRenderCell(jsRaw('window.onRenderCell')),
  85. set::footer(array($summary, 'flex', 'pager')),
  86. set::footPager(usePager(array
  87. (
  88. 'recTotal' => $pager->recTotal,
  89. 'recPerPage' => $pager->recPerPage,
  90. 'linkCreator' => helper::createLink('deliverable', 'browse', "groupID={$groupID}&browseType=$browseType&param={$param}&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={recPerPage}&page={page}")
  91. )))
  92. );