fans.html 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. {include file="common/header"/}
  2. <style>
  3. /* 防止下拉框的下拉列表被隐藏---必须设置--- 此样式和表格的样式有冲突 如果表格列数太多 会出现错乱的情况 目前我的解决方法是忽略下拉框的美化渲染 <select lay-ignore> */
  4. .layui-table-cell {
  5. overflow: visible;
  6. }
  7. .layui-table-box {
  8. overflow: visible;
  9. }
  10. .layui-table-body {
  11. overflow: visible;
  12. }
  13. </style>
  14. <div class="LM-container">
  15. <div class="LM-main">
  16. <fieldset class="layui-elem-field layui-field-title">
  17. <legend>{:lang('fans')}{:lang('list')}</legend>
  18. <blockquote class="layui-elem-quote">
  19. <div class="LM-table">
  20. <form class="layui-form" action="">
  21. <div class="layui-input-inline">
  22. <select name="wx_aid" lay-filter="select" lay-verify="required" lay-search="">
  23. <option value="">直接选择或搜索选择</option>
  24. {volist name='wxAccount' id ='vo'}
  25. <option value="{$vo.id}" {if $vo.status==1 } selected {/if}>{$vo.wxname}</option>
  26. {/volist}
  27. </select>
  28. </div>
  29. <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-warm aysn">同步粉丝</a>
  30. <div class="layui-inline">
  31. <input type="text" id='keys' name="keys" lay-verify="required"
  32. placeholder="{:lang('pleaseEnter')}" autocomplete="off" class="layui-input">
  33. </div>
  34. <a href="javascript:;" class="layui-btn data-add-btn layui-btn-sm" lay-submit=""
  35. lay-filter="search" id="search">{:lang('search')}</a>
  36. </form>
  37. </div>
  38. </blockquote>
  39. </fieldset>
  40. <table class="layui-table" id="list" lay-filter="list"></table>
  41. </div>
  42. </div>
  43. <!--<script type="text/html" id="action">-->
  44. <!-- <a href="{:url('edit')}?id={{d.id}}" class="layui-btn layui-btn-xs" lay-event="edit">{:lang('edit')}</a>-->
  45. <!-- <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">{:lang('del')}</a>-->
  46. <!--</script>-->
  47. <script type="text/html" id="subscribe">
  48. <input type="checkbox" name="status" value="{{d.id}}" disabled lay-skin="switch" lay-text="开启|关闭" lay-filter="status" {{ d.status == 1 ? 'checked' : '' }}>
  49. </script>
  50. <script type="text/html" id="headimgurl">
  51. {{d.nickname}}<img src="/static/admin/images/image.gif" onmouseover="layer.tips('<img src={{d.headimgurl}}>',this,{tips: [1, '#fff']});" onmouseout="layer.closeAll();">
  52. </script>
  53. <script type="text/html" id="sex">
  54. {{# if(d.sex==1){ }}
  55. {{# }else if( d.sex==2){ }}
  56. {{# }else{ }}
  57. 保密
  58. {{# } }}
  59. </script>
  60. <script type="text/html" id="tag">
  61. <select name="tag" lay-filter="tagSelect" lay-verify="required" data-value="{{d.tag}}" >
  62. <option value=""></option>
  63. {{# layui.each(d.tag_list, function(index, item){ }}
  64. {{# if(d.tag==item.name){ }}
  65. <option value="{{item.name}}" title="{{d.fans_id}}" selected>{{item.name}}</option>
  66. {{# }else{ }}
  67. <option value="{{item.name}}" title="{{d.fans_id}}" >{{item.name}}</option>
  68. {{# } }}
  69. {{# }); }}
  70. </select>
  71. </script>
  72. <script type="text/html" id="create_time">
  73. {{layui.util.toDateString(d.subscribe_time*1000, 'yyyy-MM-dd HH:mm:ss')}}
  74. </script>
  75. <script type="text/html" id="update_time">
  76. {{# if(d.unsubscribe_time) { }}
  77. {{layui.util.toDateString(d.unsubscribe_time*1000, 'yyyy-MM-dd HH:mm:ss')}}
  78. {{# } }}
  79. </script>
  80. {include file="common/footer"/}
  81. <script>
  82. layui.use(['form', 'table'], function () {
  83. var $ = layui.jquery,
  84. form = layui.form,
  85. table = layui.table;
  86. var tableIn = table.render({
  87. elem: '#list',
  88. url: '{:url("fans")}',
  89. method: 'post',
  90. size: 'lg',
  91. cols: [[
  92. {checkbox: true, fixed: true},
  93. {field: 'fans_id', title: 'ID', width: 80, fixed: true, sort: true},
  94. {field: 'uid', title: '会员id', width: 80, fixed: true, sort: true},
  95. {field: 'nickname', title: '昵称', width: 180,sort: true},
  96. {field: 'headimgurl', title: '头像', width: 150,templet:'#headimgurl',sort: true},
  97. {field: 'sex', title: '性别', width: 120, templet:'#sex',sort: true},
  98. // {field: 'openid', title: 'openid', width: 120, sort: true},
  99. // {field: 'unionid', title: 'unionid', width: 120, sort: true},
  100. {field: 'groupid', title: '粉丝所在组id', width: 120,sort: true},
  101. {field: 'subscribe', title: '是否关注', width: 120,templet:'#subscribe',sort: true},
  102. {field: 'remark', title: '类型', width: 120, sort: true},
  103. {field: 'tag', title: '标签', width: 120,sort: true,templet:'#tag'},
  104. {field: 'subscribe_time', title: '订阅时间', width: 180,templet:'#create_time',sort: true},
  105. {field: 'unsubscribe_time', title: '解订阅时间', width: 180,templet:'#update_time',sort: true},
  106. // {title:'操作',width:150, toolbar: '#action',align:"center"},
  107. ]],
  108. done: function (res, curr, count) {
  109. form.render();
  110. },
  111. limits: [10, 15, 20, 25, 50, 100],
  112. limit: 15,
  113. page: true,
  114. });
  115. table.on('tool(list)', function(obj){
  116. var data = obj.data;
  117. if(obj.event === 'del'){
  118. layer.confirm('{:lang("Are you sure you want to delete it")}', function(index){
  119. loading =layer.load(1, {shade: [0.1,'#fff']});
  120. $.post("{:url('delete')}",{id:data.id},function(res){
  121. layer.close(loading);
  122. layer.close(index);
  123. if(res.code>0){
  124. layer.msg(res.msg,{time:1000,icon:1});
  125. obj.del();
  126. }else{
  127. layer.msg(res.msg,{time:1000,icon:2});
  128. }
  129. });
  130. });
  131. }
  132. });
  133. // 监听修改update到表格中
  134. form.on('select(tagSelect)', function (data) {
  135. // debugger;
  136. var indexGID = data.elem.selectedIndex;
  137. //获取当前选中下拉项的自定义属性值 title
  138. var id = data.elem[indexGID].title;
  139. $.post('{:url("fansTagGroup")}',{id:id,tag:data.value},function (res) {
  140. if(res.code>0){
  141. tableIn.reload({ page: {page: 1} });
  142. }
  143. });
  144. });
  145. form.on('select(select)', function(data) {
  146. var wx_aid = data.value;
  147. tableIn.reload({ page: {page: 1},where: {wx_aid: wx_aid}});
  148. })
  149. //同步
  150. $('.aysn').click(function () {
  151. var url = '{:url("fansAysn")}';
  152. var wx_aid = $("select[name='wx_aid']").val();
  153. loading =layer.load(1, {shade: [0.1,'#fff']});
  154. $.post(url,{'wx_aid':wx_aid},function (res) {
  155. layer.close(loading);
  156. if(res.code>0){
  157. layer.msg(res.msg)
  158. tableIn.reload();
  159. }else{
  160. return layer.msg(res.msg)
  161. }
  162. })
  163. })
  164. $('#search').click(function () {
  165. var $keys = $('#keys').val();
  166. if(!$keys){
  167. return layer.msg('请输入关键词');
  168. }
  169. tableIn.reload({ page: {page: 1},where: {keys: $keys}});
  170. })
  171. });
  172. </script>