centerLeft1.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <template>
  2. <div id="centreLeft1">
  3. <div class="bg-color-black">
  4. <div class="d-flex pt-2 pl-2">
  5. <span style="color:#5cd9e8">
  6. <icon name="chart-bar"></icon>
  7. </span>
  8. <div class="d-flex">
  9. <span class="fs-xl text mx-2">总产量</span>
  10. </div>
  11. </div>
  12. <div class="d-flex jc-center">
  13. <div class="m-7">
  14. <div class="m-7-k">
  15. <div class="m-7xz1 xzleft"></div>
  16. <div class="m-7xz2"></div>
  17. <div class="m-7xz3 xzleft"></div>
  18. <div class="m-7zt1">总产量</div>
  19. <div class="m-7zt2" id="sx1">60%</div>
  20. </div>
  21. </div>
  22. <!--<dv-decoration-9 style="width:300px;height:300px;">66%</dv-decoration-9>-->
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import centreLeft1Chart from "@/components/echart/centerLeft2/centreLeft1Chart";
  29. import centerChart from "@/components/echart/center/centerChartRate";
  30. export default {
  31. data() {
  32. return {
  33. config: {
  34. lineWidth: 30,
  35. activeRadius: "80%",
  36. radius: "75%",
  37. activeTimeGap: 2000,
  38. data: [
  39. {
  40. name: "周口",
  41. value: 55
  42. },
  43. {
  44. name: "南阳",
  45. value: 120
  46. },
  47. {
  48. name: "西峡",
  49. value: 78
  50. },
  51. {
  52. name: "驻马店",
  53. value: 66
  54. },
  55. {
  56. name: "新乡",
  57. value: 80
  58. }
  59. ]
  60. },
  61. // 通过率和达标率的组件复用数据
  62. rate: [
  63. {
  64. id: "centerRate1",
  65. tips: 60,
  66. colorData: {
  67. textStyle: "#3fc0fb",
  68. series: {
  69. color: ["#00bcd44a", "transparent"],
  70. dataColor: {
  71. normal: "#03a9f4",
  72. shadowColor: "#97e2f5"
  73. }
  74. }
  75. }
  76. },
  77. {
  78. id: "centerRate2",
  79. tips: 40,
  80. colorData: {
  81. textStyle: "#67e0e3",
  82. series: {
  83. color: ["#faf3a378", "transparent"],
  84. dataColor: {
  85. normal: "#ff9800",
  86. shadowColor: "#fcebad"
  87. }
  88. }
  89. }
  90. }
  91. ],
  92. numberData: [
  93. {
  94. number: {
  95. number: [15],
  96. toFixed: 1,
  97. content: "{nt}"
  98. },
  99. text: "今日构建总量"
  100. },
  101. {
  102. number: {
  103. number: [1144],
  104. toFixed: 1,
  105. content: "{nt}"
  106. },
  107. text: "总共完成数量"
  108. },
  109. {
  110. number: {
  111. number: [361],
  112. toFixed: 1,
  113. content: "{nt}"
  114. },
  115. text: "正在编译数量"
  116. },
  117. {
  118. number: {
  119. number: [157],
  120. toFixed: 1,
  121. content: "{nt}"
  122. },
  123. text: "未通过数量"
  124. }
  125. ]
  126. };
  127. },
  128. components: {
  129. centreLeft1Chart,
  130. centerChart
  131. },
  132. mounted() {
  133. this.changeTiming();
  134. },
  135. methods: {
  136. changeTiming() {
  137. setInterval(() => {
  138. this.changeNumber();
  139. }, 3000);
  140. },
  141. changeNumber() {
  142. this.numberData.forEach((item, index) => {
  143. item.number.number[0] += ++index;
  144. item.number = { ...item.number };
  145. });
  146. }
  147. }
  148. };
  149. </script>
  150. <style lang="scss">
  151. #centreLeft1 {
  152. padding: 0.2rem;
  153. height: 5.125rem;
  154. min-width: 3.75rem;
  155. border-radius: 0.0625rem;
  156. .bg-color-black {
  157. height: 4.8125rem;
  158. border-radius: 0.125rem;
  159. }
  160. .text {
  161. color: #c3cbde;
  162. }
  163. .chart-box {
  164. margin-top: 0.2rem;
  165. width: 2.125rem;
  166. height: 2.125rem;
  167. .active-ring-name {
  168. padding-top: 0.125rem;
  169. }
  170. }
  171. .bottom-data {
  172. .item-box {
  173. float: right;
  174. position: relative;
  175. width: 50%;
  176. color: #d3d6dd;
  177. // 金币
  178. .coin {
  179. position: absolute;
  180. left: 0.1rem;
  181. top: 0.2125rem;
  182. font-size: 0.25rem;
  183. color: #ffc107;
  184. }
  185. .colorYellow {
  186. color: yellowgreen;
  187. }
  188. }
  189. }
  190. }
  191. </style>