diff --git a/app/home/controller/Api.php b/app/home/controller/Api.php index bba9c30..aa57571 100644 --- a/app/home/controller/Api.php +++ b/app/home/controller/Api.php @@ -133,7 +133,28 @@ class api extends BaseController $data_first = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_first,$end_first")->select(); $data_second = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_second,$end_second")->select(); $data_three = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_three,$end_first")->select(); - return to_assign(0, '', ['data_first' => hour_document($data_first), 'data_second' => hour_document($data_second), 'data_three' => date_document($data_three)]); + + //获取员工活跃数据 + $times = strtotime("-30 day"); + $where = []; + $where[] = ['uid','<>',1]; + $where[] = ['create_time', '>', $times]; + $content = Db::name('AdminLog')->field("id,uid,name")->where($where)->select(); + $logs = array(); + foreach ($content as $index => $value) { + $uid = $value['uid']; + if (empty($logs[$uid])) { + $logs[$uid]['count'] = 1; + $logs[$uid]['name'] = $value['name']; + } else { + $logs[$uid]['count'] += 1; + } + } + $counts = array_column($logs, 'count'); + array_multisort($counts, SORT_DESC, $logs); + //攫取前10 + $data_logs = array_slice($logs, 0, 10); + return to_assign(0, '', ['data_first' => hour_document($data_first), 'data_second' => hour_document($data_second), 'data_three' => date_document($data_three),'data_logs' => $data_logs]); } //修改个人信息 diff --git a/app/home/view/index/main.html b/app/home/view/index/main.html index e43c0c6..ae1b2b3 100644 --- a/app/home/view/index/main.html +++ b/app/home/view/index/main.html @@ -285,6 +285,12 @@ +
+

最活跃员工最近30天前十的活跃度

+
+
+
+

员工动态

更多
@@ -452,7 +458,6 @@ return str; } - var chartView = echarts.init(document.getElementById('chartView')); function get_view_data() { $.ajax({ url: "/home/api/get_view_data", @@ -463,11 +468,13 @@ var data_first = e.data.data_first; var data_second = e.data.data_second; archiveCalendar = e.data.data_three; + var data_logs = e.data.data_logs; var myDate = new Date(); var nowHour = myDate.getHours(); //获取当前小时数(0-23) var xData = []; var yData1 = []; var yData2 = []; + var logItem = []; $.each(data_first, function (key, value) { if (key <= nowHour) { yData1.push(value); @@ -477,6 +484,15 @@ xData.push(setHour(key)); yData2.push(value); }); + $.each(data_logs, function (key, value) { + let item = { + value: value.count, + name: value.name + }; + logItem.push(item); + }); + + var chartView = echarts.init(document.getElementById('chartView')); var ops = { title: { top: '12px', @@ -626,10 +642,40 @@ }; myChart.setOption(option); + var logChart = echarts.init(document.getElementById('logChart')); + let optC = { + tooltip: { + trigger: 'item', + formatter: '{a}
{b} :{d}%' + }, + legend: { + top: '1%', + left: 'center' + }, + series: [ + { + name: '活跃度', + type: 'pie', + radius: '50%', + center: ['50%', '60%'], + data: logItem, + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + logChart.setOption(optC); + setTimeout(function () { window.onresize = function () { chartView.resize(); myChart.resize(); + logChart.resize(); } }) console.log(e.data);