index.php 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. {extend name="public/container"}
  2. {block name="head_top"}
  3. <script src="{__PLUG_PATH}city.js"></script>
  4. <style>
  5. .layui-btn-xs{margin-left: 0px !important;}
  6. legend{
  7. width: auto;
  8. border: none;
  9. font-weight: 700 !important;
  10. }
  11. .site-demo-button{
  12. padding-bottom: 20px;
  13. padding-left: 10px;
  14. }
  15. .layui-form-label{
  16. width: auto;
  17. }
  18. .layui-input-block input{
  19. width: 50%;
  20. height: 34px;
  21. }
  22. .layui-form-item{
  23. margin-bottom: 0;
  24. }
  25. .layui-input-block .time-w{
  26. width: 200px;
  27. }
  28. .layui-table-body{overflow-x: hidden;}
  29. .layui-btn-group button i{
  30. line-height: 30px;
  31. margin-right: 3px;
  32. vertical-align: bottom;
  33. }
  34. .back-f8{
  35. background-color: #F8F8F8;
  36. }
  37. .layui-input-block button{
  38. border: 1px solid #e5e5e5;
  39. }
  40. .avatar{width: 50px;height: 50px;}
  41. .layui-table-body{
  42. overflow-x: unset;
  43. }
  44. </style>
  45. {/block}
  46. {block name="content"}
  47. <div class="row">
  48. <div class="col-sm-12">
  49. <div class="ibox float-e-margins">
  50. <div class="ibox-title">
  51. <h5>会员搜索</h5>
  52. <div class="ibox-tools">
  53. <a class="collapse-link">
  54. <i class="fa fa-chevron-up"></i>
  55. </a>
  56. </div>
  57. </div>
  58. <div class="ibox-content" style="display: block;">
  59. <!-- <div class="alert alert-success alert-dismissable">-->
  60. <!-- <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>-->
  61. <!-- 目前拥有{$count_user}个会员-->
  62. <!-- </div>-->
  63. <form class="layui-form">
  64. <div class="layui-form-item">
  65. <div class="layui-inline">
  66. <label class="layui-form-label">姓名编号:</label>
  67. <div class="layui-input-inline">
  68. <input type="text" name="nickname" id="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
  69. </div>
  70. </div>
  71. <div class="layui-inline">
  72. <label class="layui-form-label">用户类型:</label>
  73. <div class="layui-input-inline">
  74. <select name="user_type" lay-verify="user_type">
  75. <option value="">全部</option>
  76. <option value="wechat">微信公众号</option>
  77. <option value="routine">微信小程序</option>
  78. <option value="h5">H5</option>
  79. </select>
  80. </div>
  81. </div>
  82. <div class="layui-inline">
  83. <label class="layui-form-label">状  态:</label>
  84. <div class="layui-input-inline">
  85. <select name="status" lay-verify="status">
  86. <option value="">全部</option>
  87. <option value="1">正常</option>
  88. <option value="0">锁定</option>
  89. </select>
  90. </div>
  91. </div>
  92. <div class="layui-inline">
  93. <label class="layui-form-label">性  别:</label>
  94. <div class="layui-input-inline">
  95. <select name="sex" lay-verify="sex">
  96. <option value="">全部</option>
  97. <option value="1">男</option>
  98. <option value="2">女</option>
  99. <option value="0">保密</option>
  100. </select>
  101. </div>
  102. </div>
  103. <div class="layui-inline">
  104. <label class="layui-form-label">身  份:</label>
  105. <div class="layui-input-inline">
  106. <select name="is_promoter" lay-verify="is_promoter">
  107. <option value="">全部</option>
  108. <option value="1">推广员</option>
  109. <option value="0">普通用户</option>
  110. </select>
  111. </div>
  112. </div>
  113. <div class="layui-inline">
  114. <label class="layui-form-label">会员等级:</label>
  115. <div class="layui-input-inline">
  116. <select name="level" lay-verify="level" lay-filter='level' id="level">
  117. <option value="" id="level-top">全部</option>
  118. </select>
  119. </div>
  120. </div>
  121. <div class="layui-inline">
  122. <label class="layui-form-label">会员分组:</label>
  123. <div class="layui-input-inline">
  124. <select name="group_id" lay-verify="group" lay-filter='group' id="group">
  125. <option value="" id="group-top">全部</option>
  126. </select>
  127. </div>
  128. </div>
  129. <div class="layui-inline">
  130. <label class="layui-form-label">国  家:</label>
  131. <div class="layui-input-inline">
  132. <select name="country" lay-verify="country" lay-filter='country'>
  133. <option value="" selected="selected">请选择国家</option>
  134. <option value="domestic">中国</option>
  135. <option value="abroad">外国</option>
  136. </select>
  137. </div>
  138. </div>
  139. <div class="layui-inline" id="province-div">
  140. <label class="layui-form-label">省  份:</label>
  141. <div class="layui-input-inline">
  142. <select name="province" lay-verify="province" lay-filter='province' id="province">
  143. <option value="" id="province-top">请选择省</option>
  144. </select>
  145. </div>
  146. </div>
  147. <div class="layui-inline" id="city-div">
  148. <label class="layui-form-label">市  区:</label>
  149. <div class="layui-input-inline">
  150. <select name="city" lay-verify="city" lay-filter='city' id="city">
  151. <option value="" id="city-top">请选择市</option>
  152. </select>
  153. </div>
  154. </div>
  155. </div>
  156. <div class="layui-form-item">
  157. <div class="layui-inline">
  158. <label class="layui-form-label">消费情况:</label>
  159. <div class="layui-input-inline">
  160. <select name="pay_count" lay-verify="pay_count">
  161. <option value="">全部</option>
  162. <option value="-1">0</option>
  163. <option value="0">1+</option>
  164. <option value="1">2+</option>
  165. <option value="2">3+</option>
  166. <option value="3">4+</option>
  167. <option value="4">5+</option>
  168. </select>
  169. </div>
  170. </div>
  171. <div class="layui-inline">
  172. <label class="layui-form-label">访问情况:</label>
  173. <div class="layui-input-inline">
  174. <select name="user_time_type" lay-verify="user_time_type">
  175. <option value="">全部</option>
  176. <option value="visitno">时间段未访问</option>
  177. <option value="visit">时间段访问过</option>
  178. <option value="add_time">首次访问</option>
  179. </select>
  180. </div>
  181. </div>
  182. <div class="layui-inline">
  183. <label class="layui-form-label">选择时间:</label>
  184. <div class="layui-input-inline">
  185. <input type="text" class="layui-input time-w" name="user_time" lay-verify="user_time" id="user_time" placeholder=" - ">
  186. </div>
  187. </div>
  188. </div>
  189. <div class="layui-col-lg12" id="app1">
  190. <button @click="excel" type="button"
  191. class="layui-btn layui-btn-warm layui-btn-sm export" type="button">
  192. <i class="fa fa-floppy-o" style="margin-right: 3px;"></i>导出
  193. </button>
  194. </div>
  195. <div class="layui-form-item">
  196. <label class="layui-form-label">
  197. <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
  198. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索</button>
  199. </label>
  200. </div>
  201. </form>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. <div class="row">
  207. <div class="col-sm-12">
  208. <div class="ibox">
  209. <div class="ibox-content">
  210. <div class="table-responsive">
  211. <div class="layui-btn-group conrelTable">
  212. <!-- <button class="layui-btn layui-btn-sm layui-btn-danger" type="button" data-type="set_status_f"><i class="fa fa-ban"></i>封禁</button>-->
  213. <!-- <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_status_j"><i class="fa fa-check-circle-o"></i>解封</button>-->
  214. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_grant"><i class="fa fa-check-circle-o"></i>发送优惠券</button>
  215. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_custom"><i class="fa fa-check-circle-o"></i>发送客服图文消息</button>
  216. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_group"><i class="fa fa-check-circle-o" ></i>批量设置分组</button>
  217. <!-- <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_template"><i class="fa fa-check-circle-o"></i>发送模板消息</button>-->
  218. <!-- <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_info"><i class="fa fa-check-circle-o"></i>发送站内消息</button>-->
  219. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="refresh"><i class="layui-icon layui-icon-refresh" ></i>刷新</button>
  220. </div>
  221. <table class="layui-hide" id="userList" lay-filter="userList"></table>
  222. <script type="text/html" id="nickname">
  223. {{d.nickname}}
  224. </script>
  225. <script type="text/html" id="vip">
  226. {{# if(d.vip_name){ }}
  227. <p style="color:#dab176">{{d.vip_name}}</p>
  228. {{# } else{ }}
  229. 普通会员
  230. {{# } }}
  231. </script>
  232. <script type="text/html" id="effective">
  233. {{# if(d.effective == 1){ }}
  234. 有效
  235. {{# } else if(d.effective == 0) { }}
  236. 无效
  237. {{# } }}
  238. </script>
  239. <script type="text/html" id="is_merchant">
  240. {{# if(d.is_merchant == 1){ }}
  241. 是
  242. {{# } else if(d.is_merchant == 0) { }}
  243. 否
  244. {{# } }}
  245. </script>
  246. <script type="text/html" id="flowing_water">
  247. {{d.flowing_water}}%
  248. </script>
  249. <script type="text/html" id="data_time">
  250. <p>最近:{{d.last_time}}</p>
  251. </script>
  252. <script type="text/html" id="checkboxstatus">
  253. <input type='checkbox' name='status' lay-skin='switch' value="{{d.uid}}" lay-filter='status' lay-text='正常|禁止' {{ d.status == 1 ? 'checked' : '' }}>
  254. </script>
  255. <script type="text/html" id="barDemo">
  256. <button type="button" class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</button>
  257. <button type="button" class="layui-btn layui-btn-xs" onclick="dropdown(this)">操作 <span class="caret"></span></button>
  258. <ul class="layui-nav-child layui-anim layui-anim-upbit">
  259. <li>
  260. <a href="javascript:void(0);" lay-event="money">
  261. <i class="layui-icon layui-icon-edit"></i> 余额积分</a>
  262. </li>
  263. <li>
  264. <a href="javascript:void(0);" lay-event="see">
  265. <i class="layui-icon layui-icon-edit"></i> 会员详情</a>
  266. </li>
  267. <li>
  268. <a href="javascript:void(0);" lay-event="income">
  269. <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 收入支出</a>
  270. </li>
  271. <li>
  272. <a href="javascript:void(0);" lay-event="give_level">
  273. <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>
  274. </li>
  275. <li>
  276. <a href="javascript:void(0);" lay-event="set_group">
  277. <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 设置分组</a>
  278. </li>
  279. {{# if(d.vip_name){ }}
  280. <li>
  281. <a href="javascript:void(0);" lay-event="del_level">
  282. <i class="layui-icon layui-icon-close-fill" aria-hidden="true"></i> 清除等级</a>
  283. </li>
  284. {{# } }}
  285. </ul>
  286. </script>
  287. </div>
  288. </div>
  289. </div>
  290. </div>
  291. </div>
  292. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  293. <script src="{__FRAME_PATH}js/content.min.js?v=1.0.0"></script>
  294. {/block}
  295. {block name="script"}
  296. <script>
  297. var level=<?=$level?>;
  298. var group=<?=$group?>;
  299. $('#province-div').hide();
  300. $('#city-div').hide();
  301. layList.select('country',function (odj,value,name) {
  302. var html = '';
  303. $.each(city,function (index,item) {
  304. html += '<option value="'+item.label+'">'+item.label+'</option>';
  305. })
  306. if(odj.value == 'domestic'){
  307. $('#province-div').show();
  308. $('#city-div').show();
  309. $('#province-top').siblings().remove();
  310. $('#province-top').after(html);
  311. $('#province').val('');
  312. layList.form.render('select');
  313. }else{
  314. $('#province-div').hide();
  315. $('#city-div').hide();
  316. }
  317. $('#province').val('');
  318. $('#city').val('');
  319. });
  320. layList.select('province',function (odj,value,name) {
  321. var html = '';
  322. $.each(city,function (index,item) {
  323. if(item.label == odj.value){
  324. $.each(item.children,function (indexe,iteme) {
  325. html += '<option value="'+iteme.label+'">'+iteme.label+'</option>';
  326. })
  327. $('#city').val('');
  328. $('#city-top').siblings().remove();
  329. $('#city-top').after(html);
  330. layList.form.render('select');
  331. }
  332. })
  333. });
  334. layList.form.render();
  335. layList.tableList('userList',"{:Url('get_user_list')}",function () {
  336. return [
  337. {type:'checkbox'},
  338. {field: 'uid', title: '编号',event:'uid',width:'4%',align:'center'},
  339. // {field: 'avatar', title: '头像', event:'open_image', width: '6%',align:'center', templet: '<p lay-event="open_image"><img class="avatar" style="cursor: pointer" class="open_image" data-image="{{d.avatar}}" src="{{d.avatar}}" alt="{{d.nickname}}"></p>'},
  340. {field: 'nickname', title: '姓名',templet:'#nickname',align:'center'},
  341. {field: 'vip', title: '姓名',templet:'#vip',align:'center'},
  342. {field: 'phone', title: '手机号',align:'center',width:'8%'},
  343. {field: 'now_money', title: '余额',sort:true,event:'now_money',align:'center'},
  344. {field: 'pay_count', title: '购买次数',align:'center'},
  345. {field: 'extract_count_price', title: '累计提现',align:'center'},
  346. {field: 'integral', title: '商城积分',sort:true,event:'integral',align:'center'},
  347. {field: 'white_integral', title: '红积分',sort:true,event:'white_integral',align:'center'},
  348. {field: 'purple_integral', title: '阳光积分',sort:true,event:'purple_integral',align:'center'},
  349. // {field: 'green_integral', title: '吉祥积分',sort:true,event:'green_integral',align:'center'},
  350. // {field: 'business_integral', title: '喜嗨积分',sort:true,event:'business_integral',align:'center'},
  351. // {field: 'paper_ticket', title: '文票',sort:true,event:'paper_ticket',align:'center'},
  352. {field: 'spread_uid_nickname', title: '推荐人',align:'center'},
  353. // {field: 'sex', title: '性别',width:'4%',align:'center'},
  354. {field: 'data_time', title: '访问日期',align:'center',width:'12%',templet:'#data_time'},
  355. // {field: 'status', title: '状态',templet:"#checkboxstatus",width:'6%',align:'center'},
  356. {field: 'effective', title: '账户状态',templet:"#effective",align:'center'},
  357. {field: 'is_merchant', title: '商家状态',templet:"#is_merchant",align:'center'},
  358. {field: 'flowing_water', title: '流水分红',align:'center',templet:"#flowing_water"},
  359. // {field: 'user_type', title: '用户类型',width:'6%',align:'center'},
  360. {field: 'operate', title: '操作', width: '10%', align: 'center', toolbar: '#barDemo'}
  361. ];
  362. });
  363. //页面刷新时加载
  364. layui.use('layer',function(){
  365. var layer = layui.layer;
  366. layer.ready(function(){
  367. var html = '';
  368. $.each(level,function (index,item) {
  369. html += '<option value="'+item.id+'">'+item.name+'</option>';
  370. })
  371. $('#level-top').val('');
  372. $('#level-top').siblings().remove();
  373. $('#level-top').after(html);
  374. layList.form.render('select');
  375. var htmls = '';
  376. $.each(group,function (index,item) {
  377. htmls += '<option value="'+item.id+'">'+item.group_name+'</option>';
  378. })
  379. $('#group-top').val('');
  380. $('#group-top').siblings().remove();
  381. $('#group-top').after(htmls);
  382. layList.form.render('select');
  383. });
  384. });
  385. layList.date('last_time');
  386. layList.date('add_time');
  387. layList.date('user_time');
  388. layList.date('time');
  389. //监听并执行 uid 的排序
  390. layList.sort(function (obj) {
  391. var layEvent = obj.field;
  392. var type = obj.type;
  393. switch (layEvent){
  394. case 'uid':
  395. layList.reload({order: layList.order(type,'u.uid')},true,null,obj);
  396. break;
  397. case 'now_money':
  398. layList.reload({order: layList.order(type,'u.now_money')},true,null,obj);
  399. break;
  400. case 'integral':
  401. layList.reload({order: layList.order(type,'u.integral')},true,null,obj);
  402. break;
  403. }
  404. });
  405. //监听并执行 uid 的排序
  406. layList.tool(function (event,data,obj) {
  407. var layEvent = event;
  408. switch (layEvent){
  409. case 'edit':
  410. $eb.createModalFrame('编辑',layList.Url({a:'edit',p:{uid:data.uid}}));
  411. break;
  412. case 'see':
  413. $eb.createModalFrame(data.nickname+'-会员详情',layList.Url({a:'see',p:{uid:data.uid}}));
  414. break;
  415. case 'del_level':
  416. $eb.$swal('delete',function(){
  417. $eb.axios.get(layList.U({a:'del_level',q:{uid:data.uid}})).then(function(res){
  418. if(res.status == 200 && res.data.code == 200) {
  419. $eb.$swal('success',res.data.msg);
  420. obj.update({vip_name:false});
  421. layList.reload();
  422. }else
  423. return Promise.reject(res.data.msg || '删除失败')
  424. }).catch(function(err){
  425. $eb.$swal('error',err);
  426. });
  427. },{
  428. title:'您确定要清除【'+data.nickname+'】的会员等级吗?',
  429. text:'清除后无法恢复请谨慎操作',
  430. confirm:'是的我要清除'
  431. })
  432. break;
  433. case 'give_level':
  434. $eb.createModalFrame(data.nickname+'-赠送会员',layList.Url({a:'give_level',p:{uid:data.uid}}),{w:500,h:300});
  435. break;
  436. case 'set_group':
  437. $eb.createModalFrame(data.nickname+'-设置分组',layList.Url({a:'set_group',p:{uid:data.uid}}),{w:500,h:300});
  438. break;
  439. case 'money':
  440. $eb.createModalFrame(data.nickname+'-积分余额修改',layList.Url({a:'edit_other',p:{uid:data.uid}}));
  441. break;
  442. case 'income':
  443. $eb.createModalFrame(data.nickname+'-收入支出',layList.Url({a:'income',p:{uid:data.uid}}),{w:750,h:750});
  444. break;
  445. case 'open_image':
  446. $eb.openImage(data.avatar);
  447. break;
  448. }
  449. });
  450. //layList.sort('uid');
  451. //监听并执行 now_money 的排序
  452. // layList.sort('now_money');
  453. //监听 checkbox 的状态
  454. layList.switch('status',function (odj,value,name) {
  455. if(odj.elem.checked==true){
  456. layList.baseGet(layList.Url({a:'set_status',p:{status:1,uid:value}}),function (res) {
  457. layList.msg(res.msg);
  458. });
  459. }else{
  460. layList.baseGet(layList.Url({a:'set_status',p:{status:0,uid:value}}),function (res) {
  461. layList.msg(res.msg);
  462. });
  463. }
  464. });
  465. layList.search('search',function(where){
  466. if(where['user_time_type'] != '' && where['user_time'] == '') return layList.msg('请选择选择时间');
  467. if(where['user_time_type'] == '' && where['user_time'] != '') return layList.msg('请选择访问情况');
  468. layList.reload(where,true);
  469. });
  470. var action={
  471. set_status_f:function () {
  472. var ids=layList.getCheckData().getIds('uid');
  473. if(ids.length){
  474. layList.basePost(layList.Url({a:'set_status',p:{is_echo:1,status:0}}),{uids:ids},function (res) {
  475. layList.msg(res.msg);
  476. layList.reload();
  477. });
  478. }else{
  479. layList.msg('请选择要封禁的会员');
  480. }
  481. },
  482. set_status_j:function () {
  483. var ids=layList.getCheckData().getIds('uid');
  484. if(ids.length){
  485. layList.basePost(layList.Url({a:'set_status',p:{is_echo:1,status:1}}),{uids:ids},function (res) {
  486. layList.msg(res.msg);
  487. layList.reload();
  488. });
  489. }else{
  490. layList.msg('请选择要解封的会员');
  491. }
  492. },
  493. set_grant:function () {
  494. var ids=layList.getCheckData().getIds('uid');
  495. if(ids.length){
  496. var str = ids.join(',');
  497. $eb.createModalFrame('发送优惠券',layList.Url({c:'ump.store_coupon',a:'grant',p:{id:str}}),{'w':800});
  498. }else{
  499. layList.msg('请选择要发送优惠券的会员');
  500. }
  501. },
  502. set_template:function () {
  503. var ids=layList.getCheckData().getIds('uid');
  504. if(ids.length){
  505. var str = ids.join(',');
  506. }else{
  507. layList.msg('请选择要发送模板消息的会员');
  508. }
  509. },
  510. set_info:function () {
  511. var ids=layList.getCheckData().getIds('uid');
  512. if(ids.length){
  513. var str = ids.join(',');
  514. $eb.createModalFrame('发送站内信息',layList.Url({c:'user.user_notice',a:'notice',p:{id:str}}),{'w':1200});
  515. }else{
  516. layList.msg('请选择要发送站内信息的会员');
  517. }
  518. },
  519. set_custom:function () {
  520. var ids=layList.getCheckData().getIds('uid');
  521. if(ids.length){
  522. var str = ids.join(',');
  523. $eb.createModalFrame('发送客服图文消息',layList.Url({c:'wechat.wechat_news_category',a:'send_news',p:{id:str,type:1}}),{'w':1200});
  524. }else{
  525. layList.msg('请选择要发送客服图文消息的会员');
  526. }
  527. },
  528. set_group:function () {
  529. var ids=layList.getCheckData().getIds('uid');
  530. if(ids.length){
  531. var str = ids.join(',');
  532. $eb.createModalFrame('批量设置分组',layList.Url({a:'set_group',p:{uid:str}}),{w:500,h:300});
  533. }else{
  534. layList.msg('请选择要批量设置分组的会员');
  535. }
  536. },
  537. refresh:function () {
  538. layList.reload();
  539. }
  540. };
  541. $('.conrelTable').find('button').each(function () {
  542. var type=$(this).data('type');
  543. $(this).on('click',function () {
  544. action[type] && action[type]();
  545. })
  546. })
  547. $(document).on('click',".open_image",function (e) {
  548. var image = $(this).data('image');
  549. $eb.openImage(image);
  550. })
  551. //下拉框
  552. $(document).click(function (e) {
  553. $('.layui-nav-child').hide();
  554. })
  555. function dropdown(that){
  556. var oEvent = arguments.callee.caller.arguments[0] || event;
  557. oEvent.stopPropagation();
  558. var offset = $(that).offset();
  559. var top=offset.top-$(window).scrollTop();
  560. var index = $(that).parents('tr').data('index');
  561. $('.layui-nav-child').each(function (key) {
  562. if (key != index) {
  563. $(this).hide();
  564. }
  565. })
  566. if($(document).height() < top+$(that).next('ul').height()){
  567. $(that).next('ul').css({
  568. 'padding': 10,
  569. 'top': - ($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height()/2),
  570. 'left':offset.left-$(that).parents('td').offset().left-20,
  571. 'min-width': 'inherit',
  572. 'position': 'absolute'
  573. }).toggle();
  574. }else{
  575. $(that).next('ul').css({
  576. 'padding': 10,
  577. 'top':$(that).parent('td').height() / 2 + $(that).height(),
  578. 'left':offset.left-$(that).parents('td').offset().left-20,
  579. 'min-width': 'inherit',
  580. 'position': 'absolute'
  581. }).toggle();
  582. }
  583. }
  584. require(['vue'], function (Vue) {
  585. new Vue({
  586. el: "#app1",
  587. data: {
  588. badge: [],
  589. where: {
  590. nickname: '',
  591. group: '',
  592. excel: 0,
  593. },
  594. showtime: false,
  595. },
  596. watch: {
  597. 'where.status': function () {
  598. this.where.excel = 0;
  599. this.getBadge();
  600. layList.reload(this.where, true);
  601. },
  602. 'where.data': function () {
  603. this.where.excel = 0;
  604. this.getBadge();
  605. layList.reload(this.where, true);
  606. },
  607. 'where.type': function () {
  608. this.where.excel = 0;
  609. this.getBadge();
  610. layList.reload(this.where, true);
  611. },
  612. 'where.pay_type': function () {
  613. this.where.excel = 0;
  614. this.getBadge();
  615. layList.reload(this.where, true);
  616. }
  617. },
  618. methods: {
  619. setData: function (item) {
  620. var that = this;
  621. if (item.is_zd == true) {
  622. that.showtime = true;
  623. this.where.data = this.$refs.date_time.innerText;
  624. } else {
  625. this.showtime = false;
  626. this.where.data = item.value;
  627. }
  628. },
  629. getBadge: function () {
  630. var that = this;
  631. layList.basePost(layList.Url({c: 'order.store_order', a: 'getBadge'}), this.where, function (rem) {
  632. that.badge = rem.data;
  633. });
  634. },
  635. search: function () {
  636. this.where.excel = 0;
  637. this.getBadge();
  638. layList.reload(this.where, true);
  639. },
  640. refresh: function () {
  641. layList.reload();
  642. this.getBadge();
  643. },
  644. excel: function () {
  645. var nickname = $('#nickname').val();
  646. var group = $('#group').val();
  647. this.where['nickname'] = nickname;
  648. this.where['group'] = group;
  649. this.where.excel = 1;
  650. location.href = layList.U({c: 'user.user', a: 'get_user_list', q: this.where});
  651. this.where.excel = 0;
  652. }
  653. },
  654. mounted: function () {
  655. var that = this;
  656. that.getBadge();
  657. window.formReload = this.search;
  658. layList.laydate.render({
  659. elem: this.$refs.date_time,
  660. trigger: 'click',
  661. eventElem: this.$refs.time,
  662. range: true,
  663. change: function (value) {
  664. that.where.data = value;
  665. }
  666. });
  667. }
  668. })
  669. });
  670. </script>
  671. {/block}