You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

141 lines
6.2 KiB

  1. /*
  2. * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
  3. * Copyright (c) 2013-2018 北京泉江科技有限公司
  4. * 创建人:陈彬彬
  5. * 日 期:2017.04.11
  6. * 描 述:excel 数据导出
  7. */
  8. var gridId = request('gridId');
  9. var filename = decodeURI(request('filename'));
  10. var iframeIndex = request('iframeIndex');
  11. var acceptClick;
  12. //2022/12/6 苏燕燕更改对人事表单页导出添加判断 共计9行
  13. var currentDoc = '';
  14. // 年度考核结果管理:gridtableInPM_YearAssess gridtableInPM_Jsprbg:教师聘任变更记录 gridtableInPM_Qualification:资格证获取情况
  15. if (['gridtableInPM_YearAssess', 'gridtableInPM_Jsprbg', 'gridtableInPM_Qualification'].includes(gridId)) {
  16. let doc = parent.document.getElementsByClassName('layui-layer-iframe')[0];
  17. let getiframe = $(doc)[0].childNodes[1]
  18. let iframe = $(getiframe)[0].getElementsByTagName('iframe')
  19. let tabActive = $(iframe[0].contentDocument)[0].getElementsByClassName('active')
  20. currentDoc = tabActive[1].getElementsByTagName('iframe')[0].contentWindow.document.getElementById(gridId);
  21. }
  22. var bootstrap = function ($, learun) {
  23. "use strict";
  24. var page = {
  25. init: function () {
  26. var columnModel;
  27. if (iframeIndex) {
  28. var currentWin = top.frames['layui-layer-iframe' + iframeIndex];
  29. if (currentWin.$('#' + gridId).jfGrid()[0].dfop.rowdatas.length == 0) {
  30. learun.alert.warning("暂无数据!");
  31. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  32. parent.layer.close(index); //再执行关闭
  33. return;
  34. }
  35. currentWin.$('#' + gridId).jfGridSet('reloadall');
  36. columnModel = currentWin.$('#' + gridId).jfGridGet('settingInfo').headData;
  37. } else {
  38. if (currentDoc) {
  39. if ($(currentDoc).jfGrid()[0].dfop.rowdatas.length == 0) {
  40. learun.alert.warning("暂无数据!");
  41. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  42. parent.layer.close(index); //再执行关闭
  43. return;
  44. }
  45. $(currentDoc).jfGridSet('reloadall');
  46. columnModel = $(currentDoc).jfGridGet('settingInfo').headData;
  47. } else {
  48. if (learun.frameTab.currentIframe().$('#' + gridId).jfGrid()[0].dfop.rowdatas.length == 0) {
  49. learun.alert.warning("暂无数据!");
  50. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  51. parent.layer.close(index); //再执行关闭
  52. return;
  53. }
  54. learun.frameTab.currentIframe().$('#' + gridId).jfGridSet('reloadall');
  55. columnModel = learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('settingInfo').headData;
  56. }
  57. }
  58. var $ul = $('.sys_spec_text');
  59. $.each(columnModel,
  60. function (i, item) {
  61. var label = item.label;
  62. var name = item.name;
  63. if (!!label) {
  64. $(".sys_spec_text").append("<li data-value='" +
  65. name +
  66. "' title='" +
  67. label +
  68. "'><a>" +
  69. label +
  70. "</a><i></i></li>");
  71. }
  72. });
  73. $(".sys_spec_text li").addClass("active");
  74. $(".sys_spec_text li").click(function () {
  75. if (!!$(this).hasClass("active")) {
  76. $(this).removeClass("active");
  77. } else {
  78. $(this).addClass("active").siblings("li");
  79. }
  80. });
  81. },
  82. bind: function () {
  83. $("#all").on('click', function () {
  84. $.each($(".sys_spec_text li"), function (i, item) {
  85. $(item).addClass("active");
  86. })
  87. })
  88. $("#noall").on('click', function () {
  89. $.each($(".sys_spec_text li"), function (i, item) {
  90. $(item).removeClass("active");
  91. })
  92. })
  93. }
  94. };
  95. // 保存数据
  96. acceptClick = function (callBack) {
  97. var exportField = [];
  98. $('.sys_spec_text ').find('li.active').each(function () {
  99. var value = $(this).attr('data-value');
  100. exportField.push(value);
  101. });
  102. var columnJson, rowJson;
  103. if (iframeIndex) {
  104. var currentWin = top.frames['layui-layer-iframe' + iframeIndex];
  105. columnJson = JSON.stringify(currentWin.$('#' + gridId).jfGridGet('settingInfo').headData);
  106. rowJson = JSON.stringify(currentWin.$('#' + gridId).jfGridGet('showData'));
  107. currentWin.$('#' + gridId)[0].dfop.rows = 30;
  108. currentWin.$('#' + gridId).jfGridSet('reload');
  109. } else {
  110. if (currentDoc) {
  111. columnJson = JSON.stringify($(currentDoc).jfGridGet('settingInfo').headData);
  112. rowJson = JSON.stringify($(currentDoc).jfGridGet('showData'));
  113. $(currentDoc)[0].dfop.rows = 30;
  114. $(currentDoc).jfGridSet('reload');
  115. } else {
  116. columnJson = JSON.stringify(learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('settingInfo').headData);
  117. rowJson = JSON.stringify(learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('showData'));
  118. learun.frameTab.currentIframe().$('#' + gridId)[0].dfop.rows = 30;
  119. learun.frameTab.currentIframe().$('#' + gridId).jfGridSet('reload');
  120. }
  121. }
  122. learun.download({
  123. method: "POST",
  124. url: '/Utility/ExportExcel',
  125. param: {
  126. fileName: filename,
  127. columnJson: columnJson,
  128. dataJson: rowJson,
  129. exportField: String(exportField)
  130. }
  131. });
  132. };
  133. page.init();
  134. page.bind();
  135. }