death-cause.js 4.9 KB

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