This commit is contained in:
shilixia 2019-10-30 16:06:08 +08:00
parent 2ed88c7b33
commit 9711ff2c12
8 changed files with 168 additions and 88 deletions

BIN
groups.zip Normal file

Binary file not shown.

View File

@ -1,13 +1,19 @@
{% extends "./base.html" %}
{% block title %}隐患统计{% endblock %}
{% block title %}在线考试统计{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">在线考试统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<h3>未遂事件统计</h3>
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>在线考试统计</h3>
</div>
<div style="height:600px;width:100%;background-color:aquamarine">
<div style="height:600px;width:100%;background-color:#dac2a3">
<div style="width:100%;height:100px;">
开始日期:<input type="text" id="test">
结束日期:<input type="text" id="test2">
@ -62,25 +68,25 @@
url: "/groups/api/examChart?code=exam&start=" + start + "&end=" + end, //请求发送
dataType: "json", //返回数据形式为json
success: function (data) {
console.log(data);
console.log(data.data.number);
//请求成功时执行该函数内容data即为服务器返回的json对象
var examChart = echarts.init(document.getElementById("examchart"));
var examnum = [];
var exnum = [];
var companyName = [];
if (data.data.examlist != null) {
$.each(data.data.examlist, function (i, item) {
if (data.data != null) {
$.each(data.data, function (i, item) {
examnum.push(item.number);
exnum.push(item.number);
companyName.push(item.usecomp__partname);
companyName.push(item.companyName);
})
examChart.setOption(
option = {
color: ['#FFA500'],
color: ['#32CD32'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
@ -89,11 +95,11 @@
},
title: {
text: '本集团各公司未遂事件统计图'
text: '本集团各公司在线考试统计图'
},
tooltip: {},
legend: {
data: ['公司未遂事件总数']
data: ['公司在线考试总数']
},
grid: {
y2: 140
@ -111,8 +117,8 @@
},
yAxis: {},
series: [{
name: '公司未遂事件总数',
data: examnum,
name: '公司在线考试总数',
data: exnum,
type: 'bar'
}]

View File

@ -1,13 +1,19 @@
{% extends "./base.html" %}
{% block title %}隐患统计{% endblock %}
{% block title %}未遂事件统计{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">未遂事件统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>未遂事件统计</h3>
</div>
<div style="height:600px;width:100%;background-color:aquamarine">
<div style="height:600px;width:100%;background-color:#dac2a3">
<div style="width:100%;height:100px;">
开始日期:<input type="text" id="test">
结束日期:<input type="text" id="test2">

View File

@ -1,13 +1,19 @@
{% extends "./base.html" %}
{% block title %}隐患统计{% endblock %}
{% block title %}行为统计{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">行为观察统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>行为统计</h3>
</div>
<div style="height:600px;width:100%;background-color:aquamarine">
<div style="height:600px;width:100%;background-color:#dac2a3">
<div style="width:100%;height:100px;">
开始日期:<input type="text" id="test">
结束日期:<input type="text" id="test2">

View File

@ -1,13 +1,19 @@
{% extends "./base.html" %}
{% block title %}风险管控{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">风险统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<h3>风险管控统计</h3>
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>风险统计</h3>
</div>
<div style="height:600px;width:100%;background-color:aquamarine">
<div style="height:600px;width:100%;background-color:#dac2a3">
<div style="width:100%;height:100px;">
开始日期:<input type="text" id="test">
结束日期:<input type="text" id="test2">
@ -56,74 +62,109 @@
var start = $("#test").val();
var end = $("#test2").val();
var myChart = echarts.init(document.getElementById("riskchart"));
myChart.setOption(option = {
title: {
text: '集团公司风险点统计图',
},
legend: {
data: ['风险点', '低风险点', '一般风险点', '较大风险点', '重大风险点']
},
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
xAxis: {
type: 'category',
data: [],
},
yAxis: {
type: 'value',
},
series: [],
});
myChart.showLoading();
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/groups/api/riskChart?code=risk&start=" + start + "&end=" + end, //请求发送
url: "/groups/api/riskChart?code=risk&start=" + start + "&end=" + end, //请求发送
dataType: "json", //返回数据形式为json
success: function (data) {
console.log(data);
//请求成功时执行该函数内容data即为服务器返回的json对象
var riskChart = echarts.init(document.getElementById("riskchart"));
var risknum = [];
var datariskact = [];
var datariskact1 = [];
var datariskact2 = [];
var datariskact3 = [];
var datariskact4 = [];
var companyName = [];
if (data.data.risklist != null) {
$.each(data.data.risklist, function (i, item) {
if (data!= null) {
$.each(data.risks, function (i, item) {
risknum.push(item.number);
companyName.push(item.usecomp__partname);
datariskact.push(item.datariskact);
datariskact1.push(item.datariskact1);
datariskact2.push(item.datariskact2);
datariskact3.push(item.datariskact3);
datariskact4.push(item.datariskact4);
companyName.push(item.companyName);
})
riskChart.setOption(
option = {
color: ['#FFA500'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
title: {
text: '本集团各公司风险管控统计图'
},
tooltip: {},
legend: {
data: ['公司风险管控总数']
},
grid: {
y2: 140
},
if (data) {
myChart.hideLoading(); //隐藏加载动画
myChart.setOption({
xAxis: {
type: 'category',
data: companyName,
boundaryGap: [0, 0.01],
axisLabel: {
interval: 0,//横轴信息全部显示
rotate: -30,//-30度角倾斜显示
rotate: -10,//-30度角倾斜显示
}
},
yAxis: {},
series: [{
name: '公司风险管控总数',
data: risknum,
type: 'bar'
name: '风险点',
type: 'bar',
data: datariskact
}, {
name: '低风险点',
type: 'bar',
stack: '风险点',
color: 'blue',
data: datariskact1
},
{
name: '一般风险点',
type: 'bar',
stack: '风险点',
color: 'yellow',
data: datariskact2
}, {
name: '较大风险点',
type: 'bar',
stack: '风险点',
color: 'orange',
data: datariskact3
}, {
name: '重大风险点',
type: 'bar',
stack: '风险点',
color: 'red',
data:datariskact4
}]
});
}
);
}
}
},
error: function (errorMsg) {
riskChart.hideLoading();
myChart.hideLoading();
}
});

View File

@ -1,15 +1,21 @@
{% extends "./base.html" %}
{% block title %}教育培训统计{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">教育培训统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>教育培训统计</h3>
</div>
<div style="height:600px;width:100%;background-color:aquamarine">
<div style="height:600px;width:100%;background-color:#dac2a3">
<div style="width:100%;height:100px;">
开始日期:<input type="text" id="test">
开始日期:<input type="text" id="test">
结束日期:<input type="text" id="test2">
<button class="btn btn-info" onclick="funTypeChange()">&nbsp;查询</button>

View File

@ -1,10 +1,16 @@
{% extends "./base.html" %}
{% block title %}隐患统计{% endblock %}
{% block pagehead %}
<ol class="breadcrumb">
<li><a href="{% url 'groups_index' %}"><i class="fa fa-dashboard"></i> 主页</a></li>
<li class="active">隐患统计</li>
</ol>
{% endblock %}
{% block content %}
{% load static %}
<div class="callout callout-warning">
<div class="callout callout-warning" style="margin-top: 20px;">
<h3>隐患统计</h3>
</div>
<div style="height:600px;width:100%;background-color:#dac2a3">
@ -77,7 +83,7 @@
yhChart.setOption(
option = {
color: ['#f39c12'],
color: ['#FF7F50'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效

View File

@ -166,18 +166,27 @@ def missChart(request):#未遂事件
return HttpResponse(json.dumps({'code':1,'data':{'misslist':list(misslist)}}), content_type='application/json')
def riskChart(request):#风险管控
code = request.GET.get('code')
start = request.GET.get('start')
end = request.GET.get('end')
risks = []
if code=='risk':
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
for i in companys:
risk= s_models.RiskAct.objects.filter(usecomp__partid=i.partid)
if start:
risk = risk.filter(createtime__gte=start)
if end:
risk = risk.filter(createtime__lte=end)
datariskact=risk.count()
datariskact1=risk.filter(level="低风险").count()
datariskact2=risk.filter(level="一般风险").count()
datariskact3=risk.filter(level="较大风险").count()
datariskact4=risk.filter(level="重大风险").count()
risks.append({'companyName':i.partname,'datariskact':datariskact,'datariskact1':datariskact1,'datariskact2':datariskact2,'datariskact3':datariskact3,'datariskact4':datariskact4})
return HttpResponse(json.dumps({'code':1,'risks':risks}), content_type='application/json')
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
risklist = s_models.Risk.objects.filter(usecomp__in=companys).values('usecomp__partid','usecomp__partname').annotate(number = Count('id'))
if start:
risklist = risklist.filter(createtime__gte=start)
if end:
risklist = risklist.filter(createtime__lte=end)
return HttpResponse(json.dumps({'code':1,'data':{'risklist':list(risklist)}}), content_type='application/json')
def trainChart(request):#教育培训
code = request.GET.get('code')
start = request.GET.get('start')
@ -200,11 +209,11 @@ def examChart(request):#在线考试
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
for i in companys:
examlist = s_models.ExamTest.objects.filter(usecomps__contains=','+i+',').annotate(number = Count('id'))
examnumber = s_models.ExamTest.objects.filter(usecomps__contains=','+str(i.partid)+',').count()
if start:
examlist = examlist.filter(starttime__gte=start)
examnumber = s_models.ExamTest.objects.filter(usecomps__contains=','+str(i.partid)+',',starttime__gte=start).count()
if end:
examlist = examlist.filter(starttime__lte=end)
examjson.append({'companyName':i,'number':examlist.number})
examnumber = s_models.ExamTest.objects.filter(usecomps__contains=','+str(i.partid)+',',starttime__lte=end).count()
examjson.append({'companyName':i.partname,'number':examnumber})
return HttpResponse(json.dumps({'code':1,'data':examjson}), content_type='application/json')