user.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <style>
  2. </style>
  3. <div class="layui-fluid">
  4. <div class="layui-card">
  5. <div class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto">
  6. <div class="layui-form-item">
  7. <div class="layui-inline">
  8. <label class="layui-form-label">关键字</label>
  9. <div class="layui-input-block">
  10. <input type="text" name="keywords" placeholder="请输入姓名/手机号" autocomplete="off" class="layui-input">
  11. </div>
  12. </div>
  13. <div class="layui-inline">
  14. <label class="layui-form-label">状态</label>
  15. <div class="layui-input-block">
  16. <select name="status">
  17. <option value="">全部状态</option>
  18. {volist name="status_list" id="v"}
  19. <option value="{$key}">{$v}</option>
  20. {/volist}
  21. </select>
  22. </div>
  23. </div>
  24. <div class="layui-inline">
  25. <button class="layui-btn" lay-submit lay-filter="{$lay_btn}">
  26. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  27. </button>
  28. </div>
  29. </div>
  30. </div>
  31. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  32. <button class="layui-btn layuiadmin-btn" data-type="add">添加新用户</button>
  33. <button class="layui-btn layuiadmin-btn" data-type="import">批量导入</button>
  34. </div>
  35. <div class="layui-card-body">
  36. <table id="{$lay_table}" lay-filter="{$lay_table}"></table>
  37. <script type="text/html" id="setTpl">
  38. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
  39. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="watch"><i class="layui-icon layui-icon-engine"></i>导出观看记录</a>
  40. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
  41. </script>
  42. </div>
  43. </div>
  44. </div>
  45. <script>
  46. layui.use(['index', 'admin', 'form', 'table'], function () {
  47. const $ = layui.$;
  48. const admin = layui.admin;
  49. const form = layui.form;
  50. const table = layui.table;
  51. form.render();
  52. table.render({
  53. elem: '#{$lay_table}',
  54. url: "{:url('soldier/listUser')}",
  55. cols: [
  56. [
  57. {field: 'id', title: 'ID' ,width: 100},
  58. {field: 'name', title: '姓名' ,width: 200},
  59. {field: 'mobile', title: '手机号', width: 200},
  60. {field: 'status_text', title: '状态', width: 200, align: 'center'},
  61. {title: '操作', align: 'center', fixed: 'right', toolbar: '#setTpl'}
  62. ]
  63. ],
  64. page: true,
  65. limit: 50,
  66. cellMinWidth: 150,
  67. text: '对不起,加载出现异常!'
  68. });
  69. form.on('submit({$lay_btn})', function (data) {
  70. table.reload('{$lay_table}', {
  71. where: data.field,
  72. page: {
  73. curr: 1
  74. }
  75. });
  76. });
  77. //事件
  78. const active = {
  79. add: function () {
  80. const index = layer.open({
  81. type: 2,
  82. title: '添加用户',
  83. content: "{:url('soldier/userForm')}",
  84. maxmin: true,
  85. area: ['550px', '550px']
  86. });
  87. layer.full(index);
  88. },
  89. import: function() {
  90. layer.open({
  91. type: 2,
  92. title: '批量导入',
  93. content: "{:url('soldier/importUser')}",
  94. maxmin: true,
  95. area: ['750px', '300px']
  96. });
  97. },
  98. };
  99. //监听工具条
  100. table.on('tool({$lay_table})', function (obj) {
  101. const data = obj.data;
  102. if (obj.event === 'del') {
  103. layer.confirm('删除用户的同时会删除用户观看记录,确定删除此用户吗?', function (index) {
  104. admin.req({
  105. url: "{:url('soldier/delUser')}",
  106. data: {
  107. id: data.id
  108. },
  109. done: function (res) {
  110. obj.del();
  111. layer.msg('已删除');
  112. }
  113. });
  114. layer.close(index);
  115. });
  116. } else if (obj.event === 'edit') {
  117. const index = layer.open({
  118. type: 2,
  119. title: '编辑用户',
  120. content: "{:url('soldier/userForm')}?id=" + data.id,
  121. maxmin: true,
  122. area: ['550px', '550px']
  123. });
  124. layer.full(index);
  125. } else if (obj.event === 'watch') {
  126. const url = "{:url('soldier/exportUserVideoWatch')}";
  127. window.open(url + '?id=' + data.id);
  128. }
  129. });
  130. $('.layui-btn.layuiadmin-btn').on('click', function () {
  131. const type = $(this).data('type');
  132. active[type] ? active[type].call(this) : '';
  133. });
  134. });
  135. </script>