xgym_7.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. $(document).ready(function () {
  2. //辅助决策 新冠疫苗接种情况 默认数据 - 加强针接种情况统计
  3. var isLoading = true;
  4. var temp = new Object();
  5. var array = new Array();
  6. for (var year = 2021; year <= 2025; year++) {
  7. var array1 = new Array();
  8. array.push(array1);
  9. array1.push({
  10. "jdId" : 170387468639,
  11. "jdName" : "锦程街道办事处",
  12. "year" : year,
  13. "month1" : 0,
  14. "month2" : 0,
  15. "month3" : 0,
  16. "month4" : 0,
  17. "month5" : 0,
  18. "month6" : 0,
  19. "month7" : 0,
  20. "month8" : 0,
  21. "month9" : 0,
  22. "month10" : 0,
  23. "month11" : 0,
  24. "month12" : 0
  25. });
  26. array1.push({
  27. "jdId" : 172291278969,
  28. "jdName" : "东风街道办事处",
  29. "year" : year,
  30. "month1" : 0,
  31. "month2" : 0,
  32. "month3" : 0,
  33. "month4" : 0,
  34. "month5" : 0,
  35. "month6" : 0,
  36. "month7" : 0,
  37. "month8" : 0,
  38. "month9" : 0,
  39. "month10" : 0,
  40. "month11" : 0,
  41. "month12" : 0
  42. });
  43. array1.push({
  44. "jdId" : 288313983755,
  45. "jdName" : "富民街道办事处",
  46. "year" : year,
  47. "month1" : 0,
  48. "month2" : 0,
  49. "month3" : 0,
  50. "month4" : 0,
  51. "month5" : 0,
  52. "month6" : 0,
  53. "month7" : 0,
  54. "month8" : 0,
  55. "month9" : 0,
  56. "month10" : 0,
  57. "month11" : 0,
  58. "month12" : 0
  59. });
  60. array1.push({
  61. "jdId" : 288313983756,
  62. "jdName" : "前程街道办事处",
  63. "year" : year,
  64. "month1" : 0,
  65. "month2" : 0,
  66. "month3" : 0,
  67. "month4" : 0,
  68. "month5" : 0,
  69. "month6" : 0,
  70. "month7" : 0,
  71. "month8" : 0,
  72. "month9" : 0,
  73. "month10" : 0,
  74. "month11" : 0,
  75. "month12" : 0
  76. });
  77. }
  78. temp.jiaQiangZhenJieZhongQingKuangTongJi = array;
  79. jiaQiangZhenJieZhongQingKuangTongJi(temp, isLoading);
  80. var obj = new Object();
  81. $.ajax({
  82. url : prefix + "/queryXinGuanJiaQiangZhenJieZhongQingKuangTongJi",
  83. method : 'post',
  84. data : obj,
  85. success : function (e) {
  86. if(e.code == 0){
  87. isLoading = false;
  88. e.jiaQiangZhenJieZhongQingKuangTongJi = $.parseJSON(e.jiaQiangZhenJieZhongQingKuangTongJi);
  89. jiaQiangZhenJieZhongQingKuangTongJi(e, isLoading);
  90. }
  91. }
  92. });
  93. });
  94. var yearArr = [2021, 2022, 2023, 2024, 2025];
  95. var currentIndex = 1;//默认选择年份
  96. var currentYear = yearArr[currentIndex] ;//默认年份
  97. function jiaQiangZhenJieZhongQingKuangTongJi(e, isLoading){//加强针接种情况统计
  98. //https://echarts.apache.org/zh/option.html#timeline
  99. //https://echarts.apache.org/examples/zh/editor.html?c=mix-timeline-finance
  100. var result = e.jiaQiangZhenJieZhongQingKuangTongJi;
  101. var jdNames = new Array();
  102. for (var i = 0; i < result[0].length; i++) {
  103. jdNames.push(result[0][i].jdName);
  104. }
  105. var years = new Array();
  106. for (var i = 0; i < result.length; i++) {
  107. years.push(result[i][0].year);
  108. }
  109. var jieDao_yearData_2D = [];
  110. for (var i = 0; i < jdNames.length; i++) {
  111. var jdYearData = [];
  112. for (var j = 0; j < years.length; j++) {
  113. var monthData = [];
  114. monthData.push(result[j][i].month1);
  115. monthData.push(result[j][i].month2);
  116. monthData.push(result[j][i].month3);
  117. monthData.push(result[j][i].month4);
  118. monthData.push(result[j][i].month5);
  119. monthData.push(result[j][i].month6);
  120. monthData.push(result[j][i].month7);
  121. monthData.push(result[j][i].month8);
  122. monthData.push(result[j][i].month9);
  123. monthData.push(result[j][i].month10);
  124. monthData.push(result[j][i].month11);
  125. monthData.push(result[j][i].month12);
  126. jdYearData.push(monthData);
  127. }
  128. jieDao_yearData_2D.push(jdYearData);
  129. }
  130. //var data = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];
  131. var data = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
  132. //var data = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];
  133. var dom = document.getElementById("jqzjzqktj");
  134. var myChart = echarts.init(dom);
  135. if(!isLoading){
  136. myChart.on("click", function (e) {
  137. if(e.componentType=="timeline"){//点击了时间轴
  138. currentYear = e.name;
  139. }else {
  140. var currentMonth = e.dataIndex + 1;
  141. openDialog_jqjz(currentMonth);
  142. }
  143. });
  144. }
  145. var option;
  146. var dataMap = {};
  147. function dataFormatter(obj) {
  148. // prettier-ignore
  149. var pList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
  150. var temp;
  151. for (var year = years[0]; year <= years[years.length - 1]; year++) {
  152. var max = 0;
  153. var sum = 0;
  154. temp = obj[year];
  155. for (var i = 0, l = temp.length; i < l; i++) {
  156. max = Math.max(max, temp[i]);
  157. sum += temp[i];
  158. obj[year][i] = {
  159. name: pList[i],
  160. value: temp[i]
  161. };
  162. }
  163. obj[year + 'max'] = Math.floor(max / 100) * 100;
  164. obj[year + 'sum'] = sum;
  165. }
  166. return obj;
  167. }
  168. // prettier-ignore
  169. dataMap.dataJd1 = dataFormatter({
  170. //max : 60000,
  171. 2025: jieDao_yearData_2D[0][years.length-1],
  172. 2024: jieDao_yearData_2D[0][years.length-2],
  173. 2023: jieDao_yearData_2D[0][years.length-3],
  174. 2022: jieDao_yearData_2D[0][years.length-4],
  175. 2021: jieDao_yearData_2D[0][years.length-5],
  176. });
  177. // prettier-ignore
  178. dataMap.dataJd2 = dataFormatter({
  179. //max : 4000,
  180. 2025: jieDao_yearData_2D[1][years.length-1],
  181. 2024: jieDao_yearData_2D[1][years.length-2],
  182. 2023: jieDao_yearData_2D[1][years.length-3],
  183. 2022: jieDao_yearData_2D[1][years.length-4],
  184. 2021: jieDao_yearData_2D[1][years.length-5],
  185. });
  186. // prettier-ignore
  187. dataMap.dataJd3 = dataFormatter({
  188. //max : 26600,
  189. 2025: jieDao_yearData_2D[2][years.length-1],
  190. 2024: jieDao_yearData_2D[2][years.length-2],
  191. 2023: jieDao_yearData_2D[2][years.length-3],
  192. 2022: jieDao_yearData_2D[2][years.length-4],
  193. 2021: jieDao_yearData_2D[2][years.length-5],
  194. });
  195. // prettier-ignore
  196. dataMap.dataJd4 = dataFormatter({
  197. //max : 25000,
  198. 2025: jieDao_yearData_2D[3][years.length-1],
  199. 2024: jieDao_yearData_2D[3][years.length-2],
  200. 2023: jieDao_yearData_2D[3][years.length-3],
  201. 2022: jieDao_yearData_2D[3][years.length-4],
  202. 2021: jieDao_yearData_2D[3][years.length-5],
  203. });
  204. var options = new Array();;
  205. for (var i = 0; i < years.length; i++) {
  206. options.push({
  207. title: { text: years[i] + '年加强针接种情况' },
  208. series: [
  209. { data: dataMap.dataJd1[years[i]] },
  210. { data: dataMap.dataJd2[years[i]] },
  211. { data: dataMap.dataJd3[years[i]] },
  212. { data: dataMap.dataJd4[years[i]] }
  213. ]
  214. });
  215. }
  216. option = {
  217. baseOption: {
  218. timeline: {
  219. axisType: 'category',
  220. lineStyle:{
  221. show:true,
  222. color:'#00cdef',
  223. width:2,
  224. padding:0
  225. },
  226. left:20,
  227. right:20,
  228. checkpointStyle:{
  229. color:'#ffff00',
  230. borderStyle:'#ff9900',
  231. },
  232. controlStyle:{
  233. color:'#00cdef',
  234. borderColor:'#00cdef',
  235. },
  236. // realtime: false,
  237. // loop: false,
  238. autoPlay: false,
  239. currentIndex: currentIndex,
  240. playInterval: 1000,
  241. // controlStyle: {
  242. // position: 'left'
  243. // },
  244. data: [
  245. years[0],
  246. years[1],
  247. years[2],
  248. years[3],
  249. years[4]
  250. ],
  251. emphasis:{
  252. controlStyle:{
  253. color:'#ff9900',
  254. borderColor:'#ff9900',
  255. },
  256. },
  257. label: {
  258. color:'#00cdef',
  259. emphasis:{
  260. color:'#ff9900'
  261. },
  262. formatter: function (s) {
  263. return new Date(s).getFullYear();
  264. }
  265. }
  266. },
  267. title: {
  268. top:10,
  269. left:20,
  270. textStyle:{
  271. color: '#00cdef'
  272. }
  273. // subtext: '数据来自国家统计局'
  274. },
  275. tooltip: {},
  276. // legend: {
  277. //
  278. // left: 'right',
  279. // data: ['第一产业', '第二产业', '第三产业'],
  280. // selected: {
  281. // GDP: false,
  282. // 金融: false,
  283. // 房地产: false
  284. // }
  285. // },
  286. calculable: true,
  287. grid: {
  288. top: 80,
  289. bottom: 100,
  290. tooltip: {
  291. trigger: 'axis',
  292. axisPointer: {
  293. type: 'shadow',
  294. label: {
  295. show: true,
  296. formatter: function (params) {
  297. return params.value.replace('\n', '');
  298. }
  299. }
  300. }
  301. }
  302. },
  303. xAxis: [
  304. {
  305. type: 'category',
  306. axisLabel: { interval: 0 },
  307. data:data,
  308. axisLabel: {
  309. color: '#00cdef'
  310. },
  311. axisLine: {
  312. show: true,
  313. lineStyle: {
  314. color: '#00cdef'
  315. }
  316. },
  317. splitLine: {
  318. show: false
  319. },
  320. },
  321. ],
  322. yAxis: [
  323. {
  324. type: 'value',
  325. name: '接种针数',
  326. axisLabel: {
  327. show: true,
  328. color: '#00cdef'
  329. },
  330. axisLine: {
  331. show: true,
  332. lineStyle: {
  333. color: '#00cdef'
  334. }
  335. },
  336. splitLine: {
  337. show: true,
  338. lineStyle:{
  339. color:'#0b3747'
  340. }
  341. },
  342. }
  343. ],
  344. series: [
  345. { name: jdNames[0],
  346. type: 'line' ,
  347. areaStyle: {
  348. opacity: 0.8,
  349. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  350. {
  351. offset: 0,
  352. color: 'rgb(148, 99, 66)'
  353. },
  354. {
  355. offset: 1,
  356. color: 'rgb(242, 200, 34)'
  357. }
  358. ])
  359. },
  360. },
  361. { name: jdNames[1],
  362. type: 'line',
  363. areaStyle: {
  364. opacity: 0.8,
  365. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  366. {
  367. offset: 0,
  368. color: 'rgb(35, 219, 74)'
  369. },
  370. {
  371. offset: 1,
  372. color: 'rgb(35, 79, 215)'
  373. }
  374. ])
  375. },
  376. },
  377. { name: jdNames[2],
  378. type: 'line',
  379. areaStyle: {
  380. opacity: 0.8,
  381. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  382. {
  383. offset: 0,
  384. color: 'rgb(55, 162, 255)'
  385. },
  386. {
  387. offset: 1,
  388. color: 'rgb(116, 21, 219)'
  389. }
  390. ])
  391. },
  392. },
  393. { name: jdNames[3],
  394. type: 'line',
  395. areaStyle: {
  396. opacity: 0.8,
  397. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  398. {
  399. offset: 0,
  400. color: 'rgb(128, 255, 165)'
  401. },
  402. {
  403. offset: 1,
  404. color: 'rgb(1, 191, 236)'
  405. }
  406. ])
  407. },
  408. },
  409. ]
  410. },
  411. options: options
  412. };
  413. if (option && typeof option === 'object') {
  414. myChart.setOption(option);
  415. }
  416. }
  417. function openDialog_jqjz(currentMonth) {//弹出对话框
  418. var url = prefix + "/xgym/jqjz/" + currentYear + "," + currentMonth;
  419. var title = currentYear + '年加强针接种情况统计';
  420. $.modal.openDetailFull(title, url, 1200);
  421. }