index.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. {extend name="layout/content" /}
  2. {block name="header"}
  3. <!-- <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
  4. <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.css"> -->
  5. <link rel="stylesheet" href="__STATIC__/css/admin/bootstrap.min.css">
  6. <link rel="stylesheet" href="__STATIC__/css/bootstrap-table.min.css">
  7. <link rel="stylesheet" href="__STATIC__/lib/Viewer/css/viewer.min.css">
  8. <link rel="stylesheet" href="__STATIC__/css/FuzzySearch.css?v={$Think.STATIC_VERSION}">
  9. <title>(子账户)玩家注册归属(子账户)</title>
  10. <style>
  11. label {
  12. padding-top: 10px;
  13. margin-left: 10px;
  14. }
  15. .x-so {
  16. text-align: unset;
  17. margin-bottom: 20px;
  18. }
  19. section {
  20. margin-top: 10px;
  21. display: flex;
  22. }
  23. .hide {
  24. display: none;
  25. }
  26. th, tr {
  27. text-align: center;
  28. }
  29. .detail-view td {
  30. text-align: left;
  31. }
  32. .margin-top-10 {
  33. margin-top: 10px;
  34. }
  35. .table > tbody > tr > td,
  36. .table > tbody > tr > th,
  37. .table > tfoot > tr > td,
  38. .table > tfoot > tr > th,
  39. .table > thead > tr > td,
  40. .table > thead > tr > th {
  41. padding: 8px;
  42. line-height: 1.42857143;
  43. vertical-align: middle;
  44. border-top: 1px solid #ddd;
  45. }
  46. .showPassword {
  47. cursor: pointer;
  48. text-decoration: underline;
  49. }
  50. :hover .noLine {
  51. text-decoration-line: none;
  52. }
  53. .layui-inline {
  54. margin-top: 5px;
  55. }
  56. .check_photo + img {
  57. display: none;
  58. }
  59. </style>
  60. {/block}
  61. {block name="content"}
  62. <body>
  63. <div class="x-body">
  64. <blockquote class="layui-elem-quote" style="font-size: 13px;">查询数据为 nw_subaccount(子账户表)</blockquote>
  65. <form class="layui-form" id="submit-form" style="margin-bottom: 10px;">
  66. <div class="layui-inline">
  67. <label>游戏状态:</label>
  68. <div class="layui-input-inline">
  69. <select name="cooperation_status">
  70. <option value="">选择游戏状态</option>
  71. <option value="1" {if condition="$Request.get.cooperation_status eq '1' " }selected="selected" {/if}>已上线</option>
  72. <option value="2" {if condition="$Request.get.cooperation_status eq 2 " }selected="selected" {/if}>未上线</option>
  73. </select>
  74. </div>
  75. </div>
  76. <div class="layui-inline">
  77. <label>商务:</label>
  78. <div class="layui-input-inline layui-form">
  79. <select name="tg_business" lay-filter="tg_business" id="tg_business" lay-search>
  80. <option value="">请选择商务</option>
  81. </select>
  82. </div>
  83. <label>会长:</label>
  84. <div class="layui-input-inline">
  85. <select name="tg_president" lay-filter="tg_president" id="tg_president" lay-search>
  86. <option value="">请选择会长</option>
  87. </select>
  88. </div>
  89. <label>子会长:</label>
  90. <div class="layui-input-inline">
  91. <select name="tg_president_son" lay-filter="tg_president_son" id="tg_president_son" lay-search>
  92. <option value="">请选择子会长</option>
  93. </select>
  94. </div>
  95. <label>推广员:</label>
  96. <div class="layui-input-inline">
  97. <select name="tg_promoter" lay-filter="tg_promoter" id="tg_promoter" lay-search>
  98. <option value="">请选择推广员</option>
  99. </select>
  100. </div>
  101. <div class="layui-inline">
  102. <label>开始时间:</label>
  103. <div class="layui-input-inline">
  104. <input class="layui-input" placeholder="开始日" value="{$start_time}" name="start_time" id="start_time" autocomplete="off" readonly="readonly">
  105. </div>
  106. </div>
  107. <div class="layui-inline">
  108. <label>结束时间:</label>
  109. <div class="layui-input-inline">
  110. <input class="layui-input" placeholder="截止日" value="{$end_time}" name="end_time" id="end_time" autocomplete="off" readonly="readonly">
  111. </div>
  112. </div>
  113. </div>
  114. <div class="layui-inline">
  115. <div class="layui-inline">
  116. <label>关联游戏:</label>
  117. <div class="layui-input-inline FuzzySearch_Container">
  118. <div>
  119. <input type="hidden" id='gameid' name="sub_gameid" value="{$Request.get.sub_gameid}"/>
  120. </div>
  121. </div>
  122. </div>
  123. <!-- <div class="layui-inline"> -->
  124. <!-- <label>子账号ID:</label> -->
  125. <!-- <div class="layui-input-inline"> -->
  126. <!-- <input class="layui-input" placeholder="请输入子账户ID" name="sub_id" value="{$Request.get.id}"> -->
  127. <!-- </div> -->
  128. <!-- </div> -->
  129. <!-- <div class="layui-inline"> -->
  130. <!-- <label>子账号名:</label> -->
  131. <!-- <div class="layui-input-inline"> -->
  132. <!-- <input class="layui-input" placeholder="请输入子账户名" name="sub_username" value="{$Request.get.id}"> -->
  133. <!-- </div> -->
  134. <!-- </div> -->
  135. <div class="layui-inline">
  136. <label>注册昵称:</label>
  137. <div class="layui-input-inline">
  138. <input class="layui-input" placeholder="请输入注册昵称" name="m_nickname" value="{$Request.get.m_nickname}">
  139. </div>
  140. </div>
  141. <div class="layui-inline">
  142. <label>注册账号:</label>
  143. <div class="layui-input-inline">
  144. <input class="layui-input" placeholder="请输入注册账号" name="m_username" value="{$Request.get.m_username}">
  145. </div>
  146. </div>
  147. <div class="layui-inline">
  148. <label>账号状态:</label>
  149. <div class="layui-input-inline">
  150. <select name="sub_flag" style="">
  151. <option value="" {eq name="$Request.get.flag" value="" } selected {/eq} >- 请选择状态 -</option>
  152. <option value="0" {eq name="$Request.get.flag" value="0" } selected {/eq}>正常</option>
  153. <option value="1" {eq name="$Request.get.flag" value="1" } selected {/eq}>冻结</option>
  154. </select>
  155. </div>
  156. </div>
  157. <!-- 跳转用 -->
  158. <div class="layui-inline">
  159. <input type="hidden" name="page">
  160. </div>
  161. <div class="layui-inline">
  162. <button class="layui-btn mg_L" id="J_search_submit" lay-submit lay-filter="">查询</button>
  163. <a href="{:url()}" class="layui-btn layui-btn-primary">重置</a>
  164. <a class="layui-btn layui-btn-normal download" data-url="1" href="javascript:;">下载报表</a>
  165. <!-- <a class="layui-btn layui-btn-normal download" data-url="2" href="javascript:;">下载报表(高级)</a>-->
  166. <a href="{$jh_url}" class="layui-btn" target="_blank">查看聚合数据</a>
  167. </div>
  168. <!--<input type="text" name="complex_username" placeholder="请输入聚合账号" autocomplete="off" value="{$Request.get.complex_username}" class="layui-input mg_L">-->
  169. </div>
  170. <!--
  171. <p style="margin-top:10px;">
  172. <span style="color: red">*</span><a class="noLine" style="color: #666"> 单次查询日期的最长跨度为31天</a>
  173. </p>
  174. -->
  175. </form>
  176. <!-- <table class="layui-table"> data-toolbar="#toolbar"-->
  177. <table id="objTable" data-detail-view="true" data-detail-formatter="detailFormatter">
  178. <thead class="handleThead">
  179. <tr>
  180. <th><input type="checkbox" name="check_all" value="1"></th>
  181. <th>子账号ID</th>
  182. <th>主账号ID</th>
  183. <th>主账号名</th>
  184. <th>昵称</th>
  185. <th>游戏ID</th>
  186. <th>游戏名称</th>
  187. <th>累充金额</th>
  188. <th>账号状态</th>
  189. <th>是否实名</th>
  190. <th>推广员账号</th>
  191. <th>子会长</th>
  192. <th>公会账号</th>
  193. <th>商务账号</th>
  194. <th>注册时间</th>
  195. <th>最近登录时间</th>
  196. <th>操作</th>
  197. <th class="hide">imeil码</th>
  198. <th class="hide">累积充值次数</th>
  199. <th class="hide">角色名</th>
  200. <th class="hide">区服</th>
  201. <th class="hide">等级</th>
  202. <th class="hide">IP</th>
  203. </tr>
  204. </thead>
  205. <tbody id="viewer_wrap">
  206. {notempty name="list"} {volist name="list" id="vo"}
  207. <tr>
  208. <td><input type="checkbox" name="check_item" value="{$vo.id}"></td>
  209. <td>{$vo.id}</td>
  210. <td>{$vo.mid}</td>
  211. <td>{$vo.username}</td>
  212. <td>{$vo.nickname}</td>
  213. <td>{$vo.gameid}</td>
  214. <td>{$game_list[$vo.gameid]??''}</td>
  215. <td>{$vo.total_pay_amount}</td>
  216. <td class="account_status">
  217. {if condition="$vo['flag'] eq 0"}
  218. <span class="layui-btn layui-btn-radius layui-btn-normal">正常</span>
  219. {else}
  220. <span class="layui-btn layui-btn-radius layui-btn-danger">冻结</span>
  221. {/if}
  222. </td>
  223. <td class="account_status">
  224. {if condition="$vo['real_name'] neq ''"}
  225. <span class="layui-btn layui-btn-radius layui-btn-normal">是</span>
  226. {else}
  227. <span class="layui-btn layui-btn-radius layui-btn-danger">否</span>
  228. {/if}
  229. </td>
  230. <td>{$vo.channel_three_name}</td>
  231. <td>{$vo.channel_two_name}</td>
  232. <td>{$vo.channel_one_name}</td>
  233. <td>{$vo.channel_zero_name}</td>
  234. <td>{:date('Y-m-d H:i:s',$vo.create_time)}</td>
  235. <td>{if condition="$vo['login_time'] gt 0"}{:date('Y-m-d H:i:s',$vo.login_time)}{else}-{/if}</td>
  236. <td class="td-manage" style="text-align: left;">
  237. <!-- <a title="查看" href="{:url('Member/updatePassword',['id'=>$vo.mid])}"> -->
  238. <!-- <i class="layui-icon">&#xe63c;</i>修改密码 -->
  239. <!-- </a> -->
  240. <a href="javascript:;" onclick="sendFrozenRequest({$vo.id}, {$vo.flag===0 ? 1 : 2})">
  241. {if condition="$vo['flag'] eq 0"}
  242. <i class="layui-icon">&#xe640;</i><span>冻结账号</span>
  243. {else}
  244. <i class="layui-icon" style="color:#FF5722;">&#xe640;</i><span style="color:#FF5722;">解冻账号</span>
  245. {/if}
  246. </a>
  247. <!-- {if condition="$vo['real_name'] neq ''"} -->
  248. <!-- <a href="javascript:;" onclick="member_clear(this,'{:url(\'clearRealName\',[\'id\'=>$vo.mid])}')" -->
  249. <!-- title="清空实名"> -->
  250. <!-- <i class="layui-icon">&#xe640;</i> 清空实名 -->
  251. <!-- </a> -->
  252. <!-- {/if} -->
  253. </td>
  254. <td>{$vo.imeil}</td>
  255. <td>{$vo.total_pay_cnt}</td>
  256. <td>{$vo.rolename}</td>
  257. <td>{$vo.servername}</td>
  258. <td>{$vo.rolelevel}</td>
  259. <td>{$vo.ip}</td>
  260. </tr>
  261. {/volist}
  262. {else/}
  263. <tr>
  264. <td colspan="20" style="text-align: center;">暂无数据</td>
  265. </tr>
  266. {/notempty}
  267. </tbody>
  268. </table>
  269. <div class="demoTable margin-top-10">
  270. <button class="layui-btn layui-btn-danger" data-type="getCheckData" id="multi_frozen">批量冻结</button>
  271. <button class="layui-btn layui-btn-normal" data-type="getCheckData" id="multi_unfrozen">批量解冻</button>
  272. </div>
  273. <div class="pager-container margin-top-10">
  274. <span>
  275. {$total}条记录
  276. </span>
  277. {$page}
  278. <div class="layui-inline" style="margin:0;margin-left:10px;width:80px;">
  279. <input type="text" style="height: 30px;" class="layui-input" placeholder="跳转至" name="page_show"
  280. onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')">
  281. </div>
  282. </div>
  283. </div>
  284. </body>
  285. {/block} {block name="footer"}
  286. <script type="text/javascript" src="__STATIC__/js/admin/bootstrap.min.js"></script>
  287. <!-- <script type="text/javascript" src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.js"></script> -->
  288. <script type="text/javascript" src="__STATIC__/js/bootstrap-table.min.js"></script>
  289. <script type="text/javascript" src="__STATIC__/js/FuzzySearch.js?v={$Think.STATIC_VERSION}"></script>
  290. <script type="text/javascript" src="__STATIC__/lib/Viewer/js/viewer.min.js"></script>
  291. <script>
  292. $(document).ready(function() {
  293. $(".handleThead tr").find("th:eq(6)").hide()//隐藏表头
  294. $("#viewer_wrap tr").find("td:eq(6)").hide();//隐藏表头下面对应的子集
  295. })
  296. $("#gameid").FuzzySearch({
  297. inputID: 'gameid',
  298. title: '请输入游戏名称',
  299. data: {:json_encode($glist)},
  300. searchBtn:'J_search_submit'
  301. });
  302. var $table = $('#objTable');
  303. $table.bootstrapTable({});
  304. // $("#J_search_submit").on("mouseover",function () {
  305. // var page=$("input[name=page_show]").val();
  306. // if(page!=""){
  307. // $("input[name=page]").val(page);
  308. // }
  309. // })
  310. $("#J_search_submit").on("mouseover", function () {
  311. if ($("input[name=page_show]").val() !== "") {
  312. var page_show = $("input[name=page_show]").val();
  313. $("input[name=page]").val(page_show)
  314. }
  315. })
  316. $(document).keydown(function (event) {
  317. if (event.keyCode == 13) {
  318. if ($("input[name=page_show]").val() !== "") {
  319. var page_show = $("input[name=page_show]").val();
  320. $("input[name=page]").val(page_show)
  321. }
  322. $("#submit-form").submit()
  323. }
  324. });
  325. layui.use(['laydate', 'form'], function () {
  326. var laydate = layui.laydate;
  327. var form = layui.form;
  328. var starttime = laydate.render({
  329. elem: '#start_time',
  330. type: 'date',
  331. format: 'yyyy-MM-dd',
  332. done: function (value, dates) {
  333. endtime.config.min = {
  334. year: dates.year,
  335. month: dates.month - 1, //关键
  336. date: dates.date,
  337. hours: 0,
  338. minutes: 0,
  339. seconds: 0
  340. };
  341. }
  342. });
  343. var endtime = laydate.render({
  344. elem: '#end_time',
  345. type: 'date',
  346. format: 'yyyy-MM-dd',
  347. done: function (value, dates) {
  348. starttime.config.max = {
  349. year: dates.year,
  350. month: dates.month - 1, //关键
  351. date: dates.date,
  352. hours: 0,
  353. minutes: 0,
  354. seconds: 0
  355. }
  356. }
  357. });
  358. // // 页面渲染后,在加载渠道,提升速度
  359. // window.onload = function () {
  360. // $.getJSON("{:url('ajaxGetChannel')}", function (result) {
  361. // if (result.code) {
  362. // var html = '';
  363. //
  364. // for (var i in result.data) {
  365. // var item = result.data[i];
  366. // html += '<option value="' + item.id + '">' + item.name + '</option>';
  367. // }
  368. //
  369. // if (html) {
  370. // $("select[name='channel_id']").append(html);
  371. // form.render('select', 'channel');
  372. // }
  373. // }
  374. // });
  375. // };
  376. // ## 推广四级下拉 ##
  377. var businessType = getQueryVariable("tg_business"),
  378. president_type = getQueryVariable("tg_president"),
  379. president_type_son = getQueryVariable("tg_president_son"),
  380. promoter_type = getQueryVariable("tg_promoter");
  381. // 初始化下拉
  382. getChannelSelectData('sw', '', businessType);
  383. getChannelSelectData('hz', businessType, president_type);
  384. getChannelSelectData('zhz', president_type, president_type_son);
  385. getChannelSelectData('tgy', president_type_son, promoter_type);
  386. form.render('select');
  387. /**
  388. * 获取下拉数据
  389. * @param type sw=商务/hz=会长/zhz=子会长/tgy=推广员
  390. * @param pid 上级ID
  391. * @param select_id 选中ID
  392. */
  393. function getChannelSelectData(type = 'sw', pid = '', select_id = ''){
  394. $.ajax({
  395. type: "GET",
  396. url: '{:url("Channel/getSelectList")}',
  397. dataType: "json",
  398. async: false,
  399. data: {'type': type,'pid': pid},
  400. success: function (res) {
  401. var listData = res.data || [];
  402. var $select, defaultText;
  403. if (type === 'sw'){
  404. $select = $("#tg_business");
  405. defaultText = "请选择商务";
  406. }else if (type === 'hz'){
  407. $select = $("#tg_president");
  408. defaultText = "请选择会长";
  409. }else if (type === 'zhz'){
  410. $select = $("#tg_president_son");
  411. defaultText = "请选择子会长";
  412. }else if (type === 'tgy'){
  413. $select = $("#tg_promoter");
  414. defaultText = "请选择推广员";
  415. }
  416. if ($select) {
  417. var html = ["<option value=''>" + defaultText + "</option>"];
  418. $.each(listData, function (i, item) {
  419. var selected = (item.id == select_id) ? " selected" : "";
  420. html.push("<option value='" + item.id + "'" + selected + ">" + item.name + "</option>");
  421. });
  422. $select.html(html.join(''));
  423. }
  424. },
  425. });
  426. }
  427. // 获取指定URL的参数值
  428. function getQueryVariable(name) {
  429. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  430. var r = window.location.search.substr(1).match(reg);
  431. if (r != null) return unescape(r[2]);
  432. return null;
  433. }
  434. form.on('select(tg_business)', function (data) {
  435. if (data.value > 0){
  436. getChannelSelectData('hz', data.value, businessType);
  437. }else{
  438. getChannelSelectData('hz');
  439. getChannelSelectData('zhz');
  440. getChannelSelectData('tgy');
  441. }
  442. form.render('select');
  443. });
  444. form.on('select(tg_president)', function (data) {
  445. if (data.value > 0){
  446. getChannelSelectData('zhz', data.value, president_type);
  447. }else{
  448. getChannelSelectData('zhz');
  449. }
  450. form.render('select');
  451. });
  452. form.on('select(tg_president_son)', function (data) {
  453. if (data.value > 0){
  454. getChannelSelectData('tgy', data.value, promoter_type);
  455. }else{
  456. getChannelSelectData('tgy');
  457. }
  458. form.render('select');
  459. });
  460. });
  461. /**
  462. * 下载
  463. */
  464. $('.download').on('click', function (event) {
  465. var start_time = $('#start_time').val();
  466. var end_time = $('#end_time').val();
  467. /*
  468. if (!end_time || !start_time) {
  469. layer.msg('请选择开始时间和结束时间');
  470. return;
  471. }*/
  472. /*
  473. if ((CompareDate(start_time, end_time)) > 7) {
  474. layer.msg('请选择7天以内的时间范围');
  475. return;
  476. }*/
  477. var url = $(this).data('url');
  478. var urlData = '';
  479. if (url == 1) {
  480. urlData = "{:url('downloadSub')}";
  481. // } else if (url == 2) {
  482. // urlData = "{:url('registDowmExcel')}";
  483. } else {
  484. layer.msg('参数错误!');
  485. return;
  486. }
  487. $.ajax({
  488. type: "post",
  489. url: urlData,
  490. async: false,
  491. data: $('.layui-form').serialize(),
  492. dataType: 'json',
  493. timeout: 5000,
  494. success: function (data) {
  495. if (data['code']) {
  496. layer.alert(data['msg']);
  497. } else {
  498. layer.alert(data['msg']);
  499. }
  500. },
  501. error: function () {
  502. layer.alert('网络错误,请重试');
  503. },
  504. });
  505. });
  506. var inputs = document.querySelectorAll('input[type=checkbox]');
  507. // 【全选】
  508. function checkAll() {
  509. var num = 0;
  510. for (var i = 1; i < inputs.length; i++) {
  511. // 如果当前选框被选中,那么个数+1
  512. if (inputs[i].checked == true) {
  513. num++;
  514. }
  515. }
  516. inputs[0].checked = (checked === inputs.length - 1);
  517. }
  518. // 对【全选】input做监听 更改全选/非全选状态和文字
  519. inputs[0].onclick = function () {
  520. for (var i = 1; i < inputs.length; i++) {
  521. // 将全选框的状态赋给每一个选项框
  522. inputs[i].checked = this.checked;
  523. }
  524. // 改状态
  525. checkAll();
  526. };
  527. // 对每一个input做监听事件
  528. for (var i = 1; i < inputs.length; i++) {
  529. inputs[i].onclick = function () {
  530. // 改状态
  531. checkAll();
  532. }
  533. }
  534. /**
  535. * 发送冻结/解冻请求并处理结果
  536. * @param flag 类型(2=解冻、1=冻结)
  537. * @param data 请求参数
  538. */
  539. function sendFrozenRequest(ids, flag) {
  540. layer.prompt({
  541. formType: 2,
  542. value: '',
  543. title: '请输入值“备注”(非必填)',
  544. // area: ['800px', '350px'] //自定义文本域宽高
  545. yes:function(index,layero){
  546. var value = layero.find('.layui-layer-input').val() || "";
  547. console.log("# flag="+flag+", ids="+ids+", msg="+value)
  548. layer.close(index);
  549. $.getJSON("{:url('subaccountFrozenHandle')}", {ids:ids, flag:flag, remark:value}, function (result) {
  550. if (result.code) { // 成功
  551. layer.msg(result.msg, {
  552. icon: 1,
  553. time: 1000,
  554. shade: 0.4
  555. }, function () {
  556. if (result.url) {
  557. location.href = result.url;
  558. } else {
  559. window.location.reload();
  560. }
  561. });
  562. } else { // 失败
  563. layer.msg(result.msg, {
  564. icon: 2,
  565. time: 1000,
  566. shade: 0.4
  567. });
  568. }
  569. });
  570. }
  571. });
  572. }
  573. // 批量解冻
  574. $('#multi_unfrozen').on('click', function () {
  575. var ids = getCheckedId();
  576. if (!ids) {
  577. layer.msg('请先选择账号');
  578. return false;
  579. }
  580. sendFrozenRequest(ids, 2);
  581. });
  582. // 批量冻结
  583. $('#multi_frozen').on('click', function () {
  584. var ids = getCheckedId();
  585. if (!ids) {
  586. layer.msg('请先选择账号');
  587. return false;
  588. }
  589. sendFrozenRequest(ids, 1);
  590. });
  591. /**
  592. * 获取选中id
  593. * @returns {string}
  594. */
  595. function getCheckedId() {
  596. var ids = '';
  597. var tbody = document.querySelector('#viewer_wrap');
  598. if (!tbody) return ids;
  599. var items = tbody.querySelectorAll('input[type=checkbox][name=check_item]');
  600. for (var i = 0; i < items.length; i++) {
  601. if (items[i].checked) {
  602. ids ? ids += ',' : '';
  603. ids += items[i].value;
  604. }
  605. }
  606. return ids;
  607. }
  608. function detailFormatter(index, row) {
  609. // console.log(row);
  610. var html = [];
  611. var obj = {
  612. 0: "", //checkbox要算入
  613. 1: "用户ID",
  614. 2: "注册账号",
  615. 3: "用户昵称",
  616. 4: "头像",
  617. 5: "游戏名称",
  618. 6: "累充金额",
  619. 7: "账号状态",
  620. 8: "推广员账号",
  621. 9: "公会账号",
  622. 10: '商务账号',
  623. 11: "注册时间",
  624. 12: "最近登录时间",
  625. 13: "操作",
  626. 14: "imeil码",
  627. 15: "累积充值次数",
  628. 16: "角色名",
  629. 17: "区服",
  630. 18: "等级",
  631. 19: "IP"
  632. }
  633. $.each(row, function (key, value) {
  634. if (key == 14 || key == 15 || key == 16 || key == 17 || key == 18 || key == 19) {
  635. html.push('<p><b>' + obj[key] + ':</b> ' + value + '</p>');
  636. } else {
  637. html.push('<p class="hide"><b>' + obj[key] + ':</b> ' + value + '</p>');
  638. }
  639. });
  640. console.log(html)
  641. return html.join('');
  642. }
  643. // 查看明文 -- 已不用
  644. $(".showPassword").click(function (event) {
  645. var id = $(this).data('id');
  646. var _that = $(this);
  647. $.ajax({
  648. type: "post",
  649. url: "{:url('indexPassword')}",
  650. /*async: false,*/
  651. data: {'id': id},
  652. dataType: 'json',
  653. /*timeout: 5000,*/
  654. success: function (data) {
  655. if (data['code']) {
  656. _that.text(data['data']);
  657. } else {
  658. layer.alert(data['msg']);
  659. }
  660. },
  661. error: function () {
  662. layer.alert('网络错误,请重试');
  663. },
  664. });
  665. })
  666. var viewer = new Viewer(document.getElementById('viewer_wrap'), {
  667. url: 'data-original'
  668. });
  669. $(document).ready(function () {
  670. $(".check_photo").on("click", function () {
  671. $(this).siblings().click()
  672. })
  673. });
  674. </script>
  675. {/block}