project_user.html 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <div class="p-3 bg-white">
  2. <table class="layui-hide" id="user" lay-filter="user"></table>
  3. </div>
  4. <script type="text/html" id="toolbaruser">
  5. <div class="layui-btn-container">
  6. <!-- <button class="layui-btn layui-btn-sm" lay-event="add">+ 新增送审单位成员</button>-->
  7. <!-- <button class="layui-btn layui-btn-sm" lay-event="adda">+ 新增施工单位成员</button>-->
  8. </div>
  9. </script>
  10. <script>
  11. function project_user() {
  12. if ($('#projectTab').find('li').eq(4).data('load') == 'true') {
  13. return false;
  14. }
  15. $('#projectTab').find('li').eq(4).data('load', 'true');
  16. let tool = layui.tool, table = layui.table, employeepicker = layui.employeepicker;
  17. //项目成员
  18. parent.layui.userTable = table.render({
  19. elem: '#user',
  20. title: '项目成员列表',
  21. cellMinWidth: 80,
  22. toolbar: '#toolbaruser',
  23. url: "/admin/project.cost/project_user", //数据接口
  24. where: {'project_id': project_id},
  25. page: false, //开启分页
  26. limit: 20,
  27. cols: [[ //表头
  28. {field: 'nickname', fixed: 'left', title: '成员姓名', width: 200, align: 'center', rowspan: 2},
  29. {field: 'unit_name', title: '所在单位', align: 'center', width: 450, rowspan: 2},
  30. {field: 'unit_type', title: '单位类型', align: 'center', width: 200, rowspan: 2},
  31. {field: 'mobile', title: '手机号码', align: 'center', rowspan: 2},
  32. {field: 'email', title: '单位邮箱', align: 'center', rowspan: 2},
  33. ]]
  34. });
  35. //触发事件
  36. table.on('toolbar(user)', function (obj) {
  37. var checkStatus = table.checkStatus(obj.config.id);
  38. switch (obj.event) {
  39. case 'add':
  40. employeepicker.init({
  41. type: 0,
  42. department_url: "/admin/project.cost_company/get_yezhu_tree",
  43. employee_url: "/admin/project.cost_company/get_employee",
  44. callback: function (ids, names, dids, departments) {
  45. let callback = function (e) {
  46. layer.msg(e.msg);
  47. if (e.code == 0) {
  48. layui.userTable.reload();
  49. }
  50. }
  51. tool.post("/admin/project.cost_company/add_user", {
  52. id: ids,
  53. project_id: project_id,
  54. type: 2
  55. }, callback);
  56. }
  57. })
  58. break;
  59. case "adda":
  60. parent.layui.tool.side('/admin/project.cost/addconstructionpeople?project_id=' + project_id);
  61. break;
  62. }
  63. });
  64. //监听行工具事件
  65. table.on('tool(user)', function (obj) {
  66. let postData = {"id": obj.data.id, "project_id": project_id, "type": obj.data.type};
  67. let callback = function (e) {
  68. layer.closeAll();
  69. layer.msg(e.msg);
  70. if (e.code == 0) {
  71. layui.userTable.reload();
  72. }
  73. }
  74. if (obj.event === 'remove') {
  75. if (obj.data.type == 3 || obj.data.type == 4) {
  76. console.log(postData);
  77. layer.confirm('确定要移除该项目成员吗?', {icon: 3, title: '提示'}, function (index) {
  78. tool.delete("/admin/project.cost_company/remove_user", postData, callback);
  79. });
  80. } else {
  81. layer.msg("该成员不可移除");
  82. }
  83. }
  84. if (obj.event === 'recover') {
  85. layer.confirm('确定要恢复该项目成员吗?', {icon: 3, title: '提示'}, function (index) {
  86. tool.post("/project/api/recover_user", postData, callback);
  87. });
  88. }
  89. return;
  90. });
  91. }
  92. </script>