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.
 
 
 
 
 
 

112 lines
4.5 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. var bootstrap = function ($, learun) {
  13. "use strict";
  14. var page = {
  15. init: function () {
  16. var columnModel;
  17. if (iframeIndex) {
  18. var currentWin = top.frames['layui-layer-iframe' + iframeIndex];
  19. if (currentWin.$('#' + gridId).jfGrid()[0].dfop.rowdatas.length == 0) {
  20. learun.alert.warning("暂无数据!");
  21. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  22. parent.layer.close(index); //再执行关闭
  23. return;
  24. }
  25. currentWin.$('#' + gridId).jfGridSet('reloadall');
  26. columnModel = currentWin.$('#' + gridId).jfGridGet('settingInfo').headData;
  27. } else {
  28. if (learun.frameTab.currentIframe().$('#' + gridId).jfGrid()[0].dfop.rowdatas.length == 0) {
  29. learun.alert.warning("暂无数据!");
  30. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  31. parent.layer.close(index); //再执行关闭
  32. return;
  33. }
  34. learun.frameTab.currentIframe().$('#' + gridId).jfGridSet('reloadall');
  35. columnModel = learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('settingInfo').headData;
  36. }
  37. var $ul = $('.sys_spec_text');
  38. $.each(columnModel,
  39. function (i, item) {
  40. var label = item.label;
  41. var name = item.name;
  42. if (!!label) {
  43. $(".sys_spec_text").append("<li data-value='" +
  44. name +
  45. "' title='" +
  46. label +
  47. "'><a>" +
  48. label +
  49. "</a><i></i></li>");
  50. }
  51. });
  52. $(".sys_spec_text li").addClass("active");
  53. $(".sys_spec_text li").click(function () {
  54. if (!!$(this).hasClass("active")) {
  55. $(this).removeClass("active");
  56. } else {
  57. $(this).addClass("active").siblings("li");
  58. }
  59. });
  60. },
  61. bind: function () {
  62. $("#all").on('click', function () {
  63. $.each($(".sys_spec_text li"), function (i, item) {
  64. $(item).addClass("active");
  65. })
  66. })
  67. $("#noall").on('click', function () {
  68. $.each($(".sys_spec_text li"), function (i, item) {
  69. $(item).removeClass("active");
  70. })
  71. })
  72. }
  73. };
  74. // 保存数据
  75. acceptClick = function (callBack) {
  76. var exportField = [];
  77. $('.sys_spec_text ').find('li.active').each(function () {
  78. var value = $(this).attr('data-value');
  79. exportField.push(value);
  80. });
  81. var columnJson, rowJson;
  82. if (iframeIndex) {
  83. var currentWin = top.frames['layui-layer-iframe' + iframeIndex];
  84. columnJson = JSON.stringify(currentWin.$('#' + gridId).jfGridGet('settingInfo').headData);
  85. rowJson = JSON.stringify(currentWin.$('#' + gridId).jfGridGet('showData'));
  86. currentWin.$('#' + gridId)[0].dfop.rows = 30;
  87. currentWin.$('#' + gridId).jfGridSet('reload');
  88. } else {
  89. columnJson = JSON.stringify(learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('settingInfo').headData);
  90. rowJson = JSON.stringify(learun.frameTab.currentIframe().$('#' + gridId).jfGridGet('showData'));
  91. learun.frameTab.currentIframe().$('#' + gridId)[0].dfop.rows = 30;
  92. learun.frameTab.currentIframe().$('#' + gridId).jfGridSet('reload');
  93. }
  94. learun.download({
  95. method: "POST",
  96. url: '/Utility/ExportExcel',
  97. param: {
  98. fileName: filename,
  99. columnJson: columnJson,
  100. dataJson: rowJson,
  101. exportField: String(exportField)
  102. }
  103. });
  104. };
  105. page.init();
  106. page.bind();
  107. }