index.html 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. {extend name="../../admin/view/table"}
  2. {block name="button"}
  3. <!--{if auth("black")}-->
  4. <button data-action='{:url("black")}' data-table-id="UserData" data-rule="openid#{openid};black#1" class='layui-btn layui-btn-sm layui-btn-primary'>拉入黑名单</button>
  5. <button data-action='{:url("black")}' data-table-id="UserData" data-rule="openid#{openid};black#0" class='layui-btn layui-btn-sm layui-btn-primary'>移出黑名单</button>
  6. <!--{/if}-->
  7. <!--{if auth("truncate")}-->
  8. <button data-load='{:url("truncate")}' data-confirm="确定要清空所有用户数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>清空用户数据</button>
  9. <!--{/if}-->
  10. <!--{if auth("sync")}-->
  11. <button data-queue='{:url("sync")}' data-table-id="UserData" data-confirm="确定要创建同步用户数据的后台任务?" class='layui-btn layui-btn-sm layui-btn-primary'>同步用户数据</button>
  12. <!--{/if}-->
  13. {/block}
  14. {block name="content"}
  15. <div class="think-box-shadow">
  16. {include file='fans/index_search'}
  17. <table id="UserData" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
  18. </div>
  19. {/block}
  20. {block name='script'}
  21. <script>
  22. $(function () {
  23. $('#UserData').layTable({
  24. even: true, height: 'full',
  25. sort: {field: 'subscribe_time', type: 'desc'},
  26. cols: [[
  27. {checkbox: true},
  28. {
  29. field: 'headimg', title: '头像', width: 65, align: "center", templet: function (d) {
  30. d.headimgurl = d.headimgurl || '';
  31. return d.headimgurl ? '<div class="headimg headimg-xs margin-0" data-tips-image data-tips-hover data-lazy-src="' + d.headimgurl + '" style="background-image:url(' + d.headimgurl + ')"></div>' : '';
  32. }
  33. },
  34. {field: 'nickname', title: '微信昵称', align: "center", minWidth: 100},
  35. {field: 'province', title: '所在区域', align: "center", minWidth: 120, templet: '<div>{{d.country}} {{d.province}} {{d.city}}</div>'},
  36. {field: 'sex', title: '性别', align: 'center', minWidth: 80, templet: '<div>{{d.sex==1 ? "男" : (d.sex==2 ? "女" : "未知")}}</div>'},
  37. {field: 'language', title: '使用语言', align: 'center', minWidth: 100, templet: '<div>{{d.language}}</div>'},
  38. {
  39. field: 'subscribe', title: '订阅状态', align: "center", templet: function (d) {
  40. if (d.subscribe > 0) return '<span class="layui-badge layui-bg-green">已订阅</span>';
  41. else return '<span class="layui-badge">未订阅</span>';
  42. }
  43. },
  44. {field: 'subscribe_time', title: '订阅时间', minWidth: 170, align: 'center', sort: true, templet: '<div>{{d.subscribe_at}}</div>'},
  45. {field: 'is_black', title: '是否黑名单', align: 'center', minWidth: 110, templet: '#StatusSwitchTpl'},
  46. {toolbar: '#toolbar', title: '操作面板', align: 'center', fixed: 'right'}
  47. ]]
  48. });
  49. // 数据状态切换操作
  50. layui.form.on('switch(StatusSwitch)', function (obj) {
  51. var data = {openid: obj.value, black: obj.elem.checked > 0 ? 1 : 0};
  52. $.form.load("{:url('black')}", data, 'post', function (ret) {
  53. if (ret.code < 1) $.msg.error(ret.info, 3, function () {
  54. $('#UserData').trigger('reload'); // 操作异常时重载数据
  55. });
  56. return false;
  57. }, false);
  58. });
  59. });
  60. </script>
  61. <!-- 数据状态切换模板 -->
  62. <script type="text/html" id="StatusSwitchTpl">
  63. <!--{if auth("black")}-->
  64. <input type="checkbox" value="{{d.openid}}" lay-skin="switch" lay-text="已拉黑|未拉黑" lay-filter="StatusSwitch" {{d.is_black>0?'checked':''}}>
  65. <!--{else}-->
  66. {{-d.status ? '<b class="color-red">已拉黑</b>' : '<b class="color-green">未拉黑</b>'}}
  67. <!--{/if}-->
  68. </script>
  69. <script type="text/html" id="toolbar">
  70. <!--{if auth("remove")}-->
  71. <a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-value="id#{{d.id}}" data-confirm="确定要删除该用户吗?">删 除</a>
  72. <!--{/if}-->
  73. </script>
  74. {/block}