Nessuna descrizione

trafficData0625-2.js 5.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. getworkOrder()
  2. var telCountData
  3. $('.btn_time').click(function(e) {
  4. if(e.target.tagName == 'SPAN') {
  5. if($(e.target).attr('data-state') == '1') {
  6. $(".hwsjtj").hide()
  7. $('.daySeat').css('display', 'none')
  8. $('.timeTraffic').css('display', 'inline-block')
  9. $('#traffic').css('display', 'none')
  10. $('#timeTraffic').css('display', 'block')
  11. $(this).siblings(".act").children("label").attr("indexTitle", "日话务数据统计1")
  12. $('.call_situation h2').text('话务数据统计')
  13. getworkOrder()
  14. trafficState = 0
  15. }
  16. }
  17. e.stopPropagation();
  18. })
  19. function getworkOrder() {
  20. let workOrderData = [];
  21. let workOrderName = []
  22. new doAjax({
  23. url: huayi.config.callcenter_url + "/InfoNew/GetTelCountByNow",
  24. data: {
  25. timetype: telCountByNowType
  26. },
  27. callBack: function(res) {
  28. var data = res.data.hw[0]
  29. telCountData = data
  30. trafficDataChart(data)
  31. }
  32. });
  33. }
  34. function getLabelOption(positionObj, numberType) {
  35. var labelOption = {
  36. show: true,
  37. rotate: 0,
  38. align: 'left',
  39. color: '#fff',
  40. verticalAlign: 'middle',
  41. position: positionObj,
  42. formatter: function(params) {
  43. if(params.value > 0) {
  44. dataValue = params.seriesName + ': ' + params.value
  45. if(params.seriesName === "回拨") {
  46. dataValue = dataValue + '(' + telCountData.hbbili + '%)'
  47. } else if(params.seriesName === "自助") {
  48. dataValue = dataValue + '(' + telCountData.zzbili + '%)'
  49. } else if(params.seriesName === "人工") {
  50. dataValue = dataValue + '(' + telCountData.jtbili + '%)'
  51. } else if(params.seriesName === "呼出接通") {
  52. dataValue = dataValue + '(' + telCountData.hcbili + '%)'
  53. }
  54. return dataValue;
  55. } else {
  56. return ' ';
  57. }
  58. },
  59. fontSize: 12,
  60. };
  61. return labelOption
  62. }
  63. function trafficDataChart(getdata) {
  64. let hotThingsLeft = echarts.init(document.getElementById("timeTrafficLeft"));
  65. let hotThingsRight = echarts.init(document.getElementById("timeTrafficRight"));
  66. window.onresize = function() {
  67. hotThingsLeft.resize()
  68. hotThingsRight.resize()
  69. }
  70. hotThingsLeft.setOption(getOption(getSeriesLeftData()),['呼入量接通量']);
  71. hotThingsRight.setOption(getOption(getSeriesRightData()),['呼出量呼出接通量']);
  72. }
  73. function getSeriesLeftData (){
  74. return [{
  75. name: '有效来电',
  76. type: 'bar',
  77. stack: 'A',
  78. label: getLabelOption(['-550%', 40], 0),
  79. barWidth: 15,
  80. emphasis: {
  81. focus: 'series'
  82. },
  83. data: [telCountData.effective]
  84. },
  85. {
  86. name: '无效来电',
  87. type: 'bar',
  88. stack: 'A',
  89. label: getLabelOption(['-550%', 20], 0),
  90. barWidth: 15,
  91. emphasis: {
  92. focus: 'series'
  93. },
  94. data: [telCountData.invalid]
  95. },
  96. {
  97. name: '人工',
  98. type: 'bar',
  99. stack: 'Ad',
  100. barWidth: 15, //hbbili
  101. label: getLabelOption(['100%', 20], 0),
  102. emphasis: {
  103. focus: 'series'
  104. },
  105. data: [telCountData.jtcount]
  106. },
  107. {
  108. name: '自助',
  109. type: 'bar',
  110. stack: 'Ad',
  111. barWidth: 15,
  112. label: getLabelOption(['100%', 0], 0),
  113. emphasis: {
  114. focus: 'series'
  115. },
  116. data: [telCountData.zzcount]
  117. },
  118. {
  119. name: '回拨',
  120. type: 'bar',
  121. stack: 'Ad',
  122. barWidth: 15,
  123. label: getLabelOption(['100%', -20], 0),
  124. emphasis: {
  125. focus: 'series'
  126. },
  127. data: [telCountData.hbcount]
  128. },
  129. ]
  130. }
  131. function getSeriesRightData (){
  132. return [{
  133. name: '呼出',
  134. type: 'bar',
  135. barWidth: 15,
  136. label: getLabelOption(['-500%', -5], 0),
  137. labelLine:{
  138. show:true,
  139. normal:{
  140. length:15,
  141. length2: 0,
  142. }
  143. },
  144. emphasis: {
  145. focus: 'series'
  146. },
  147. data: [telCountData.hccount]
  148. },
  149. {
  150. name: '呼出接通',
  151. type: 'bar',
  152. barWidth: 15,
  153. label: getLabelOption(['-100%', -5], 0),
  154. emphasis: {
  155. focus: 'series'
  156. },
  157. data: [telCountData.hcjtcount]
  158. }
  159. ]
  160. }
  161. function getOption(getSeriesData,xAxisData) {
  162. return option = {
  163. tooltip: {
  164. trigger: 'item',
  165. show: true,
  166. // 进行数据处理
  167. formatter: function(params) {
  168. console.log(params, 'params')
  169. var html = '';
  170. if(params.value > 0) {
  171. html += params.marker;
  172. if(params.name.indexOf('率') >= 0) {
  173. html += params.seriesName + ': ' + params.value + '%<br/>';
  174. } else {
  175. html += params.seriesName + ': ' + params.value + '<br/>';
  176. }
  177. }
  178. return html;
  179. }
  180. },
  181. grid: {
  182. left: '3%',
  183. right: '4%',
  184. bottom: '15%',
  185. containLabel: true
  186. },
  187. xAxis: [{
  188. type: 'category',
  189. axisLine: {
  190. lineStyle: {
  191. color: '#ffffff'
  192. }
  193. },
  194. axisLabel: {
  195. show: true,
  196. rotate: 0, // 角度值:Number
  197. interval: '0',
  198. verticalAlign: 'left',
  199. fontSize: 12, // 顺便调小一点字体大小
  200. padding: [0, 0, 0, -10],
  201. textStyle: {
  202. color: '#ffffff'
  203. },
  204. formatter: function(value) {
  205. //x轴的文字改为竖版显示
  206. var str = value;
  207. if(value === "接通量呼入量") {
  208. str = "呼入量 接通量"
  209. } else if(value === "呼出接通量呼出量") {
  210. str = "呼出量 呼出接通量"
  211. } else if(value === "呼入接通率") {
  212. str = "呼入接通率"
  213. } else if(value === "呼出接通率") {
  214. str = " 呼出接通率"
  215. }
  216. return str
  217. }
  218. },
  219. data: xAxisData
  220. }],
  221. yAxis: [{
  222. type: 'value',
  223. splitLine: {
  224. show: false
  225. },
  226. axisLine: {
  227. lineStyle: {
  228. color: '#ffffff'
  229. }
  230. }
  231. }],
  232. color: ['#cd5c5c', '#87cefa', '#da70d6', '#32cd32', '#6495ed',
  233. '#ff69b4', '#ba55d3', '#cd5c5c', '#ffa500', '#40e0d0'
  234. ],
  235. series: getSeriesData
  236. };
  237. }