task.ui.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * 标题列显示额外的内容。
  3. * Display extra content in the title column.
  4. *
  5. * @param object result
  6. * @param object info
  7. * @access public
  8. * @return object
  9. */
  10. window.onRenderCell = function(result, {col, row})
  11. {
  12. if(result && col.name == 'name')
  13. {
  14. const data = row.data;
  15. const today = zui.formatDate(new Date(), 'yyyy-MM-dd');
  16. if(data.type == 'stage')
  17. {
  18. result.shift(); // 移除带链接的阶段名称
  19. let executionName = `<span class='label secondary-pale flex-none'>${stageLang}</span> `;
  20. executionName += data.name;
  21. executionName += (!['done', 'closed', 'suspended'].includes(data.status) && today > data.end) ? `<span class="lab el danger-pale ml-1 flex-none">${delayed}</span>` : '';
  22. result.push({html: executionName});
  23. }
  24. else
  25. {
  26. let taskPri = `<span class='mt-1 pri-${data.pri}'>${data.pri}</span> `;
  27. result.unshift({html: taskPri});
  28. if(typeof data.delay != 'undefined' && data.delay > 0)
  29. {
  30. result[result.length] = { html: '<span class="label danger-pale ml-1 flex-none nowrap">' + delayWarning.replace('%s', data.delay) + '</span>', className: 'flex items-end', style: { flexDirection: "column" } };
  31. }
  32. }
  33. }
  34. if(result && col.name == 'PM')
  35. {
  36. if(row.data.type == 'stage')
  37. {
  38. result.shift(); // 移除带链接的阶段名称
  39. result.push({html: '<span style="padding-left: 27px">' + row.data.PM + '</span>'});
  40. }
  41. }
  42. return result;
  43. }