project_user.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <div class="p-3 bg-white">
  2. <table class="layui-hide" id="user" lay-filter="user"></table>
  3. </div>
  4. <script>
  5. function project_user() {
  6. let tool = layui.tool, table = layui.table, employeepicker = layui.employeepicker;
  7. //项目成员
  8. layui.userTable = table.render({
  9. elem: '#user',
  10. title: '项目成员列表',
  11. cellMinWidth: 80,
  12. toolbar: '#toolbaruser',
  13. url: "/admin/project.cost_company/project_user", //数据接口
  14. where: {'project_id': project_id},
  15. page: false, //开启分页
  16. limit: 20,
  17. cols: [[ //表头
  18. {field: 'nickname', fixed: 'left', title: '成员姓名', width: 200, align: 'center', rowspan: 2},
  19. {field: 'unit_name', title: '所在单位', align: 'center', width: 200, rowspan: 2},
  20. {
  21. field: 'type', title: '成员类型', align: 'center', width: 200, rowspan: 2,
  22. templet: function (a) {
  23. var html = "";
  24. if (a.type == 1) {
  25. html = "项目负责人"
  26. } else if (a.type == 2) {
  27. html = "项目负责人"
  28. } else if (a.type == 3) {
  29. html = "作业负责人"
  30. } else if (a.type == 4) {
  31. html = "作业成员"
  32. } else if (a.type == 5) {
  33. html = "项目负责人"
  34. } else if (a.type == 6) {
  35. html = "项目负责人"
  36. }
  37. return html;
  38. }
  39. },
  40. {field: 'unit_type', title: '单位类型', align: 'center', width: 200, rowspan: 2},
  41. {
  42. field: 'mobile', title: '联系方式', align: 'center', rowspan: 2, templet: function (d) {
  43. if (d.unit_type == "送审单位") {
  44. return '';
  45. } else {
  46. return d.mobile
  47. }
  48. }
  49. },
  50. {field: 'email', title: '单位邮箱', align: 'center', rowspan: 2},
  51. // {
  52. // title: '操作', fixed: 'right', align: 'center', width: 150, rowspan: 2, templet: function (d) {
  53. // var html = '<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">移除</span>';
  54. // if(unit_type == "评审机构"){
  55. // return html;
  56. // }else{
  57. // return '';
  58. // }
  59. // }
  60. // }
  61. ]]
  62. });
  63. //触发事件
  64. table.on('toolbar(user)', function (obj) {
  65. var checkStatus = table.checkStatus(obj.config.id);
  66. switch (obj.event) {
  67. case 'add':
  68. employeepicker.init({
  69. type: 0,
  70. department_url: "/admin/project.cost_company/get_department_tree",
  71. employee_url: "/admin/project.cost_company/get_employee",
  72. callback: function (ids, names, dids, departments) {
  73. let callback = function (e) {
  74. layer.msg(e.msg);
  75. if (e.code == 0) {
  76. layui.userTable.reload();
  77. }
  78. }
  79. tool.post("/admin/project.cost_company/add_user_company_type1", {
  80. id: ids,
  81. project_id: project_id,
  82. type: 1
  83. }, callback);
  84. }
  85. })
  86. break;
  87. case "adda":
  88. employeepicker.init({
  89. type: 0,
  90. department_url: "/admin/project.cost_company/get_department_tree",
  91. employee_url: "/admin/project.cost_company/get_employee",
  92. callback: function (ids, names, dids, departments) {
  93. let callback = function (e) {
  94. layer.msg(e.msg);
  95. if (e.code == 0) {
  96. layui.userTable.reload();
  97. }
  98. }
  99. tool.post("/admin/project.cost_company/add_user_company_type2", {
  100. id: ids,
  101. project_id: project_id,
  102. type: 2
  103. }, callback);
  104. }
  105. })
  106. break;
  107. }
  108. ;
  109. });
  110. //监听行工具事件
  111. table.on('tool(user)', function (obj) {
  112. let postData = {"id": obj.data.id, "project_id": project_id, "type": obj.data.type};
  113. let callback = function (e) {
  114. layer.closeAll();
  115. layer.msg(e.msg);
  116. if (e.code == 0) {
  117. layui.userTable.reload();
  118. }
  119. }
  120. if (obj.event === 'remove') {
  121. if (obj.data.type == 3 || obj.data.type == 4) {
  122. console.log(postData);
  123. layer.confirm('确定要移除该项目成员吗?', {icon: 3, title: '提示'}, function (index) {
  124. tool.delete("/admin/project.cost_company/remove_user_company", postData, callback);
  125. });
  126. } else {
  127. layer.msg("该成员不可移除");
  128. }
  129. }
  130. if (obj.event === 'recover') {
  131. console.log(postData);
  132. layer.confirm('确定要恢复该项目成员吗?', {icon: 3, title: '提示'}, function (index) {
  133. tool.post("/project/api/recover_user", postData, callback);
  134. });
  135. }
  136. return;
  137. });
  138. }
  139. </script>