deliverable.ui.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. window.onRenderCell = function (result, { row, col })
  2. {
  3. if(result[0] && col.name == 'actions')
  4. {
  5. if (typeof result[0]?.props?.items == 'object')
  6. {
  7. result[0].props.items.map(item => {
  8. /* 已经通过的交付物再建评审要从头发起。*/
  9. if(item.icon == 'sub-review' && row.data.rawStatus == 'pass')
  10. {
  11. item.url = $.createLink('review', 'create', `projectID=${row.data.project}&deliverable=${row.data.id}&reviewID=0&type=deliverable&objectID=0&from=deliverable`);
  12. }
  13. if(row.data.hasApproval == 0 && item.icon == 'sub-review')
  14. {
  15. item.icon = 'ok';
  16. item.hint = updateVersionLang;
  17. }
  18. if(item.icon != 'edit') return;
  19. if(row.data.editLink && !row.data.frozen)
  20. {
  21. item.url = row.data.editLink;
  22. if(row.data.linkAttr == 'blank')
  23. {
  24. item.target = '_blank';
  25. delete item['data-toggle'];
  26. }
  27. }
  28. else
  29. {
  30. if(row.data.frozen) item.hint = deliverableFrozenTips;
  31. item.disabled = true;
  32. }
  33. });
  34. }
  35. }
  36. if(col.name == 'status')
  37. {
  38. const label = result[0].props.children;
  39. result[0] = {html: `<span class="status-${row.data.rawStatus}">${label}</span>`}
  40. if(row.data.approval > 0 && canViewProgress)
  41. {
  42. const progressLink = $.createLink('approval', 'progress', `id=${row.data.approval}`);
  43. result[0].html += `<a href="${progressLink}" data-toggle="modal" class="btn item text-primary toolbar-item square size-sm ghost" title="${viewApprovalProgress}"><i class="icon icon-list-alt"></i></a>`;
  44. }
  45. }
  46. return result;
  47. }