index.html 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. {include file="common/header"/}
  2. <style>
  3. .yourclass {
  4. display: block;
  5. }
  6. .canel {
  7. display: none;
  8. }
  9. </style>
  10. <div class="LM-container">
  11. <div class="LM-main">
  12. <fieldset class="layui-elem-field layui-field-title">
  13. <legend>代理商列表</legend>
  14. <blockquote class="layui-elem-quote">
  15. <div class="LM-table">
  16. <div class="layui-inline">
  17. <input type="text" id='keys' name="keys" lay-verify="required"
  18. placeholder="{:lang('pleaseEnter')}" autocomplete="off" class="layui-input">
  19. </div>
  20. <a href="javascript:;" class="layui-btn data-add-btn layui-btn-sm" lay-submit="" lay-filter="add"
  21. id="search">
  22. {:lang('search')}
  23. </a>
  24. <!-- <a href="{:url('add')}" class="layui-btn layui-btn-sm layui-btn-warm">{:lang('add')}{:lang('user')}</a>-->
  25. <!-- <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-danger" id="delAll">{:lang('delete checked')}</a>-->
  26. </div>
  27. </blockquote>
  28. </fieldset>
  29. <table class="layui-table" id="list" lay-filter="list"></table>
  30. </div>
  31. </div>
  32. <script type="text/html" id="action">
  33. <!-- <a href="{:url('edit')}?id={{d.id}}" class="layui-btn layui-btn-xs" lay-event="edit">{:lang('edit')}</a>-->
  34. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="vip_level">设置会员等级</a>
  35. <a href="{:url('xiaji')}?user_id={{d.id}}" class="layui-btn layui-btn-xs" >下级会员列表</a>
  36. </script>
  37. <script type="text/html" id="status">
  38. <input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="正常|禁止" lay-filter="status" {{ d.status== 0 ? 'checked' : '' }}>
  39. </script>
  40. <script type="text/html" id="daili">
  41. <input type="checkbox" name="is_admin" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="is_admin" {{ d.is_admin== 1 ? 'checked' : '' }}>
  42. </script>
  43. <script type="text/html" id="avatar">
  44. {{d.avatar}}<img src="/static/admin/images/image.gif"
  45. onmouseover="layer.tips('<img src={{d.avatar}}>',this,{tips: [1, '#fff']});"
  46. onmouseout="layer.closeAll();">
  47. </script>
  48. <div id="red" style="background-color: white; border-radius: 10px; text-align: center;display: none">
  49. <div class="layui-form-item">
  50. <label class="layui-form-label">设置vip等级</label>
  51. <div class="layui-input-block">
  52. <select name="vip_levels" lay-verify="required" id="vip_levels">
  53. {volist name="$vip" id="vs"}
  54. <option class="option-{$vs.id}" value="{$vs.id}">{$vs.level}级</option>
  55. {/volist}
  56. </select>
  57. </div>
  58. </div>
  59. <div style="height: 1px; background-color: #d5d5d5; margin-top: 10px;"></div>
  60. <div style="width: 100%; text-align: center;">
  61. <div style="float: left; width: 49.75%; height: 41px; padding-top: 10px;" lay-event="cancel" onclick="cancel()">取消</div>
  62. <div style="float: left; width: 1px; height: 41px; background-color: #d5d5d5;"></div>
  63. <div style="float: right; width: 49.75%; height: 41px; padding-top: 10px;" lay-event="sendRedpacket" onclick="sendRedpacket()">确定</div>
  64. <div style="clear: both;"></div>
  65. </div>
  66. </div>
  67. {include file="common/footer"/}
  68. <script>
  69. let redIndex=0;
  70. let user_id=0;
  71. let vip_level=0;
  72. layui.use(['form', 'table'], function () {
  73. var $ = layui.jquery,
  74. form = layui.form,
  75. table = layui.table;
  76. var tableIn = table.render({
  77. elem: '#list',
  78. url: '{:url("index")}',
  79. method: 'post',
  80. title: '用户数据表',
  81. // toolbar: '#toolbar', //开启头部工具栏,并为其绑定左侧模板
  82. defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
  83. title: '提示'
  84. , layEvent: 'LAYTABLE_TIPS'
  85. , icon: 'layui-icon-tips'
  86. }],
  87. cols: [[
  88. // {checkbox: true, fixed: true},
  89. {field: 'id', title: 'ID', width: 80, sort: true},
  90. {field: 'name', title: '名字', width: 120,},
  91. {field: 'maild', title: '邮箱', width: 120,},
  92. {field: 'phone', title: '手机', width: 120,},
  93. {field: 'sex', title: '性别', width: 120},
  94. {field: 'vip_level', title: '会员等级', width: 120,},
  95. {field: 'image', title: '头像', width: 120, templet: "#avatar"},
  96. {field: 'status', title: '状态', width: 180, templet: '#status'},
  97. {field: 'pid', title: '上级id', width: 180},
  98. {field: 'code', title: '邀请码', width: 180},
  99. {field: 'money', title: '通证余额', width: 180},
  100. {field: 'ensure_money', title: '保证金', width: 180},
  101. {field: 'push_money', title: '可售额度', width: 180},
  102. {field: 'pool_money', title: '矿池矿金', width: 180},
  103. {field: 'is_admin', title: '是否代理商账号', width: 180, templet: '#daili'},
  104. {field: 'add_time', title: '注册时间', width: 180},
  105. {field: 'update_time', title: '更新时间', width: 180},
  106. {title: '操作', width: 400, toolbar: '#action', align: "center"},
  107. ]],
  108. limits: [10, 15, 20, 25, 50, 100],
  109. limit: 15,
  110. page: true
  111. });
  112. table.on('tool(list)', function (obj) {
  113. var data = obj.data;
  114. if (obj.event === 'del') {
  115. layer.confirm('{:lang("Are you sure you want to delete it")}', function (index) {
  116. loading = layer.load(1, {shade: [0.1, '#fff']});
  117. $.post("{:url('delete')}", {id: data.id}, function (res) {
  118. layer.close(loading);
  119. layer.close(index);
  120. if (res.code > 0) {
  121. layer.msg(res.msg, {time: 1000, icon: 1});
  122. obj.del();
  123. } else {
  124. layer.msg(res.msg, {time: 1000, icon: 2});
  125. }
  126. });
  127. });
  128. }
  129. // 弹出框
  130. if (obj.event === "vip_level") {
  131. user_id=data.id;
  132. vip_level=data.vip_level;
  133. $(".option-"+vip_level).attr("selected",true);
  134. redIndex = layer.open({
  135. type: 1,
  136. title: false,
  137. area: ['80%', ''], //宽高
  138. closeBtn: 0,
  139. shadeClose: false,
  140. skin: $(".yourclass"),
  141. content: $("#red"),
  142. });
  143. }
  144. if (obj.event === "user_money") {
  145. user_id=data.id;
  146. vip_level=data.vip_level;
  147. $(".option-"+vip_level).attr("selected",true);
  148. redIndex = layer.open({
  149. type: 1,
  150. title: false,
  151. area: ['80%', ''], //宽高
  152. closeBtn: 0,
  153. shadeClose: false,
  154. skin: $(".yourclass"),
  155. content: $("#red"),
  156. });
  157. }
  158. });
  159. form.on('switch(status)', function (data) {
  160. // 修改状态
  161. loading = layer.load(1, {shade: [0.1, '#fff']});
  162. $.post("{:url('fenhao')}", {id: data.value}, function (res) {
  163. layer.close(loading);
  164. if (res.code == 200) {
  165. layer.msg(res.msg, {time: 1000, icon: 1});
  166. } else {
  167. layer.msg(res.msg, {time: 1000, icon: 2});
  168. }
  169. }, "json");
  170. });
  171. $('#search').click(function () {
  172. var $keys = $('#keys').val();
  173. if (!$keys) {
  174. return layer.msg('请输入关键词');
  175. }
  176. tableIn.reload({page: {page: 1}, where: {keys: $keys}});
  177. })
  178. form.on('switch(is_admin)', function (data) {
  179. // 修改状态
  180. loading = layer.load(1, {shade: [0.1, '#fff']});
  181. $.post("{:url('is_admin')}", {id: data.value}, function (res) {
  182. layer.close(loading);
  183. if (res.code == 200) {
  184. tableIn.reload()
  185. layer.msg(res.msg, {time: 1000, icon: 1});
  186. } else {
  187. layer.msg(res.msg, {time: 1000, icon: 2});
  188. }
  189. }, "json");
  190. });
  191. });
  192. // 取消
  193. function cancel() {
  194. $("#red").addClass("canel")
  195. layer.close(redIndex);
  196. }
  197. // 确定
  198. function sendRedpacket() {
  199. let vip_levels=$("#vip_levels").val()
  200. let loading = layer.load(1, {shade: [0.1, '#fff']});
  201. let data={
  202. id:user_id,
  203. level:vip_levels
  204. }
  205. $.post("{:url('update_leve')}", data, function (res) {
  206. layer.close(loading);
  207. layer.close(redIndex);
  208. if (res.code == 200) {
  209. window.location.reload()
  210. layer.msg(res.msg, {time: 1000, icon: 1});
  211. } else {
  212. layer.msg(res.msg, {time: 1000, icon: 2});
  213. }
  214. },"json");
  215. }
  216. </script>