xgym_8.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. $(document).ready(function () {
  2. //辅助决策 新冠疫苗接种情况 默认数据 - 加强针接种情况统计
  3. var isLoading = true;
  4. var temp = new Object();
  5. var jqjd = new Object();
  6. temp.jiaQiangZhenJiDuJieZhongQingKuangZongShuTongJi = jqjd;
  7. jqjd.rkNumber = 0;
  8. jqjd.month1 = 0;
  9. jqjd.month2 = 0;
  10. jqjd.month3 = 0;
  11. jqjd.month4 = 0;
  12. jqjd.month5 = 0;
  13. jqjd.month6 = 0;
  14. jqjd.month7 = 0;
  15. jqjd.month8 = 0;
  16. jqjd.month9 = 0;
  17. jqjd.month10 = 0;
  18. jqjd.month11 = 0;
  19. jqjd.month12 = 0;
  20. yiMiaoYueJieZhongQingKuangZongShuTongJi(temp, isLoading);
  21. var obj = new Object();
  22. $.ajax({
  23. url : prefix + "/queryXinGuanJiaQiangZhenJiDuJieZhongQingKuangZongShuTongJi",
  24. method : 'post',
  25. data : obj,
  26. success : function (e) {
  27. if(e.code == 0){
  28. isLoading = false;
  29. e.jiaQiangZhenJiDuJieZhongQingKuangZongShuTongJi = $.parseJSON(e.jiaQiangZhenJiDuJieZhongQingKuangZongShuTongJi);
  30. yiMiaoYueJieZhongQingKuangZongShuTongJi(e, isLoading);
  31. }
  32. }
  33. });
  34. });
  35. var result;//数据集合
  36. var rkNumber;//人口总数
  37. var jzNumber;//总接种数量
  38. var jiDu_1;//第一季度接种数
  39. var jiDu_2;//第二季度接种数
  40. var jiDu_3;//第三季度接种数
  41. var jiDu_4;//第四季度接种数
  42. var jiDu_max;//季接种最大值
  43. function yiMiaoYueJieZhongQingKuangZongShuTongJi(e, isLoading){//加强针季度接种情况统计
  44. result = e.jiaQiangZhenJiDuJieZhongQingKuangZongShuTongJi;
  45. jiDu_1 = result.month1 + result.month2 + result.month3;
  46. jiDu_2 = result.month4 + result.month5 + result.month6;
  47. jiDu_3 = result.month7 + result.month8 + result.month9;
  48. jiDu_4 = result.month10 + result.month11 + result.month12;
  49. jzNumber = jiDu_1 + jiDu_2 + jiDu_3 + jiDu_4;
  50. rkNumber = result.rkNumber;
  51. jiDu_max = Math.max.apply(null, [jiDu_1, jiDu_2, jiDu_3, jiDu_4]);
  52. bar(isLoading);
  53. pie(isLoading);
  54. }
  55. function bar(isLoading) {
  56. max_bar = Math.ceil(jzNumber/5)*5;//接种总数最大刻度
  57. interval_bar = max_bar/5;//刻度间隔
  58. max_line = Math.ceil(jiDu_max/5)*5;//季接种数
  59. interval_line = max_line/5;
  60. var dom = document.getElementById("jqzjdjzqktj_bar");
  61. var myChart = echarts.init(dom);
  62. if(!isLoading){
  63. myChart.on("click", function (e) {
  64. openDialog_jqjd(e.dataIndex);
  65. });
  66. }
  67. var option;//柱状图
  68. option = {
  69. tooltip: {
  70. trigger: 'axis',
  71. position:'inside'
  72. },
  73. legend: {
  74. data: ['接种总数', '季接种数'],
  75. textStyle: {
  76. color:'#00cdef'
  77. }
  78. },
  79. grid: {
  80. top:'20%',
  81. left: '2%',
  82. right: '2%',
  83. bottom: '2%',
  84. containLabel: true
  85. },
  86. xAxis: [
  87. {
  88. type: 'category',
  89. data: ['一', '二', '三', '四'],
  90. axisLabel: {
  91. color: '#00cdef'
  92. },
  93. axisLine: {
  94. show: true,
  95. lineStyle: {
  96. color: '#00cdef'
  97. }
  98. },
  99. splitLine: {
  100. show: false
  101. },
  102. axisPointer: {
  103. type: 'shadow'
  104. }
  105. }
  106. ],
  107. yAxis: [
  108. {
  109. type: 'value',
  110. name: '接种总数',
  111. min: 0,
  112. max: max_bar,
  113. //max: 300,
  114. interval: interval_bar,
  115. //interval: 50,
  116. axisLabel: {
  117. formatter: '{value} 针',
  118. color: '#00cdef'
  119. },
  120. axisLine: {
  121. show: true,
  122. lineStyle: {
  123. color: '#00cdef'
  124. }
  125. },
  126. splitLine: {
  127. show: false
  128. }
  129. },
  130. {
  131. type: 'value',
  132. name: '当季针数',
  133. min: 0,
  134. max: max_line,
  135. //max: 300,
  136. interval: interval_line,
  137. //interval: 50,
  138. axisLabel: {
  139. formatter: '{value} 针',
  140. color: '#00cdef'
  141. },
  142. axisLine: {
  143. show: true,
  144. lineStyle: {
  145. color: '#00cdef'
  146. }
  147. },
  148. splitLine: {
  149. show: false
  150. },
  151. }
  152. ],
  153. series: [
  154. {
  155. name: '当前接种总数',
  156. type: 'bar',
  157. data: [jiDu_1, jiDu_1 + jiDu_2, jiDu_1 + jiDu_2 + jiDu_3, jiDu_1 + jiDu_2 + jiDu_3 + jiDu_4],
  158. itemStyle:{
  159. color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
  160. offset: 0,
  161. color:"#006aff"
  162. }, {
  163. offset: 1,
  164. color:"#00cfe4"
  165. }]),
  166. }
  167. },
  168. {
  169. name: '本季度接种',
  170. type: 'line',
  171. yAxisIndex: 1,
  172. data: [jiDu_1, jiDu_2, jiDu_3, jiDu_4],
  173. itemStyle:{
  174. color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
  175. offset: 0,
  176. color:"#ddbb00"
  177. }, {
  178. offset: 1,
  179. color:"#00dd9c"
  180. }]),
  181. }
  182. }
  183. ]
  184. };
  185. if (option && typeof option === 'object') {
  186. myChart.setOption(option);
  187. }
  188. }
  189. function pie(isLoading) {
  190. var dom = document.getElementById("jqzjdjzqktj_pie");
  191. dom.innerHTML = "";
  192. var box = $("<div class=\"col-sm-3 padding-y-5 flex-c h-30 text-center\" style='width: 100%'></div>");
  193. $(dom).append(box);
  194. var content = $("<div class=\"bg-blue\"></div>");
  195. box.append(content);
  196. content.append("<div class=\"chart-title-s\">数据项展示</div>");
  197. var chart = $("<div class=\"chart-container-s height-15\"></div>");
  198. content.append(chart);
  199. //content.append("<div class=\"chart-text c-blue\">"+rkNumber+"</div>");
  200. //content.append("<div class=\"chart-text c-white\">辖区居民总数</div>");
  201. content.append("<div class=\"chart-text c-blue\">"+jzNumber+"</div>");
  202. content.append("<div class=\"chart-text c-white\">完成情况</div>");
  203. var myChart = echarts.init(chart[0]);
  204. if(!isLoading){
  205. myChart.on("click", function (e) {
  206. openDialog_jqwcqk(e.dataIndex);
  207. });
  208. }
  209. var option;//饼状图
  210. option = {
  211. tooltip: {
  212. trigger: 'item',
  213. position:'inside'
  214. },
  215. series: [
  216. {
  217. name: '',
  218. type: 'pie',
  219. radius: ['60%', '70%'],
  220. selectedOffset:0, //选中块的偏移量
  221. labelLine: {
  222. show: false
  223. },
  224. data: [
  225. {
  226. value: jzNumber,
  227. name: '已接种数量',
  228. itemStyle: {
  229. color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
  230. offset: 0,
  231. color: '#1270d9'
  232. }, {
  233. offset: 1,
  234. color: '#00ffeb'
  235. }]),
  236. },
  237. selected:true, //默认选中第一块
  238. label: {
  239. normal:{
  240. show: true,
  241. fontSize: '18',
  242. position: 'center',
  243. textStyle:{
  244. color:'#fff',
  245. fontWeight: 'bold',
  246. },
  247. formatter: '{d}%'
  248. }
  249. }
  250. },
  251. {
  252. value: rkNumber - jzNumber,
  253. name: '未接种数量',
  254. itemStyle: {
  255. color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
  256. offset: 0,
  257. color: '#ff8404'
  258. }, {
  259. offset: 1,
  260. color: '#ffd904'
  261. }]),
  262. },
  263. label:{
  264. show:false, //默认显示第一块
  265. }
  266. },
  267. ]
  268. }
  269. ]
  270. };
  271. option && myChart.setOption(option);
  272. }
  273. function openDialog_jqjd(index) {//弹出对话框
  274. var season = ["一", "二", "三", "四"];
  275. var url = prefix + "/xgym/jqjd/" + index;
  276. var title = '加强针季度接种情况统计 - 第' + season[index] + '季度';
  277. $.modal.openDetailFull(title, url, 1200);
  278. }
  279. function openDialog_jqwcqk(index) {//弹出对话框
  280. var url = prefix + "/xgym/jqwcqk/" + index;
  281. var title = '加强针季度接种情况统计 - ' + (index==0?"已接种":"未接种");
  282. $.modal.openDetailFull(title, url, 1200);
  283. }