task_list.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. {{include "com/inc.html"}}
  2. <!-- Main Header -->
  3. {{include "com/header.html"}}
  4. <!-- Left side column. 权限菜单 -->
  5. {{include "com/menu.html"}}
  6. <div class="content-wrapper">
  7. <section class="content-header">
  8. <h1>
  9. <small></small>
  10. </h1>
  11. <ol class="breadcrumb">
  12. <li><a href="#"><i class="fa fa-dashboard"></i> 任务列表</a></li>
  13. </ol>
  14. </section>
  15. <!-- Main content -->
  16. <section class="content">
  17. <div class="row">
  18. <div class="col-xs-12">
  19. <div class="box">
  20. <div class="box-body">
  21. <div id="status-div" class="col-xs-6 form-inline" style="width: auto;float: right">
  22. <select class="form-control selectpicker" id="pushModelSelect">
  23. <option value=-1>全部</option>
  24. <option value=0>开启</option>
  25. <option value=1>关闭</option>
  26. </select>
  27. <span class="input-group date date-picker" id="starttime">
  28. <input type="text" class="form-control form-filter input-sm" readonly name="starttime" placeholder="开始日期" />
  29. <span class="input-group-addon">
  30. <i class="fa fa-calendar"></i>
  31. </span>
  32. </span>
  33. <span class="input-group date date-picker" id="endtime">
  34. <input type="text" class="form-control form-filter input-sm" readonly name="endtime" placeholder="结束日期" />
  35. <span class="input-group-addon">
  36. <i class="fa fa-calendar"></i>
  37. </span>
  38. </span>
  39. <input type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('0')" value="导出">
  40. </div>
  41. <table id="dataTable" class="table table-bordered table-hover">
  42. <thead>
  43. <tr>
  44. <th></th>
  45. <th>公司名称</th>
  46. <th>部门名称</th>
  47. <th>规则名称</th>
  48. <th>项目名称</th>
  49. <th>用户组名称</th>
  50. <th>负责人</th>
  51. <th>清洗数据量</th>
  52. <th>任务状态</th>
  53. <th>完成进度</th>
  54. <th>任务时间</th>
  55. <th>操作</th>
  56. </tr>
  57. </thead>
  58. </table>
  59. </div>
  60. <!-- /.box-body -->
  61. </div>
  62. <!-- /.box -->
  63. </div>
  64. </div>
  65. </section>
  66. </div>
  67. {{include "com/footer.html"}}
  68. <script>
  69. menuActive("/front/group/admin/task/list");
  70. $(function () {
  71. ttable = $('#dataTable').dataTable({
  72. "paging": true,
  73. "lengthChange": false,
  74. "searching": true,
  75. "ordering": false,
  76. "info": true,
  77. "autoWidth": false,
  78. "serverSide": true,
  79. "ajax": {
  80. "url": "/front/group/admin/task/list",
  81. "type": "post",
  82. "data": {"status": "-1"}
  83. },
  84. "language": {
  85. "url": "/dist/js/dataTables.chinese.lang"
  86. },
  87. "fnDrawCallback": function () {
  88. $("ul.pagination").prepend("&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='changePage' style='width:20px;'> 页 <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
  89. $('#dataTable-btn').click(function (e) {
  90. var redirectpage = 0
  91. if ($("#changePage").val() && $("#changePage").val() > 0) {
  92. var redirectpage = $("#changePage").val() - 1;
  93. }
  94. ttable.page(redirectpage).draw(false);
  95. });
  96. this.api().column(0).nodes().each(function (cell, i) {
  97. cell.innerHTML = i + 1;
  98. });
  99. },
  100. "columns": [
  101. {"data": null, width: "1%"},
  102. {"data": "s_entname", width: "4%"},
  103. {"data": "s_departname", width: "4%"},
  104. {"data": "s_rulename", width: "4%"},
  105. {"data": "s_projectname", width: "4%"},
  106. {"data": "s_groupname", width: "4%"},
  107. {"data": "s_personname", width: "4%"},
  108. {"data": "i_givenum", width: "4%"},
  109. {"data": "s_status", width: "4%"},
  110. {"data": "s_progress", width: "4%"},
  111. {
  112. "data": "_id", width: "4%", render: function (val, a, row) {
  113. let str = ""
  114. if (row['i_starttime'] === undefined) {
  115. str = "未开始"
  116. }else if (row['i_starttime'] && row['i_completetime'] === undefined) {
  117. let dt = new Date()
  118. dt.setTime(parseInt(row['i_starttime']) * 1000);
  119. str = dt.format("yyyy-MM-dd") + " - 未结束"
  120. }else {
  121. let dt = new Date()
  122. let ds = new Date()
  123. dt.setTime(parseInt(row['i_starttime']) * 1000);
  124. ds.setTime(parseInt(row["i_completetime"]) * 1000)
  125. str = dt.format("yyyy-MM-dd") + " - " + ds.format("yyyy-MM-dd")
  126. }
  127. return str
  128. }
  129. },
  130. {
  131. "data": "_id", width: "11%", render: function (val, a, row, pos) {
  132. tmp = '<div>' +
  133. '<a class="btn btn-sm btn-primary" href="/front/user/task/list?grouptaskid=' + val + '&s_sourceinfo='+row.s_sourceinfo+'">查看</a>&nbsp;&nbsp;' +
  134. '<a class="btn btn-sm btn-warning" onclick="retrieveTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">收回</a>&nbsp;&nbsp;' +
  135. '<a class="btn btn-sm btn-info">质检</a>&nbsp;&nbsp;' +
  136. '<a class="btn btn-sm btn-info" onclick="closeTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">关闭</a>&nbsp;&nbsp;' +
  137. '</div>';
  138. return tmp
  139. }
  140. }
  141. ],
  142. "initComplete": function () {
  143. $("#dataTable_filter").append($('#status-div'))
  144. }
  145. });
  146. $('.date-picker').datepicker({
  147. language: 'zh-CN',
  148. autoclose: true,
  149. clearBtn: true, //清除按钮
  150. todayBtn: false, //今日按钮
  151. format: "yyyy-mm-dd"
  152. });
  153. $('#starttime').datepicker({ 'changeDate': function(e) {
  154. console.log(e.data.toString())
  155. }
  156. })
  157. // $('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');
  158. });
  159. // 收回
  160. function retrieveTask(id, sourceinfo, status) {
  161. if (status === "未开始" || status === "进行中") {
  162. $.ajax({
  163. url: "/front/project/task/retrieve",
  164. type: 'POST',
  165. data: {"s_status": status, "taskid": id, "s_sourceinfo": sourceinfo},
  166. success: function (r) {
  167. if (r.success) {
  168. ttable.api().ajax.reload()
  169. } else {
  170. showTip(r.msg);
  171. }
  172. }
  173. })
  174. }else {
  175. showTip("操作不允许")
  176. }
  177. }
  178. function closeTask(id, sourceinfo,status) {
  179. if (status === "未开始") {
  180. showConfirm("确认要关闭当前任务吗?", function () {
  181. $.ajax({
  182. url: "/front/project/task/close",
  183. type: 'POST',
  184. data: {"s_sourceinfo": sourceinfo, "s_status": status, "taskid": id},
  185. success: function (r) {
  186. if (r.success) {
  187. location.reload()
  188. } else {
  189. showTip(r.msg);
  190. }
  191. }
  192. })
  193. })
  194. }else {
  195. showTip("操作不允许")
  196. }
  197. }
  198. </script>