reportManageKhxx.html 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>报表管理</title>
  6. <script src="../../js/min-loader-next.js"></script>
  7. </head>
  8. <body class="content">
  9. <div class="order-body">
  10. <div class="order-tiaojian back-gray">
  11. <div class="tiaojian-part1" id = "conditions">
  12. <div class="fl f12-gray4-op">所选条件:</div>
  13. </div>
  14. <div class="tiaojian-part2 fr demoTable">
  15. <button class="order-bnt1 layui-btn" onclick="reloadSearch()" >查询</button>
  16. <button class="layui-btn order-bnt2" onclick="reset()">重置</button>
  17. <button class="order-bnt2 layui-btn" onclick="uploadExcel()">报表生成</button>
  18. <a href="#" id="toggle" class="top">收起</a>
  19. </div>
  20. </div>
  21. <form class="layui-form" action="" id = "formRole">
  22. <div class="order-select back-border" id="content">
  23. <div class="d-dashed" style="margin: 10px 0;"></div>
  24. <div class="layui-inline">
  25. <label class="f12-gray4">生成日期:</label>
  26. <div class="layui-input-inline" style="position: relative;">
  27. <input type="text" class="layui-input" id="date" placeholder="请选择日期" readOnly/>
  28. </div>
  29. </div>
  30. <div class="layui-inline">
  31. <label class="f12-gray4">文件名称:</label>
  32. <input name="fileName" id ="fileName" autocomplete="off" placeholder="请输入文件名称" class="search-select" onchange = "changeSelectCon(1,this,'inp')">
  33. </div>
  34. </div>
  35. </form>
  36. </div>
  37. <div class="shadow-content" style="margin:1.5rem;">
  38. <table id="tableTest" lay-filter="tableFilter"></table>
  39. </div>
  40. <script type="text/html" id="barDemo">
  41. <a class="layui-btn layui-btn-xs" lay-event="detail">详情查看</a>
  42. {{# if(timeType == '00'){ }}
  43. <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
  44. {{# } }}
  45. <a class="layui-btn layui-btn-xs" lay-event="downLoad">下载</a>
  46. <a class="layui-btn layui-btn-xs" lay-event="delete">删除</a>
  47. </script>
  48. <script type="text/html" id="algorithmBar">
  49. <a class="layui-btn layui-btn-xs" lay-event="algorithmDetail">查看</a>
  50. </script>
  51. <script>
  52. $("#toggle").click(function() {
  53. $(this).html($("#content").is(":hidden") ? "收起" + "<i class='iconfont up iconSelect_drop-down'/></i>" : "展开" +
  54. "<i class='iconfont up iconSelect_drop-down'/></i>");
  55. $("#content").slideToggle();
  56. });
  57. var pageId = "270000";
  58. // 报表类型
  59. var reportType = getQueryString("reportType")
  60. var timeType = getQueryString("timeType");// 00日报01周报02月报
  61. var table;
  62. var form;
  63. layui.use(['table','laydate','form'], function(){
  64. var laydate = layui.laydate;
  65. laydate.render({
  66. elem: '#date'
  67. ,type: 'date'
  68. ,range: true
  69. ,done: function(value, date, endDate){
  70. changeSelectCon(0,"date",'date',value)
  71. }
  72. });
  73. table = layui.table;
  74. // 加载数据
  75. table.render({
  76. id: 'tableTest'
  77. ,elem: '#tableTest'
  78. ,limit:10
  79. ,url: 'ReportManageAction/reportInfQuery' //数据接口
  80. ,method: 'post'
  81. ,where:{MINView:"JSON", timeType : timeType, reportType : reportType}
  82. ,page: true //开启分页
  83. ,cols: [[ //表头
  84. {field:'num', title: '序号',width:'5%', type:'numbers', align: 'center'}
  85. ,{field: 'uploadDate', title: '生成时间', width:'15%', sort: true}
  86. ,{field: 'fileName', title: '报表名称', width:'30%'}
  87. ,{field: 'algorith', title: '算法', width: '10%', toolbar: '#algorithmBar'}
  88. ,{field: 'operate', title: '操作', width: '40%', toolbar: '#barDemo', fixed : 'right'}
  89. ]]
  90. ,done: function(res, curr, count){
  91. }
  92. ,even: true //开启隔行背景
  93. });
  94. // 监听工具条(操作)
  95. table.on('tool(tableFilter)', function(obj){
  96. //注:tool是工具条事件名,tableFilter是table原始容器的属性 lay-filter="对应的值"
  97. var data = obj.data; //获得当前行数据
  98. var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
  99. var tr = obj.tr; //获得当前行 tr 的DOM对象
  100. if (layEvent === 'detail'){ //查看
  101. showDetail(data);
  102. } else if(layEvent === 'downLoad'){
  103. window.open("../../ReportManageAction/reportDownLoad?reportId=" + data.id);
  104. } else if(layEvent === 'delete'){
  105. layer.confirm('确认删除?', function(index){
  106. layer.close(index);
  107. $.request({
  108. action : 'ReportManageAction/reportInfDelete',
  109. data : {
  110. reportId : data.id
  111. },
  112. success : function(data1) {
  113. $.SuccAlert("操作成功!");
  114. reloadSearch();
  115. },
  116. error : function(data2) {
  117. $.ErrorAlert(data2.MINErrorMessage);
  118. }
  119. });
  120. });
  121. } else if (layEvent === 'edit'){ // 编辑
  122. editReport(data);
  123. } else if (layEvent === 'algorithmDetail'){ // 算法查看
  124. algorithmDetail(data);
  125. }
  126. });
  127. });
  128. function reloadSearch (t) {
  129. var fileName = $("#fileName").val();
  130. var date = $("#date").val();
  131. //执行重载
  132. table.reload('tableTest', {
  133. page: {
  134. curr: 1 //重新从第 1 页开始
  135. }
  136. ,where: {
  137. date : date,
  138. fileName : fileName
  139. }
  140. });
  141. if (t == 1) {
  142. $.Alert("修改成功");
  143. }
  144. }
  145. function reset(){
  146. $('#formRole')[0].reset();
  147. $("#conditions").html('<div class="fl f12-gray4-op">所选条件:</div>');
  148. }
  149. function uploadExcel(){
  150. var openPageId = pageId + "-01";
  151. openMainTabPage(openPageId, "报表生成", "jtfjt/reportProduceJtfjt.html?pageId="+openPageId+"&timeType="+timeType+"&reportType="+reportType, '', pageId, reloadSearch);
  152. }
  153. function showDetail(data){
  154. var openPageId = pageId + "-02";
  155. openMainTabPage(openPageId, "详情查看", "jtfjt/reportManageDetailJtfjt.html?pageId="+openPageId+"&reportId="+data.id+"&type="+data.type+"&typeId="+data.typeId+"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, null);
  156. }
  157. function editReport(data){
  158. var openPageId = pageId + "-03";
  159. openMainTabPage(openPageId, "编辑", "tqtd/reportManageUpdateTqtd.html?pageId="+openPageId+"&reportId="+data.id+"&type="+data.type+"&typeId="+data.typeId+"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, reloadSearch);
  160. }
  161. function algorithmDetail(data){
  162. var openPageId = pageId + "-04";
  163. openMainTabPage(openPageId, "算法查看", "reprotManage/reportAlgorithm.html?pageId="+openPageId+"&reportTypeId="+data.typeId, '', pageId, null);
  164. }
  165. function changeSelectCon(index, t, type, dateValue){
  166. if (type == "date") {
  167. if (isEmpty(dateValue)) {
  168. $("#search" + index).remove();
  169. } else {
  170. $("#search" + index).remove();
  171. if (isEmpty($("#search" + index).attr("name"))) {
  172. $("#conditions").append(getSelectConHtml(index, t, type,dateValue));
  173. }
  174. }
  175. } else if (type == 'inp') {
  176. if (isEmpty($(t).val())) {
  177. $("#search" + index).remove();
  178. } else {
  179. $("#search" + index).remove();
  180. if (isEmpty($("#search" + index).attr("name"))) {
  181. $("#conditions").append(getSelectConHtml(index, t, type));
  182. }
  183. }
  184. } else {
  185. if (isEmpty($(t).val())) {
  186. $("#search" + index).remove();
  187. } else {
  188. $("#search" + index).remove();
  189. if (isEmpty($("#search" + index).attr("name"))) {
  190. $(t).attr("id","subjects");
  191. $("#conditions").append(getSelectConHtml(index, t, type));
  192. }
  193. }
  194. }
  195. }
  196. var array = new Array('生成日期','文件名称');
  197. function getSelectConHtml(index, t, type,dateValue){
  198. var name;
  199. if (type == "date") {
  200. name = $("#"+t).attr("id");
  201. } else {
  202. name = $(t).attr("id");
  203. }
  204. var value;
  205. if(type == "inp"){
  206. value = t.value.substr(0,5)+"..";
  207. }
  208. if (type == "date") {
  209. value = dateValue;
  210. }
  211. if(type == "sel"){
  212. value = $("#stateDiv").find("option:selected").text();
  213. }
  214. var html = '<div class="fl xuanzhong-active" id = "search' + index + '" name = "' + name + '" onclick = "removeSearch(this)">' +
  215. '<div class="fl">' + array[index] + '</div>' +
  216. ':<span>'+value+'</span>' +
  217. '<svg class="icon" aria-hidden="true">' +
  218. '<use xlink:href="#iconicon_close1"></use>' +
  219. '</svg>' +
  220. '</div>';
  221. return html;
  222. }
  223. function removeSearch(t) {
  224. if ($(t).attr("name") == 'subjects') {
  225. initSelect('stateDiv', "COMPANY_STATE", "state", '', true);
  226. form.render();
  227. $(t).remove();
  228. } else {
  229. $("#"+$(t).attr("name")).val('');
  230. $(t).remove();
  231. }
  232. }
  233. </script>
  234. </body>
  235. </html>