| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- /**
- * The workload view file of pivot module of ZenTaoPMS.
- * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
- * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
- * @author Gang Liu <liugang@easycorp.ltd>
- * @package pivot
- * @link https://www.zentao.net
- */
- namespace zin;
- jsVar('weekend', $config->execution->weekend);
- $cols = $config->pivot->dtable->workload->fieldList;
- $cols['user']['map'] = $users;
- $data = new stdclass();
- $data->cols = $this->pivot->processDTableCols($cols);
- $data->array = $this->pivot->processDTableData(array_keys($cols), $workload);
- $generateData = function() use ($lang, $title, $cols, $data, $workload, $depts, $dept, $begin, $end, $days, $workhour, $assign)
- {
- return array
- (
- div
- (
- setID('conditions'),
- setClass('flex gap-2 bg-canvas p-2'),
- inputGroup
- (
- setClass('w-1/6'),
- $lang->pivot->dept,
- picker
- (
- setClass('w-full'),
- set(array('name' => 'dept', 'items' => $depts, 'value' => $dept, 'required' => true))
- )
- ),
- inputGroup
- (
- setClass('w-1/2'),
- $lang->pivot->beginAndEnd,
- datePicker(set(array('name' => 'begin', 'value' => $begin))),
- $lang->pivot->to,
- datePicker(set(array('name' => 'end', 'value' => $end))),
- $lang->pivot->diffDays,
- input(set(array('name' => 'days', 'value' => $days, 'class' => 'text-left w-1/6')))
- ),
- div
- (
- setClass('flex gap-2 w-1/3'),
- inputGroup
- (
- setClass('w-5/12'),
- $lang->pivot->workday,
- input(set(array('name' => 'workhour', 'value' => $workhour, 'class' => 'text-left')))
- ),
- picker
- (
- setClass('w-1/3'),
- set(array('name' => 'assign', 'items' => $lang->pivot->assign, 'value' => $assign, 'required' => true))
- ),
- button(setClass('btn primary w-1/4'), on::click('loadWorkload'), $lang->pivot->query)
- )
- ),
- panel
- (
- setID('pivotPanel'),
- set::title($title),
- set::shadow(false),
- set::headingClass('h-14'),
- set::bodyClass('pt-0'),
- to::titleSuffix
- (
- icon
- (
- setClass('cursor-pointer'),
- setData(array('toggle' => 'tooltip', 'title' => $lang->pivot->workloadDesc, 'placement' => 'right', 'className' => 'text-gray border border-light', 'type' => 'white')),
- 'help'
- )
- ),
- dtable
- (
- set::striped(true),
- set::bordered(true),
- set::cols($cols),
- set::data($workload),
- set::emptyTip($lang->error->noData),
- set::plugins(array('cellspan')),
- set::getCellSpan(jsRaw('getCellSpan')),
- set::cellSpanOptions(array(
- 'user' => array('rowspan' => 'userRowspan'),
- 'totalTasks' => array('rowspan' => 'userRowspan'),
- 'totalHours' => array('rowspan' => 'userRowspan'),
- 'workload' => array('rowspan' => 'userRowspan'),
- 'projectName' => array('rowspan' => 'projectRowspan')
- ))
- ),
- div
- (
- setID('exportData'),
- setClass('hidden'),
- rawContent(),
- html($this->pivot->buildPivotTable($data, array()))
- )
- )
- );
- };
|