edit_report.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <div class="p-3 bg-white">
  2. <table class="layui-hide" id="report" lay-filter="report"></table>
  3. </div>
  4. <div id="selectBox2" style="display: none;">
  5. <div id="companySelect2"></div>
  6. <button id="cc">1111</button>
  7. </div>
  8. <script>
  9. function report() {
  10. console.log(1)
  11. let tool = layui.tool, table = layui.table;
  12. var allcount;
  13. //项目任务
  14. parent.layui.reportTable = table.render({
  15. elem: '#report',
  16. title: '文档列表',
  17. toolbar: '#toolbarreport',
  18. cellMinWidth: 80,
  19. parseData: function (res) { // 数据解析回调函数
  20. // 在这里可以获取数据总数
  21. allcount = res.data.length;
  22. return {
  23. code: res.code, // 数据状态码
  24. msg: res.msg, // 状态信息
  25. count: res.count, // 数据总数
  26. data: res.data // 当前页数据
  27. };
  28. },
  29. url: "/admin/project.report/datalist",
  30. where: {'project_id': project_id},
  31. page: true, //开启分页
  32. limit: 20,
  33. cols: [[
  34. {field: 'id', title: '序号', width: 80, align: 'center',
  35. templet: function (d) {
  36. //console.log(allcount,d.LAY_NUM)
  37. return allcount - (d.LAY_NUM - 1);
  38. }
  39. },
  40. {
  41. field: 'title', title: '报告名称', align: 'center',
  42. templet: function (d) {
  43. var html = "";
  44. if (d.status == 10) {
  45. html = '<a class="side-a" lay-event="detail" style="color: grey;text-decoration:line-through" lay-event="detail">' + d.title + '</a>';
  46. } else {
  47. html = '<a class="side-a" lay-event="detail" lay-event="detail">' + d.title + '</a>';
  48. }
  49. return '<div style="text-align:left">' + html + '</div>'
  50. }
  51. },
  52. {
  53. field: 'type', title: '报告类型', align: 'center', width: 100, templet: function (item) {
  54. var html = '';
  55. if (item.type === 0) {
  56. html = "<span>初审报告</span>";
  57. } else if (item.type === 1) {
  58. html = "<span>对数报告</span>";
  59. } else if (item.type === 2) {
  60. html = "<span>审定报告</span>";
  61. }
  62. return html;
  63. }
  64. },
  65. {
  66. field: 'status', title: '审批状态', align: 'center', width: 150,
  67. templet: function (d) {
  68. var abc = '';
  69. if (d.status == 0) {
  70. abc = "<span>未审核(新建)</span>";
  71. } else if (d.status == 1) {
  72. abc = "<span>财政局已通过,待业主审核(新建)</span>";
  73. } else if (d.status == 2) {
  74. abc = "<span>财政局已拒绝(新建)</span>";
  75. } else if (d.status == 3) {
  76. abc = "<span>未审核(删除)</span>";
  77. } else if (d.status == 4) {
  78. abc = "<span>财政局已通过,待业主审核(删除)</span>";
  79. } else if (d.status == 5) {
  80. abc = "<span>已拒绝(删除)</span>";
  81. }else if (d.status ==8){
  82. abc = "<span>业主已通过(新建)</span>";
  83. }else if (d.status ==9){
  84. abc = "<span>业主拒绝(新建)</span>";
  85. }else if (d.status == 10) {
  86. abc = "<span>业主已通过(删除)</span>";
  87. } else if (d.status == 11) {
  88. abc = "<span>业主已拒绝(删除)</span>";
  89. }
  90. return abc;
  91. }
  92. },
  93. {field: 'create_time', title: '创建时间', align: 'center', width: 150},
  94. {field: 'admin_name', title: '创建人', align: 'center', width: 100},
  95. {
  96. field: 'right', fixed: 'right', title: '操作', width: 150, align: 'center',
  97. templet: function (d) {
  98. var html = '<div class="layui-btn-group">';
  99. var btn1 = `<a class="layui-btn layui-btn-xs layui-bg-blue" href=${d.filepath} download=${d.name} lay-event="">下载</a>`;
  100. var btn2 = '';
  101. if (d.status == 0) {
  102. btn2 = '<span class="layui-btn layui-btn-xs" lay-event="agree_report">同意</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="un_report">拒绝</span>';
  103. } else if (d.status == 3) {
  104. btn2 = '<span class="layui-btn layui-btn-xs" lay-event="agree_del">同意</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="unagree_del">拒绝</span>';
  105. }
  106. return html + btn1 + btn2 + '</div>';
  107. }
  108. }
  109. ]]
  110. });
  111. //触发事件
  112. table.on('toolbar(report)', function (obj) {
  113. var checkStatus = table.checkStatus(obj.config.id);
  114. switch (obj.event) {
  115. case 'add':
  116. parent.layui.tool.side('/admin/project.report/add?project_id=' + project_id); // 项目id
  117. break;
  118. }
  119. });
  120. table.on('tool(report)', function (obj) {
  121. var data = obj.data; //获得当前行数据
  122. if (obj.event === 'detail') { //查看
  123. let url = '/admin/project.report/view?id=' + data.id;// 项目id
  124. parent.layui.tool.side(url);
  125. }
  126. if (obj.event === 'agree_report') {
  127. let callback = function (e) {
  128. layer.msg(e.msg)
  129. parent.layui.reportTable.reload();
  130. }
  131. tool.post('/admin/project.report/agree_report', {id: data.id,else_id:data.else_id}, callback);
  132. }
  133. if (obj.event === 'un_report') {
  134. var ttxx = layer.prompt({
  135. title: '请输入<span style="color: red">拒绝</span>原因',
  136. formType: 2,
  137. area: ['35vw', '15vw']
  138. }, function (text, index) {
  139. if(text==""){
  140. layer.msg("请完善拒绝原因");
  141. }else{
  142. layer.close(ttxx)
  143. let callback = function (e) {
  144. layer.msg(e.msg)
  145. parent.layui.reportTable.reload();
  146. setTimeout(layer.close(index),1000);
  147. }
  148. tool.post('/admin/project.report/un_report', {id: data.id,else_id:data.else_id,audit_remark:text}, callback);
  149. }
  150. });
  151. }
  152. if (obj.event === 'agree_del') {
  153. let callback = function (e) {
  154. layer.msg(e.msg)
  155. parent.layui.reportTable.reload();
  156. }
  157. tool.post('/admin/project.report/agree_delete', {id: data.id,else_id:data.else_id}, callback);
  158. }
  159. if (obj.event === 'unagree_del') {
  160. var ttxx = layer.prompt({
  161. title: '请输入<span style="color: red">拒绝</span>原因',
  162. formType: 2,
  163. area: ['35vw', '15vw']
  164. }, function (text, index) {
  165. layer.close(ttxx)
  166. let callback = function (e) {
  167. layer.msg(e.msg)
  168. parent.layui.reportTable.reload();
  169. setTimeout(layer.close(index),1000);
  170. }
  171. tool.post('/admin/project.report/un_delete', {id: data.id,else_id:data.else_id,audit_remark:text}, callback);
  172. });
  173. }
  174. })
  175. }
  176. </script>