effort.ui.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. $(document).off('click', '.batch-btn').on('click', '.batch-btn', function()
  2. {
  3. const dtable = zui.DTable.query($(this).target);
  4. const checkedList = dtable.$.getChecks();
  5. if(!checkedList.length) return;
  6. const url = $(this).data('url');
  7. const form = new FormData();
  8. checkedList.forEach((id) => form.append('effortIDList[]', id));
  9. if($(this).hasClass('ajax-btn'))
  10. {
  11. $.ajaxSubmit({url, data: form});
  12. }
  13. else
  14. {
  15. postAndLoadPage(url, form);
  16. }
  17. });
  18. /**
  19. * 提示并删除日志。
  20. * Delete effort with tips.
  21. *
  22. * @param int effortID
  23. * @access public
  24. * @return void
  25. */
  26. window.confirmDelete = function(effortID)
  27. {
  28. const effort = efforts[effortID] != undefined ? efforts[effortID] : {'objectType': 'custom', 'objectID': 0,'consumed': 0};
  29. const task = tasks[effort.objectID] != undefined ? tasks[effort.objectID] : {'consumed': 0};
  30. const confirmTip = effort.objectType == 'task' && task.consumed - effort.consumed == 0 ? confirmTaskDeleteTip : confirmDeleteTip;
  31. zui.Modal.confirm(confirmTip).then((res) =>
  32. {
  33. if(res) $.ajaxSubmit({url: $.createLink('effort', 'delete', 'effortID=' + effortID + '&confirm=yes&from=list')});
  34. });
  35. }
  36. /**
  37. * 渲染日志列表。
  38. */
  39. window.renderCell = function(result, {col, row})
  40. {
  41. if(col.name == 'objectTitle')
  42. {
  43. const projectID = row.data.project;
  44. const objectType = row.data.objectType;
  45. if(['story', 'requirement', 'epic', 'productplan', 'release'].includes(objectType) && noProjectProjects.includes(projectID)) result[0].props['data-app'] = 'project';
  46. const canView = this.options.canViewList[row.data.objectType];
  47. if(!canView) result[0].type = 'span';
  48. if(vision != 'lite' && canView && row.data.objectType == 'feedback') result[0].props.href = $.createLink('feedback', 'adminView', 'feedbackID=' + row.data.objectID);
  49. }
  50. return result;
  51. }