browse.html.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * The browse view file of meeting module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  6. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Fangzhou Hu <hufangzhou@easycorp.ltd>
  8. * @package meeting
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. $moduleName = $app->tab == 'my' ? 'my' : 'meeting';
  13. $methodName = $app->tab == 'my' ? 'meeting' : 'browse';
  14. $cols = $this->loadModel('datatable')->getSetting($moduleName, $methodName);
  15. if(isset($cols['project'])) $cols['project']['map'] = $projects;
  16. if(isset($cols['room'])) $cols['room']['map'] = $rooms;
  17. if(isset($cols['dept'])) $cols['dept']['map'] = $depts;
  18. if($projectID && empty($project->multiple)) unset($cols['execution']);
  19. if(isset($cols['execution'])) $cols['execution']['map'] = $executions;
  20. if(isset($cols['actions'])) $cols['actions']['list']['edit']['url']['params'] = str_replace('{from}', $from, $cols['actions']['list']['edit']['url']['params']);
  21. foreach($meetings as $meeting)
  22. {
  23. $begin = !empty($meeting->begin) ? ' ' . date('H:i', strtotime($meeting->begin)) : '';
  24. $meeting->date = trim(($meeting->date ?? '') . $begin);
  25. }
  26. $meetings = initTableData($meetings, $cols, $this->meeting);
  27. $linkParams = '';
  28. foreach($app->rawParams as $key => $value) $linkParams = $key != 'orderBy' ? "{$linkParams}&{$key}={$value}" : "{$linkParams}&orderBy={name}_{sortType}";
  29. $params = $app->tab == 'my' ? "browseType={key}&param=&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}" : "objectID={$objectID}&from={$from}&browseType={key}&param=&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
  30. featureBar
  31. (
  32. set::current($browseType),
  33. set::linkParams($params),
  34. li(searchToggle(set::open($browseType == 'bysearch'), set::module('meeting')))
  35. );
  36. toolbar
  37. (
  38. (empty($project) || common::canModify(data('from'), $project)) && hasPriv('meeting', 'create') ? btn
  39. (
  40. setClass('btn primary'),
  41. set::icon('plus'),
  42. set::url(createLink('meeting', 'create', "projectID={$projectID}&executionID={$executionID}&from={$from}")),
  43. setData('app', $from),
  44. $lang->meeting->create
  45. ) : null
  46. );
  47. dtable
  48. (
  49. set::cols($cols),
  50. set::data($meetings),
  51. set::customCols(true),
  52. set::moduleName($moduleName),
  53. set::methodName($methodName),
  54. set::userMap($users),
  55. set::orderBy($orderBy),
  56. set::sortLink(createLink($app->rawModule, $app->rawMethod, $linkParams)),
  57. set::footPager(usePager())
  58. );