| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- /**
- * 通话时长统计
- * */
- var token = $.cookie("token"),
- tabtu,
- legend = [], //图例
- zxn, //坐席名称
- callIn, //呼入次数
- callInTime, //呼入时长
- callOut, //呼出次数
- callOutTime, //呼出时长
- hcNoCount, //呼出未接通次数
- zhenLing, //振铃时长
- total, //通话总时长
- pingjun; //平均通话时长
- $(document).ready(function() {
- $('.tool_bars').authorizeButton();
- laydate.render({
- elem: '#choseTime',
- theme: '#249fea',
- range: '~',
- });
- //图形
- tabtu = echarts.init(document.getElementById('tabtu'));
- option = {
- tooltip: {
- trigger: 'axis',
- },
- legend: {
- data: legend,
- bottom: 0
- },
- xAxis: [{
- type: 'category',
- data: zxn,
- axisPointer: {
- type: ''
- }
- }],
- yAxis: [{
- type: 'value',
- name: '通话次数(通)',
- nameLocation: 'middle',
- nameGap: 35,
- // min: 0,
- // max:300,
- interval: 50,
- axisLabel: {
- formatter: '{value} '
- }
- },
- {
- type: 'value',
- name: '通话时长(s)',
- nameLocation: 'middle',
- nameGap: 35,
- // min: 0,
- // max: 150,
- interval: 100,
- axisLabel: {
- formatter: '{value} '
- }
- }
- ],
- series: [{
- type: 'bar',
- name: '呼入次数',
- data: callIn
- }, {
- type: 'line',
- name: '呼入时长',
- yAxisIndex: 1,
- data: callInTime
- },
- {
- type: 'bar',
- name: '呼出次数',
- data: callOut
- }, {
- type: 'line',
- name: '呼出时长',
- yAxisIndex: 1,
- data: callOutTime
- }, {
- type: 'bar',
- name: '呼出未接通次数',
- data: hcNoCount
- }, {
- type: 'line',
- name: '振铃时长',
- yAxisIndex: 1,
- data: zhenLing
- },
- {
- type: 'line',
- name: '通话总时长',
- yAxisIndex: 1,
- data: total
- },
- {
- type: 'line',
- name: '平均通话时长',
- yAxisIndex: 1,
- data: pingjun
- }
- ],
- color: ['#1ab394', '#fbbe5b', '#88ebc4', '#fa957f', '#cddc39', '#ff5722', '#e91e63', '#673ab7']
- };
- getDataList();
- tabtu.setOption(option);
- getColumnList();
- //tab切换
- $('.th-tab li').click(function() {
- $(this).addClass('active')
- .siblings().removeClass('active');
- var index = $(this).index();
- $('.th-content >div').eq(index).show()
- .siblings().hide();
- })
- //搜索事件
- $("#sc_btns").click(function() {
- $('.thTable tbody').html('');
- getDataList();
- tabtu.setOption(option);
- });
- })
- //表头数据
- function getColumnList() {
- var con;
- $.ajax({
- type: "get",
- url: huayi.config.callcenter_url + "TalkTime/GetColumnList",
- async: false,
- dataType: 'json',
- data: {
- token: token
- },
- success: function(res) {
- con = res.data;
- for(var i = 0; i < con.length; i++) {
- $('<td>' + con[i] + '</td>').appendTo('.thTable thead tr')
- }
- return con
- }
- });
- legend = con;
- }
- //导出功能
- function btn_export() {
- var url = huayi.config.callcenter_url + "TalkTime/ExptList?token=" + token;
- var st = $('#choseTime').val() && $('#choseTime').val().split(' ~ ')[0];
- var et = $('#choseTime').val() && $('#choseTime').val().split(' ~ ')[1];
- url += "&stime=" + st + "&endtime=" + et;
- window.location.href = url;
- }
- //图形数据
- function getDataList() {
- var zx_name = [],
- huru = [],
- huruTime = [],
- huchu = [],
- huchuTime = [],
- hcNo = [],
- zlTime = [],
- allCall = [],
- averange = [];
- $.ajax({
- type: 'get',
- url: huayi.config.callcenter_url + 'TalkTime/GetDataList',
- async: false,
- dataType: 'json',
- data: {
- token: token,
- stime: $('#choseTime').val() && $('#choseTime').val().split(' ~ ')[0],
- endtime: $('#choseTime').val() && $('#choseTime').val().split(' ~ ')[1]
- },
- success: function(data) {
- debugger;
- var tbodyCon = data.data;
- if(tbodyCon) {
- for(var j = 0; j < tbodyCon.length; j++) {
- $('<tr><td>' + tbodyCon[j].坐席名称 + '</td><td>' + tbodyCon[j].呼入次数 + '</td><td>' + tbodyCon[j].呼入时长 + '</td><td>' + tbodyCon[j].呼出次数 + '</td><td>' + tbodyCon[j].呼出时长 + '</td><td>' + tbodyCon[j].呼出未接通次数 + '</td><td>' + tbodyCon[j].振铃时长 + '</td><td>' + tbodyCon[j].通话总时长 + '</td><td>' + tbodyCon[j].平均通话总时长 + '</td></tr>').appendTo('.thTable tbody')
- zx_name.push(tbodyCon[j].坐席名称);
- huru.push(tbodyCon[j].呼入次数)
- huruTime.push(tbodyCon[j].呼入时长)
- huchu.push(tbodyCon[j].呼出次数)
- huchuTime.push(tbodyCon[j].呼出时长)
- hcNo.push(tbodyCon[j].呼出未接通次数)
- zlTime.push(tbodyCon[j].振铃时长)
- allCall.push(tbodyCon[j].通话总时长)
- averange.push(tbodyCon[j].平均通话总时长)
- }
- }
- }
- });
- // console.log(leg);
- // legend=leg;//图例
- zxn = zx_name;
- callIn = huru; //呼入次数
- callInTime = huruTime; //呼入时长
- callOut = huchu; //呼出次数
- callOutTime = huchuTime; //呼出时长
- hcNoCount = hcNo; //呼出未接通次数
- zhenLing = zlTime; //振铃时长
- total = allCall; //通话总时长
- pingjun = averange; //平均通话时长
- //console.log(zxn);
- option.xAxis[0].data = zxn;
- option.series[0].data = callIn;
- option.series[1].data = callInTime;
- option.series[2].data = callOut;
- option.series[3].data = callOutTime;
- option.series[4].data = hcNoCount;
- option.series[5].data = zhenLing;
- option.series[6].data = total;
- option.series[7].data = pingjun;
- }
|