|
|
@@ -98,16 +98,13 @@
|
|
98
|
98
|
<script src="../js/echarts.common.min.js"></script>
|
|
99
|
99
|
|
|
100
|
100
|
<script>
|
|
101
|
|
- var token = $.cookie("token"),
|
|
102
|
|
- endtime = helper.DateFormat.getNowDate(), //结束时间
|
|
103
|
|
- stime = helper.DateFormat.getPreMonth(endtime), //开始时间
|
|
104
|
|
- tabtu,
|
|
105
|
|
- xzhou,
|
|
106
|
|
- jtCount, //接通次数
|
|
107
|
|
- hsCount, //呼损次数
|
|
108
|
|
- jtPercent, //接通率
|
|
109
|
|
- hsPercent; //呼损率
|
|
110
|
|
- $(function() {
|
|
|
101
|
+ var token = $.cookie("token");
|
|
|
102
|
+ var myChartp;
|
|
|
103
|
+ var endtime = helper.DateFormat.getNowDate(); //结束时间
|
|
|
104
|
+ var stime = helper.DateFormat.getPreMonth(endtime); //开始时间
|
|
|
105
|
+
|
|
|
106
|
+ $(document).ready(function() {
|
|
|
107
|
+
|
|
111
|
108
|
laydate.render({
|
|
112
|
109
|
elem: '#startTime',
|
|
113
|
110
|
range: '~',
|
|
|
@@ -125,15 +122,23 @@
|
|
125
|
122
|
var index = $(this).index();
|
|
126
|
123
|
$('.th-content >div').eq(index).show()
|
|
127
|
124
|
.siblings().hide();
|
|
128
|
|
- })
|
|
|
125
|
+ });
|
|
129
|
126
|
|
|
130
|
|
- //图形
|
|
131
|
|
- tabtu = echarts.init(document.getElementById('tabtu'));
|
|
|
127
|
+ //搜索事件
|
|
|
128
|
+ $(".sear").click(function() {
|
|
|
129
|
+ getDataLists();
|
|
|
130
|
+ });
|
|
|
131
|
+ //导出功能
|
|
|
132
|
+ $('.export').click(function() {
|
|
|
133
|
+ dcexcel(this);
|
|
|
134
|
+ });
|
|
132
|
135
|
|
|
|
136
|
+ myChartp = echarts.init(document.getElementById('tabtu'));
|
|
|
137
|
+ myChartp.clear();
|
|
|
138
|
+ myChartp.showLoading();
|
|
133
|
139
|
option = {
|
|
134
|
140
|
tooltip: {
|
|
135
|
141
|
trigger: 'axis',
|
|
136
|
|
-
|
|
137
|
142
|
},
|
|
138
|
143
|
|
|
139
|
144
|
legend: {
|
|
|
@@ -142,7 +147,7 @@
|
|
142
|
147
|
},
|
|
143
|
148
|
xAxis: [{
|
|
144
|
149
|
type: 'category',
|
|
145
|
|
- data: xzhou,
|
|
|
150
|
+ data: [],
|
|
146
|
151
|
axisPointer: {
|
|
147
|
152
|
type: ''
|
|
148
|
153
|
},
|
|
|
@@ -154,7 +159,7 @@
|
|
154
|
159
|
yAxis: [{
|
|
155
|
160
|
type: 'value',
|
|
156
|
161
|
name: '通话次数(通)',
|
|
157
|
|
- nameLocation: 'middle',
|
|
|
162
|
+ nameLocation: 'end',
|
|
158
|
163
|
nameGap: 40,
|
|
159
|
164
|
// min: 0,
|
|
160
|
165
|
// max:300,
|
|
|
@@ -167,7 +172,7 @@
|
|
167
|
172
|
{
|
|
168
|
173
|
type: 'value',
|
|
169
|
174
|
name: '百分比(%)',
|
|
170
|
|
- nameLocation: 'middle',
|
|
|
175
|
+ nameLocation: 'end',
|
|
171
|
176
|
nameGap: 35,
|
|
172
|
177
|
min: 0,
|
|
173
|
178
|
max: 100,
|
|
|
@@ -180,117 +185,152 @@
|
|
180
|
185
|
series: [{
|
|
181
|
186
|
type: 'bar',
|
|
182
|
187
|
name: '接通次数',
|
|
183
|
|
- data: jtCount
|
|
|
188
|
+ data: []
|
|
184
|
189
|
},
|
|
185
|
190
|
{
|
|
186
|
191
|
type: 'bar',
|
|
187
|
192
|
name: '呼损次数',
|
|
188
|
|
- data: hsCount
|
|
|
193
|
+ data: []
|
|
189
|
194
|
},
|
|
190
|
195
|
{
|
|
191
|
196
|
type: 'line',
|
|
192
|
197
|
name: '接通率',
|
|
193
|
|
- data: jtPercent,
|
|
|
198
|
+ data: [],
|
|
194
|
199
|
yAxisIndex: 1,
|
|
195
|
200
|
},
|
|
196
|
201
|
{
|
|
197
|
202
|
type: 'line',
|
|
198
|
203
|
name: '呼损率',
|
|
199
|
|
- data: hsPercent,
|
|
|
204
|
+ data: [],
|
|
200
|
205
|
yAxisIndex: 1,
|
|
201
|
206
|
}
|
|
202
|
207
|
],
|
|
203
|
208
|
color: ['#1ab394', '#fbbe5b', '#88ebc4', '#fa957f']
|
|
204
|
|
- };
|
|
205
|
|
- Ajax();
|
|
206
|
|
- tabtu.setOption(option);
|
|
|
209
|
+ }
|
|
207
|
210
|
|
|
208
|
|
- //表头数据
|
|
209
|
|
- getColumnList();
|
|
210
|
|
- //搜索事件
|
|
211
|
|
- $(".sear").click(function() {
|
|
212
|
|
- $('.thTable tbody').html('');
|
|
213
|
|
- stime = $("#startTime").val() && $("#startTime").val().split(' ~ ')[0];
|
|
214
|
|
- endtime = $("#startTime").val() && $("#startTime").val().split(' ~ ')[1];
|
|
215
|
|
- Ajax();
|
|
216
|
|
- tabtu.setOption(option);
|
|
217
|
|
- });
|
|
218
|
|
-
|
|
219
|
|
- //导出
|
|
220
|
|
- $('.export').click(function() {
|
|
221
|
|
- dcexcel(this);
|
|
222
|
|
- })
|
|
|
211
|
+ // 使用刚指定的配置项和数据显示图表。
|
|
|
212
|
+ myChartp.setOption(option);
|
|
|
213
|
+ getDataLists(); //加载数据
|
|
|
214
|
+ getColumnList(); //获取表格
|
|
223
|
215
|
|
|
224
|
216
|
});
|
|
225
|
217
|
|
|
|
218
|
+ //获取数据
|
|
|
219
|
+ function getDataLists() {
|
|
|
220
|
+ $.ajax({
|
|
|
221
|
+ type: "get",
|
|
|
222
|
+ url: huayi.config.callcenter_url + "SwitchedlossCall/GetDataList",
|
|
|
223
|
+ async: true,
|
|
|
224
|
+ dataType: 'json',
|
|
|
225
|
+ data: {
|
|
|
226
|
+ token: token,
|
|
|
227
|
+ stime: $('#startTime').val() && $('#startTime').val().split('~')[0],
|
|
|
228
|
+ endtime: $('#startTime').val() && $('#startTime').val().split('~')[1]
|
|
|
229
|
+ },
|
|
|
230
|
+ success: function(data) {
|
|
|
231
|
+
|
|
|
232
|
+ }
|
|
|
233
|
+ })
|
|
|
234
|
+ .then(function(data) {
|
|
|
235
|
+ $('.thTable tbody').html('');
|
|
|
236
|
+ myChartp.hideLoading();
|
|
|
237
|
+ if(data.state.toLowerCase() == "success") {
|
|
|
238
|
+ var tbodyCon = data.data;
|
|
|
239
|
+ // 填入数据
|
|
|
240
|
+ if(tbodyCon) {
|
|
|
241
|
+ myChartp.setOption({
|
|
|
242
|
+ xAxis: {
|
|
|
243
|
+ data: (function() {
|
|
|
244
|
+ var res = [];
|
|
|
245
|
+ for(var i = 0; i < tbodyCon.length; i++) {
|
|
|
246
|
+ res.push(tbodyCon[i].日期);
|
|
|
247
|
+ }
|
|
|
248
|
+ return res;
|
|
|
249
|
+ })(),
|
|
|
250
|
+ },
|
|
|
251
|
+ series: (function() {
|
|
|
252
|
+ var sres = [],
|
|
|
253
|
+ sres1 = [],
|
|
|
254
|
+ sres2 = [],
|
|
|
255
|
+ sres3 = [];
|
|
|
256
|
+ var sobj = [{
|
|
|
257
|
+ data: sres,
|
|
|
258
|
+ },
|
|
|
259
|
+ {
|
|
|
260
|
+ data: sres1,
|
|
|
261
|
+ },
|
|
|
262
|
+ {
|
|
|
263
|
+ data: sres2,
|
|
|
264
|
+ },
|
|
|
265
|
+ {
|
|
|
266
|
+ data: sres3,
|
|
|
267
|
+ },
|
|
|
268
|
+ ];
|
|
|
269
|
+ for(var i = 0; i < tbodyCon.length; i++) {
|
|
|
270
|
+ sres.push(tbodyCon[i].接通次数);
|
|
|
271
|
+ sres1.push(tbodyCon[i].呼损次数);
|
|
|
272
|
+ sres2.push(tbodyCon[i].接通率);
|
|
|
273
|
+ sres3.push(tbodyCon[i].呼损率);
|
|
|
274
|
+ }
|
|
|
275
|
+ return sobj;
|
|
|
276
|
+ })(),
|
|
|
277
|
+ });
|
|
|
278
|
+ //填充表格数据
|
|
|
279
|
+ for(var j = 0; j < tbodyCon.length; j++) {
|
|
|
280
|
+ $('<tr><td>' + tbodyCon[j].日期 + '</td><td>' + tbodyCon[j].接通次数 + '</td><td>' + tbodyCon[j].呼损次数 + '</td><td>' + tbodyCon[j].接通率 + '</td><td>' + tbodyCon[j].呼损率 + '</td></tr>').appendTo('.thTable tbody');
|
|
|
281
|
+ }
|
|
|
282
|
+ } else {
|
|
|
283
|
+ $('#tabtu').html('<p class="text-center">暂无数据</p>');
|
|
|
284
|
+ $('.thTable tbody').html('<td colspan="9">没有找到您想要的记录呢!我会努力的...</td>');
|
|
|
285
|
+ }
|
|
|
286
|
+
|
|
|
287
|
+ } else {
|
|
|
288
|
+ $('#tabtu').html('<p class="text-center">暂无数据</p>');
|
|
|
289
|
+ $('.thTable tbody').html('<td colspan="9">没有找到您想要的记录呢!我会努力的...</td>');
|
|
|
290
|
+ }
|
|
|
291
|
+ });
|
|
|
292
|
+
|
|
|
293
|
+ }
|
|
|
294
|
+
|
|
|
295
|
+ //获取表头数据
|
|
226
|
296
|
function getColumnList() {
|
|
227
|
297
|
$.ajax({
|
|
228
|
|
- type: "get",
|
|
229
|
|
- url: huayi.config.callcenter_url + "SwitchedlossCall/GetColumnList",
|
|
230
|
|
- async: true,
|
|
231
|
|
- dataType: 'json',
|
|
232
|
|
- data: {
|
|
233
|
|
- token: token
|
|
234
|
|
- },
|
|
235
|
|
- success: function(res) {
|
|
236
|
|
- var con = res.data;
|
|
237
|
|
- for(var i = 0; i < con.length; i++) {
|
|
238
|
|
- $('<td>' + con[i] + '</td>').appendTo('.thTable thead tr')
|
|
|
298
|
+ type: "get",
|
|
|
299
|
+ url: huayi.config.callcenter_url + "SwitchedlossCall/GetColumnList",
|
|
|
300
|
+ async: true,
|
|
|
301
|
+ dataType: 'json',
|
|
|
302
|
+ data: {
|
|
|
303
|
+ token: token
|
|
|
304
|
+ },
|
|
|
305
|
+ success: function(res) {
|
|
239
|
306
|
|
|
240
|
307
|
}
|
|
241
|
|
- }
|
|
242
|
|
- });
|
|
|
308
|
+
|
|
|
309
|
+ })
|
|
|
310
|
+
|
|
|
311
|
+ .then(function(data) {
|
|
|
312
|
+ $('.thTable thead tr').html('');
|
|
|
313
|
+ if(data.state.toLowerCase() == "success") {
|
|
|
314
|
+ var con = data.data;
|
|
|
315
|
+ if(con) {
|
|
|
316
|
+ for(var i = 0; i < con.length; i++) {
|
|
|
317
|
+ $('<td>' + con[i] + '</td>').appendTo('.thTable thead tr');
|
|
|
318
|
+ }
|
|
|
319
|
+ } else {
|
|
|
320
|
+ $('<td colspan="9">暂无表头数据</td>').appendTo('.thTable thead tr')
|
|
|
321
|
+ }
|
|
|
322
|
+ } else {
|
|
|
323
|
+ $('<td colspan="9">暂无表头数据</td>').appendTo('.thTable thead tr')
|
|
|
324
|
+ }
|
|
|
325
|
+ });
|
|
243
|
326
|
}
|
|
244
|
327
|
|
|
|
328
|
+ //导出
|
|
245
|
329
|
function dcexcel(obj) {
|
|
246
|
330
|
var url = huayi.config.callcenter_url + "SwitchedlossCall/ExptList?token=" + token;
|
|
247
|
331
|
url += "&stime=" + stime + "&endtime=" + endtime;
|
|
248
|
332
|
obj.href = url;
|
|
249
|
333
|
}
|
|
250
|
|
-
|
|
251
|
|
- //表格数据
|
|
252
|
|
- function Ajax() {
|
|
253
|
|
- var jtshu = [],
|
|
254
|
|
- hsshu = [],
|
|
255
|
|
- jtlv = [],
|
|
256
|
|
- hslv = [],
|
|
257
|
|
- riqi = [];
|
|
258
|
|
- $.ajax({
|
|
259
|
|
- type: 'get',
|
|
260
|
|
- url: huayi.config.callcenter_url + 'SwitchedlossCall/GetDataList',
|
|
261
|
|
- async: false,
|
|
262
|
|
- dataType: 'json',
|
|
263
|
|
- data: {
|
|
264
|
|
- token: token,
|
|
265
|
|
- stime: stime,
|
|
266
|
|
- endtime: endtime
|
|
267
|
|
- },
|
|
268
|
|
- success: function(data) {
|
|
269
|
|
- var tbodyCon = data.data;
|
|
270
|
|
- console.log(tbodyCon);
|
|
271
|
|
- for(var j = 0; j < tbodyCon.length; j++) {
|
|
272
|
|
- $('<tr><td>' + tbodyCon[j].日期 + '</td><td>' + tbodyCon[j].接通次数 + '</td><td>' + tbodyCon[j].呼损次数 + '</td><td>' + tbodyCon[j].接通率 + '</td><td>' + tbodyCon[j].呼损率 + '</td></tr>').appendTo('.thTable tbody');
|
|
273
|
|
- riqi.push(tbodyCon[j].日期)
|
|
274
|
|
-
|
|
275
|
|
- jtshu.push(tbodyCon[j].坐席名称);
|
|
276
|
|
- hsshu.push(tbodyCon[j].呼入次数);
|
|
277
|
|
- jtlv.push(tbodyCon[j].呼出次数);
|
|
278
|
|
- hslv.push(tbodyCon[j].通话总时长);
|
|
279
|
|
- }
|
|
280
|
|
- }
|
|
281
|
|
- });
|
|
282
|
|
- xzhou = riqi;
|
|
283
|
|
- jtCount = jtshu;
|
|
284
|
|
- hsCount = hsshu;
|
|
285
|
|
- jtPercent = jtlv;
|
|
286
|
|
- hsPercent = hslv;
|
|
287
|
|
- console.log(xzhou);
|
|
288
|
|
- option.xAxis[0].data = xzhou;
|
|
289
|
|
- option.series[0].data = jtCount;
|
|
290
|
|
- option.series[1].data = hsCount;
|
|
291
|
|
- option.series[2].data = jtPercent;
|
|
292
|
|
- option.series[3].data = hsPercent;
|
|
293
|
|
- }
|
|
294
|
334
|
</script>
|
|
295
|
335
|
</body>
|
|
296
|
336
|
|