linkcase.ui.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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('case[' + id + ']', 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. let versions = [];
  50. for(i = 1; i <= info.row.data.version; i++) versions.push({'text': '#' + i, 'value': i});
  51. result[0].children.props.items = versions;
  52. result[0].children.props.value = info.row.data.version;
  53. }
  54. if(info.col.name == 'lastRunDate' && result[0] && result[0].substring(0, 4) == '0000') result.shift();
  55. return result;
  56. }