Commit 730a17bf2dab04deccbbe8d5f66b9b9c481bb225

Authored by teemitop
1 parent b15b436e

设备在线查看

@@ -493,4 +493,24 @@ class Seller extends Common @@ -493,4 +493,24 @@ class Seller extends Common
493 } 493 }
494 return view(); 494 return view();
495 } 495 }
  496 +
  497 + //获取在线设备情况
  498 + public function get_device_online_status(){
  499 + if(Request::isAjax()){
  500 + $data = Request::except('file');
  501 + $channel = @$data['channel'] ? @$data['channel'] : 1;
  502 + $manufacturer = @$data['manufacturer'] ? @$data['manufacturer'] : 1;
  503 +
  504 + $limit = '&page='.$data["page"].'&size='.$data["limit"].'&sellername='.@$data['key'].'&channel='.$channel.'&type='.$manufacturer;
  505 +
  506 + $list= file_get_contents(ON_LINE.'App.Device.GetDeviceOnlineStatus'.$limit);
  507 + $array = json_decode($list,TRUE);
  508 + foreach ($array['data']['list'] as $key => $value) {
  509 + $array['data']['list'][$key]['type'] = $value['type'] ==1 || $value['type'] == 0 ? '铱方' : '极钛';
  510 + }
  511 + return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$array['data']['list'],'count'=>$array['data']['total'],'rel'=>1];
  512 + }
  513 + $this->assign ( 'title','商家话机在线设备列表');
  514 + return $this->fetch();
  515 + }
