death-cause.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. (function() {
  2. //<img src="../images/icon.png" class="icon-img">
  3. Vue.component('death-cause', {
  4. template: '<div style="height: 100%;">\
  5. <h4 class="c-b5e1fc c-f16 c-t-center div-common-title">死亡原因</h4>\
  6. <div class="" style="height: 85%;">\
  7. <div id="div-shiwang-echart" class="ml20"></div>\
  8. <div class="div-siwang-type" v-if="causeData.length>0">\
  9. <div class="div-webkit-box">\
  10. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  11. <label class="bgc-00e6f3 bar-a"></label>\
  12. <label class="ml10">恶性肿瘤</label>\
  13. <label class="ml20">{{causeData[0].value}}</label>\
  14. </div>\
  15. </div>\
  16. <div class="div-webkit-box">\
  17. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  18. <label class="bgc-ff616f bar-a"></label>\
  19. <label class="ml10">心脏病</label>\
  20. <label class="ml20">{{causeData[2].value}}</label>\
  21. </div>\
  22. </div>\
  23. <div class="div-webkit-box">\
  24. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  25. <label class="bgc-6576e0 bar-a"></label>\
  26. <label class="ml10">损伤和中毒</label>\
  27. <label class="ml20">{{causeData[4].value}}</label>\
  28. </div>\
  29. </div>\
  30. <div class="div-webkit-box">\
  31. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  32. <label class="bgc-03fa6c bar-a"></label>\
  33. <label class="ml10">脑血管疾病</label>\
  34. <label class="ml20">{{causeData[1].value}}</label>\
  35. </div>\
  36. </div>\
  37. <div class="div-webkit-box">\
  38. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  39. <label class="bgc-0fa5f2 bar-a"></label>\
  40. <label class="ml10">呼吸系统疾病</label>\
  41. <label class="ml20">{{causeData[3].value}}</label>\
  42. </div>\
  43. </div>\
  44. <div class="div-webkit-box">\
  45. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  46. <label class="bgc-da0ff2 bar-a"></label>\
  47. <label class="ml10">消化系统疾病</label>\
  48. <label class="ml20">{{causeData[5].value}}</label>\
  49. </div>\
  50. </div>\
  51. <div class="div-webkit-box">\
  52. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  53. <label class="bgc-f24a0f bar-a"></label>\
  54. <label class="ml10">内分泌、营养和代谢疾病</label>\
  55. <label class="ml20">{{causeData[6].value}}</label>\
  56. </div>\
  57. </div>\
  58. <div class="div-webkit-box">\
  59. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  60. <label class="bgc-ebff61 bar-a"></label>\
  61. <label class="ml10">泌尿生殖系统疾病</label>\
  62. <label class="ml20">{{causeData[7].value}}</label>\
  63. </div>\
  64. </div>\
  65. <div class="div-webkit-box">\
  66. <div class="c-b5e1fc div-webkit-box-flex1 c-f14">\
  67. <label class="bgc-fea92f bar-a"></label>\
  68. <label class="ml10">其他疾病</label>\
  69. <label class="ml20">{{causeData[8].value}}</label>\
  70. </div>\
  71. </div>\
  72. </div>\
  73. </div>\
  74. </div>',
  75. props: ["data"],
  76. data: function() {
  77. return {
  78. causeData: []
  79. }
  80. },
  81. mounted: function() {
  82. var vm = this;
  83. setTimeout(function(){
  84. vm.initData();
  85. },50)
  86. },
  87. watch:{
  88. data:function(data){
  89. this.data = data;
  90. this.initData();
  91. }
  92. },
  93. methods: {
  94. formatCauseData:function(){
  95. this.causeData = _.map(this.causeData,function(item,idx){
  96. switch(idx){
  97. case 0: item.color = "bgc-00e6f3"; break;
  98. case 1: item.color = "bgc-03fa6c"; break;
  99. case 2: item.color = "bgc-ff616f"; break;
  100. case 3: item.color = "bgc-0fa5f2"; break;
  101. case 4: item.color = "bgc-6576e0"; break;
  102. case 5: item.color = "bgc-da0ff2"; break;
  103. case 6: item.color = "bgc-f24a0f"; break;
  104. case 7: item.color = "bgc-ebff61"; break;
  105. case 8: item.color = "bgc-fea92f"; break;
  106. default:break;
  107. }
  108. return item;
  109. })
  110. },
  111. initData:function(){//死亡原因
  112. this.causeData = this.data["死亡原因"].series[0].data;
  113. this.formatCauseData();
  114. var myChart = echarts.init(document.getElementById('div-shiwang-echart'));
  115. var option = {
  116. // "title": {
  117. // "text": "性别分布",
  118. // "subtext": "性别分布",
  119. // "x": "center"
  120. // },
  121. "tooltip": {
  122. "trigger": "item"
  123. },
  124. color: ["#00e6f3","#03fa6c","#ff616f","#0fa5f2","#6576e0","#da0ff2","#f24a0f","#ebff61","#fea92f"],
  125. "series": [{
  126. "center": [
  127. "50%",
  128. "50%"
  129. ],
  130. radius: ['50%', '70%'],
  131. "name": "",
  132. "type": "pie",
  133. "itemStyle": {
  134. "normal": {
  135. "label": {
  136. "show": false
  137. },
  138. "labelLine": {
  139. "show": false
  140. }
  141. }
  142. },
  143. "data": this.causeData
  144. }]
  145. }
  146. if(myChart){
  147. myChart.clear();
  148. }
  149. myChart.setOption(option);
  150. }
  151. }
  152. })
  153. })()