frngxian
This commit is contained in:
parent
2ed88c7b33
commit
9711ff2c12
Binary file not shown.
|
@ -1,13 +1,19 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>未遂事件统计</h3>
|
<h3>在线考试统计</h3>
|
||||||
</div>
|
</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;">
|
<div style="width:100%;height:100px;">
|
||||||
开始日期:<input type="text" id="test">
|
开始日期:<input type="text" id="test">
|
||||||
结束日期:<input type="text" id="test2">
|
结束日期:<input type="text" id="test2">
|
||||||
|
@ -62,25 +68,25 @@
|
||||||
url: "/groups/api/examChart?code=exam&start=" + start + "&end=" + end, //请求发送
|
url: "/groups/api/examChart?code=exam&start=" + start + "&end=" + end, //请求发送
|
||||||
dataType: "json", //返回数据形式为json
|
dataType: "json", //返回数据形式为json
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log(data);
|
console.log(data.data.number);
|
||||||
//请求成功时执行该函数内容,data即为服务器返回的json对象
|
//请求成功时执行该函数内容,data即为服务器返回的json对象
|
||||||
var examChart = echarts.init(document.getElementById("examchart"));
|
var examChart = echarts.init(document.getElementById("examchart"));
|
||||||
var examnum = [];
|
|
||||||
|
var exnum = [];
|
||||||
var companyName = [];
|
var companyName = [];
|
||||||
if (data.data.examlist != null) {
|
if (data.data != null) {
|
||||||
$.each(data.data.examlist, function (i, item) {
|
$.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(
|
examChart.setOption(
|
||||||
|
|
||||||
option = {
|
option = {
|
||||||
color: ['#FFA500'],
|
color: ['#32CD32'],
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||||
|
@ -89,11 +95,11 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
title: {
|
title: {
|
||||||
text: '本集团各公司未遂事件统计图'
|
text: '本集团各公司在线考试统计图'
|
||||||
},
|
},
|
||||||
tooltip: {},
|
tooltip: {},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['公司未遂事件总数']
|
data: ['公司在线考试总数']
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
y2: 140
|
y2: 140
|
||||||
|
@ -111,8 +117,8 @@
|
||||||
},
|
},
|
||||||
yAxis: {},
|
yAxis: {},
|
||||||
series: [{
|
series: [{
|
||||||
name: '公司未遂事件总数',
|
name: '公司在线考试总数',
|
||||||
data: examnum,
|
data: exnum,
|
||||||
type: 'bar'
|
type: 'bar'
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>未遂事件统计</h3>
|
<h3>未遂事件统计</h3>
|
||||||
</div>
|
</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;">
|
<div style="width:100%;height:100px;">
|
||||||
开始日期:<input type="text" id="test">
|
开始日期:<input type="text" id="test">
|
||||||
结束日期:<input type="text" id="test2">
|
结束日期:<input type="text" id="test2">
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>行为统计</h3>
|
<h3>行为统计</h3>
|
||||||
</div>
|
</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;">
|
<div style="width:100%;height:100px;">
|
||||||
开始日期:<input type="text" id="test">
|
开始日期:<input type="text" id="test">
|
||||||
结束日期:<input type="text" id="test2">
|
结束日期:<input type="text" id="test2">
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>风险管控统计</h3>
|
<h3>风险统计</h3>
|
||||||
</div>
|
</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;">
|
<div style="width:100%;height:100px;">
|
||||||
开始日期:<input type="text" id="test">
|
开始日期:<input type="text" id="test">
|
||||||
结束日期:<input type="text" id="test2">
|
结束日期:<input type="text" id="test2">
|
||||||
|
@ -56,74 +62,109 @@
|
||||||
var start = $("#test").val();
|
var start = $("#test").val();
|
||||||
var end = $("#test2").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({
|
$.ajax({
|
||||||
type: "get",
|
type: "get",
|
||||||
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
|
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
|
dataType: "json", //返回数据形式为json
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
//请求成功时执行该函数内容,data即为服务器返回的json对象
|
//请求成功时执行该函数内容,data即为服务器返回的json对象
|
||||||
var riskChart = echarts.init(document.getElementById("riskchart"));
|
var datariskact = [];
|
||||||
var risknum = [];
|
var datariskact1 = [];
|
||||||
|
var datariskact2 = [];
|
||||||
|
var datariskact3 = [];
|
||||||
|
var datariskact4 = [];
|
||||||
var companyName = [];
|
var companyName = [];
|
||||||
if (data.data.risklist != null) {
|
if (data!= null) {
|
||||||
$.each(data.data.risklist, function (i, item) {
|
$.each(data.risks, function (i, item) {
|
||||||
|
|
||||||
|
|
||||||
risknum.push(item.number);
|
datariskact.push(item.datariskact);
|
||||||
|
datariskact1.push(item.datariskact1);
|
||||||
companyName.push(item.usecomp__partname);
|
datariskact2.push(item.datariskact2);
|
||||||
|
datariskact3.push(item.datariskact3);
|
||||||
|
datariskact4.push(item.datariskact4);
|
||||||
|
companyName.push(item.companyName);
|
||||||
|
|
||||||
})
|
})
|
||||||
|
if (data) {
|
||||||
riskChart.setOption(
|
myChart.hideLoading(); //隐藏加载动画
|
||||||
|
myChart.setOption({
|
||||||
option = {
|
|
||||||
color: ['#FFA500'],
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'axis',
|
|
||||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
|
||||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
title: {
|
|
||||||
text: '本集团各公司风险管控统计图'
|
|
||||||
},
|
|
||||||
tooltip: {},
|
|
||||||
legend: {
|
|
||||||
data: ['公司风险管控总数']
|
|
||||||
},
|
|
||||||
grid: {
|
|
||||||
y2: 140
|
|
||||||
},
|
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
|
||||||
data: companyName,
|
data: companyName,
|
||||||
boundaryGap: [0, 0.01],
|
boundaryGap: [0, 0.01],
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
interval: 0,//横轴信息全部显示
|
interval: 0,//横轴信息全部显示
|
||||||
rotate: -30,//-30度角倾斜显示
|
rotate: -10,//-30度角倾斜显示
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
yAxis: {},
|
|
||||||
series: [{
|
series: [{
|
||||||
name: '公司风险管控总数',
|
name: '风险点',
|
||||||
data: risknum,
|
type: 'bar',
|
||||||
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) {
|
error: function (errorMsg) {
|
||||||
riskChart.hideLoading();
|
|
||||||
|
myChart.hideLoading();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>教育培训统计</h3>
|
<h3>教育培训统计</h3>
|
||||||
</div>
|
</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;">
|
<div style="width:100%;height:100px;">
|
||||||
开始日期:<input type="text" id="test">
|
开始日期:<input type="text" id="test">
|
||||||
结束日期:<input type="text" id="test2">
|
结束日期:<input type="text" id="test2">
|
||||||
|
|
||||||
<button class="btn btn-info" onclick="funTypeChange()"> 查询</button>
|
<button class="btn btn-info" onclick="funTypeChange()"> 查询</button>
|
||||||
|
@ -42,11 +48,11 @@
|
||||||
, format: 'yyyy-MM-dd' //可任意组合
|
, format: 'yyyy-MM-dd' //可任意组合
|
||||||
});
|
});
|
||||||
train();
|
train();
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
function funTypeChange() {
|
function funTypeChange() {
|
||||||
|
|
||||||
train();
|
train();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,16 @@
|
||||||
{% extends "./base.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="callout callout-warning">
|
<div class="callout callout-warning" style="margin-top: 20px;">
|
||||||
<h3>隐患统计</h3>
|
<h3>隐患统计</h3>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:600px;width:100%;background-color:#dac2a3">
|
<div style="height:600px;width:100%;background-color:#dac2a3">
|
||||||
|
@ -55,7 +61,7 @@
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "get",
|
type: "get",
|
||||||
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
|
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
|
||||||
url: "/groups/api/troubleChart?code=tbpic&start=" + start + "&end=" + end, //请求发送
|
url: "/groups/api/troubleChart?code=tbpic&start=" + start + "&end=" + end, //请求发送
|
||||||
dataType: "json", //返回数据形式为json
|
dataType: "json", //返回数据形式为json
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log(data.data.troublelist);
|
console.log(data.data.troublelist);
|
||||||
|
@ -77,7 +83,7 @@
|
||||||
yhChart.setOption(
|
yhChart.setOption(
|
||||||
|
|
||||||
option = {
|
option = {
|
||||||
color: ['#f39c12'],
|
color: ['#FF7F50'],
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||||
|
|
|
@ -166,18 +166,27 @@ def missChart(request):#未遂事件
|
||||||
return HttpResponse(json.dumps({'code':1,'data':{'misslist':list(misslist)}}), content_type='application/json')
|
return HttpResponse(json.dumps({'code':1,'data':{'misslist':list(misslist)}}), content_type='application/json')
|
||||||
|
|
||||||
def riskChart(request):#风险管控
|
def riskChart(request):#风险管控
|
||||||
|
|
||||||
code = request.GET.get('code')
|
code = request.GET.get('code')
|
||||||
start = request.GET.get('start')
|
start = request.GET.get('start')
|
||||||
end = request.GET.get('end')
|
end = request.GET.get('end')
|
||||||
|
risks = []
|
||||||
if code=='risk':
|
if code=='risk':
|
||||||
|
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
|
||||||
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
|
for i in companys:
|
||||||
risklist = s_models.Risk.objects.filter(usecomp__in=companys).values('usecomp__partid','usecomp__partname').annotate(number = Count('id'))
|
risk= s_models.RiskAct.objects.filter(usecomp__partid=i.partid)
|
||||||
if start:
|
if start:
|
||||||
risklist = risklist.filter(createtime__gte=start)
|
risk = risk.filter(createtime__gte=start)
|
||||||
if end:
|
if end:
|
||||||
risklist = risklist.filter(createtime__lte=end)
|
risk = risk.filter(createtime__lte=end)
|
||||||
return HttpResponse(json.dumps({'code':1,'data':{'risklist':list(risklist)}}), content_type='application/json')
|
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')
|
||||||
|
|
||||||
def trainChart(request):#教育培训
|
def trainChart(request):#教育培训
|
||||||
code = request.GET.get('code')
|
code = request.GET.get('code')
|
||||||
start = request.GET.get('start')
|
start = request.GET.get('start')
|
||||||
|
@ -200,11 +209,11 @@ def examChart(request):#在线考试
|
||||||
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
|
companys = GroupUser.objects.get(id = request.session['user_id']).group.members.all()
|
||||||
|
|
||||||
for i in companys:
|
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:
|
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:
|
if end:
|
||||||
examlist = examlist.filter(starttime__lte=end)
|
examnumber = s_models.ExamTest.objects.filter(usecomps__contains=','+str(i.partid)+',',starttime__lte=end).count()
|
||||||
examjson.append({'companyName':i,'number':examlist.number})
|
examjson.append({'companyName':i.partname,'number':examnumber})
|
||||||
return HttpResponse(json.dumps({'code':1,'data':examjson}), content_type='application/json')
|
return HttpResponse(json.dumps({'code':1,'data':examjson}), content_type='application/json')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue