s14bufuhexiangCol.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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/s14bufehexiangPro.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:"s14bufuhexiang"
  38. },
  39. click:{
  40. type:String,
  41. default:'true'
  42. },
  43. colorw:{
  44. type:String,
  45. default:'true'
  46. }
  47. },
  48. data () {
  49. return {
  50. title:'不符合项数量',
  51. dialogOff:false,
  52. measured:[]
  53. }
  54. },
  55. mounted(){
  56. this.drawLine();
  57. },
  58. methods: {
  59. close(){
  60. this.dialogOff = false
  61. },
  62. /* 跳转统计页面*/
  63. toDetailed(){
  64. if(this.click == "true"){
  65. this.dialogOff = true
  66. }
  67. },
  68. drawLine(){
  69. // let beginInof = Number(this.data.t_complaintBegin.number)
  70. // let endInof = Number(this.data.t_complaintEnd.number)
  71. let s14bufuhexiang = echarts.init(document.getElementById(this.id))
  72. // let beingDate=this.data.t_complaintBegin.date
  73. // let endDate=this.data.t_complaintEnd.date
  74. var option;
  75. //v3
  76. let e=[this.data.t_bfhxbgyjzcsjlbxNum.numberAll[0],this.data.t_bfhxbgyjzcsjlbxNum.number[0]]
  77. // let e=[this.data.t_mjsyshdfxsbykzjhxbNum.number[0],this.data.t_mjsyshdfxsbykzjhxbNum.numberAll[0],this.data.t_mjsyshdfxsbykzjhxbNum.res[0]]
  78. option = {
  79. legend: {},
  80. tooltip: {
  81. trigger: 'axis',
  82. axisPointer: {
  83. type: 'shadow'
  84. },
  85. // formatter: function (params) {
  86. // return params[0].data[0] + '<br/>满意份数:' + params[0].data[1] + '<br/>调查总份数: ' + params[0].data[2];
  87. // }
  88. },
  89. // dataset: {
  90. // source: barData
  91. // },
  92. xAxis: {
  93. type: 'category',
  94. data:[ '不符合项总数','不符合项已完成数量']
  95. // data:['已完成', '总数量', '完成率']
  96. },
  97. yAxis: [
  98. {
  99. type: 'value',
  100. scale: true,
  101. name: '数量',
  102. max: this.data.t_bfhxbgyjzcsjlbxNum.number[0]>this.data.t_bfhxbgyjzcsjlbxNum.numberAll[0]?this.data.t_bfhxbgyjzcsjlbxNum.number[0]+1:this.data.t_bfhxbgyjzcsjlbxNum.numberAll[0]+1,
  103. min: 0,
  104. // boundaryGap: [0.2, 0.2]
  105. },
  106. // {
  107. // type: 'value',
  108. // scale: true,
  109. // name: '完成率',
  110. // max: this.data.t_mjsyshdfxsbykzjhxbNum.res[0],
  111. // min: 0,
  112. // axisLabel: {
  113. // formatter: '{value} %'
  114. // }
  115. // }
  116. ],
  117. series: [
  118. {
  119. data: e,
  120. type: 'bar',
  121. barWidth: '20%',
  122. itemStyle: {
  123. color: '#c35566'
  124. },
  125. label: {
  126. show: true,
  127. position: 'top'
  128. },
  129. }
  130. ],
  131. grid: {
  132. top: '20%',
  133. left: '3%',
  134. right: '4%',
  135. bottom: '10%',
  136. containLabel: true
  137. },
  138. title: {
  139. text: this.title,
  140. textStyle:{ fontSize:14,color: this.colorw }
  141. // subtext: " "+beingDate+"-"+endDate
  142. }
  143. };
  144. option && s14bufuhexiang.setOption(option);
  145. }
  146. }
  147. }
  148. </script>
  149. <style scoped>
  150. #s14bufuhexiang:hover{
  151. transition: all 0.5s;
  152. transform:scale(1.03);
  153. }
  154. .statisticsPage{
  155. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  156. float: left;
  157. }
  158. </style>