safesite/safesite/templates/report.html

558 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div style=" overflow-y:auto; width:100%; height:100%">
<form id='ff' style="margin-top:20px;margin-left:10px;">
<label>查看</label>
<select class="txtInput select3" id="year" name="year" style="width:100px;">
</select><label></label>
<select class="txtInput select3" id="month" name="month" style="width:100px;">
<option value="1">1月</option>
<option value="2">2月</option>
<option value="3">3月</option>
<option value="4">4月</option>
<option value="5">5月</option>
<option value="6">6月</option>
<option value="7">7月</option>
<option value="8">8月</option>
<option value="9">9月</option>
<option value="10">10月</option>
<option value="11">11月</option>
<option value="12">12月</option>
</select>
<label>组织机构</label>
<input id="part" class="easyui-combotree" name="part" style="width:200px" data-options="url: 'parthandle?a=tree', loadFilter: function(rows){
return convert(rows);
},
formatter:function(node){
var s = node.text;
if (node.children){
s += '&nbsp;<span style=\'color:blue\'>(' + node.children.length + ')</span>';
}
return s;
}," />
<a id="BindZt" onclick="BindZt();">查询</a>
<a id="Export" onclick="Export()">导出</a>
</form>
<div id="depinfo">
<form id="form1" method="post">
<div style="width: 90%; height: 100%; margin: 0px auto; font-size: 17px;">
<div style="width: 98%; margin: 0px auto;">
<h3 style="font-size: 18px; width: 100%; text-align: center; margin-top: 10px;">安全生产预警分析报告</h3>
<div style="text-align: right;" id="createdate"></div>
<p style="text-indent: 40px; padding: 5px;">
为切实提高公司的安全生产能力,保障相关作业人员的生命安全和身体健康,提高公司安全管理水平,预防和减少事故的发生。
公司从隐患排查、教育培训、应急演练、生产安全事故、危险作业、相关方、行为观察等方面出发,发动全员参与安全生产预警工作,
将安全预警工作与日常安全生产管理工作有机结合。定量化表示企业生产安全状态,提前发现、分析和判断影响安全生产状态、
可能导致事故发生的信息,发布并提醒企业负责人及全体员工注意,使企业及时、有针对性地采取预防措施控制事态发展, 最大限度地降低事故发生概率及后果严重程度。
</p>
</div>
<div style="text-align: center; width: 100%;">
<h3 style="text-align: left;">一.安全生产预警预测指数</h3>
<div style="height: 250px; width: 300px; margin-left: auto; margin-right: auto;" id="map1"></div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图1 安全生产预警预测图</div>
<p style="text-indent: 40px; padding: 5px;">其中各项预警指标的得分情况如下:</p>
<div style="text-align: center; width: 100%;" id="table1">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>指标名称</td>
<td>指标得分</td>
</tr>
</table>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表1 本月各预警指标的得分情况</div>
<h3 style="text-align: left;">二.安全生产预警分析</h3>
<p style="text-indent: 40px; padding: 5px;" id="yjhbfx">
2015年X月的安全生产预警指数为X5月份比上月下降增长10%。5月份公司总体安全生产形势处于安全范围安全生产风险有所降低增加如下表所示</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table2">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>月份</td>
<td>预警指数</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表2 本月综合预警指数环比情况</div>
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map2"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图2 安全预警预测趋势图</div>
<p style="text-indent: 40px; padding: 5px;">现对公司安全生产预警指标各指标组成情况进行统计、分析如下:</p>
<h4>1.事故隐患</h4>
<p style="text-indent: 40px; padding: 5px;" id="yhfx"></p>
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map3"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图3 隐患类别分布</div>
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map4"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图4 隐患评估伤害分布</div>
<p style="text-indent: 40px; padding: 5px;" id="aqyhtb">本月各部门排查的隐患数量见表3</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table3">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>部门名称</td>
<td>隐患数量</td>
<td>未整改隐患</td>
<td>已整改隐患</td>
<td>隐患整改率</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表3 本月公司各部门排查的隐患数量</div>
<h4>2.教育培训</h4>
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map5"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图5 培训级别分布</div>
<p style="text-indent: 40px; padding: 5px;" id="aqjypxtb">本月各部门统计教育培训次数见表4</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table4">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>部门名称</td>
<td>教育培训总次数</td>
<td>公司级</td>
<td>车间(部门、分厂)级</td>
<td>班组级</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表4 本月公司各部门培训次数</div>
<h4>3.应急演练</h4>
<!-- <p style="text-indent: 40px; padding: 5px;" id="yjylfx">2014年9月应急演练得分为8分占安全生产预警指数的2.3%,比上月同期下降/上升0.2%。</p> -->
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map6"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图6 演练级别分布</div>
<p style="text-indent: 40px; padding: 5px;" id="yjyltb">本月公司各部门应急演练次数见表5</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table5">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>部门名称</td>
<td>应急演练总次数</td>
<td>公司级</td>
<td>车间(部门、分厂)级</td>
<td>班组级</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表5 本月公司各部门应急演练次数</div>
<h4>4.行为观察</h4>
<div style="height: 350px; width: 90%; padding: 10px; margin: 0px auto;" id="map7"></div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">图7 行为观察类型分布</div>
<p style="text-indent: 40px; padding: 5px;" id="xwgctb">本月公司各部门行为观察次数见表6</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table6">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>部门名称</td>
<td>行为观察次数</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表6 本月公司各部门行为观察次数</div>
<h4>5.未遂事件</h4>
<p style="text-indent: 40px; padding: 5px;" id="wssjtb">未遂事件次数见表7</p>
<div style="text-align: center; width: 100%;">
<div style="width: 100%;" id="table7">
<table style="width: 60%; margin: 0px auto;" border="1" cellspacing="0">
<tr>
<td>部门名称</td>
<td>事件次数</td>
</tr>
</table>
</div>
</div>
<div style="width: 100%; margin: 0px auto; text-align: center; font-size: 15px;">表7 本月公司各部门未遂事件次数</div>
<div style="background-color: #fff; margin: 0px auto;">
<h3 style="font-size: 18px; text-align: left; margin-top: 10px; float: left;">二、对本月整体情况原因分析</h3>
<a style="float: left; margin-top: 15px; margin-left: 10px; color: black; cursor: pointer;"
onclick="reportEdit();" class="bj">编辑</a>
<br />
<div id="yyfxdiv" style="text-indent: 40px; padding: 5px; clear: both;">
<ul>
<li>1. 安全防护措施有缺失,虽然按照规范要求做了防护,但是有时有人随意拆除,没有及时修复,安全标志张挂不够,有些防护不够规范。</li>
<li>2. 安全教育培训不足,尤其是对施工现场违章违规行为的教育不足。</li>
<li>3. 安全奖惩力度不强。项目部不能对施工现场习惯性违章违规行为进行严厉处罚和批评教育,致使施工作业人员意识不强,态度敷衍,违章违规行为时有发生。</li>
</ul>
</div>
</div>
<div style="background-color: #fff; margin: 0px auto;">
<h3 style="font-size: 18px; text-align: left; margin-top: 10px; float: left;">三、下一步对公司安全生产工作的建议</h3>
<a style="float: left; margin-top: 15px; margin-left: 10px; color: black; cursor: pointer;"
onclick="reportEdit();" class="bj">编辑</a>
<br />
<div id="jydiv" style="text-indent: 40px; padding: 5px; clear: both;">
<ul>
<li>1. 加强现场安全管理。加强现场巡检员工巡检力度,重点抓好安全设施使用、维护工作,员工依规操作,力争实现本质安全。</li>
<li>2. 进一步做到安全用电,加强岗位安全操作规程的培训,进一步提高员工的安全用电意识,从而真正做到安全用电。</li>
<li>3. 强化对职工的安全生产教育,要时刻保持警惕性,牢固树立“安全第一”的思想,杜绝习惯性违章,切实做好本部门的安全教育培训工作,提高员工遵章守纪的自觉性。</li>
</ul>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- <a id="downa" target="_blank" style="display:none"></a> -->
<script type="text/javascript">
var now = new Date();
var _year;
var _month;
var part='';
var table1v;
var table2v;
var table3v;
var table4v;
var table5v;
var table6v;
var table7v;
var myChart1;
var myChart2;
var myChart3;
var myChart4;
var myChart5;
var myChart6;
var myChart7;
var qs;
var percent;
var nowyjz;
$(function () {
//$('#depinfo').hide();
//$('#depinfo2').show();
$('#BindZt').linkbutton({ iconCls: 'fa-search', plain: true });
$('#Export').linkbutton({ iconCls: 'fa-download', plain: true });
year = now.getFullYear();
month = now.getMonth() + 1;
for (var i = 0; i < 5; i++) {
$('#year').append('<option value="' + (year - i) + '">' + (year - i) + '</option>');
}
$.get('api/tool?a=servertime', function (res) {
$('#year').combobox().combobox('setValue', res.year);
$('#month').combobox().combobox('setValue', res.month);
BindZt();
})
});
function getDetail(year,month,part){
$.get('api/report?a=detail&year='+year+'&month='+month+'&part='+part,function(res){
if(res.code==1){
$('#yyfxdiv').html(res.data.cause)
$('#jydiv').html(res.data.suggest)
}else{
$('#yyfxdiv').empty()
$('#jydiv').empty()
}
})
}
//编辑分析报告
function reportEdit() {
opendg('编辑报告', 'html/report/edit?year=' + _year + '&month=' + _month + '&part=' + part)
}
var Dates = [];
//绑定整体情况
function BindZt() {
_year = $('#year').val();
_month = $('#month').val();
part = $('#part').combotree('getValue')
//ymonth = _year+'-'+_month;
//getDates(); //统计要绑定的月份
//获取相关参数并绘图
$.ajax({
type: "GET",
url: 'setup?a=setup',
datatype: 'json',
processData: false,
contentType: false,
beforeSend: function () { },
success: function (data) {
bindmap1('map1', data, _year, _month);
bindmap2('map2', data, _year, _month);
},
});
//bindmap3('map3', _year, _month);
bindmap3_o('map3', { 'year': _year, 'month': _month, 'part': part })
//bindmap4('map4', _year, _month);
bindmap4_o('map4', { 'year': _year, 'month': _month, 'part': part })
bindmap5('map5', { 'year': _year, 'month': _month, 'part': part });
bindmap6('map6', { 'year': _year, 'month': _month, 'part': part });
bindmapgclx('map7', { 'year': _year, 'month': _month, 'part': part });
bindTable1(); // 预警各指标得分
bindTable2(); //综合预警指数环比情况
//bindZbFx(); //绑定指标总结分析
bindTable3(part); //下一级部门排查的隐患数量,
bindTable4(part); //下一级部门培训次数
bindTable5(part); // 下一级部门应急演练次数
bindTable6(part); // 下一级部门行为观察次数
bindTable7(part); // 下一级部门未遂事件次数
getDetail(_year,_month,part)
$('#createdate').html('报告生成时间:' + now.getFullYear() + '年' + (now.getMonth() + 1) + '月' + now.getDate() + '日');
}
// function getDates() {
// Dates = [];
// var _sY, _sM;
// if (_month == 12) {
// _sM = 1;
// _sY = _year;
// }
// else {
// _sY = _year - 1;
// _sM = parseInt(_month) + 1;
// }
// for (var i = 0; i < 12; i++) {
// if (_sM > 12) {
// _sY = _sY + 1;
// _sM = 1;
// }
// var obj = { "year": _sY, "month": _sM, "date": _sY + "-" + _sM };
// Dates.push(obj);
// _sM++;
// }
// }
function Export() {
var data = {};
//赋值
// data['table1v'] = $('#table1v').val();
// data['table2v'] = $('#table2v').val();
// data['table3v'] = $('#table3v').val();
// data['table4v'] = $('#table4v').val();
// data['table5v'] = $('#table5v').val();
data['year'] = _year;
data['month'] = _month;
data['qs'] = qs;
data['percent'] = percent;
data['table1v'] = table1v;
data['table2v'] = table2v;
data['table3v'] = table3v;
data['table4v'] = table4v;
data['table5v'] = table5v;
data['table6v'] = table6v;
data['table7v'] = table7v;
data['map1v'] = myChart1.getDataURL({ pixelRatio: 2, });
data['map2v'] = myChart2.getDataURL({ pixelRatio: 2, });
data['map3v'] = myChart3.getDataURL({ pixelRatio: 2, });
data['map4v'] = myChart4.getDataURL({ pixelRatio: 2, });
data['map5v'] = myChart5.getDataURL({ pixelRatio: 2, });
data['map6v'] = myChart6.getDataURL({ pixelRatio: 2, });
data['map7v'] = gcChart.getDataURL({ pixelRatio: 2, });
data['yyfx'] = $('#yyfxdiv').text()
data['jy'] = $('#jydiv').text()
//data['map7v'] = myChart7.getDataURL({ pixelRatio: 2, });
data['nowyjz'] = nowyjz;
//console.log(JSON.stringify(data));5
console.log(data)
$.ajax({
type: "POST",
async: false, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "fxhandle?a=exportyjdoc", //请求发送
data: JSON.stringify(data),
dataType: "json", //返回数据形式为json
beforeSend: function () { loading(); },
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
removeLoading()
if (data) {
downloadurl = 'http://' + window.location.host + '/' + data.downloadurl
//$('#downa').attr('href', downloadurl);
window.open(data.downloadurl);
//document.getElementById("downa").click();
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable1() {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=yjb&year=" + _year + "&month=" + _month, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table1 table');
_table.html('');
_table.append('<tr><td>指标</td><td>预警值</td></tr>');
for (var i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['name'] + '</td><td>' + data.data[i]['score'].toFixed(2) + '</td></tr>');
table1v = data.data;
//console.log($('#table1v').val());
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable2() {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=yjhbfx&year=" + _year + "&month=" + _month, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table2 table');
_table.html('');
_table.append('<tr><td>月份</td><td>预警值</td></tr>');
_table.append('<tr><td>' + data.data[0].month + '</td><td>' + data.data[0].yjz + '</td></tr>');
_table.append('<tr><td>' + data.data[1].month + '</td><td>' + data.data[1].yjz + '</td></tr>')
if (data.data[0].yjz > data.data[1].yjz) { qs = '增长'; } else { qs = '降低'; }
var proportion = (data.data[0].yjz - data.data[1].yjz) / data.data[1].yjz;
percent = Math.abs(proportion.toFixed(2) * 100);
nowyjz = data.data[0].yjz;
$("#yjhbfx").html('<b>' + _year + '</b>年<b>' + _month + '</b>月的安全生产预警指数为' + data.data[0].yjz + '分,比上月同期' + qs + percent.toFixed(1) + '%。如下表所示:');
table2v = data.data;
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable3(part) {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=yhfxbmb&year=" + _year + "&month=" + _month + "&part=" + part, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table3 table');
_table.html('');
_table.append('<tr><td>部门</td><td>发现隐患数</td><td>未关闭隐患</td></tr>');
for (i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['partname'] + '</td><td>' + data.data[i]['yhnum'] + '</td><td>' + data.data[i]['nonum'] + '</td></tr>')
table3v = data.data;
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable4(part) {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=pxbmb&year=" + _year + "&month=" + _month + "&part=" + part, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table4 table');
_table.html('');
_table.append('<tr><td>部门</td><td>培训数</td><td>公司级</td><td>车间/工段级</td><td>班组级</td><td>部门/分厂级</td></tr>');
for (i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['partname'] + '</td><td>' + data.data[i]['pxnum'] + '</td><td>' + data.data[i]['gsjnum'] + '</td><td>' + data.data[i]['cjjnum'] + '</td><td>' + data.data[i]['bzjnum'] + '</td><td>' + data.data[i]['fcjnum'] + '</td></tr>')
table4v = data.data;
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable5(part) {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=ylbmb&year=" + _year + "&month=" + _month + "&part=" + part, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table5 table');
_table.html('');
_table.append('<tr><td>部门</td><td>演练数</td><td>公司级</td><td>车间级</td><td>班组级</td></tr>');
for (i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['partname'] + '</td><td>' + data.data[i]['ylnum'] + '</td><td>' + data.data[i]['gsjnum'] + '</td><td>' + data.data[i]['cjjnum'] + '</td><td>' + data.data[i]['bzjnum'] + '</td></tr>')
table5v = data.data;
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable6(part) {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=gcbmb&year=" + _year + "&month=" + _month + "&part=" + part, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table6 table');
_table.html('');
_table.append('<tr><td>部门</td><td>观察数</td></tr>');
for (i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['partname'] + '</td><td>' + data.data[i]['gcnum'] + '</td><tr>')
table6v = data.data;
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
function bindTable7(part) {
$.ajax({
type: "get",
async: true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
url: "/charthandle?a=wsbmb&year=" + _year + "&month=" + _month + "&part=" + part, //请求发送
//data: JSON.stringify({ 'ymonth': ymonth }),
dataType: "json", //返回数据形式为json
success: function (data) {
//请求成功时执行该函数内容data即为服务器返回的json对象
if (data) {
var _table = $('#table7 table');
_table.html('');
_table.append('<tr><td>部门</td><td>事件数</td></tr>');
for (i = 0; i < data.data.length; i++) {
_table.append('<tr><td>' + data.data[i]['partname'] + '</td><td>' + data.data[i]['wsnum'] + '</td><tr>')
table7v = data.data;
}
}
},
error: function (errorMsg) {
//请求失败时执行该函数
//alert("汗,没有数据吧!");
}
});
}
</script>