if(document.getElementById('kqtj') != null){
var myChart1 = echarts.init(document.getElementById('kqtj'),'walden');
}
if(document.getElementById('gztj') != null){
var myChart2 = echarts.init(document.getElementById('gztj'),'walden');
}
if(document.getElementById('rytj') != null){
var myChart3 = echarts.init(document.getElementById('rytj'),'walden');
}
if(document.getElementById('jbtj')!= null){
var myChart4 = echarts.init(document.getElementById('jbtj'),'walden');
}
if(document.getElementById('gwrl') != null){
var myChart5 = echarts.init(document.getElementById('gwrl'),'walden');
}
//考勤调整时长
if(document.getElementById('kqtzsc') != null){
var myChart6 = echarts.init(document.getElementById('kqtzsc'),'walden');
}
//考勤调整次数
if(document.getElementById('kqtzcs') != null){
var myChart7 = echarts.init(document.getElementById('kqtzcs'),'walden');
}
window.onresize = function(){
location.reload();
}
$(function() {
$(document).ready(function() {
attendanceStatssearch();
var count = $(".board-def .chk .chked").length;
var licount = $(".board-def").length;
if(count == licount){
$(".all-opr .chk").html('');
}
});
});
function attendanceStatssearch(){
if(document.getElementById('kqtj') != null){
handleAjaxSimple("attendanceStatsController.do?attendanceStatsData", $("#statsForm").serialize(), attendhandleSuccess);
}
if(document.getElementById('gztj') != null){
handleAjaxSimple("wageStatsController.do?wageStatsData", $("#statsForm").serialize(), wagehandleSuccess);
}
if(document.getElementById('rytj') != null){
handleAjaxSimple("userStatsController.do?userStatsData", $("#statsForm").serialize(), userhandleSuccess);
}
if(document.getElementById('jbtj')!= null){
handleAjaxSimple("overtimeStatsController.do?overtimeStatsData", $("#statsForm").serialize(), overtimehandleSuccess);
}
if(document.getElementById('gwrl') != null){
handleAjaxSimple("distributionStatsController.do?distributionStatsData", $("#statsForm").serialize(), distributionhandleSuccess);
}
//考勤调整排行统计看板
if(document.getElementById('kqtzsc') != null){
handleAjaxSimple("desktopRptController.do?getKaoQinTiaoZhengTime", $("#statsForm").serialize(), kaoqinTiaoZhengTimehandleSuccess);
}
//考勤调整次数排行看板
if(document.getElementById('kqtzcs') != null){
handleAjaxSimple("desktopRptController.do?getKaoQinTiaoZhengCount", $("#statsForm").serialize(), kaoqinTiaoZhengCounthandleSuccess);
}
}
/**
* 考勤统计
* @param data
*/
function attendhandleSuccess(data){
if(data.cdata.noData){
$("#kqtj").hide();
$("#kqtjerr").show();
}else{
$("#kqtj").show();
$("#kqtjerr").hide();
option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data:[],
width:'90%',
left:'center'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'出勤率(%)',
axisLabel: {
show: true,
interval: 'auto',
formatter: function (value, index) {
return value+"%";
}
//formatter: '{value} '
}
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart1.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart1.setOption(option);
myChart1.resize();
}
}
/**
* 工资统计
* @param data
*/
function wagehandleSuccess(data){
if(data.cdata.noData){
$("#gztj").hide();
$("#gztjerr").show();
}else{
$("#gztj").show();
$("#gztjerr").hide();
option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data:[],
width:'90%',
left:'center'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'工资支出总金额(元)'
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart2.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart2.setOption(option);
myChart2.resize();
}
}
/**
* 考勤调整时长排行榜
* @param data
*/
function kaoqinTiaoZhengTimehandleSuccess(data){
if(data.cdata.noData){
$("#kqtzsc").hide();
$("#kqtzscerr").show();
}else{
$("#kqtzsc").show();
$("#kqtzscerr").hide();
option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '1%',
containLabel: true
},
legend: {
data:[],
width:'90%',
left:'center'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'考勤调整时长(分钟)'
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart6.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart6.setOption(option);
myChart6.resize();
}
}
/**
* 考勤调整时长排行榜
* @param data
*/
function kaoqinTiaoZhengCounthandleSuccess(data){
if(data.cdata.noData){
$("#kqtzcs").hide();
$("#kqtzcserr").show();
}else{
$("#kqtzcs").show();
$("#kqtzcserr").hide();
option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '1%',
containLabel: true
},
legend: {
data:[],
width:'90%',
left:'center'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'考勤调整次数(次)'
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart7.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart7.setOption(option);
myChart7.resize();
}
}
/**
* 人员统计
* @param data
*/
function userhandleSuccess(data){
if(data.cdata.noData){
$("#rytj").hide();
$("#rytjerr").show();
}else{
$("#rytj").show();
$("#rytjerr").hide();
option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data:[],
width:'90%',
left:'center'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'员工流动比例(%)',
axisLabel: {
show: true,
interval: 'auto',
formatter: function (value, index) {
return value+"%";
}
//formatter: '{value} '
}
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart3.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart3.setOption(option);
myChart3.resize();
}
}
/**
* 加班统计
* @param data
*/
function overtimehandleSuccess(data){
if(data.cdata.noData){
$("#jbtj").hide();
$("#jbtjerr").show();
}else{
$("#jbtj").show();
$("#jbtjerr").hide();
option = {
tooltip: {
trigger: 'axis'
},
grid:{
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data:['加班工时(H)','加班费用(元)'],
width:'90%',
left:'left'
},
xAxis:
{
type: 'category',
data: [],
axisLabel: {
interval: 0,
formatter:function(value)
{
var ret = "";//拼接加\n返回的类目项
var maxLength = 1;//每项显示文字个数
var valLength = value.length;//X轴类目项的文字个数
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
if (rowN > 1)//如果类目项的文字大于3,
{
for (var i = 0; i < rowN; i++) {
var temp = "";//每次截取的字符串
var start = i * maxLength;//开始截取的位置
var end = start + maxLength;//结束截取的位置
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
temp = value.substring(start, end) + "\n";
ret += temp; //凭借最终的字符串
}
return ret;
}
else {
return value;
}
}
}
},
yAxis: [
{
type: 'value',
name:'加班工时(H)',
axisLabel: {
formatter: '{value} H'
}
},
{
type: 'value',
name:'加班费用(元)',
axisLabel: {
formatter: '{value}元'
}
}
],
dataZoom: [
{
type: 'inside',
start: 0,
end: 100
}
],
series: [
{
name:'',
type:'bar',
data:[]
}
]
};
myChart4.clear();
option.xAxis.data = data.cdata.xAxisData;
option.series = data.cdata.series;
myChart4.setOption(option);
myChart4.resize();
}
}
/**
* 岗位人力统计
* @param data
*/
function distributionhandleSuccess(data){
if(data.cdata.noData){
$("#gwrl").hide();
$("#gwrl2").hide();
$("#gwrlerr").show();
}else{
$("#gwrl").show();
$("#gwrl2").show();
$("#gwrlerr").hide();
var centerArray = ['50%', '50%'];
if(data.cdata.legend.length > 10){
centerArray = ['70%', '50%'];
}
myChart5.clear();
option = {
tooltip: {
trigger: 'item',
formatter: "{a}
{b}: {c} ({d}%)"
},
legend: {
orient: 'vertical',
x: 'left',
right: '1px',
bottom: '1%',
top:'1%',
data:data.cdata.legend
},
series: [
{
name:'',
type:'pie',
radius: ['50%', '70%'],
center:centerArray,
avoidLabelOverlap: false,
label: {
normal: {
show: true,
position:'center',
formatter:function(){
return ' TOTAL\r\n'+data.totalPeople
},
textStyle:{
fontSize: '20',
fontWeight: 'bold'
}
},
emphasis: {
show: false,
textStyle: {
fontSize: '20',
fontWeight: 'bold'
}
}
},
labelLine: {
normal: {
show: false
}
},
data:data.datamap
}
]
};
if($("#peopleNum").val()==""){
$("#peopleNum").val(data.totalPeople);
}
myChart5.setOption(option);
myChart5.resize();
handleAjaxSimple("distributionStatsController.do?distributionStatsProsData", $("#statsForm").serialize(), distributionProshandleSuccess);
}
}
function distributionProshandleSuccess(data){
var totalpeople = $("#peopleNum").val();
var htmlStr="";
$.each(data.projects, function(index, value, array) {
var widthVal = value.peopleNum / totalpeople * 100 ;
htmlStr +='

数据加载中,请稍等...