login one user,log
This commit is contained in:
commit
19368b7901
Binary file not shown.
|
@ -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'
|
||||
}]
|
||||
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -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()"> 查询</button>
|
||||
|
@ -42,11 +48,11 @@
|
|||
, format: 'yyyy-MM-dd' //可任意组合
|
||||
});
|
||||
train();
|
||||
|
||||
|
||||
|
||||
});
|
||||
function funTypeChange() {
|
||||
|
||||
|
||||
train();
|
||||
}
|
||||
|
||||
|
|
|
@ -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">
|
||||
|
@ -55,7 +61,7 @@
|
|||
$.ajax({
|
||||
type: "get",
|
||||
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
|
||||
success: function (data) {
|
||||
console.log(data.data.troublelist);
|
||||
|
@ -77,7 +83,7 @@
|
|||
yhChart.setOption(
|
||||
|
||||
option = {
|
||||
color: ['#f39c12'],
|
||||
color: ['#FF7F50'],
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||
|
|
|
@ -167,18 +167,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()
|
||||
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')
|
||||
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')
|
||||
|
||||
def trainChart(request):#教育培训
|
||||
code = request.GET.get('code')
|
||||
start = request.GET.get('start')
|
||||
|
@ -201,10 +210,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})
|
||||
return HttpResponse(json.dumps({'code':1,'data':examjson}), content_type='application/json')
|
||||
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')
|
||||
|
||||
|
|
Loading…
Reference in New Issue