首页新增员工活跃度统计,谁在工作时间摸鱼一看就知道

This commit is contained in:
hdm 2022-08-03 23:07:43 +08:00
parent 71ff831afa
commit 419d3eba9a
2 changed files with 69 additions and 2 deletions

View File

@ -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]);
}
//修改个人信息

View File

@ -285,6 +285,12 @@
</table>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header"><h3>最活跃员工<span style="color:#999; font-size:14px; font-weight:400; margin-left:5px">最近30天前十的活跃度</span></h3></div>
<div class="layui-card-body">
<div id="logChart" style="width: 100%; height:268px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header"><h3>员工动态</h3><a data-title="员工动态" data-href="/home/api/log_list" class="pull-right tab-a">更多</a></div>
<div class="layui-card-body">
@ -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} <br/>{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);