road_manage_statistics.js 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148
  1. var year = new Date().getFullYear();
  2. var month = new Date().getMonth();
  3. var date = new Date().getDate();
  4. var year_assess ;
  5. var score_rank;
  6. var points_assess;
  7. var check_type;
  8. var select_road = $(".div-roadManage select").val();
  9. var array_year_score = new Array();
  10. var array_points = new Array();
  11. var array_points2 = new Array();
  12. var array_allStation = new Array();
  13. var array_allStation_score = new Array();
  14. var array_check_type = new Array();
  15. var array_points_name = new Array();
  16. var array_points_pre = new Array();
  17. var arrar_points_month = new Array();
  18. var array_score_order = new Array();
  19. var array_score_data = new Array();
  20. var array_score_last = new Array();
  21. var array_get_score = new Array();
  22. var array_score_pie = new Array();
  23. var year_assess ;
  24. var score_rank;
  25. var points_assess;
  26. var check_type;
  27. var people_points;
  28. var rank_pre;
  29. var rank_suf;
  30. var min_year;
  31. var min_station;
  32. var min_pre
  33. var min_suff;
  34. var flag = false;
  35. $(function(){
  36. setVisit();
  37. // 公用方法,根据当前年月动态将13个月push数组
  38. month_method();
  39. // 公用方法,月份下拉框
  40. // select_option();
  41. // 回显当前年月份
  42. // $(".div-month select").val(initDate);
  43. $.jeDate("#month_date",{
  44. isinitVal:true,
  45. format: 'YYYY/MM' // 分隔符可以任意定义,该例子表示只显示年月
  46. });
  47. var road_manager;
  48. if(roleContains("STATION")){
  49. road_manager = getCurrentUser().road_manager_id;
  50. }
  51. if(roleContains("ROAD_MANAGER")){
  52. road_manager = getCurrentUser().organid;
  53. }
  54. setRoadManagerSelect(".div-roadManage select",road_manager);
  55. //加载数据
  56. refresh(true);
  57. $(".div-button button").click(function(){
  58. // var select_month = $("#month_date").val();
  59. // console.log("fffffff"+select_month);
  60. // var select_road = $(".div-roadManage select").val();
  61. // 加载图配置
  62. // echart();
  63. refresh(flag);
  64. // if(flag ==true){
  65. // init_company_year_assess("statistics/score/year/info",select_road);
  66. // }
  67. flag = false;
  68. });
  69. // 如果道管中心下拉框改变,点击时加载图一
  70. $(".div-roadManage").change(function(){
  71. flag = true;
  72. });
  73. // 加载图配置
  74. // echart();
  75. function refresh(flag){
  76. echart(flag);
  77. var select_month = $("#month_date").val();
  78. var select_road = $(".div-roadManage select").val();
  79. console.log(select_road);
  80. if(flag ==true){
  81. init_company_year_assess("statistics/score/year/info",select_road);
  82. }
  83. // 查询图二
  84. // init_company_points_assess("statistics/lost/score/rate",select_month+'',select_road);
  85. init_company_points_assess("statistics/score/info",select_month.split('/')[1] +'');
  86. // 查询图三
  87. init_stationAll_rank("statistics/score/manage/tollgate/info",select_month+'',select_road);
  88. // 查询图四
  89. //init_people_rank_pre("statistics/stuff/score/info",select_month+'',select_road);
  90. // 查询图五
  91. init_people_rank_suf("statistics/stuff/score/info",select_month+'',select_road);
  92. // 查询图六
  93. init_server_check_type("statistics/lost/itemscore/rate",select_month+"",select_road);
  94. // 查询图七
  95. init_each_people_points("statistics/lost/twice/itemscore/rate",select_month+"",select_road);
  96. }
  97. /**
  98. * 初始化图一
  99. */
  100. function init_company_year_assess(url,select_road){
  101. var param = {
  102. "start_date":(year-1)+"-"+new Date().getMonth()+"-25"+" 23:00:00",
  103. "end_date":year+"-"+(new Date().getMonth()+1)+"-25"+" 23:00:00",
  104. "dept_id":select_road,
  105. "queryType":1
  106. }
  107. initRqueset(url,param,1);
  108. }
  109. /**
  110. * 初始化图二
  111. */
  112. function init_company_points_assess(url,mon,select_road){
  113. // var param = {
  114. // "mth":mon,
  115. // "dept_id":select_road,
  116. // "queryType":1
  117. // }
  118. // initRqueset(url,param,2);
  119. var param = {
  120. "start_date": year+'-'+(mon-1)+'-25 23:00:00',
  121. "end_date": year+'-'+ mon +'-25 23:00:00'
  122. }
  123. initRqueset(url,param,2);
  124. }
  125. /**
  126. * 初始化图三
  127. */
  128. function init_stationAll_rank(url,mon,select_road){
  129. var param = {
  130. "mth":mon,
  131. "dept_id":select_road
  132. };
  133. initRqueset(url,param,3);
  134. }
  135. /**
  136. * 初始化图四
  137. */
  138. function init_people_rank_pre(url,mon,select_road){
  139. var param = {
  140. mth:mon,
  141. "dept_id":select_road,
  142. "queryType":1,
  143. "order_type":0
  144. }
  145. initRqueset(url,param,4);
  146. }
  147. /**
  148. * 初始化图五
  149. */
  150. function init_people_rank_suf(url,mon,select_road){
  151. var param = {
  152. mth:mon,
  153. "dept_id":select_road,
  154. "queryType":1,
  155. "order_type":1
  156. }
  157. initRqueset(url,param,5);
  158. }
  159. /**
  160. * 初始化图六
  161. */
  162. function init_server_check_type(url,mon,select_road){
  163. var param = {
  164. "mth":mon,
  165. "dept_id":select_road,
  166. "queryType":1
  167. };
  168. initRqueset(url,param,6);
  169. }
  170. /**
  171. * 初始化图七
  172. */
  173. function init_each_people_points(url,mon,select_road){
  174. var prev_mth;
  175. // 判断当前年月是否为一月
  176. if(parseInt((mon+'').substr(5)) == 1){
  177. prev_mth = ((parseInt((mon+'').substr(0,4)))-1)+"/12";
  178. }else{
  179. if((parseInt((mon+'').substr(5))+'').length == 1){
  180. prev_mth = (mon+'').substr(0,4) + '/0'+ (parseInt((mon+'').substr(5))-1);
  181. }else{
  182. prev_mth = (mon+'').substr(0,4) + '/'+ (parseInt((mon+'').substr(5))-1);
  183. }
  184. }
  185. var param = {
  186. "mth": mon,
  187. "prev_mth": prev_mth,
  188. "dept_id":select_road,
  189. "queryType":1
  190. };
  191. initRqueset(url,param,7);
  192. }
  193. /**
  194. * 请求
  195. * @param {*} url
  196. * @param {*} param
  197. * @param {*} type
  198. */
  199. function initRqueset(url,param,type){
  200. post_common_service( url,param,function(data){
  201. data_array(data,type);
  202. if(type == 1){
  203. // 画图
  204. year_assess.setOption(roadManager_year_assess());
  205. }else if(type == 2){
  206. // 画图
  207. points_assess.setOption(roadManager_points_assess());
  208. }else if(type == 3){
  209. // 画图
  210. score_rank.setOption(tollStation_score_rank());
  211. }else if(type == 4){
  212. // 画图
  213. rank_pre.setOption(people_rank_pre());
  214. }else if(type == 5){
  215. // 画图
  216. rank_suf.setOption(people_rank_suf());
  217. }else if(type == 6){
  218. // 画图
  219. check_type.setOption(server_check_type());
  220. }else if(type == 7){
  221. // 画图
  222. people_points.setOption(each_people_points());
  223. }
  224. },function(error){
  225. return "" ;
  226. });
  227. }
  228. function push_data(data,names,propertyname,center_id){
  229. for(var i=0;i<data.list.length;i++){
  230. if(i<7 && center_id==30){
  231. if(data.list[i][propertyname] !=0 )
  232. array_points2.push({"value":( data.list[i][propertyname] ),"name": data.list[i].name+names});
  233. }else if(i>6 && i<13 && center_id==31){
  234. if(data.list[i][propertyname] !=0 )
  235. array_points2.push({"value":( data.list[i][propertyname] ),"name": data.list[i].name+names});
  236. }else if(i>12 && i<21 && center_id==32){
  237. if(data.list[i][propertyname] !=0 )
  238. array_points2.push({"value":( data.list[i][propertyname] ),"name": data.list[i].name+names});
  239. }
  240. }
  241. }
  242. /**
  243. * 数组数据
  244. * @param {*} data
  245. * @param {*} type
  246. */
  247. function data_array(data,type){
  248. if(type == 1){
  249. array_year_score.length = 0;
  250. if(data!=null && data.length!=0){
  251. if(data.length<14){
  252. for(var i=0;i<14-data.length;i++){
  253. // 不足月份补0
  254. array_year_score.push(0);
  255. }
  256. }
  257. for(var i=0;i<data.length;i++){
  258. if(months.indexOf(data[i].mth.substr(2))){
  259. // 指定位置插入值
  260. array_year_score.splice(months.indexOf(data[i].mth.substr(2)),0,
  261. (1000-(filter_handler(data[i].all_check_score,data[i].checked_num,data[i].people_num,0))));
  262. }
  263. }
  264. }else{
  265. array_year_score.length = 0;
  266. months.length = 0;
  267. }
  268. if(eval("Math.min(" + array_year_score.toString() + ")")==0)
  269. min_year = 0;
  270. else
  271. min_year = eval("Math.min(" + array_year_score.toString() + ")").toFixed(0)-10;
  272. }else if(type == 2){
  273. array_points = [];
  274. array_points2 = [] ;
  275. if(data!=null){
  276. var temp = [0,0,0,0];
  277. // array_points.push({"value": (data.people_num-(data.score_fifteen+data.score_fifty+data.score_over_fifty)),"name":'满分'});
  278. // array_points.push({"value": data.score_fifteen,"name":'0-15分'});
  279. // array_points.push({"value": data.score_fifty,"name":'15-50分'});
  280. // array_points.push({"value": data.score_over_fifty,"name":'50分以上'});
  281. // 过滤出道管的数据
  282. var center_id = $(".div-roadManage select").val() ;
  283. for(var i=0;i<data.list.length;i++){
  284. if(i<7 && center_id==30){
  285. temp[0] += data.list[i].checked_people_num - data.list[i].score_fifteen - data.list[i].score_fifty - data.list[i].score_over_fifty ;
  286. temp[1] += data.list[i].score_fifteen ;
  287. temp[2] += data.list[i].score_fifty ;
  288. temp[3] += data.list[i].score_over_fifty ;
  289. }else if(i<13 && center_id==31){
  290. temp[0] += data.list[i].checked_people_num - data.list[i].score_fifteen - data.list[i].score_fifty - data.list[i].score_over_fifty ;
  291. temp[1] += data.list[i].score_fifteen ;
  292. temp[2] += data.list[i].score_fifty ;
  293. temp[3] += data.list[i].score_over_fifty ;
  294. }else if(i<21 && center_id==32){
  295. temp[0] += data.list[i].checked_people_num - data.list[i].score_fifteen - data.list[i].score_fifty - data.list[i].score_over_fifty ;
  296. temp[1] += data.list[i].score_fifteen ;
  297. temp[2] += data.list[i].score_fifty ;
  298. temp[3] += data.list[i].score_over_fifty ;
  299. }
  300. }
  301. array_points.push({"value": (temp[0]),"name":'满分'});
  302. array_points.push({"value": temp[1],"name":'0-15分'});
  303. array_points.push({"value": temp[2],"name":'15-50分'});
  304. array_points.push({"value": temp[3],"name":'50分以上'});
  305. for(var i=0;i<data.list.length;i++){
  306. if(i<7 && center_id==30){
  307. array_points2.push({"value":(data.list[i].checked_people_num - data.list[i].score_fifteen -
  308. data.list[i].score_fifty - data.list[i].score_over_fifty),"name": data.list[i].name+'满分'});
  309. }else if(i>6 && i<13 && center_id==31){
  310. array_points2.push({"value":(data.list[i].checked_people_num - data.list[i].score_fifteen -
  311. data.list[i].score_fifty - data.list[i].score_over_fifty),"name": data.list[i].name+'满分'});
  312. }else if(i>12 && i<21 && center_id==32){
  313. array_points2.push({"value":(data.list[i].checked_people_num - data.list[i].score_fifteen -
  314. data.list[i].score_fifty - data.list[i].score_over_fifty),"name": data.list[i].name+'满分'});
  315. }
  316. }
  317. push_data(data,'0-15分',"score_fifteen",center_id);
  318. push_data(data,'15-50分',"score_fifty",center_id);
  319. push_data(data,'50分以上',"score_over_fifty",center_id);
  320. }else{
  321. array_points = [];
  322. }
  323. }else if(type == 3){
  324. array_allStation_score.length=0;
  325. array_allStation.length=0;
  326. if(data!=null && data.length!=0){
  327. for(var i=0;i<data.length;i++){
  328. array_allStation_score.push((1000-(filter_handler(data[i].all_check_score,data[i].checked_num,data[i].people_num,0))));
  329. }
  330. }else{
  331. array_allStation_score.length=0;
  332. array_allStation.length=0;
  333. }
  334. if(eval("Math.min(" + array_allStation_score.toString() + ")")==0)
  335. min_station = 0;
  336. else
  337. min_station = eval("Math.min(" + array_allStation_score.toString() + ")").toFixed(0)-10;
  338. // 给道管下的收费站排名次
  339. var rank = new Array();
  340. rank[0] = 1 ;
  341. for(var i=1; i<array_allStation_score.length; i++){
  342. if(array_allStation_score[i-1] == array_allStation_score[i] ){
  343. rank[i] = rank[i-1];
  344. }else{
  345. rank[i] = i + 1;
  346. }
  347. }
  348. for(var i=0;i<array_allStation_score.length;i++){
  349. array_allStation.push(data[i].feeStationName.substr(0,data[i].feeStationName.length-3)+"\n"+ (rank[i]));
  350. }
  351. }else if(type == 4){
  352. array_score_order.length=0;
  353. array_score_data.length=0;
  354. if(data!=null && data.length!=0){
  355. for(var i=0;i<data.length;i++){
  356. array_score_order.push(data[i].user.truename+"\n"+"("+data[i].user.fee_station_name.substr(0,data[i].user.fee_station_name.length-3)+")");
  357. array_score_data.push((1000-filter(data[i].all_check_score,data[i].checked_num,0)));
  358. }
  359. }else{
  360. array_score_order.length=0;
  361. array_score_data.length=0;
  362. }
  363. if(eval("Math.min(" + array_score_data.toString() + ")")==0)
  364. min_pre = 0;
  365. else
  366. min_pre = eval("Math.min(" + array_score_data.toString() + ")").toFixed(0)-10;
  367. }else if(type == 5){
  368. array_score_last.length=0;
  369. array_get_score.length=0;
  370. // 已有收费站数组 和 对象
  371. var feeStationTemp = [] ;
  372. var feeStationTempObj = {} ;
  373. if(data!='' && data.length!=0){
  374. for(var i=0;i<data.length;i++){
  375. array_get_score.push((1000-filter(data[i].all_check_score,data[i].checked_num,0)));
  376. // 处理data
  377. if ( feeStationTempObj[data[i].user.fee_station_name] != null){
  378. feeStationTempObj[data[i].user.fee_station_name] += 1 ;
  379. }else{
  380. feeStationTempObj[data[i].user.fee_station_name] = 1 ;
  381. feeStationTemp.push(data[i].user.fee_station_name);
  382. }
  383. }
  384. array_score_pie = [] ;
  385. for(var x=0; x<feeStationTemp.length; x++){
  386. array_score_pie.push({'name':feeStationTemp[x] ,'value':feeStationTempObj[feeStationTemp[x]] });
  387. }
  388. // console.log(feeStationTemp);
  389. // console.log(feeStationTempObj);
  390. }else{
  391. array_score_last.length=0;
  392. array_get_score.length=0;
  393. }
  394. if(eval("Math.min(" + array_get_score.toString() + ")")==0)
  395. min_suff = 0;
  396. else
  397. min_suff = eval("Math.min(" + array_get_score.toString() + ")").toFixed(0)-10;
  398. // 给道管中心人员考核得分后20名
  399. var rank = new Array();
  400. rank[0] = 1 ;
  401. for(var i=1; i<array_get_score.length; i++){
  402. if(array_get_score[i-1] == array_get_score[i] ){
  403. rank[i] = rank[i-1];
  404. }else{
  405. rank[i] = i +1;
  406. }
  407. }
  408. for(var i=0;i<array_get_score.length;i++){
  409. array_score_last.push(data[i].user.truename+"\n"+"("+data[i].user.fee_station_name.substr(
  410. 0,data[i].user.fee_station_name.length-3)+")"+"\n"+ (rank[i]));
  411. }
  412. }else if(type == 6){
  413. array_check_type.length=0;
  414. if(data.length != 0){
  415. for(var i=0;i<data.length;i++){
  416. array_check_type.push({"value": data[i].all_check_score,"name":data[i].name});
  417. }
  418. }else{
  419. array_check_type.length=0;
  420. }
  421. }else if(type == 7){
  422. array_points_name.length=0;
  423. array_points_pre.length=0;
  424. arrar_points_month.length=0;
  425. if( (data!=null && data.Pmth.length!=0) || (data!=null && data.Tmth.length!=0)){
  426. data_each_people_points(data);
  427. }else{
  428. array_points_name.length=0;
  429. array_points_pre.length=0;
  430. arrar_points_month.length=0;
  431. }
  432. }
  433. }
  434. function data_each_people_points(data){
  435. var flag = true;
  436. var name = ['环境卫生','仪容仪表着装','表情','动作','文明用语','工作纪律及行为举止','便民服务','安全管理']
  437. var Tmth = data.Tmth;
  438. var Pmth = data.Pmth;
  439. var Ntemp = new Array();
  440. var Ptemp = new Array();
  441. var Ttemp = new Array();
  442. for(var i= 0; i < name.length;i++){
  443. flag = true;
  444. if(Tmth.length > 0){
  445. for(var j= 0; j< Tmth.length;j++){
  446. if(name[i] == Tmth[j].name && Tmth[j].all_check_score != null){
  447. // Ttemp[i] = filter_handler(Tmth[j].all_check_score,Tmth[j].checked_num,Tmth[j].people_num,0);
  448. Ttemp[i] =Tmth[j].all_check_score;
  449. break;
  450. }else{
  451. Ttemp[i] = 0;
  452. }
  453. }
  454. }else{
  455. Ttemp[i] = 0;
  456. }
  457. if(Pmth.length > 0){
  458. for(var m= 0; m< Pmth.length;m++){
  459. if(name[i] == Pmth[m].name && Pmth[m].all_check_score != null){
  460. // Ptemp[i] = filter_handler(Pmth[m].all_check_score,Pmth[m].checked_num,Pmth[m].people_num,0);
  461. Ptemp[i] =Pmth[m].all_check_score;
  462. break;
  463. }else{
  464. Ptemp[i] = 0;
  465. }
  466. }
  467. }else{
  468. Ptemp[i] = 0;
  469. }
  470. if(Ttemp[i]== 0 && Ptemp[i] == 0){
  471. name[i] = "";
  472. flag = null;
  473. }
  474. if(name[i] != ""){
  475. if(name[i]=='仪容仪表着装'){
  476. name[i]='仪表';
  477. }
  478. if(name[i]=='工作纪律及行为举止'){
  479. name[i]='行为';
  480. }
  481. array_points_name.push(name[i]);
  482. }
  483. if(flag){
  484. array_points_pre.push(Ptemp[i]);
  485. arrar_points_month.push(Ttemp[i]);
  486. }
  487. }
  488. }
  489. /**
  490. * 除数为0处理
  491. * @param {*} num
  492. * @param {*} num1
  493. * @param {*} num2
  494. * @param {*} num4
  495. */
  496. function filter_handler(num,num1,num2,num4){
  497. if(num1 == 0 || num2 == 0){
  498. return num4;
  499. }else{
  500. return ((num/num1)/num2).toFixed(2);
  501. }
  502. }
  503. function filter(num,num1,num2){
  504. if(num1 == 0){
  505. return num2;
  506. }else{
  507. return (num/num1).toFixed(2);
  508. }
  509. }
  510. function echart(flag){
  511. // 路径配置
  512. require.config({
  513. paths: {
  514. echarts: '/js/lib/echarts/build/dist'
  515. }
  516. });
  517. // 使用
  518. require(
  519. [
  520. 'echarts',
  521. 'echarts/theme/macarons',
  522. 'echarts/chart/line',
  523. 'echarts/chart/bar',
  524. 'echarts/chart/pie'
  525. ],
  526. function (ec,theme) {
  527. // 基于准备好的dom,初始化echarts图表
  528. if(flag){
  529. year_assess = ec.init(document.getElementById('roadManager-year-assess'),theme);
  530. }
  531. points_assess = ec.init(document.getElementById('roadManager-points-assess'),theme);
  532. score_rank = ec.init(document.getElementById('tollStation-score-rank'));
  533. rank_pre = ec.init(document.getElementById('people-rank-pre'));
  534. rank_suf = ec.init(document.getElementById('people-rank-suf'),theme);
  535. check_type = ec.init(document.getElementById('server-check-type'),theme);
  536. people_points = ec.init(document.getElementById('each-people-points'));
  537. }
  538. );
  539. }
  540. /**
  541. * 图一
  542. */
  543. function roadManager_year_assess(){
  544. option = {
  545. color : [ '#00ced1' ],
  546. tooltip : {
  547. trigger: 'axis'
  548. },
  549. noDataLoadingOption :{
  550. text: '暂无数据',
  551. effect:'bubble',
  552. effectOption : {
  553. effect: {
  554. n: 0 //气泡个数为0
  555. }
  556. },
  557. textStyle: {
  558. fontSize: 20,
  559. fontFamily:'cursive',
  560. fontWeight: 'bold'
  561. }
  562. },
  563. legend: {
  564. data:['道管中心得分']
  565. },
  566. toolbox: {
  567. show : true,
  568. },
  569. calculable : true,
  570. xAxis : [
  571. {
  572. type : 'category',
  573. boundaryGap : false,
  574. data : months
  575. }
  576. ],
  577. yAxis : [
  578. {
  579. type : 'value',
  580. min : min_year ,
  581. max : 1000,
  582. axisLabel : {
  583. formatter: '{value}'
  584. }
  585. }
  586. ],
  587. series : [
  588. {
  589. name:'道管中心得分',
  590. type:'line',
  591. data:array_year_score,
  592. markPoint : {
  593. data : [
  594. {type : 'max', name: '最大值'},
  595. {type : 'min', name: '最小值'}
  596. ]
  597. },
  598. markLine : {
  599. data : [
  600. {type : 'average', name: '平均值'}
  601. ]
  602. }
  603. },
  604. ]
  605. };
  606. return option;
  607. }
  608. /**
  609. * 图二
  610. */
  611. function roadManager_points_assess(){
  612. // option = {
  613. // tooltip : {
  614. // trigger: 'item',
  615. // formatter: "道管中心考核扣分占比 <br/>{b} : {c}人 ({d}%)"
  616. // },
  617. // noDataLoadingOption :{
  618. // text: '暂无数据',
  619. // effect:'bubble',
  620. // effectOption : {
  621. // effect: {
  622. // n: 0 //气泡个数为0
  623. // }
  624. // },
  625. // textStyle: {
  626. // fontSize: 20,
  627. // fontFamily:'cursive',
  628. // fontWeight: 'bold'
  629. // }
  630. // },
  631. // toolbox: {
  632. // show : true,
  633. // feature : {
  634. // magicType : {
  635. // type: ['pie', 'funnel'],
  636. // option: {
  637. // funnel: {
  638. // x: '25%',
  639. // width: '50%',
  640. // funnelAlign: 'left',
  641. // max: 1548
  642. // }
  643. // }
  644. // },
  645. // }
  646. // },
  647. // calculable : true,
  648. // series : [
  649. // {
  650. // name:'访问来源',
  651. // type:'pie',
  652. // radius : '55%',
  653. // center: ['50%', '50%'],
  654. // data:array_points,
  655. // itemStyle:{
  656. // normal:{
  657. // label:{
  658. // show: true,
  659. // formatter: '{b} :\n{c}人 ({d}%)'
  660. // },
  661. // labelLine :{show:true}
  662. // }
  663. // }
  664. // }
  665. // ]
  666. // };
  667. option = {
  668. tooltip : {
  669. trigger: 'item',
  670. formatter: "道管中心考核扣分占比 <br/>{b} : {c}人 ({d}%)"
  671. },
  672. toolbox: {
  673. show : true,
  674. },
  675. calculable : false,
  676. series : [
  677. {
  678. name:'访问来源',
  679. type:'pie',
  680. selectedMode: 'single',
  681. radius : [0, 50],
  682. // for funnel
  683. x: '20%',
  684. width: '40%',
  685. funnelAlign: 'right',
  686. max: 1548,
  687. itemStyle : {
  688. normal : {
  689. label : {
  690. show: false,
  691. formatter: '{b} :\n{c}人 ({d}%)'
  692. },
  693. labelLine : {
  694. show : false
  695. }
  696. }
  697. },
  698. data:array_points
  699. },
  700. {
  701. name:'访问来源',
  702. type:'pie',
  703. radius : [60, 100],
  704. // for funnel
  705. x: '60%',
  706. width: '35%',
  707. funnelAlign: 'left',
  708. max: 1048,
  709. itemStyle : {
  710. normal : {
  711. label : {
  712. show: true,
  713. formatter: '{b} :\n{c}人 ({d}%)'
  714. },
  715. labelLine : {
  716. show : true
  717. }
  718. }
  719. },
  720. data:array_points2
  721. }
  722. ]
  723. };
  724. return option;
  725. }
  726. /**
  727. * 图三
  728. */
  729. function tollStation_score_rank(){
  730. option = {
  731. color : [ '#00ced1' ],// 条形图颜色
  732. tooltip : {
  733. trigger: 'axis'
  734. },
  735. noDataLoadingOption :{
  736. text: '暂无数据',
  737. effect:'bubble',
  738. effectOption : {
  739. effect: {
  740. n: 0 //气泡个数为0
  741. }
  742. },
  743. textStyle: {
  744. fontSize: 20,
  745. fontFamily:'cursive',
  746. fontWeight: 'bold'
  747. }
  748. },
  749. grid:{
  750. width:"75%",
  751. },
  752. calculable : true,
  753. xAxis : [
  754. {
  755. type : 'category',
  756. axisLabel :{
  757. interval:0 // 显示x轴所有信息,不隐藏部分
  758. },
  759. data : array_allStation
  760. }
  761. ],
  762. yAxis : [
  763. {
  764. type : 'value',
  765. min : min_station ,
  766. max : 1000
  767. }
  768. ],
  769. series : [
  770. {
  771. type:'bar',
  772. data:array_allStation_score,
  773. itemStyle: {
  774. normal: {
  775. label: {
  776. show: true,
  777. position: 'insideTop'
  778. }
  779. }
  780. },
  781. markLine : {
  782. data : [
  783. {type : 'average', name: '平均值'}
  784. ]
  785. }
  786. }
  787. ]
  788. };
  789. return option;
  790. }
  791. /**
  792. * 图四
  793. */
  794. function people_rank_pre(){
  795. option = {
  796. color : [ '#00ced1' ],// 条形图颜色
  797. tooltip : {
  798. trigger: 'axis'
  799. },
  800. noDataLoadingOption :{
  801. text: '暂无数据',
  802. effect:'bubble',
  803. effectOption : {
  804. effect: {
  805. n: 0 //气泡个数为0
  806. }
  807. },
  808. textStyle: {
  809. fontSize: 20,
  810. fontFamily:'cursive',
  811. fontWeight: 'bold'
  812. }
  813. },
  814. grid:{
  815. width:"80%",
  816. },
  817. legend: {
  818. data:['平均分']
  819. },
  820. calculable : true,
  821. xAxis : [
  822. {
  823. type : 'category',
  824. axisLabel :{
  825. interval:0 // 显示x轴所有信息,不隐藏部分
  826. },
  827. data : array_score_order
  828. }
  829. ],
  830. yAxis : [
  831. {
  832. type : 'value',
  833. min : min_pre ,
  834. max : 1000
  835. }
  836. ],
  837. series : [
  838. {
  839. name:'平均分',
  840. type:'bar',
  841. data: array_score_data,
  842. itemStyle: {
  843. normal: {
  844. label: {
  845. show: true,
  846. position: 'insideTop'
  847. }
  848. }
  849. },
  850. markPoint : {
  851. data : [
  852. {type : 'max', name: '最大值'},
  853. {type : 'min', name: '最小值'}
  854. ]
  855. },
  856. markLine : {
  857. data : [
  858. {type : 'average', name: '平均值'}
  859. ]
  860. }
  861. }
  862. ]
  863. };
  864. return option;
  865. }
  866. /**
  867. * 图五
  868. */
  869. function people_rank_suf(){
  870. option = {
  871. tooltip : {
  872. trigger: 'axis'
  873. },
  874. toolbox: {
  875. show : true,
  876. y: 'bottom',
  877. },
  878. calculable : true,
  879. grid:{
  880. width:"88%",
  881. },
  882. xAxis : [
  883. {
  884. type : 'category',
  885. axisLabel :{
  886. interval:0 // 显示x轴所有信息,不隐藏部分
  887. },
  888. splitLine : {show : false},
  889. data : array_score_last
  890. }
  891. ],
  892. yAxis : [
  893. {
  894. type : 'value',
  895. min : min_suff ,
  896. max : 1000
  897. }
  898. ],
  899. series : [
  900. {
  901. name:'平均分',
  902. type:'bar',
  903. data:array_get_score,
  904. itemStyle: {
  905. normal: {
  906. color:'#00ced1',
  907. label: {
  908. show: true,
  909. position: 'insideTop'
  910. }
  911. }
  912. },
  913. markPoint : {
  914. data : [
  915. {type : 'max', name: '最大值'},
  916. {type : 'min', name: '最小值'}
  917. ]
  918. },
  919. },
  920. {
  921. name:'搜索引擎细分',
  922. type:'pie',
  923. tooltip : {
  924. trigger: 'item',
  925. formatter: '{a} <br/>{b} : {c} ({d}%)'
  926. },
  927. center: ['80%','20%'],
  928. radius : [0, 40],
  929. itemStyle : {
  930. normal : {
  931. label:{
  932. show: true,
  933. formatter: '{b} :\n{c}人 ({d}%)'
  934. },
  935. labelLine : {
  936. length : 20
  937. }
  938. }
  939. },
  940. data:array_score_pie
  941. }
  942. ]
  943. };
  944. return option;
  945. }
  946. /**
  947. * 图六
  948. */
  949. function server_check_type(){
  950. option = {
  951. tooltip : {
  952. trigger: 'item',
  953. formatter: "温馨服务检查占比 <br/>{b} : {c}分 ({d}%)"
  954. },
  955. noDataLoadingOption :{
  956. text: '暂无数据',
  957. effect:'bubble',
  958. effectOption : {
  959. effect: {
  960. n: 0 //气泡个数为0
  961. }
  962. },
  963. textStyle: {
  964. fontSize: 20,
  965. fontFamily:'cursive',
  966. fontWeight: 'bold'
  967. }
  968. },
  969. toolbox: {
  970. show : true,
  971. feature : {
  972. magicType : {
  973. type: ['pie', 'funnel'],
  974. option: {
  975. funnel: {
  976. x: '25%',
  977. width: '50%',
  978. funnelAlign: 'left',
  979. max: 1548
  980. }
  981. }
  982. },
  983. }
  984. },
  985. calculable : true,
  986. series : [
  987. {
  988. name:'访问来源',
  989. type:'pie',
  990. radius : '55%',
  991. center: ['50%', '50%'],
  992. data:array_check_type,
  993. itemStyle:{
  994. normal:{
  995. label:{
  996. show: true,
  997. formatter: '{b} :\n{c}分 ({d}%)'
  998. },
  999. labelLine :{show:true}
  1000. }
  1001. }
  1002. }
  1003. ]
  1004. };
  1005. return option;
  1006. }
  1007. /**
  1008. * 图七
  1009. */
  1010. function each_people_points(){
  1011. option = {
  1012. tooltip : {
  1013. trigger: 'axis'
  1014. },
  1015. noDataLoadingOption :{
  1016. text: '暂无数据',
  1017. effect:'bubble',
  1018. effectOption : {
  1019. effect: {
  1020. n: 0 //气泡个数为0
  1021. }
  1022. },
  1023. textStyle: {
  1024. fontSize: 20,
  1025. fontFamily:'cursive',
  1026. fontWeight: 'bold'
  1027. }
  1028. },
  1029. grid:{
  1030. width:"80%"
  1031. },
  1032. legend: {
  1033. data:['上月','本月']
  1034. },
  1035. calculable : true,
  1036. xAxis : [
  1037. {
  1038. type : 'category',
  1039. data : array_points_name
  1040. }
  1041. ],
  1042. yAxis : [
  1043. {
  1044. type : 'value'
  1045. }
  1046. ],
  1047. series : [
  1048. {
  1049. name:'上月',
  1050. type:'bar',
  1051. data: array_points_pre,
  1052. itemStyle: {
  1053. normal: {
  1054. color:'#7bc0f2',
  1055. label: {
  1056. show: true,
  1057. textStyle: {
  1058. color:'black'
  1059. }
  1060. }
  1061. }
  1062. },
  1063. },
  1064. {
  1065. name:'本月',
  1066. type:'bar',
  1067. data: arrar_points_month,
  1068. itemStyle: {
  1069. normal: {
  1070. color:'#ea644a',
  1071. label: {
  1072. show: true,
  1073. textStyle: {
  1074. color:'black'
  1075. }
  1076. }
  1077. }
  1078. },
  1079. }
  1080. ]
  1081. };
  1082. return option;
  1083. }
  1084. });
  1085. function setVisit(){
  1086. if(roleContains("ROAD_MANAGER") || roleContains("STATION")){
  1087. $(".div-roadManage select").attr("disabled","disabled");
  1088. }
  1089. }