/**
* 每日呼叫数据统计
* */
var dayCallTotal; //图形
var tabIndex = 0;
$(function() {
$('#sc_time').val(helper.DateFormat.getNowDate());
$('.now_day').text(helper.DateFormat.getNowDate());
//初始化时间
layui.use('laydate', function() {
var laydate = layui.laydate;
laydate.render({
elem: '#sc_time',
//range: '~',
theme: '#1ab394',
calendar: true,
done: function(value, date, endDate) {
$('.now_day').text(value);
//console.log(value); //得到日期生成的值,如:2017-08-18
//console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
//console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
}
});
});
//tab切换
$('.hu-tab li').click(function() {
$(this).addClass('active')
.siblings().removeClass('active');
tabIndex = $(this).index();
$('.hu-content >div').eq(tabIndex).show()
.siblings().hide();
loadDatas();
});
//初始化图形
initChart();
//加载数据
loadDatas();
//搜索
$("#sc_btns").click(function() {
loadDatas();
})
});
//初始化图形
function initChart() {
dayCallTotal = echarts.init(document.getElementById('dayCallTotal'));
dayCallTotal.clear();
dayCallTotal.showLoading();
option = {
tooltip: {
trigger: 'axis',
},
legend: {
data: ["呼入量",
"呼出量",
"接通量",
"未接通量",
"接通率"
],
bottom: 0
},
xAxis: [{
name: '时间',
type: 'category',
data: (function() {
var arr = [];
for(var i = 1; i < 25; i++) {
arr.push(i+'点');
}
return arr;
})(),
axisPointer: {
type: ''
}
}],
yAxis: [{
type: 'value',
name: '电话数量',
nameLocation: 'end',
nameGap: 40,
axisLabel: {
formatter: '{value} '
}
}, {
type: 'value',
name: '百分比',
nameLocation: 'end',
nameGap: 35,
interval: 10,
axisLabel: {
formatter: '{value} '
}
}],
series: [{
name: '呼入量',
type: 'bar',
data: []
}, {
name: '呼出量',
type: 'bar',
data: []
}, {
name: '接通量',
type: 'bar',
data: []
}, {
name: '未接通量',
type: 'bar',
data: []
}, {
name: '接通率',
type: 'line',
yAxisIndex: 1,
data: []
}],
color: ['#1ab394', '#adcbfd', '#fbbe5b', '#f26ea2', '#88ebc4']
};
dayCallTotal.setOption(option);
}
//获取图形数据
function getDataList() {
$.ajax({
type: 'get',
url: huayi.config.callcenter_url + 'HourCallTotal/GetDataList',
dataType: 'json',
beforeSend: function() {
loadindex = layer.load()
},
data: {
stime: $('#sc_time').val(), // 否 string 时间 (2018-07-03)
token: $.cookie("token"),
},
async: true,
success: function(res) {
dayCallTotal.hideLoading();
var content = res.data;
if(content && content.length > 0) {
var arr1 = []; //呼入量
var arr2 = []; //呼出量
var arr3 = []; //接通量
var arr4 = []; //未接通量
var arr5 = []; //接通率
for(var i = 0; i < content.length - 1; i++) {
$.each(content[i], function(j, v) {
switch(j) {
case "呼入量":
arr1.push(v);
break;
case "呼出量":
arr2.push(v);
break;
case "接通量":
arr3.push(v);
break;
case "未接通量":
arr4.push(v);
break;
case "接通率":
arr5.push(v.substring(0, 4));
break;
default:
break;
}
});
}
dayCallTotal.setOption({
series: [{
name: '呼入量',
type: 'bar',
data: arr1
}, {
name: '呼出量',
type: 'bar',
data: arr2
}, {
name: '接通量',
type: 'bar',
data: arr3
}, {
name: '未接通量',
type: 'bar',
data: arr4
}, {
name: '接通率',
type: 'line',
yAxisIndex: 1,
data: arr5
}]
});
}
}
}).then(function() {
layer.close(loadindex);
});
}
//获取表格数据
function getTableDataList() {
var colsArr = [];
var loadindex;
$.ajax({
type: 'get',
url: huayi.config.callcenter_url + "HourCallTotal/GetDataList",
async: true,
dataType: 'json',
beforeSend: function() {
loadindex = layer.load()
},
data: {
stime: $('#sc_time').val(), // 否 string 时间 (2018-07-03)
token: $.cookie("token"),
},
success: function(data) {
if(data.state.toLowerCase() == "success") {
var res = data.data;
var colsArr1 = [];
if(res && res.length > 0) {
colsArr1.push({
field: '时间',
title: '时间(点)',
align: 'center',
fixed: true,
// templet: function(d) {
// //return ''+ (d.时间-1) +'点 ~ '+ d.时间 +'点'
// },
//sort: true,
width: 150,
});
for(var i in res[0]) {
if(i === "时间" || i === "接通率") {
continue;
} else {
colsArr1.push({
field: i,
title: i,
align: 'center',
});
}
}
colsArr1.push({
field: '接通率',
title: '接通率',
align: 'center',
fixed: 'right',
//sort: true,
templet: function(d) {
return '' + d.接通率 + ''
},
width: 100,
});
colsArr.push(colsArr1);
layui.use('table', function() {
var table = layui.table;
//方法级渲染
table.render({
elem: '#t_callTotal',
skin: 'row', //line (行边框风格) row (列边框风格) nob (无边框风格)
even: true, //开启隔行背景
size: 'md', //sm,lg,md尺寸的表格
cellMinWidth: 160,
cols: colsArr,
data: res,
limit: res.length, //默认是10
//height: 'full-150'
});
})
}
}
},
}).then(function() {
layer.close(loadindex);
});
}
//格式化序号
function setCode(val, row, index) {
return ++index;
}
//导出
function dcexcel(obj) {
var url = huayi.config.callcenter_url + "HourCallTotal/ExportExcel?token=" + $.cookie("token");
url += "&stime=" + $('#sc_time').val(); //否 string 时间
obj.href = url;
}
function loadDatas() {
if(tabIndex == 0) {
getDataList(); //加载图形
} else if(tabIndex == 1) {
getTableDataList(); //加载表格
}
}