s12fengXianCol.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <template>
  2. <div @click="toDetailed()" class="statisticsPage" :style="{width:width}">
  3. <div :id="id" :style="{height:height}"/>
  4. <!-- 打开详情弹窗-->
  5. <div v-if="dialogOff">
  6. <dialogView
  7. :dialogOff = "dialogOff"
  8. @close = "close"
  9. :title="title"
  10. :data="data"
  11. />
  12. </div>
  13. </div>
  14. </template>
  15. <script>
  16. import echarts from 'echarts'
  17. import dialogView from '../properties/s12fengXianPro.vue'
  18. import {GetPercent,GetMax} from '../js/config.js'
  19. export default {
  20. components:{
  21. dialogView
  22. },
  23. props: {
  24. data: {
  25. type: Object,
  26. },
  27. width:{
  28. type:String,
  29. default:"20%"
  30. },
  31. height:{
  32. type:String,
  33. default: window.screen.height/4+"px"
  34. },
  35. id:{
  36. type:String,
  37. default:"s12fengXian"
  38. },
  39. click:{
  40. type:String,
  41. default:'true'
  42. },
  43. },
  44. data () {
  45. return {
  46. title:'实验室活动风险识别与控制计划数量',
  47. dialogOff:false,
  48. measured:[]
  49. }
  50. },
  51. mounted(){
  52. this.drawLine();
  53. },
  54. methods: {
  55. close(){
  56. this.dialogOff = false
  57. },
  58. /* 跳转统计页面*/
  59. toDetailed(){
  60. if(this.click == "true"){
  61. this.dialogOff = true
  62. }
  63. },
  64. drawLine(){
  65. // let beginInof = Number(this.data.t_complaintBegin.number)
  66. // let endInof = Number(this.data.t_complaintEnd.number)
  67. let s12fengXian = echarts.init(document.getElementById(this.id))
  68. // let beingDate=this.data.t_complaintBegin.date
  69. // let endDate=this.data.t_complaintEnd.date
  70. var option;
  71. //v3
  72. let e=[this.data.t_mjsyshdfxsbykzjhxbNum.numberAll[0],this.data.t_mjsyshdfxsbykzjhxbNum.number[0]]
  73. // let e=[this.data.t_mjsyshdfxsbykzjhxbNum.number[0],this.data.t_mjsyshdfxsbykzjhxbNum.numberAll[0],this.data.t_mjsyshdfxsbykzjhxbNum.res[0]]
  74. option = {
  75. legend: {},
  76. tooltip: {
  77. trigger: 'axis',
  78. axisPointer: {
  79. type: 'shadow'
  80. },
  81. // formatter: function (params) {
  82. // return params[0].data[0] + '<br/>满意份数:' + params[0].data[1] + '<br/>调查总份数: ' + params[0].data[2];
  83. // }
  84. },
  85. // dataset: {
  86. // source: barData
  87. // },
  88. xAxis: {
  89. type: 'category',
  90. data:[ '实验室活动风险识别与控制计划总数','实验室活动风险识别与控制计划已完成数量']
  91. // data:['已完成', '总数量', '完成率']
  92. },
  93. yAxis: [
  94. {
  95. type: 'value',
  96. scale: true,
  97. name: '数量',
  98. max: this.data.t_mjsyshdfxsbykzjhxbNum.number[0]>this.data.t_mjsyshdfxsbykzjhxbNum.numberAll[0]?this.data.t_mjsyshdfxsbykzjhxbNum.number[0]+1:this.data.t_mjsyshdfxsbykzjhxbNum.numberAll[0]+1,
  99. min: 0,
  100. // boundaryGap: [0.2, 0.2]
  101. },
  102. // {
  103. // type: 'value',
  104. // scale: true,
  105. // name: '完成率',
  106. // max: this.data.t_mjsyshdfxsbykzjhxbNum.res[0],
  107. // min: 0,
  108. // axisLabel: {
  109. // formatter: '{value} %'
  110. // }
  111. // }
  112. ],
  113. series: [
  114. {
  115. data: e,
  116. type: 'bar',
  117. barWidth: '20%',
  118. itemStyle: {
  119. color: '#cc6633'
  120. },
  121. label: {
  122. show: true,
  123. position: 'top'
  124. },
  125. }
  126. ],
  127. grid: {
  128. top: '20%',
  129. left: '3%',
  130. right: '4%',
  131. bottom: '10%',
  132. containLabel: true
  133. },
  134. title: {
  135. text: this.title,
  136. textStyle:{ fontSize:14 }
  137. // subtext: " "+beingDate+"-"+endDate
  138. }
  139. };
  140. option && s12fengXian.setOption(option);
  141. }
  142. }
  143. }
  144. </script>
  145. <style scoped>
  146. #s12fengXian:hover{
  147. transition: all 0.5s;
  148. transform:scale(1.03);
  149. }
  150. .statisticsPage{
  151. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  152. float: left;
  153. }
  154. </style>