large.js 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468
  1. // var marquee2 = document.getElementById("marquee2");
  2. // marquee2.start();
  3. // var marquee1 = document.getElementById("marquee1");
  4. // marquee1.start();
  5. $(function() { // 初始化内容
  6. $("#gogogo2").click(function() {
  7. $(".tabbbbb1").hide();
  8. $(".tabbbbb2").show();
  9. $("body").attr("id","bg2")
  10. })
  11. $("#gogogo").click(function() {
  12. $(".tabbbbb2").hide();
  13. $(".tabbbbb1").show();
  14. $("body").attr("id","")
  15. })
  16. var url = "/wzzgh-fwdt/healthScore/largeScreen?orgId="
  17. // $.post(url,function(data,status){
  18. var data = {
  19. "errorList": [{
  20. "orgtype": "基层",
  21. "level": "warning3",
  22. "createTime": "2020-08-06",
  23. "warntype": null,
  24. "name": "温州市眼镜有限公司",
  25. "closeTime":"2020-08-19",
  26. "id": "c734573b-2e90-43de-8a1b-2acecdd99f9f",
  27. "source": "a",
  28. "openTime": "2020-08-06",
  29. "type": 1,
  30. "status": 1
  31. },
  32. {
  33. "orgtype": "基层",
  34. "level": "warning3",
  35. "createTime": "2020-07-08",
  36. "openTime": "2020-07-08",
  37. "warntype": null,
  38. "name": "温州市龙丰橡胶工业有限公司",
  39. "closeTime": "2020-07-19",
  40. "id": "26320f33-5fc4-4fdc-8e10-27e2713cb047",
  41. "source": "a",
  42. "type": 1,
  43. "status": 1
  44. },
  45. {
  46. "orgtype": "基层",
  47. "level": "warning2",
  48. "createTime": "2020-07-10",
  49. "warntype": null,
  50. "name": "温州市娄桥晓光打火机配件厂",
  51. "closeTime": "2020-08-18",
  52. "id": "01418d5e-5fd1-4d25-a50d-00bf1486cedf",
  53. "source": "a",
  54. "openTime": "2020-07-11",
  55. "type": 1,
  56. "status": 1
  57. },
  58. {
  59. "orgtype": "基层",
  60. "level": "warning2",
  61. "createTime": "2020-06-13",
  62. "warntype": null,
  63. "name": "温州市瓯海娄桥化建有限公司",
  64. "closeTime": "2020-06-13",
  65. "id": "07dbf847-e82e-4e2c-8565-d5667877b80b",
  66. "source": "a",
  67. "openTime": "2020-06-13",
  68. "type": 1,
  69. "status": 1
  70. },
  71. {
  72. "orgtype": "基层",
  73. "level": "warning1",
  74. "createTime": "2020-06-13",
  75. "warntype": null,
  76. "name": "温州联丰皮塑有限公司",
  77. "closeTime": null,
  78. "id": "1ca5716f-0dfe-4b7b-829c-74765f80cb3a",
  79. "source": "a",
  80. "openTime": "2020-07-07",
  81. "type": 1,
  82. "status": 1
  83. },
  84. {
  85. "orgtype": "基层",
  86. "level": "warning1",
  87. "createTime": "2020-05-25",
  88. "warntype": null,
  89. "name": "民政橡胶",
  90. "closeTime": null,
  91. "id": "52bfbac4-4d2d-4a74-8554-0d637d91e718",
  92. "source": "a",
  93. "openTime": "2020-07-08",
  94. "type": 1,
  95. "status": 1
  96. },
  97. {
  98. "orgtype": "基层",
  99. "level": "warning1",
  100. "createTime": "2020-05-21",
  101. "warntype": null,
  102. "name": "娄桥新丰润滑油加工厂",
  103. "closeTime": null,
  104. "id": "57fa436a-99a5-450b-bfbe-cad6de1ff01c",
  105. "source": "a",
  106. "openTime": "2020-07-07",
  107. "type": 1,
  108. "status": 1
  109. },
  110. ],
  111. "topList": [{
  112. h:"钟铮锁业", "score": 92,
  113. list: [10,
  114. 10,
  115. 2,
  116. 10,
  117. 10,
  118. 10,
  119. 10,
  120. 5,
  121. 10,
  122. 5,
  123. 10
  124. ],
  125. "orgName": "浙江钟铮锁业有限公司工会",
  126. "top": 1
  127. }, {
  128. h:"", "score": 92,
  129. list: [10,
  130. 10,
  131. 2,
  132. 10,
  133. 10,
  134. 10,
  135. 10,
  136. 5,
  137. 10,
  138. 5,
  139. 10
  140. ],
  141. "orgName": "温州立华科技发展有限公司工会",
  142. "top": 1
  143. }, {
  144. h:"长虹眼镜", "score": 91,
  145. list: [10,
  146. 10,
  147. 1,
  148. 10,
  149. 10,
  150. 10,
  151. 10,
  152. 5,
  153. 10,
  154. 5,
  155. 10,
  156. ],
  157. "orgName": "温州市瓯海长虹眼镜有限公司工会",
  158. "top": 1
  159. }, {
  160. h:"康豪鞋材", "score": 91,
  161. list: [10,
  162. 10,
  163. 1,
  164. 10,
  165. 10,
  166. 10,
  167. 10,
  168. 5,
  169. 10,
  170. 5,
  171. 10,
  172. ],
  173. "orgName": "温州市康豪鞋材有限公司工会",
  174. "top": 1
  175. }, {
  176. h:"创新新材料", "score": 92,
  177. list: [10,
  178. 10,
  179. 2,
  180. 10,
  181. 10,
  182. 10,
  183. 10,
  184. 5,
  185. 10,
  186. 5,
  187. 10,
  188. ],
  189. "orgName": "温州创新新材料股份有限公司工会",
  190. "top": 1
  191. }, {
  192. h:"温州伊斯利", "score": 91,
  193. list: [10,
  194. 10,
  195. 1,
  196. 10,
  197. 10,
  198. 10,
  199. 10,
  200. 5,
  201. 10,
  202. 5,
  203. 10,
  204. ],
  205. "orgName": "温州伊斯利鞋业有限公司工会",
  206. "top": 1
  207. }, {
  208. h:"城建集团", "score": 92,
  209. list: [10,
  210. 10,
  211. 2,
  212. 10,
  213. 10,
  214. 10,
  215. 10,
  216. 5,
  217. 10,
  218. 5,
  219. 10,
  220. ],
  221. "orgName": "温州城建集团有限公司工会",
  222. "top": 1
  223. }, {
  224. h:"晓锋五金厂", "score": 91,
  225. list: [10,
  226. 10,
  227. 1,
  228. 10,
  229. 10,
  230. 10,
  231. 10,
  232. 5,
  233. 10,
  234. 5,
  235. 10,
  236. ],
  237. "orgName": "温州市瓯海娄桥晓锋五金厂工会",
  238. "top": 1
  239. }, {
  240. h:"朗驰实业", "score": 91,
  241. list: [10,
  242. 10,
  243. 1,
  244. 10,
  245. 10,
  246. 10,
  247. 10,
  248. 5,
  249. 10,
  250. 5,
  251. 10,
  252. ],
  253. "orgName": "温州朗驰实业有限公司",
  254. "top": 1
  255. }, {
  256. h:"瑞新集团",
  257. "score": 91,
  258. list: [10,
  259. 10,
  260. 1,
  261. 10,
  262. 10,
  263. 10,
  264. 10,
  265. 5,
  266. 10,
  267. 5,
  268. 10,
  269. ],
  270. "orgName": "瑞新集团有限公司",
  271. "top": 1
  272. }, {
  273. h:"浙江蓝图", "score": 91,
  274. list: [10,
  275. 10,
  276. 1,
  277. 10,
  278. 10,
  279. 10,
  280. 10,
  281. 5,
  282. 10,
  283. 5,
  284. 10,
  285. ],
  286. "orgName": "浙江蓝图包装有限公司",
  287. "top": 1
  288. }, {
  289. h:"大东集团", "score": 91,
  290. list: [10,
  291. 10,
  292. 1,
  293. 10,
  294. 10,
  295. 10,
  296. 10,
  297. 5,
  298. 10,
  299. 5,
  300. 10,
  301. ],
  302. "orgName": "大东集团有限公司",
  303. "top": 1
  304. }, {
  305. h:"", "score": 91,
  306. list: [10,
  307. 10,
  308. 1,
  309. 10,
  310. 10,
  311. 10,
  312. 10,
  313. 5,
  314. 10,
  315. 5,
  316. 10,
  317. ],
  318. "orgName": "温州市进泰鞋业有限公司",
  319. "top": 1
  320. }, {
  321. h:"", "score": 91,
  322. list: [10,
  323. 10,
  324. 1,
  325. 10,
  326. 10,
  327. 10,
  328. 10,
  329. 5,
  330. 10,
  331. 5,
  332. 10,
  333. ],
  334. "orgName": "温州海明威光学有限公司",
  335. "top": 1
  336. }, {
  337. h:"", "score": 91,
  338. list: [10,
  339. 10,
  340. 1,
  341. 10,
  342. 10,
  343. 10,
  344. 10,
  345. 5,
  346. 10,
  347. 5,
  348. 10,
  349. ],
  350. "orgName": "温州市瓯海中亨鞋材有限公司",
  351. "top": 1
  352. }, {
  353. h:"意达石化", "score": 85,
  354. list: [10,
  355. 9,
  356. 1,
  357. 10,
  358. 10,
  359. 10,
  360. 10,
  361. 5,
  362. 10,
  363. 5,
  364. 5,
  365. ],
  366. "orgName": "温州市意达石化泵业有限公司",
  367. "top": 1
  368. }, {
  369. h:"温州鼎圣", "score": 84,
  370. list: [9,
  371. 9,
  372. 1,
  373. 10,
  374. 10,
  375. 10,
  376. 10,
  377. 5,
  378. 10,
  379. 5,
  380. 5,
  381. ],
  382. "orgName": "温州鼎圣制鞋机械有限公司",
  383. "top": 1
  384. }, {
  385. h:"创新住宅", "score": 85,
  386. list: [10,
  387. 9,
  388. 1,
  389. 10,
  390. 10,
  391. 10,
  392. 5,
  393. 5,
  394. 10,
  395. 5,
  396. 10,
  397. ],
  398. "orgName": "温州创新住宅预制构件制造有限公司",
  399. "top": 1
  400. }, {
  401. h:"温州恒驰", "score": 83,
  402. list: [9,
  403. 8,
  404. 1,
  405. 10,
  406. 10,
  407. 10,
  408. 5,
  409. 5,
  410. 10,
  411. 5,
  412. 10,
  413. ],
  414. "orgName": "温州市恒驰汽车配件有限公司",
  415. "top": 1
  416. }, {
  417. h:"三虎动力", "score": 85,
  418. list: [10,
  419. 9,
  420. 1,
  421. 10,
  422. 10,
  423. 10,
  424. 5,
  425. 5,
  426. 10,
  427. 5,
  428. 10,
  429. ],
  430. "orgName": "温州三虎动力部件有限公司",
  431. "top": 1
  432. }, {
  433. h:"物产总公司", "score": 76,
  434. list: [10,
  435. 10,
  436. 1,
  437. 10,
  438. 10,
  439. 10,
  440. 10,
  441. 5,
  442. 0,
  443. 5,
  444. 5,
  445. ],
  446. "orgName": "温州市瓯海区物产总公司",
  447. "top": 1
  448. }, {
  449. h:"娄桥新丰", "score": 65,
  450. list: [9,
  451. 0,
  452. 1,
  453. 10,
  454. 10,
  455. 10,
  456. 5,
  457. 5,
  458. 5,
  459. 5,
  460. 5,
  461. ],
  462. "orgName": "娄桥新丰润滑油加工厂",
  463. "top": 1
  464. }, {
  465. h:"民政橡胶", "score": 69,
  466. list: [8,
  467. 0,
  468. 1,
  469. 10,
  470. 10,
  471. 10,
  472. 5,
  473. 5,
  474. 10,
  475. 5,
  476. 5,
  477. ],
  478. "orgName": "民政橡胶",
  479. "top": 1
  480. }, {
  481. h:"联丰皮塑", "score": 64,
  482. list: [9,
  483. 9,
  484. 1,
  485. 10,
  486. 10,
  487. 0,
  488. 10,
  489. 5,
  490. 0,
  491. 5,
  492. 5,
  493. ],
  494. "orgName": "温州联丰皮塑有限公司",
  495. "top": 1
  496. }, {
  497. h:"娄桥化建", "score": 57,
  498. list: [9,
  499. 7,
  500. 1,
  501. 10,
  502. 10,
  503. 0,
  504. 10,
  505. 5,
  506. 0,
  507. 5,
  508. 0,
  509. ],
  510. "orgName": "温州市瓯海娄桥化建有限公司",
  511. "top": 1
  512. }, {
  513. h:"娄桥晓光", "score": 57,
  514. list: [9,
  515. 7,
  516. 1,
  517. 10,
  518. 10,
  519. 0,
  520. 5,
  521. 5,
  522. 5,
  523. 5,
  524. 0,
  525. ],
  526. "orgName": "温州市娄桥晓光打火机配件厂",
  527. "top": 1
  528. }, {
  529. h:"龙丰橡胶", "score": 39,
  530. list: [8,
  531. 0,
  532. 1,
  533. 10,
  534. 10,
  535. 0,
  536. 0,
  537. 5,
  538. 0,
  539. 5,
  540. 0,
  541. ],
  542. "orgName": "温州市龙丰橡胶工业有限公司",
  543. "top": 1
  544. }, {
  545. h:"瓯海眼镜", "score": 39,
  546. list: [8,
  547. 0,
  548. 1,
  549. 10,
  550. 10,
  551. 0,
  552. 0,
  553. 5,
  554. 0,
  555. 5,
  556. 0,
  557. ],
  558. "orgName": "温州市眼镜有限公司",
  559. "top": 1
  560. }
  561. ],
  562. "obj2": {
  563. "rows1": [{
  564. "mystatus": 1,
  565. "mysum": 5
  566. },
  567. {
  568. "mystatus": 2,
  569. "mysum": 2
  570. },
  571. {
  572. "mystatus": 3,
  573. "mysum": 0
  574. },
  575. {
  576. "mystatus": 4,
  577. "mysum": 6
  578. }
  579. ]
  580. },
  581. "obj1": {
  582. "rows1": []
  583. },
  584. "obj3": {
  585. "rows1": [
  586. {
  587. "months": "2020-05",
  588. "mysum": 0
  589. },
  590. {
  591. "months": "2020-06",
  592. "mysum": 1
  593. },
  594. {
  595. "months": "2020-07",
  596. "mysum": 2
  597. },
  598. {
  599. "months": "2020-08",
  600. "mysum": 1
  601. },
  602. {
  603. "months": "2020-09",
  604. "mysum": 1
  605. },
  606. {
  607. "months": "2020-10",
  608. "mysum": 1
  609. },
  610. ],
  611. "rows2": [
  612. {
  613. "months": "2020-05",
  614. "mysum": 6
  615. },
  616. {
  617. "months": "2020-06",
  618. "mysum": 5
  619. },
  620. {
  621. "months": "2020-07",
  622. "mysum": 2
  623. },
  624. {
  625. "months": "2020-08",
  626. "mysum": 2
  627. },
  628. {
  629. "months": "2020-09",
  630. "mysum": 0
  631. },
  632. {
  633. "months": "2020-10",
  634. "mysum": 0
  635. },
  636. ]
  637. }
  638. }
  639. createBar13("11", data.obj2, "1")
  640. createBar14("11", data.obj3, "1")
  641. var topList = data.topList.sort(function(a, b) {
  642. return b.score - a.score
  643. })
  644. $("#topListNum").html(topList.length);
  645. for (var i in topList) {
  646. var obj = topList[i];
  647. data.obj1.rows1.push({
  648. score: obj.score
  649. })
  650. $("#topListBody").append(
  651. $("<tr num='"+i+"'> <td>" + obj.orgName + " </td> <td style='width: 100px;'>" + obj.score + " </td></tr>")
  652. );
  653. }
  654. $(".tabbbbb1 .map-item").click(function(){
  655. var ptext =$(this).find("p").html();
  656. if(ptext=="蓝图二期"){
  657. ptext="浙江蓝图"
  658. }
  659. var obj = topList.find((item)=>{
  660. if(ptext==item.h){
  661. return true;
  662. }else{
  663. return false;
  664. }
  665. });
  666. for(var i in obj.list){
  667. var numm= obj.list[i]
  668. var test =$("#new332 tr:eq("+i+")").find("td").eq(2).html()
  669. $("#new332 tr:eq("+i+")").find("td").eq(5).html(numm+"分"==test?
  670. "<b style='color:#07bc2d'>"+numm+"分</b>":"<b style='color:red'>"+numm+"分</b>")
  671. }
  672. $("#myModalLabelqqq").html("<span>所属工会:</span>"+obj.orgName)
  673. $("#sumNum").html(obj.score+"分")
  674. $("#myModal4").modal("show")
  675. })
  676. $("#topListBody tr").click(function(){
  677. var num =$(this).attr("num");
  678. var obj = topList[num];
  679. for(var i in obj.list){
  680. var numm= obj.list[i]
  681. var test =$("#new332 tr:eq("+i+")").find("td").eq(2).html()
  682. $("#new332 tr:eq("+i+")").find("td").eq(5).html(numm+"分"==test?
  683. "<b style='color:#07bc2d'>"+numm+"分</b>":"<b style='color:red'>"+numm+"分</b>")
  684. }
  685. $("#myModalLabelqqq").html("<span>所属工会:</span>"+obj.orgName)
  686. $("#sumNum").html(obj.score+"分")
  687. $("#myModal4").modal("show")
  688. })
  689. function createBar6(data) {
  690. var dom = document.getElementById("container6");
  691. var myChart = echarts.init(dom);
  692. var list=data.sort(function(a,b){
  693. return a.list[i]-b.list[i]
  694. })
  695. var names=list.map(function(item){
  696. return item.orgName
  697. })
  698. var values=list.map(function(item){
  699. return item.list[i]
  700. })
  701. var values2=[];
  702. var map = new Map();
  703. for(var i1 in values){
  704. var k=values[i1];
  705. var obj=map.get(k);
  706. if(obj){
  707. obj.value+=1;
  708. }else{
  709. obj={
  710. name:k+"分",
  711. value:1
  712. }
  713. values2.push(obj);
  714. }
  715. map.set(k,obj);
  716. }
  717. var values2=values2.sort(function(a,b){
  718. return b.value-a.value
  719. })
  720. myChart.setOption({
  721. label: {
  722. alignTo: 'edge',
  723. formatter: '{b}\n{d}%',
  724. minMargin: 5,
  725. edgeDistance: 10,
  726. lineHeight: 15,
  727. rich: {
  728. time: {
  729. fontSize: 10,
  730. color: '#999'
  731. }
  732. }
  733. },
  734. darkMode:true,
  735. textStyle:{
  736. color:"#FFFFFF"
  737. },
  738. tooltip: {
  739. trigger: 'item',
  740. axisPointer: {
  741. type: 'shadow'
  742. },
  743. formatter: function(params){
  744. console.log(params)
  745. if(params.seriesIndex==0){
  746. return params.name + '<br />' + '共有'+params.value+'个工会<br/>占比'+params.percent+ '%'
  747. }
  748. if(params.seriesIndex==1){
  749. return params.data +"分"
  750. }
  751. }
  752. },
  753. grid: [
  754. {
  755. width: '50%',
  756. top: '1%',
  757. left: '3%',
  758. right: '4%',
  759. bottom: '3%',
  760. containLabel: true
  761. }, {
  762. top: 100,
  763. width: '50%',
  764. bottom: 10,
  765. left: 800,
  766. containLabel: true
  767. }
  768. ],
  769. xAxis: {
  770. type: 'value',
  771. boundaryGap: [0, 0.01]
  772. },
  773. yAxis: {
  774. type: 'category',
  775. data: names
  776. },
  777. series: [{
  778. name: 'a',
  779. type: 'pie',
  780. radius: '55%',
  781. data:values2,
  782. center: ['75%','50%'],
  783. },{
  784. name: '数据',
  785. type: 'bar',
  786. data:values,
  787. itemStyle: {
  788. normal: {
  789. color: function(params) {
  790. //var colorList =colors;
  791. return "#4175c2";//colorList[params.dataIndex]
  792. },
  793. },
  794. }
  795. }]
  796. });
  797. }
  798. createBar11("11", data.obj1, "1")
  799. // <tr>
  800. // <td>工会名称</td>
  801. // <td>100分</td>
  802. // <td>99.80分</td>
  803. // </tr>
  804. var errorList = data.errorList;
  805. $("#errorListNum").html(errorList.length);
  806. var map = new Map();
  807. map.set("warning3", "红色预警");
  808. map.set("warning2", "橙色预警");
  809. map.set("warning1", "黄色预警");
  810. map.set(1, "基础型");
  811. map.set(2, "提升型");
  812. map.set(3, "即知即改型");
  813. map.set(4, "企业生产经营情况");
  814. for (var i in errorList) {
  815. var obj = errorList[i];
  816. var date = obj.createTime
  817. $("#errorListBody").append(
  818. $("<tr num='"+i+"'> <td>" + obj.name + " </td> <td style='width: 100px;' class='class"+obj.level+"'>" + map.get(obj.level) +
  819. " </td><td style='width: 80px;'>" + map.get(obj.type) + " </td><td style='width: 120px;'>" +
  820. date+ " </td></tr>")
  821. );
  822. }
  823. createBar(data.obj1.rows1.length, 103 - data.obj1.rows1.length, "已关联工会", "container", data.obj1.rows1
  824. .length + "/" + 103);
  825. createBar(8, 2, "预警&处置", "container4", "7/2");
  826. $("#errorListBody tr").click(function(){
  827. var num =$(this).attr("num");
  828. var obj = errorList[num];
  829. $("#myModalLabelwwww").html("<span>所属工会:</span>"+obj.name)
  830. $(".warning3").hide()
  831. $(".warning2").hide()
  832. $(".warning1").hide()
  833. var sz=[
  834. {
  835. w1:" 13:51",w2:" 15:23",w3:" 08:12",
  836. },
  837. {
  838. w1:" 10:25",w2:" 13:42",w3:" 08:38",
  839. },
  840. {
  841. w1:" 09:31",w2:" 11:07",w3:" 09:59",
  842. },
  843. {
  844. w1:" 10:31",w2:" 11:21",w3:" 14:39",
  845. },
  846. ];
  847. var w1=sz[parseInt(num)%4].w1
  848. var w2=sz[parseInt(num)%4].w2
  849. var w3=sz[parseInt(num)%4].w3
  850. if(obj.level=="warning3"){
  851. $(".ob1").text("分数低于40分");
  852. $(".ob2").text("红色预警");
  853. $(".warning3").show()
  854. }
  855. if(obj.level=="warning2"){
  856. $(".ob1").text("分数低于60分");
  857. $(".ob2").text("橙色预警");
  858. $(".warning2").show()
  859. }
  860. if(obj.level=="warning1"){
  861. $(".ob1").text("分数低于70分");
  862. $(".ob2").text("黄色预警");
  863. $(".warning1").show()
  864. }
  865. $("#createTime").text(obj.createTime+w1);
  866. $(".ob3").text(obj.createTime +w1);
  867. $("#openTime").text(obj.openTime+w2);
  868. $("#closeTime").text(obj.closeTime+w3);
  869. $("#myModal3").modal("show");
  870. })
  871. // <tr>
  872. // <td>工会名称</td>
  873. // <td>黄色预警</td>
  874. // <td>基础型</td>
  875. // <td>2021-08-15</td>
  876. // </tr>
  877. // });
  878. function createBar(a, b, title, id, t2) {
  879. var dom = document.getElementById(id);
  880. var myChart = echarts.init(dom);
  881. myChart.setOption({
  882. color: ["#00a1fa", "#004668"],
  883. series: [{
  884. // name: this.title,
  885. type: 'pie',
  886. selectedMode: 'single',
  887. radius: ['100%', '90%'], // 将0改成50%,修改圆的内径
  888. clockwise: false,
  889. label: {
  890. normal: {
  891. position: 'inner',
  892. show: false
  893. }
  894. },
  895. data: [{
  896. value: a,
  897. name: '使用'
  898. },
  899. {
  900. value: b,
  901. name: '未使用'
  902. }
  903. ]
  904. }],
  905. graphic: { // 添加原生图形元素组件
  906. elements: [{
  907. type: 'text', // 组件类型
  908. left: 'center', //定位
  909. top: '34%', // 定位
  910. style: { // 样式
  911. text: title, //文字
  912. fontSize: 13, //文字大小
  913. textAlign: 'center', //定位
  914. width: 30,
  915. height: 30,
  916. fill: '#FFFFFF' // 字体颜色
  917. }
  918. },
  919. {
  920. type: 'text',
  921. left: 'center',
  922. top: '52%',
  923. style: {
  924. text: t2,
  925. fontSize: 16,
  926. textAlign: 'center',
  927. width: 30,
  928. height: 25,
  929. fill: '#00a1fa'
  930. }
  931. }
  932. ]
  933. }
  934. });
  935. }
  936. function createBar13(title, data, clickEvent) {
  937. var dom = document.getElementById("container2");
  938. var myChart = echarts.init(dom);
  939. var arr1 = 0;
  940. var arr2 = 0;
  941. var arr3 = 0;
  942. var arr4 = 0;
  943. for (var i in data.rows1) {
  944. var mystatus = data.rows1[i].mystatus;
  945. if (mystatus == 1) {
  946. arr1 = data.rows1[i].mysum;
  947. } else if (mystatus == 2) {
  948. arr2 = data.rows1[i].mysum;
  949. } else if (mystatus == 3) {
  950. arr3 = data.rows1[i].mysum;
  951. } else if (mystatus == 4) {
  952. arr4 = data.rows1[i].mysum;
  953. }
  954. }
  955. var option = {
  956. tooltip: {
  957. trigger: 'item',
  958. formatter: '{b}预警共{c}个' //这是关键,在需要的地方加上就行了
  959. },
  960. color: ['#37A2DA', '#3BBF03', '#FFCB01', '#FF6200', '#FF2525'],
  961. textStyle:{
  962. color:"#FFFFFF"
  963. },
  964. xAxis: {
  965. type: 'category',
  966. data: ["未处置", "处置中", "已处置", "已关闭"]
  967. },
  968. yAxis: {
  969. type: 'value'
  970. },
  971. series: [{
  972. name: '未处置',
  973. type: 'bar',
  974. showBackground: true,
  975. backgroundStyle: {
  976. color: 'rgba(180, 180, 180, 0.2)'
  977. },
  978. data: [arr1, arr2, arr3, arr4],
  979. itemStyle: {
  980. normal: {
  981. //好,这里就是重头戏了,定义一个list,然后根据所以取得不同的值,这样就实现了,
  982. color: function(params) {
  983. // build a color map as your need.
  984. var colorList = ['#FF6200', '#FFCB01', '#3BBF03', '#aaa'];
  985. return colorList[params.dataIndex]
  986. },
  987. //以下为是否显示,显示位置和显示格式的设置了
  988. label: {
  989. show: true,
  990. position: 'top',
  991. // formatter: '{c}'
  992. formatter: '{b}\n{c}'
  993. }
  994. }
  995. },
  996. //设置柱的宽度,要是数据太少,柱子太宽不美观~
  997. // barWidth:70,
  998. }]
  999. };
  1000. myChart.setOption(option);
  1001. myChart.on('click', function(params) {
  1002. //console.log(params)
  1003. });
  1004. }
  1005. function createBar14(title, data, clickEvent) {
  1006. var dom = document.getElementById("container3");
  1007. var myChart = echarts.init(dom);
  1008. var map = new Map();
  1009. var names = [];
  1010. for (var i in data.rows1) {
  1011. var item = data.rows1[i]
  1012. if (map.has(item.months)) {
  1013. } else {
  1014. names.push(item.months)
  1015. map.set(item.months, [0, 0]);
  1016. }
  1017. map.get(item.months)[0] = item.mysum;
  1018. }
  1019. for (var i in data.rows2) {
  1020. var item = data.rows2[i]
  1021. if (map.has(item.months)) {
  1022. } else {
  1023. names.push(item.months)
  1024. map.set(item.months, [0, 0]);
  1025. }
  1026. map.get(item.months)[1] = item.mysum;
  1027. }
  1028. var data1 = [];
  1029. var data2 = [];
  1030. var series = [];
  1031. names.sort()
  1032. for (var i in names) {
  1033. var name = names[i];
  1034. var sz = map.get(name)
  1035. data1.push(sz[0])
  1036. data2.push(sz[1])
  1037. }
  1038. series.push({
  1039. name: "产生",
  1040. type: 'line',
  1041. data: data2,
  1042. });
  1043. series.push({
  1044. name: "关闭",
  1045. type: 'line',
  1046. data: data1,
  1047. });
  1048. var option = {
  1049. tooltip: {
  1050. trigger: 'item',
  1051. formatter: '{a}{c}个预警' //这是关键,在需要的地方加上就行了
  1052. },
  1053. color: ['#37A2DA', '#3BBF03', '#FFCB01', '#FF6200', '#FF2525'],
  1054. textStyle:{
  1055. color:"#FFFFFF"
  1056. },
  1057. xAxis: {
  1058. type: 'category',
  1059. data: names
  1060. },
  1061. yAxis: {},
  1062. series: series
  1063. };
  1064. //console.log(option)
  1065. myChart.setOption(option);
  1066. myChart.on('click', function(params) {
  1067. //console.log(params)
  1068. });
  1069. }
  1070. function uniq(array) {
  1071. var temp = [];
  1072. var index = [];
  1073. var l = array.length;
  1074. for (var i = 0; i < l; i++) {
  1075. for (var j = i + 1; j < l; j++) {
  1076. if (array[i] === array[j]) {
  1077. i++;
  1078. j = i;
  1079. }
  1080. }
  1081. temp.push(array[i]);
  1082. index.push(i);
  1083. }
  1084. return temp;
  1085. }
  1086. function createBar11(title, data, type) {
  1087. var x = 0;
  1088. var map = new Map();
  1089. var dom = document.getElementById("container1");
  1090. var myChart = echarts.init(dom);
  1091. var mydata = [];
  1092. var mydata1 = [];
  1093. var mydata2 = [];
  1094. var innum = 0;
  1095. var avgnum = 0;
  1096. var colors = []
  1097. if (type == "1") {
  1098. colors = ['#37A2DA', '#3BBF03', '#FFCB01', '#FF6200', '#FF2525']
  1099. var arr1 = new Array();
  1100. var arr2 = new Array();
  1101. var arr3 = new Array();
  1102. var arr4 = new Array();
  1103. var arr5 = new Array();
  1104. for (var i in data.rows1) {
  1105. var score = data.rows1[i].score;
  1106. if (score >= 91) {
  1107. arr1.push(score);
  1108. } else if (score >= 70) {
  1109. arr2.push(score);
  1110. } else if (score >= 60) {
  1111. arr3.push(score);
  1112. } else if (score >= 40) {
  1113. arr4.push(score);
  1114. } else if (score >= 0) {
  1115. arr5.push(score);
  1116. }
  1117. avgnum = avgnum + Number(score);
  1118. }
  1119. mydata = [{
  1120. value: arr1.length,
  1121. name: '优秀 100-91'
  1122. },
  1123. {
  1124. value: arr2.length,
  1125. name: '健康 90-70'
  1126. },
  1127. {
  1128. value: arr3.length,
  1129. name: '黄色预警 69-60'
  1130. },
  1131. {
  1132. value: arr4.length,
  1133. name: '橙色预警 59-40'
  1134. },
  1135. {
  1136. value: arr5.length,
  1137. name: '红色预警 39-0'
  1138. }
  1139. ];
  1140. }
  1141. for (var i in mydata) {
  1142. var mod = mydata[i]
  1143. mydata1.push(mod.name);
  1144. mydata2.push(mod.value);
  1145. if (mod.name.length > 10) {
  1146. x = -5;
  1147. }
  1148. }
  1149. if (type == "2" || type == "1") {
  1150. avgnum = avgnum / data.rows1.length;
  1151. var arr = [];
  1152. for (var i in data.rows1) {
  1153. var score = data.rows1[i].score;
  1154. arr.push(Number(score))
  1155. }
  1156. arr = uniq(arr);
  1157. if (arr.length % 2 == 0) {
  1158. innum = arr[arr.length / 2] + arr[arr.length / 2 - 1];
  1159. innum = innum / 2;
  1160. }
  1161. if (arr.length % 2 == 1) {
  1162. innum = arr[(arr.length - 1) / 2];
  1163. }
  1164. title = title + "\n平均数:" + avgnum.toFixed(2) + "\n中位数:" + innum.toFixed(2)
  1165. $("#num1").html(avgnum.toFixed(2))
  1166. $("#num2").html(innum.toFixed(2))
  1167. }
  1168. var option = {
  1169. color: colors,
  1170. label: {
  1171. alignTo: 'edge',
  1172. formatter: '{b}\n{d}%',
  1173. minMargin: 5,
  1174. edgeDistance: 10,
  1175. lineHeight: 15,
  1176. rich: {
  1177. time: {
  1178. fontSize: 10,
  1179. color: '#999'
  1180. }
  1181. }
  1182. },
  1183. title: {
  1184. text: '',
  1185. subtext: '',
  1186. left: 'center'
  1187. },
  1188. tooltip: {
  1189. trigger: 'item',
  1190. formatter: function(params) {
  1191. console.log(params)
  1192. if (params.seriesIndex == 0) {
  1193. return params.name + '<br />' + '共有' + params.value + '个工会<br/>占比' + params
  1194. .percent + '%'
  1195. }
  1196. if (params.seriesIndex == 1) {
  1197. return params.name + '<br />' + '共有' + params.value + '个工会'
  1198. }
  1199. }
  1200. },
  1201. legend: {
  1202. orient: 'vertical',
  1203. left:"right",
  1204. textStyle: {
  1205. color: '#FFFFFF'
  1206. },
  1207. },
  1208. series: [{
  1209. // name: 'a',
  1210. type: 'pie',
  1211. radius: '50%',
  1212. data: mydata,
  1213. emphasis: {
  1214. itemStyle: {
  1215. shadowBlur: 10,
  1216. shadowOffsetX: 0,
  1217. shadowColor: 'rgba(0, 0, 0, 0.5)',
  1218. //shadowColor: 'rgba(53, 230, 0, 0.5)'
  1219. }
  1220. }
  1221. },
  1222. ]
  1223. }
  1224. myChart.setOption(option);
  1225. myChart.on('click', function(params) {
  1226. //console.log(params)
  1227. });
  1228. }
  1229. var speed = 100;
  1230. function getMy(str) {
  1231. return document.getElementById(str)
  1232. }
  1233. var demo = getMy("topListContent");
  1234. var demo4 = getMy("topListBody");
  1235. var ttt = 0;
  1236. function Marquee1() {
  1237. if (demo.offsetHeight < demo4.offsetHeight) {
  1238. }
  1239. ttt = ttt + 2;
  1240. $("#topListContent").scrollTop(ttt)
  1241. if (demo4.offsetHeight - demo.offsetHeight + 80 < ttt) {
  1242. console.log(demo.offsetTop + "--a---" + demo.offsetHeight + "c" + ttt)
  1243. console.log(demo4.offsetTop + "---b--" + demo4.offsetHeight + "ddd " + demo4.clientHeight)
  1244. $("#topListContent").scrollTop(0)
  1245. ttt = 0;
  1246. }
  1247. }
  1248. var MyMar1 = setInterval(Marquee1, speed) //设置定时器
  1249. //鼠标移上时清除定时器达到滚动停止的目的
  1250. demo.onmouseover = function() {
  1251. clearInterval(MyMar1)
  1252. }
  1253. //鼠标移开时重设定时器
  1254. demo.onmouseout = function() {
  1255. ttt = $("#topListContent").scrollTop()
  1256. MyMar1 = setInterval(Marquee1, speed)
  1257. }
  1258. var demok = getMy("errorListContent");
  1259. var demok4 = getMy("errorListBody");
  1260. var ttt2 = 0;
  1261. function Marquee2() {
  1262. ttt2 = ttt2 + 2;
  1263. $("#errorListContent").scrollTop(ttt2)
  1264. if (demok4.offsetHeight - demok.offsetHeight + 80 < ttt2) {
  1265. $("#errorListContent").scrollTop(0)
  1266. ttt2 = 0;
  1267. }
  1268. }
  1269. var MyMar2 = setInterval(Marquee2, speed) //设置定时器
  1270. //鼠标移上时清除定时器达到滚动停止的目的
  1271. demok.onmouseover = function() {
  1272. clearInterval(MyMar2)
  1273. }
  1274. //鼠标移开时重设定时器
  1275. demok.onmouseout = function() {
  1276. ttt2 = $("#errorListContent").scrollTop()
  1277. MyMar2 = setInterval(Marquee2, speed)
  1278. }
  1279. //-->
  1280. var i=0;
  1281. $("#myModal2Btn").click(function(){
  1282. $("#myModal2").modal("show")
  1283. i=3;
  1284. createBar6(topList);
  1285. })
  1286. $("#myModalLabelTable tr").click(function(){
  1287. var num =$(this).attr("num");
  1288. console.log(num)
  1289. $(".bgindex").removeClass("bgindex")
  1290. $(this).addClass("bgindex");
  1291. if(num){
  1292. i=num;
  1293. createBar6(topList);
  1294. }
  1295. })
  1296. });