disease-crowd.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. (function() {
  2. Vue.component('disease-crowd', {
  3. template: '<div v-if="data" class="left-panel-img">\
  4. <div class="div-disease-item" @click="diseaseClick(0)" :class="{active: activeIndex == 0}" @mouseout="diseaseMouseOut" @mouseover="diseaseMouseOver">\
  5. <h4 class="c-b5e1fc c-f16 c-t-center div-disease-title">高血压人群</h4>\
  6. <img src="../images/icon.png" class="icon-img" @click="detailClick(0)">\
  7. <div class="c-row">\
  8. <div class="c-33 bg-icon">\
  9. <div class="absolute-content">\
  10. <p class="c-b5e1fc c-f12">\
  11. <span class="c-b5e1fc c-f16">总人数</span>\
  12. </p>\
  13. <span class="c-fff71a c-f26 c-bold">{{data1.totalNumber}}</span>\
  14. <span class="c-b5e1fc c-f16">人</span>\
  15. </div>\
  16. </div>\
  17. <div class="c-33 bg-icon">\
  18. <div class="absolute-content">\
  19. <p class="c-b5e1fc c-f12">\
  20. <span class="c-b5e1fc c-f16">上月新增</span>\
  21. </p>\
  22. <span class="c-fff71a c-f26 c-bold">{{data1.addNumber}}</span>\
  23. <span class="c-b5e1fc c-f16">人</span>\
  24. </div>\
  25. </div>\
  26. <div class="c-33 bg-icon">\
  27. <div class="absolute-content">\
  28. <p class="c-b5e1fc c-f12">\
  29. <span class="c-b5e1fc c-f16">环比</span>\
  30. </p>\
  31. <img src="../images/zengzhang.png" class="zengzhang-img"/>\
  32. <span class="c-b5e1fc c-f26 ml20 c-bold">{{data1.ringRatio}}</span>\
  33. </div>\
  34. </div>\
  35. </div>\
  36. </div>\
  37. <div class="div-disease-item mt10" @click="diseaseClick(1)" :class="{active: activeIndex == 1}" @mouseout="diseaseMouseOut" @mouseover="diseaseMouseOver">\
  38. <h4 class="c-b5e1fc c-f16 c-t-center div-disease-title">糖尿病人群</h4>\
  39. <img src="../images/icon.png" class="icon-img" @click="detailClick(1)">\
  40. <div class="c-row">\
  41. <div class="c-33 bg-icon">\
  42. <div class="absolute-content">\
  43. <p class="c-b5e1fc c-f12">\
  44. <span class="c-b5e1fc c-f16">总人数</span>\
  45. </p>\
  46. <span class="c-fff71a c-f26 c-bold">{{data2.totalNumber}}</span>\
  47. <span class="c-b5e1fc c-f16">人</span>\
  48. </div>\
  49. </div>\
  50. <div class="c-33 bg-icon">\
  51. <div class="absolute-content">\
  52. <p class="c-b5e1fc c-f12">\
  53. <span class="c-b5e1fc c-f16">上月新增</span>\
  54. </p>\
  55. <span class="c-fff71a c-f26 c-bold">{{data2.addNumber}}</span>\
  56. <span class="c-b5e1fc c-f16">人</span>\
  57. </div>\
  58. </div>\
  59. <div class="c-33 bg-icon">\
  60. <div class="absolute-content">\
  61. <p class="c-b5e1fc c-f12">\
  62. <span class="c-b5e1fc c-f16">环比</span>\
  63. </p>\
  64. <img src="../images/zengzhang.png" class="zengzhang-img"/>\
  65. <span class="c-b5e1fc c-f26 ml20 c-bold">{{data2.ringRatio}}</span>\
  66. </div>\
  67. </div>\
  68. </div>\
  69. </div>\
  70. <div class="div-disease-item mt10" @click="diseaseClick(2)" :class="{active: activeIndex == 2}" @mouseout="diseaseMouseOut" @mouseover="diseaseMouseOver">\
  71. <h4 class="c-b5e1fc c-f16 c-t-center div-disease-title">孕产妇人群</h4>\
  72. <div class="c-row">\
  73. <div class="c-33 bg-icon">\
  74. <div class="absolute-content">\
  75. <p class="c-b5e1fc c-f12">\
  76. <span class="c-b5e1fc c-f16">总人数</span>\
  77. </p>\
  78. <span class="c-fff71a c-f26 c-bold">{{data3.totalNumber}}</span>\
  79. <span class="c-b5e1fc c-f16">人</span>\
  80. </div>\
  81. </div>\
  82. <div class="c-33 bg-icon">\
  83. <div class="absolute-content">\
  84. <p class="c-b5e1fc c-f12">\
  85. <span class="c-b5e1fc c-f16">上月新增</span>\
  86. </p>\
  87. <span class="c-fff71a c-f26 c-bold">{{data3.addNumber}}</span>\
  88. <span class="c-b5e1fc c-f16">人</span>\
  89. </div>\
  90. </div>\
  91. <div class="c-33 bg-icon">\
  92. <div class="absolute-content">\
  93. <p class="c-b5e1fc c-f12">\
  94. <span class="c-b5e1fc c-f16">环比</span>\
  95. </p>\
  96. <img src="../images/zengzhang.png" class="zengzhang-img"/>\
  97. <span class="c-b5e1fc c-f26 ml20 c-bold">{{data3.ringRatio}}</span>\
  98. </div>\
  99. </div>\
  100. </div>\
  101. </div>\
  102. <div class="div-disease-item mt10" @click="diseaseClick(3)" :class="{active: activeIndex == 3}" @mouseout="diseaseMouseOut" @mouseover="diseaseMouseOver">\
  103. <h4 class="c-b5e1fc c-f16 c-t-center div-disease-title">65岁以上老年人人数</h4>\
  104. <div class="c-row">\
  105. <div class="c-33 bg-icon">\
  106. <div class="absolute-content">\
  107. <p class="c-b5e1fc c-f12">\
  108. <span class="c-b5e1fc c-f16">总人数</span>\
  109. </p>\
  110. <span class="c-fff71a c-f26 c-bold">{{data4.totalNumber}}</span>\
  111. <span class="c-b5e1fc c-f16">人</span>\
  112. </div>\
  113. </div>\
  114. <div class="c-33 bg-icon">\
  115. <div class="absolute-content">\
  116. <p class="c-b5e1fc c-f12">\
  117. <span class="c-b5e1fc c-f16">上月新增</span>\
  118. </p>\
  119. <span class="c-fff71a c-f26 c-bold">{{data4.addNumber}}</span>\
  120. <span class="c-b5e1fc c-f16">人</span>\
  121. </div>\
  122. </div>\
  123. <div class="c-33 bg-icon">\
  124. <div class="absolute-content">\
  125. <p class="c-b5e1fc c-f12">\
  126. <span class="c-b5e1fc c-f16">环比</span>\
  127. </p>\
  128. <img src="../images/zengzhang.png" class="zengzhang-img"/>\
  129. <span class="c-b5e1fc c-f26 ml20 c-bold">{{data4.ringRatio}}</span>\
  130. </div>\
  131. </div>\
  132. </div>\
  133. </div>\
  134. </div>',
  135. props: ["data","town"],
  136. data: function() {
  137. return {
  138. activeIndex:0,
  139. cacheActiveIndex:0,
  140. data1:{},//高血压
  141. data2:{},//糖尿病
  142. data3:{},//孕产妇人群
  143. data4:{},//65岁以上老年人人数
  144. }
  145. },
  146. mounted: function() {
  147. },
  148. filters:{
  149. formatData:function(value){
  150. return toThousands(value)
  151. }
  152. },
  153. methods: {
  154. initData:function(){
  155. var data1 = this.data[0].successFlg?this.data[0].detailModelList:[];
  156. var data2 = this.data[1].successFlg?this.data[1].detailModelList:[];
  157. var data3 = this.data[2].successFlg?this.data[2].detailModelList:[];
  158. var data4 = this.data[3].successFlg?this.data[3].detailModelList:[];
  159. this.gxyformatData(data1);
  160. this.tnbformatData(data2);
  161. this.ycfformatData(data3);
  162. this.lnrformatData(data4);
  163. },
  164. gxyformatData:function(data){//高血压数据
  165. var vm = this,idx;
  166. _.map(data[0].VIEW_13_0013,function(item,index){
  167. if(vm.town=="上饶市" && item.firstColumn=="合计"){//上饶市
  168. idx = index;
  169. }else if(item.firstColumn==vm.town){
  170. idx = index;
  171. }
  172. })
  173. vm.data1 = {totalNumber:data[0].VIEW_13_0013[idx].HC_13_0021,addNumber:data[1].VIEW_13_0036[idx].HC_13_0021,ringRatio:(data[2].VIEW_13_0037[idx]&&data[2].VIEW_13_0037[idx].HC_13_0023 || "0")};
  174. },
  175. tnbformatData:function(data){//糖尿病数据
  176. var vm = this,idx;
  177. _.map(data[0].VIEW_13_0026,function(item,index){
  178. if(vm.town=="上饶市" && item.firstColumn=="合计"){//上饶市
  179. idx = index;
  180. }else if(item.firstColumn==vm.town){
  181. idx = index;
  182. }
  183. })
  184. vm.data2 = {totalNumber:data[0].VIEW_13_0026[idx].HC_13_0017,addNumber:data[1].VIEW_13_0034[idx].HC_13_0017,ringRatio:(data[2].VIEW_13_0027[idx]&&data[2].VIEW_13_0027[idx].HC_13_0017 || "0")};
  185. },
  186. ycfformatData:function(data){//孕产妇数据
  187. var vm = this,idx;
  188. // _.map(data[0].VIEW_16_0001,function(item,index){
  189. // if(vm.town=="上饶市" && item.firstColumn=="合计"){//上饶市
  190. // idx = index;
  191. // }else if(item.firstColumn==vm.town){
  192. // idx = index;
  193. // }
  194. // })
  195. // vm.data3 = {totalNumber:data[0].VIEW_16_0001[idx].HC_15_1006,addNumber:data[1].VIEW_16_0002[idx].HC_15_1006,ringRatio:data[2].VIEW_16_0003[idx].HC_15_1009};
  196. },
  197. lnrformatData:function(data){//老年人数据
  198. var vm = this,idx;
  199. _.map(data[0].VIEW_15_0001,function(item,index){
  200. if(vm.town=="上饶市" && item.firstColumn=="合计"){//上饶市
  201. idx = index;
  202. }else if(item.firstColumn==vm.town){
  203. idx = index;
  204. }
  205. })
  206. vm.data4 = {totalNumber:data[0].VIEW_15_0001[idx].HC_15_1006,addNumber:data[1].VIEW_15_0011[idx].HC_15_1006,ringRatio:data[2].VIEW_15_0008[idx].HC_15_1009};
  207. },
  208. diseaseClick:function(type){
  209. this.activeIndex = type;
  210. this.cacheActiveIndex = type;
  211. EventBus.$emit('refresh-json-data', {type:type});
  212. },
  213. diseaseMouseOver:function(){
  214. this.activeIndex = null;
  215. },
  216. diseaseMouseOut:function(){
  217. this.activeIndex = this.cacheActiveIndex;
  218. },
  219. detailClick:function(type){//type:0高血压 1糖尿病,2孕产妇3老年人
  220. var height = (0.42 * window.screen.width) + 'px',url="";
  221. if(type==0){
  222. url = '../../../page/bigData/html/alert1.html?type='+type;
  223. }else if(type==1){
  224. url = '../../../page/bigData/html/alert2.html?type='+type;
  225. }else if(type==2){
  226. url = '../../../page/bigData/html/alert3.html?type='+type;
  227. }else if(type==3){
  228. url = '../../../page/bigData/html/alert4.html?type='+type;
  229. }
  230. top.layer.open({
  231. id: 'LAY_layuipro', //设定一个id,防止重复弹出
  232. type: 2,
  233. title: false,
  234. closeBtn: 0,
  235. shade: 0.5,
  236. shadeClose: true,
  237. area: ['7.604rem', '4.1875rem'],
  238. content: url
  239. });
  240. }
  241. },
  242. watch:{
  243. data:function(data){
  244. if(data&&data.length>0){
  245. this.data = data;
  246. this.initData();
  247. }
  248. }
  249. }
  250. })
  251. })()