Bladeren bron

修改 呼损报表,坐席工作报表

fanlongfei 7 jaren geleden
bovenliggende
commit
b0c4b4dc26
2 gewijzigde bestanden met toevoegingen van 137 en 97 verwijderingen
  1. 136 96
      CallCenterWeb.UI/reportAnalysis/jthusuan.html
  2. 1 1
      CallCenterWeb.UI/reportAnalysis/zuoXiTable.html

+ 136 - 96
CallCenterWeb.UI/reportAnalysis/jthusuan.html

@@ -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
 

File diff suppressed because it is too large
+ 1 - 1
CallCenterWeb.UI/reportAnalysis/zuoXiTable.html