index.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <template>
  2. <div class="dashboard-container">
  3. <div class="header"/>
  4. <div class="content-wrap">
  5. <div class="coner left">
  6. <div class="o-item map">
  7. 1
  8. </div>
  9. <div class="o-item">
  10. <CardWrap>
  11. <span slot="title">试验计划兑现情况</span>
  12. <div slot="content">
  13. <SyjhdxqkChart/>
  14. </div>
  15. </CardWrap>
  16. </div>
  17. <div class="o-item">
  18. <CardWrap>
  19. <span slot="title">电力远动调试兑现情况</span>
  20. <div slot="content">
  21. <Dlydtssx/>
  22. </div>
  23. </CardWrap>
  24. </div>
  25. <div class="o-item b-r-3">
  26. <div class="t-1">
  27. <CardWrap>
  28. <span slot="title">电力受电线路</span>
  29. <div slot="content">
  30. <Dlsdxl/>
  31. </div>
  32. </CardWrap>
  33. </div>
  34. <div class="t-2">
  35. <CardWrap>
  36. <span slot="title">电力变配电所</span>
  37. <div slot="content">
  38. <Dlbpds/>
  39. </div>
  40. </CardWrap>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="coner right">
  45. <div class="sop sop-1">
  46. <CardWrap>
  47. <span slot="title">重要待办事项</span>
  48. <div slot="content">
  49. <Zydbsx/>
  50. </div>
  51. </CardWrap>
  52. </div>
  53. <div class="sop sop-2">
  54. <CardWrap>
  55. <span slot="title">检修兑现情况</span>
  56. <div slot="content">
  57. <Jxdxqk/>
  58. </div>
  59. </CardWrap>
  60. </div>
  61. <div class="sop sop-3">
  62. <CardWrap>
  63. <span slot="title">牵变、电力设备巡视兑现(本月)</span>
  64. <div slot="content">
  65. <QbDlsbxjdx/>
  66. </div>
  67. </CardWrap>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </template>
  73. <script>
  74. import CardWrap from '@/views/dashboard-screen/chard-wrap/card-wrap.vue'
  75. import SyjhdxqkChart from '@/views/dashboard-screen/syjhdxqk/index.vue'
  76. import Dlydtssx from '@/views/dashboard-screen/dlydtssx/index.vue'
  77. import Dlsdxl from '@/views/dashboard-screen/dlsdxl/index.vue'
  78. import Dlbpds from '@/views/dashboard-screen/dlbpds/index.vue'
  79. import Zydbsx from '@/views/dashboard-screen/zydbsx/index.vue'
  80. import Jxdxqk from "@/views/dashboard-screen/jxdxqk/index.vue";
  81. import QbDlsbxjdx from "@/views/dashboard-screen/qb-dlsbxjdx/index.vue";
  82. export default {
  83. name: 'Dashboard',
  84. components: {QbDlsbxjdx, Jxdxqk, Zydbsx, Dlbpds, Dlsdxl, CardWrap, SyjhdxqkChart, Dlydtssx},
  85. data() {
  86. return {}
  87. },
  88. watch: {
  89. $route: {
  90. handler: (route) => {
  91. this.redirect = route.query && route.query.redirect
  92. },
  93. immediate: true
  94. }
  95. },
  96. created() {
  97. },
  98. methods: {}
  99. }
  100. </script>
  101. <style lang="scss" scoped>
  102. .dashboard-container {
  103. width: 100%;
  104. height: 100%;
  105. min-height: fit-content;
  106. min-width: 1920px;
  107. display: flex;
  108. flex-direction: column;
  109. align-items: flex-start;
  110. justify-content: flex-start;
  111. background-image: url("/static/images/bg.png");
  112. background-repeat: no-repeat;
  113. background-size: cover;
  114. overflow-y: auto;
  115. .header {
  116. width: 100%;
  117. height: 88px;
  118. flex-shrink: 0;
  119. background-image: url("/static/images/header@2x.png");
  120. background-repeat: no-repeat;
  121. background-size: cover;
  122. }
  123. .content-wrap {
  124. width: 100%;
  125. height: 100%;
  126. flex-grow: 1;
  127. display: flex;
  128. .coner {
  129. &.left {
  130. flex: 6.3;
  131. flex-shrink: 0;
  132. height: 100%;
  133. display: grid;
  134. grid-template-rows: 2fr 1fr;
  135. grid-template-columns: 1fr 1fr 2fr;
  136. grid-auto-flow: row;
  137. .o-item {
  138. &.map {
  139. grid-column-start: 1;
  140. grid-column-end: 5;
  141. }
  142. &.b-r-3 {
  143. display: flex;
  144. flex-direction: column;
  145. align-items: flex-start;
  146. justify-content: flex-start;
  147. .t-1 {
  148. flex: 1.5;
  149. width: 100%;
  150. flex-shrink: 0;
  151. }
  152. .t-2 {
  153. flex: 1;
  154. width: 100%;
  155. flex-shrink: 0;
  156. }
  157. }
  158. }
  159. }
  160. &.right {
  161. flex: 1;
  162. width: 100%;
  163. height: 100%;
  164. flex-shrink: 0;
  165. display: flex;
  166. flex-direction: column;
  167. .sop {
  168. width: 100%;
  169. height: 100%;
  170. flex-direction: 0;
  171. overflow: hidden;
  172. border: 1px solid teal;
  173. &.sop-1 {
  174. flex: 1.5
  175. }
  176. &.sop-2 {
  177. flex: 1.2
  178. }
  179. &.sop-3 {
  180. flex: 2
  181. }
  182. }
  183. }
  184. }
  185. }
  186. }
  187. </style>