work.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <style>
  2. .layui-table-cell {height:45px;line-height:unset;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  3. .user-box {display:flex;}
  4. .user-box .content .name {font-size:18px;color:#000;}
  5. .user-box .content .desc {font-size:14px;margin-top:5px;}
  6. </style>
  7. <div class="layui-fluid">
  8. <div class="layui-card">
  9. <div class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto">
  10. <div class="layui-form-item">
  11. <div class="layui-inline">
  12. <label class="layui-form-label">姓名</label>
  13. <div class="layui-input-block">
  14. <input type="text" name="name" placeholder="请输入姓名" autocomplete="off" class="layui-input">
  15. </div>
  16. </div>
  17. <div class="layui-inline">
  18. <label class="layui-form-label">部门</label>
  19. <div class="layui-input-block">
  20. <input type="text" name="department" placeholder="请输入部门" autocomplete="off" class="layui-input">
  21. </div>
  22. </div>
  23. <div class="layui-inline">
  24. <label class="layui-form-label">手机号</label>
  25. <div class="layui-input-block">
  26. <input type="text" name="mobile" placeholder="请输入手机号" autocomplete="off" class="layui-input">
  27. </div>
  28. </div>
  29. <div class="layui-inline">
  30. <label class="layui-form-label">月份</label>
  31. <div class="layui-input-block">
  32. <input type="text" name="month" readonly id="month" placeholder="请选择月份" autocomplete="off" class="layui-input">
  33. </div>
  34. </div>
  35. <div class="layui-inline">
  36. <button class="layui-btn" lay-submit lay-filter="{$lay_btn}">
  37. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  38. </button>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  43. <button class="layui-btn layuiadmin-btn" data-type="unregister">未登记用户</button>
  44. <button class="layui-btn layuiadmin-btn" data-type="export">导出</button>
  45. </div>
  46. <div class="layui-card-body">
  47. <table id="{$lay_table}" lay-filter="{$lay_table}"></table>
  48. <script type="text/html" id="userTpl">
  49. <div class="user-box">
  50. <div class="content">
  51. <div class="name">{{d.user.name}}</div>
  52. <div class="desc">部门:{{d.user.department}},手机号:{{d.user.mobile}}</div>
  53. </div>
  54. </div>
  55. </script>
  56. <script type="text/html" id="setTpl">
  57. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detail"><i class="layui-icon layui-icon-read"></i>详情</a>
  58. </script>
  59. </div>
  60. </div>
  61. </div>
  62. <script>
  63. layui.use(['index', 'form', 'table', 'laydate'], function () {
  64. const $ = layui.$;
  65. const form = layui.form;
  66. const table = layui.table;
  67. const laydate = layui.laydate;
  68. let search_param = {};
  69. form.render();
  70. laydate.render({
  71. elem: '#month'
  72. ,type: 'month'
  73. });
  74. table.render({
  75. elem: '#{$lay_table}',
  76. url: "{:url('talent/listWork')}",
  77. cols: [
  78. [
  79. {field: 'user', title: '用户信息' ,width: 350, templet: '#userTpl'},
  80. {field: 'month', title: '月份', width: 100},
  81. {field: 'should_num', title: '应挂钩人数', width: 100},
  82. {field: 'new_num', title: '本月新增人数', width: 120},
  83. {field: 'unfinished_num', title: '未完成挂钩人数', width: 150},
  84. {field: 'consult_num', title: '本月回答咨询次数', width: 150},
  85. {field: 'contact', title: '联系方式', width: 150},
  86. {field: 'cate', title: '咨询问题类别', width: 200},
  87. {field: 'update_time', title: '填表时间', width: 160},
  88. {title: '操作', align: 'center', fixed: 'right', toolbar: '#setTpl'}
  89. ]
  90. ],
  91. page: true,
  92. limit: 50,
  93. cellMinWidth: 150,
  94. text: '对不起,加载出现异常!'
  95. });
  96. form.on('submit({$lay_btn})', function (data) {
  97. search_param = data.field;
  98. table.reload('{$lay_table}', {
  99. where: data.field,
  100. page: {
  101. curr: 1
  102. }
  103. });
  104. });
  105. //事件
  106. const active = {
  107. unregister: function () {
  108. layer.open({
  109. type: 2,
  110. title: '未登记用户',
  111. content: "{:url('talent/unRegister')}",
  112. maxmin: true,
  113. area: ['800px', '550px']
  114. });
  115. },
  116. export: function() {
  117. const check_data = table.checkStatus('{$lay_table}').data;
  118. const url = "{:url('talent/exportWork')}";
  119. if (check_data.length === 0) {
  120. let param = '';
  121. for (let item in search_param) {
  122. param += '&' + item + '=' + search_param[item];
  123. }
  124. if (param === '') {
  125. window.open(url);
  126. } else {
  127. window.open(url + '?' + param.slice(1));
  128. }
  129. } else {
  130. let id_arr = [];
  131. for (let i = 0; i < check_data.length; i++) {
  132. id_arr.push(check_data[i].id);
  133. }
  134. window.open(url + '?id=' + id_arr.join());
  135. }
  136. },
  137. };
  138. //监听工具条
  139. table.on('tool({$lay_table})', function (obj) {
  140. const data = obj.data;
  141. if (obj.event === 'detail') {
  142. const index = layer.open({
  143. type: 2,
  144. title: '详情',
  145. content: "{:url('talent/workDetail')}?id=" + data.id,
  146. maxmin: true,
  147. area: ['550px', '550px']
  148. });
  149. layer.full(index);
  150. }
  151. });
  152. $('.layui-btn.layuiadmin-btn').on('click', function () {
  153. const type = $(this).data('type');
  154. active[type] ? active[type].call(this) : '';
  155. });
  156. });
  157. </script>