496 } 516 }
  1 +{include file="common/head"/}
  2 +<div class="admin-main layui-anim layui-anim-upbit">
  3 + <fieldset class="layui-elem-field layui-field-title">
  4 + <legend>{:$title}</legend>
  5 + </fieldset>
  6 + <div class="demoTable">
  7 + 商家:
  8 + <div class="layui-input-inline">
  9 + <input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
  10 + </div>
  11 +
  12 + 商家来源:
  13 + <div class="layui-input-inline layui-form">
  14 + <div class="layui-input-8">
  15 + <select name="class" id="channel" lay-filter="myselect">
  16 + <option value="1">合作</option>
  17 + <option value="2">推广</option>
  18 + <option value="3">测试</option>
  19 + </select>
  20 + </div>
  21 + </div>
  22 +
  23 + 厂商:
  24 + <div class="layui-input-inline layui-form">
  25 + <div class="layui-input-8">
  26 + <select name="class" id="manufacturer" lay-filter="manufacturer">
  27 + <option value="1">铱方</option>
  28 + <option value="2">极钛</option>
  29 + </select>
  30 + </div>
  31 + </div>
  32 + <button class="layui-btn" id="search" data-type="reload">查询</button>
  33 + </div>
  34 + <table class="layui-table" id="list" lay-filter="list"></table>
  35 +</div>
  36 +{include file="common/foot"/}
  37 +<script>
  38 + layui.use(['table','form','laydate'], function() {
  39 + var table = layui.table,laydate = layui.laydate,$ = layui.jquery;
  40 + var tableIn = table.render({
  41 + elem: '#list',
  42 + url: '{:url("get_device_online_status")}',
  43 + method: 'post',
  44 + title: '商家设备列表',
  45 + page:true,
  46 + toolbar: '#toolbarDemo',
  47 + cols: [[
  48 + {checkbox:true,fixed: true},
  49 + {field: 'sid',title: '商家编号',width:100},
  50 + {field: 'sellername', title: '所属商家'},
  51 + {field: 'account', title: '登录账号',width:100},
  52 + {field: 'device', title: '设备编号'},
  53 + {field: 'user_token', title: 'TOKEN'},
  54 + {field: 'type', title: '厂商',width:100},
  55 + {field: 'version', title: '设备版本号',width:100}
  56 + ]],
  57 + done: function(res, curr, count){
  58 + }
  59 + ,id: 'testReload'
  60 + ,page: true
  61 + ,limit:15
  62 + });
  63 +
  64 + //搜索
  65 + $('#search').on('click', function() {
  66 + //关键字
  67 + var key = $('#key').val();
  68 + //传参
  69 + tableIn.reload({ page: {page: 1},where: {key: key,channel: $('#channel').val(),manufacturer: $('#manufacturer').val()}});
  70 + });
  71 +
  72 + var $ = layui.$, active = {
  73 + reload: function(){
  74 + var key = $('#key');
  75 + var channel = $('#channel');
  76 + //执行重载
  77 + table.reload('testReload', {
  78 + page: {
  79 + curr: 1 //重新从第 1 页开始
  80 + }
  81 + ,where: {
  82 + key: {
  83 + id: key.val(),
  84 + channel: channel.val()
  85 + }
  86 + }
  87 + });
  88 + }
  89 + };
  90 +
  91 + //取消
  92 + table.on('toolbar(list)', function(obj){
  93 + var checkStatus = table.checkStatus(obj.config.id);
  94 + switch(obj.event){
  95 + case 'getCheckData':
  96 + var data = checkStatus.data;
  97 + arr = new Array();
  98 + if (data.length > 0) {
  99 + for (var i = 0; i < data.length; i++) {
  100 + arr.push(data[i]['id']);
  101 + }
  102 + }
  103 + if(arr.length <= 0){
  104 + layer.alert('请选择一部分设备在进行操作');return;
  105 + }
  106 + //发送设备ID
  107 + layer.confirm('确定将选中设备取消灰度用户?' , function(index){
  108 + $.post("{:url('del_gray_user')}",{id:arr},function(res){
  109 + if(res.code==1){
  110 + layer.msg(res.msg,{time:1000,icon:1});
  111 + //表格重载
  112 + var demoReload = $('#demoReload');
  113 + table.reload('testReload', {
  114 + page: {
  115 + curr: 1 //重新从第 1 页开始
  116 + }
  117 + ,where: {
  118 + key: {
  119 + id: demoReload.val()
  120 + }
  121 + }
  122 + });
  123 + }else{
  124 + layer.msg(res.msg,{time:1000,icon:2});
  125 + }
  126 + });
  127 + layer.close(index);
  128 + });
  129 + //layer.alert(JSON.stringify(data));
  130 + break;
  131 + case 'clearCheckData':
  132 + layer.confirm('该操作将清空所有灰度用户?' , function(index){
  133 + $.post("{:url('del_gray_user')}",{id:'clear'},function(res){
  134 + if(res.code==1){
  135 + layer.msg(res.msg,{time:1000,icon:1});
  136 + //表格重载
  137 + var demoReload = $('#demoReload');
  138 + table.reload('testReload', {
  139 + page: {
  140 + curr: 1 //重新从第 1 页开始
  141 + }
  142 + ,where: {
  143 + key: {
  144 + id: demoReload.val()
  145 + }
  146 + }
  147 + });
  148 + }else{
  149 + layer.msg(res.msg,{time:1000,icon:2});
  150 + }
  151 + });
  152 + layer.close(index);
  153 + });
  154 + //layer.alert(JSON.stringify(data));
  155 + break;
  156 + };
  157 + });
  158 +
  159 + //取消
  160 + table.on('tool(list)', function(obj){
  161 + var data = obj.data;
  162 + if(obj.event === 'del'){
  163 + layer.confirm('确定要取消本条信息吗?', function(index){
  164 + $.post("{:url('del_gray_user')}",{id:data.id},function(res){
  165 + if(res.code==1){
  166 + layer.msg(res.msg,{time:1000,icon:1});
  167 + obj.del();
  168 + }else{
  169 + layer.msg(res.msg,{time:1000,icon:2});
  170 + }
  171 + });
  172 + layer.close(index);
  173 + });
  174 + }
  175 + });
  176 + })
  177 +</script>