From 16e8d782f3314a441f1b4640afe68b28310acdfd Mon Sep 17 00:00:00 2001 From: sunguangming Date: Tue, 4 Jul 2023 09:10:02 +0800 Subject: [PATCH] * Add render cell to task list. --- module/execution/js/task.ui.js | 45 +++++++++++++++++++++++++++++++ module/execution/ui/task.html.php | 5 ++++ 2 files changed, 50 insertions(+) diff --git a/module/execution/js/task.ui.js b/module/execution/js/task.ui.js index 7c2343cf67..86b2c5ade0 100644 --- a/module/execution/js/task.ui.js +++ b/module/execution/js/task.ui.js @@ -84,3 +84,48 @@ window.createSortLink = function(col) if(sort == orderBy) sort = col.name + '_desc'; return sortLink.replace('{orderBy}', sort); } + +/** + * 对部分列进行重定义。 + * Redefine the partial column. + * + * @param array result + * @param array info + * @access public + * @return string|array + */ +window.renderCell = function(result, info) +{ + if(info.col.name == 'name' && result) + { + const task = info.row.data; + let html = ''; + if(task.team) + { + html += "" + multipleAB + ""; + } + if(task.parent) + { + html += "" + childrenAB + ""; + } + if(html) result.unshift({html}); + } + if(info.col.name == 'deadline' && result[0]) + { + const today = zui.formatDate(zui.createDate(), 'yyyy-MM-dd'); + const yesterday = zui.formatDate(convertStringToDate(today) - 24 * 60 * 60 * 1000, 'yyyy-MM-dd'); + if(result[0] == today) + { + result[0] = {html: '' + todayLabel + ''}; + } + else if(result == yesterday) + { + result[0] = {html: '' + yesterdayLabel + ''}; + } + else if(result < yesterday) + { + result[0] = {html: '' + result + ''}; + } + } + return result; +} diff --git a/module/execution/ui/task.html.php b/module/execution/ui/task.html.php index 199b87da06..b167fcf285 100644 --- a/module/execution/ui/task.html.php +++ b/module/execution/ui/task.html.php @@ -183,6 +183,10 @@ jsVar('orderBy', $orderBy); jsVar('sortLink', helper::createLink('execution', 'task', "executionID={$execution->id}&status={$status}¶m={$param}&orderBy={orderBy}&recTotal={$recTotal}&recPerPage={$recPerPage}")); jsVar('pageSummary', $lang->execution->pageSummary); jsVar('checkedSummary', $lang->execution->checkedSummary); +jsVar('multipleAB', $lang->task->multipleAB); +jsVar('childrenAB', $lang->task->childrenAB); +jsVar('todayLabel', $lang->today); +jsVar('yesterdayLabel', $lang->yesterday); dtable ( @@ -192,6 +196,7 @@ dtable set::data($tableData), set::checkable($canBatchAction), set::sortLink(jsRaw('createSortLink')), + set::onRenderCell(jsRaw('window.renderCell')), set::footToolbar($footToolbar), set::footPager( usePager(),