s7sheBeiJiaoZhun.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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 {GetPercent,GetMax} from '../js/config.js'
  18. import dialogView from '../properties/s7sheBeiJiaoZhunPro.vue'
  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/5+"px"
  34. },
  35. id:{
  36. type:String,
  37. default:"s7sheBeiJiaoZhun"
  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. }
  53. },
  54. mounted(){
  55. this.drawLine();
  56. },
  57. methods: {
  58. close(){
  59. this.dialogOff = false
  60. },
  61. /* 跳转统计页面*/
  62. toDetailed(){
  63. if(this.click == "true"){
  64. this.dialogOff = true
  65. }
  66. },
  67. drawLine(){
  68. let s7sheBeiJiaoZhun = echarts.init(document.getElementById(this.id))
  69. // let beginInof = GetPercent(Number(this.data.t_rypxjlnkBegin.number),Number(this.data.t_ryndpxjhBegin.number))
  70. // let endInof = GetPercent(Number(this.data.t_rypxjlnkEnd.number),Number(this.data.t_ryndpxjhEnd.number))
  71. // let data1 = [];
  72. // data1.push(this.data.t_ryndpxjhBegin.number);
  73. // data1.push(this.data.t_ryndpxjhEnd.number);
  74. // let data2 = [];
  75. // data2.push(this.data.t_rypxjlnkBegin.number);
  76. // data2.push(this.data.t_rypxjlnkEnd.number);
  77. // let data3 = [];
  78. // data3.push(this.data.t_rypxjlnkBegin.date);
  79. // data3.push(this.data.t_rypxjlnkEnd.date);
  80. // let barData = []
  81. // for (let i = 0; i < this.data.t_ryywpxjlNum.date.length; i++) {
  82. // let e=[this.data.t_ryywpxjlNum.date[i],this.data.t_ryywpxjlNum.number[i],this.data.t_ryywpxjlNum.numberAll[i]]
  83. // barData.push(e)
  84. // }
  85. // let e=[this.data.t_ryywpxjlNum.number[0],this.data.t_ryywpxjlNum.numberAll[0],this.data.t_ryywpxjlNum.res[0]]
  86. let e=(100-this.data.t_mjsbjdxzjhzbNum.valna).toFixed(2)
  87. var option;
  88. option = {
  89. //v3
  90. title: {
  91. text: this.title,
  92. // subtext: 'Fake Data',
  93. left: 'left',
  94. textStyle:{ fontSize:14,color: this.colorw }
  95. },
  96. tooltip: {
  97. trigger: 'item'
  98. },
  99. color:['#9999ff','#cccc00'],
  100. series: [
  101. {
  102. type: 'pie',
  103. radius: '50%',
  104. label: {
  105. formatter: function (arg) {
  106. return arg.data.name +'\n' + arg.data.value + "%"+'\n'+ arg.data.v2
  107. }
  108. },
  109. data: [
  110. { value: this.data.t_mjsbjdxzjhzbNum.valna, name: '完成率',v2:this.data.t_mjsbjdxzjhzbNum.valnum },
  111. { value: e, name: '未完成率',v2:this.data.t_mjsbjdxzjhzbNum.valAll-this.data.t_mjsbjdxzjhzbNum.valnum }
  112. ],
  113. emphasis: {
  114. itemStyle: {
  115. shadowBlur: 10,
  116. shadowOffsetX: 0,
  117. shadowColor: 'rgba(0, 0, 0, 0.5)'
  118. }
  119. }
  120. }
  121. ]
  122. };
  123. option && s7sheBeiJiaoZhun.setOption(option);
  124. }
  125. }
  126. }
  127. </script>
  128. <style scoped>
  129. #s7sheBeiJiaoZhun:hover{
  130. transition: all 0.5s;
  131. transform:scale(1.03);
  132. }
  133. .statisticsPage{
  134. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  135. float: left;
  136. }
  137. </style>