view_task.html 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <div class="bg-white">
  2. <table class="layui-hide" id="task" lay-filter="task"></table>
  3. </div>
  4. <script type="text/html" id="toolbartask">
  5. <div class="layui-btn-container">
  6. <button class="layui-btn layui-btn-sm" lay-event="add">+ 新建任务</button>
  7. </div>
  8. </script>
  9. <script>
  10. function project_task(){
  11. if($('#projectTab').find('li').eq(1).data('load') =='true'){
  12. return false;
  13. }
  14. $('#projectTab').find('li').eq(1).data('load','true');
  15. let tool = layui.tool, table = layui.tablePlus;
  16. //项目任务
  17. parent.layui.taskTable = table.render({
  18. elem: '#task',
  19. title: '任务列表',
  20. toolbar: '#toolbartask',
  21. cellMinWidth:80,
  22. url: "/project/api/get_task",
  23. where:{'project_id':project_id},
  24. page: true, //开启分页
  25. limit: 20,
  26. cols: [[
  27. {field: 'id', title: '任务编号', width: 80, align: 'center', fixed: 'left', templet: function (d) {
  28. return 'T' + d.id;
  29. }
  30. }
  31. ,{ field: 'status', title: '任务状态', align: 'center', width: 90, templet: function (d) {
  32. var html = '<span class="check-status-color-' + d.status + '">『' + d.status_name + '』</span>';
  33. return html;
  34. }
  35. }
  36. , { field: 'cate_name', title: '工作类型', width: 90, align: 'center'}
  37. ,{field:'title',title: '任务主题', minWidth: 300,templet:function(d){
  38. var html = '<span class="layui-badge layui-bg-'+d.priority+'">'+d.priority_name+'</span> <a data-href="/project/task/view/id/'+d.id+'.html" class="side-a">'+d.title+'</a>';
  39. return html;
  40. }}
  41. ,{field:'director_name',title: '负责人', align:'center',width: 80}
  42. ,{field:'assist_admin_names',title: '协作人',width: 160}
  43. ,{field:'plan_hours',title: '预估工时', align:'center',width: 80}
  44. ,{field:'end_time',title: '预计结束日期', width: 150,templet:function(d){
  45. var html = d.end_time;
  46. if(d.delay>0){
  47. html+= '<span class="red ml-1" style="font-size:12px;">逾期'+d.delay+'天</span>';
  48. }
  49. return html;
  50. }}
  51. ]]
  52. });
  53. //触发事件
  54. table.on('toolbar(task)', function(obj){
  55. var checkStatus = table.checkStatus(obj.config.id);
  56. switch(obj.event){
  57. case 'add':
  58. tool.side('/project/task/add?project_id='+project_id);
  59. break;
  60. };
  61. });
  62. }
  63. </script>