| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- /**
- * 每日呼叫数据统计
- * */
- 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 '<span>'+ (d.时间-1) +'点 ~ '+ d.时间 +'点</span>'
- // },
- //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 '<span class="color_73926">' + d.接通率 + '</span>'
- },
- 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(); //加载表格
- }
- }
|