Нет описания

threeScreen.js 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. /**
  2. * 运维图形统计 报修 耗材 隐藏
  3. * */
  4. var stateVal = 0,leftHigh,rightHigh; //默认当天
  5. $(function() {
  6. //获取数据
  7. getPiedatas();
  8. initPies();
  9. });
  10. //获取数据
  11. function getPiedatas(start,end) {
  12. myChart0 = echarts.init(document.getElementById('pieChart0'));
  13. $.ajax({
  14. type: "get",
  15. url: huayi.config.callcenter_url + "WOReport/GetComplainthandlList",
  16. async: false,
  17. dataType: 'json',
  18. data: {
  19. stime: start,
  20. endtime: end,
  21. questionName:$(".quesType").val(),
  22. isEnd:$('#customer_exceed').val(),
  23. product:$("#product_name").val(),//产品
  24. salesBase:$("#category").val(),//基地
  25. },
  26. success: function(data) {
  27. if(data.state.toLowerCase() == "success") {
  28. data = data.rows;
  29. if(data.length>0) {
  30. leftHigh=data[0].number
  31. rightHigh=Math.ceil(data[0].ongesttime)
  32. quesTypeData=[];
  33. $(data).each(function(i, n) {
  34. //数据
  35. quesTypeData[i]=n.name;
  36. })
  37. typeid=[];
  38. $(data).each(function(i, n) {
  39. //数据
  40. typeid[i]=n.typeid;
  41. })
  42. //数量
  43. numberData = [];
  44. $(data).each(function(i, n) {
  45. numberData[i] = n.number;
  46. })
  47. if ($('#customer_exceed').val()==1) {
  48. //超期未完成
  49. endOverdueName="超期未完成";
  50. endOverdueData = [];
  51. $(data).each(function(i, n) {
  52. endOverdueData[i] = n.Overdue;
  53. })
  54. console.log(endOverdueData)
  55. }else if($('#customer_exceed').val()==2){
  56. //已回访数量
  57. endOverdueName="已回访"
  58. endOverdueData = [];
  59. $(data).each(function(i, n) {
  60. endOverdueData[i] = n.EndOverdue;
  61. })
  62. }
  63. //效率提升率
  64. efficiencyData = [];
  65. $(data).each(function(i, n) {
  66. efficiencyData[i] = n.efficiency.split('%')[0];
  67. })
  68. //平均用时
  69. averageData = [];
  70. $(data).each(function(i, n) {
  71. averageData[i] = n.averageTime.split('h')[0];
  72. })
  73. //中位数
  74. medianData = [];
  75. $(data).each(function(i, n) {
  76. medianData[i] = n.median.split('h')[0];
  77. })
  78. //用时最短
  79. minimumtimeData = [];
  80. $(data).each(function(i, n) {
  81. minimumtimeData[i] = n.minimumtime.split('h')[0];
  82. })
  83. //用时最长
  84. ongesttimeData = [];
  85. $(data).each(function(i, n) {
  86. ongesttimeData[i] = n.ongesttime.split('h')[0];
  87. })
  88. }else{
  89. //数据
  90. quesTypeData = []
  91. typeid=[]
  92. //数量
  93. numberData = []
  94. if ($('#customer_exceed').val()==1) {
  95. //超期未完成
  96. endOverdueName="超期未完成";
  97. endOverdueData = [];
  98. }else if($('#customer_exceed').val()==2){
  99. //已回访数量
  100. endOverdueName="已回访"
  101. endOverdueData = [];
  102. }
  103. //效率提升率
  104. efficiencyData = [];
  105. //平均用时
  106. averageData = [];
  107. //中位数
  108. medianData = [];
  109. //用时最短
  110. minimumtimeData = [];
  111. //用时最长
  112. ongesttimeData = [];
  113. }
  114. }
  115. }
  116. });
  117. }
  118. //初始化图形
  119. function initPies() {
  120. initPie0(); //初始化 工单数量统计
  121. }
  122. //初始化 工单数量统计
  123. function initPie0() {
  124. myChart0.on('click', function (params) {
  125. if(params.componentType == "xAxis"){
  126. }else{
  127. Yname =option.series[7].data[params.dataIndex];
  128. if (Yname=="合计") {
  129. Yname=""
  130. }
  131. $('.tagcloud').html('');
  132. textCon();
  133. }
  134. });
  135. var option={
  136. textStyle: {
  137. fontSize: 16 * getHeightScale,
  138. },
  139. tooltip: {
  140. trigger: 'axis',
  141. axisPointer: {
  142. type: 'cross',
  143. crossStyle: {
  144. color: '#999'
  145. }
  146. }
  147. },
  148. toolbox: {
  149. feature: {
  150. dataView: {
  151. show: false,
  152. readOnly: false
  153. },
  154. magicType: {
  155. show: false,
  156. type: ['line','bar']
  157. },
  158. restore: {
  159. show: false
  160. },
  161. saveAsImage: {
  162. show: false
  163. }
  164. }
  165. },
  166. legend: {
  167. data: quesTypeData
  168. },
  169. color: ['#2FCDCD','#1852B5','#D08065','#1852B5','#1852B5', '#1852B5', '#1852B5'],
  170. //color: ['#2F4554','#2F4554','#61A0A8','#D48265','#91C7AE','#749F83', '#CA8622', '#00e9ff'],
  171. xAxis: [{
  172. type: 'category',
  173. data: quesTypeData,
  174. triggerEvent:true,
  175. axisPointer: {
  176. type: 'shadow'
  177. },
  178. axisLine: { //这是x轴文字颜色
  179. lineStyle: {
  180. color: "#00e9ff",
  181. }
  182. },
  183. axisLabel: {
  184. textStyle: {
  185. fontSize: 16 * getHeightScale // 让字体变大
  186. }
  187. }
  188. }],
  189. yAxis: [{
  190. type: 'value',
  191. name: '数量',
  192. min: 0,
  193. max: leftHigh,
  194. interval: Math.ceil(leftHigh/10),
  195. splitLine: {    
  196. show: false  
  197. },
  198. axisLine: { //这是x轴文字颜色
  199. lineStyle: {
  200. color: "#00e9ff",
  201. }
  202. },
  203. axisLabel: {
  204. formatter: '{value}',
  205. textStyle: {
  206. fontSize: 16 * getHeightScale // 让字体变大
  207. }
  208. }
  209. },
  210. {
  211. type: 'value',
  212. name: '天',
  213. min: 0,
  214. max: rightHigh,
  215. interval: Math.ceil(rightHigh/10),
  216. splitLine: {    
  217. show: false  
  218. },
  219. axisLine: { //这是x轴文字颜色
  220. lineStyle: {
  221. color: "#00e9ff",
  222. }
  223. },
  224. axisLabel: {
  225. formatter: '{value} 天',
  226. textStyle: {
  227. fontSize: 16 * getHeightScale // 让字体变大
  228. }
  229. }
  230. }
  231. ],
  232. series: [
  233. {
  234. name: endOverdueName,
  235. type: 'bar',
  236. data: endOverdueData
  237. },
  238. {
  239. name: '总数',
  240. type: 'bar',
  241. data: numberData
  242. },
  243. {
  244. name: '平均用时',
  245. type: 'line',
  246. data: averageData,
  247. yAxisIndex: 1,
  248. smooth: true
  249. }
  250. ,
  251. {
  252. name: '中位数',
  253. type: 'line',
  254. symbolSize: 0, // symbol的大小设置为0
  255. showSymbol: false, // 不显示symbol
  256. lineStyle: {
  257. normal: {
  258. color: 'rgba(0, 0, 0, 0)', // 线的颜色是透明的
  259. width: 0
  260. }
  261. },
  262. data: medianData
  263. },
  264. {
  265. name: '效率提升率(%)',
  266. type: 'line',
  267. symbolSize: 0, // symbol的大小设置为0
  268. showSymbol: false, // 不显示symbol
  269. lineStyle: {
  270. normal: {
  271. color: 'rgba(0, 0, 0, 0)', // 线的颜色是透明的
  272. width: 0
  273. }
  274. },
  275. data: efficiencyData
  276. },
  277. {
  278. name: '用时最短',
  279. type: 'line',
  280. symbolSize: 0, // symbol的大小设置为0
  281. showSymbol: false, // 不显示symbol
  282. lineStyle: {
  283. normal: {
  284. color: 'rgba(0, 0, 0, 0)', // 线的颜色是透明的
  285. width: 0
  286. }
  287. },
  288. data: minimumtimeData
  289. },
  290. {
  291. name: '用时最长',
  292. type: 'line',
  293. symbolSize: 0, // symbol的大小设置为0
  294. showSymbol: false, // 不显示symbol
  295. lineStyle: {
  296. normal: {
  297. color: 'rgba(0, 0, 0, 0)', // 线的颜色是透明的
  298. width: 0
  299. }
  300. },
  301. data: ongesttimeData
  302. }
  303. ,
  304. {
  305. name: '问题ID',
  306. type: 'line',
  307. symbolSize: 0, // symbol的大小设置为0
  308. showSymbol: false, // 不显示symbol
  309. lineStyle: {
  310. normal: {
  311. color: 'rgba(0, 0, 0, 0)', // 线的颜色是透明的
  312. width: 0
  313. }
  314. },
  315. data: typeid
  316. }
  317. ]
  318. }
  319. myChart0.setOption(option)
  320. }