linkcase.ui.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 formData = dtable.$.getFormData();
  7. const url = $(this).data('url');
  8. const form = new FormData();
  9. checkedList.forEach((id) =>
  10. {
  11. form.append('cases[]', id);
  12. let key = 'version[' + id + ']';
  13. form.append(key, formData[key]);
  14. });
  15. if($(this).hasClass('ajax-btn'))
  16. {
  17. $.ajaxSubmit({url, data: form});
  18. }
  19. else
  20. {
  21. postAndLoadPage(url, form);
  22. }
  23. });
  24. /**
  25. * 对列进行重定义。
  26. * Redefine the column.
  27. *
  28. * @param array result
  29. * @param array info
  30. * @access public
  31. * @return string|array
  32. */
  33. window.renderCell = function(result, info)
  34. {
  35. if(info.col.name == 'title' && result[0])
  36. {
  37. const testcase = info.row.data;
  38. let html = '(';
  39. for(i = 1; i <= testcase.version; i++)
  40. {
  41. html += "<a href='" + $.createLink('testcase', 'view', "caseID=" + testcase.id + "&version=" + i) + "' data-toggle='modal' data-size='lg'>#" + i + "</a>";
  42. }
  43. html += ')';
  44. result.push({html});
  45. }
  46. if(info.col.name == 'version' && result[0])
  47. {
  48. result[0].children.props.required = true;
  49. if(info.row.data.version == 1) return result;
  50. let versions = [];
  51. for(i = 1; i <= info.row.data.version; i++) versions.push({'text': i, 'value': i});
  52. result[0].children.props.items = versions;
  53. }
  54. return result;
  55. }