xiaji.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  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="{$urls}" class="layui-btn layui-btn-xs" lay-event="tzlg">返回</a>
  25. </div>
  26. </blockquote>
  27. </fieldset>
  28. <table class="layui-table" id="list" lay-filter="list"></table>
  29. </div>
  30. </div>
  31. <script type="text/html" id="action">
  32. <!-- <a href="{:url('edit')}?id={{d.id}}" class="layui-btn layui-btn-xs" lay-event="edit">{:lang('edit')}</a>-->
  33. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="vip_level">设置会员等级</a>
  34. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除账号</a>
  35. <a href="{:url('certificateshow')}?user_id={{d.id}}" class="layui-btn layui-btn-xs" lay-event="tzlg">通证记录</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.image}}<img src="/static/admin/images/image.gif"
  45. onmouseover="layer.tips('<img src={{d.image}}>',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. let user_id={:$user_id};
  77. console.log("user_id",user_id)
  78. var tableIn = table.render({
  79. elem: '#list',
  80. url: '{:url("xiaji")}',
  81. method: 'post',
  82. where:{user_id:user_id},
  83. title: '用户数据表',
  84. // toolbar: '#toolbar', //开启头部工具栏,并为其绑定左侧模板
  85. defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
  86. title: '提示'
  87. , layEvent: 'LAYTABLE_TIPS'
  88. , icon: 'layui-icon-tips'
  89. }],
  90. cols: [[
  91. // {checkbox: true, fixed: true},
  92. {field: 'id', title: 'ID', width: 80, sort: true},
  93. {field: 'name', title: '名字', width: 120,},
  94. {field: 'maild', title: '邮箱', width: 120,},
  95. {field: 'phone', title: '手机', width: 120,},
  96. {field: 'sex', title: '性别', width: 120},
  97. {field: 'vip_level', title: '会员等级', width: 120,},
  98. {field: 'image', title: '头像', width: 120, templet: "#avatar"},
  99. {field: 'status', title: '状态', width: 180, templet: '#status'},
  100. {field: 'pid', title: '上级id', width: 180},
  101. {field: 'code', title: '邀请码', width: 180},
  102. {field: 'money', title: '通证余额', width: 180,edit:"text"},
  103. {field: 'ensure_money', title: '保证金', width: 180,edit:"text"},
  104. {field: 'push_money', title: '可售额度', width: 180,edit:"text"},
  105. {field: 'pool_money', title: '矿池矿金', width: 180},
  106. {field: 'is_admin', title: '是否代理商账号', width: 180, templet: '#daili'},
  107. {field: 'add_time', title: '注册时间', width: 180},
  108. {field: 'update_time', title: '更新时间', width: 180},
  109. {title: '操作', width: 400, toolbar: '#action', align: "center"},
  110. ]],
  111. limits: [10, 15, 20, 25, 50, 100],
  112. limit: 15,
  113. page: true
  114. });
  115. //监听单元格编辑
  116. table.on('edit(list)', function(obj){
  117. var value = obj.value //得到修改后的值
  118. ,data = obj.data //得到所在行所有键值
  119. ,field = obj.field; //得到字段
  120. let da={
  121. id:data.id,
  122. field:field,
  123. value:value
  124. }
  125. // layer.msg('[ID: '+ data.id +'] ' + field + ' 字段更改为:'+ value);
  126. // console.log(da)
  127. $.post("{:url('update_user_money')}", da, function (res) {
  128. if (res.code ==200) {
  129. layer.msg(res.msg, {time: 1000, icon: 1});
  130. } else {
  131. tableIn.reload()
  132. layer.msg(res.msg, {time: 1000, icon: 2});
  133. }
  134. },"json");
  135. });
  136. table.on('tool(list)', function (obj) {
  137. var data = obj.data;
  138. if (obj.event === 'del') {
  139. layer.confirm('您确定要删除该账号吗', function (index) {
  140. loading = layer.load(1, {shade: [0.1, '#fff']});
  141. $.post("{:url('delete_user')}", {id: data.id}, function (res) {
  142. layer.close(loading);
  143. layer.close(index);
  144. if (res.code ==200) {
  145. layer.msg(res.msg, {time: 1000, icon: 1});
  146. obj.del();
  147. } else {
  148. layer.msg(res.msg, {time: 1000, icon: 2});
  149. }
  150. },"json");
  151. });
  152. }
  153. if (obj.event === 'tzlg') {
  154. // layer.confirm('您确定要删除该账号吗', function (index) {
  155. // loading = layer.load(1, {shade: [0.1, '#fff']});
  156. // $.post("{:url('delete_user')}", {id: data.id}, function (res) {
  157. // layer.close(loading);
  158. // layer.close(index);
  159. // if (res.code ==200) {
  160. // layer.msg(res.msg, {time: 1000, icon: 1});
  161. // obj.del();
  162. // } else {
  163. // layer.msg(res.msg, {time: 1000, icon: 2});
  164. // }
  165. // },"json");
  166. // });
  167. }
  168. // 弹出框
  169. if (obj.event === "vip_level") {
  170. user_id=data.id;
  171. vip_level=data.vip_level;
  172. $(".option-"+vip_level).attr("selected",true);
  173. redIndex = layer.open({
  174. type: 1,
  175. title: false,
  176. area: ['80%', ''], //宽高
  177. closeBtn: 0,
  178. shadeClose: false,
  179. skin: $(".yourclass"),
  180. content: $("#red"),
  181. });
  182. }
  183. });
  184. form.on('switch(status)', function (data) {
  185. // 修改状态
  186. loading = layer.load(1, {shade: [0.1, '#fff']});
  187. $.post("{:url('fenhao')}", {id: data.value}, function (res) {
  188. layer.close(loading);
  189. if (res.code == 200) {
  190. layer.msg(res.msg, {time: 1000, icon: 1});
  191. } else {
  192. layer.msg(res.msg, {time: 1000, icon: 2});
  193. }
  194. }, "json");
  195. });
  196. form.on('switch(is_admin)', function (data) {
  197. // 修改状态
  198. loading = layer.load(1, {shade: [0.1, '#fff']});
  199. $.post("{:url('is_admin')}", {id: data.value}, function (res) {
  200. layer.close(loading);
  201. if (res.code == 200) {
  202. layer.msg(res.msg, {time: 1000, icon: 1});
  203. } else {
  204. layer.msg(res.msg, {time: 1000, icon: 2});
  205. }
  206. }, "json");
  207. });
  208. $('#search').click(function () {
  209. var $keys = $('#keys').val();
  210. if (!$keys) {
  211. return layer.msg('请输入关键词');
  212. }
  213. tableIn.reload({page: {page: 1}, where: {keys: $keys}});
  214. })
  215. });
  216. // 取消
  217. function cancel() {
  218. $("#red").addClass("canel")
  219. layer.close(redIndex);
  220. }
  221. // 确定
  222. function sendRedpacket() {
  223. let vip_levels=$("#vip_levels").val()
  224. let loading = layer.load(1, {shade: [0.1, '#fff']});
  225. let data={
  226. id:user_id,
  227. level:vip_levels
  228. }
  229. $.post("{:url('update_leve')}", data, function (res) {
  230. layer.close(loading);
  231. layer.close(redIndex);
  232. if (res.code == 200) {
  233. window.location.reload()
  234. layer.msg(res.msg, {time: 1000, icon: 1});
  235. } else {
  236. layer.msg(res.msg, {time: 1000, icon: 2});
  237. }
  238. },"json");
  239. }
  240. </script>