LvShanXiang.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. <template>
  2. <div class="LvShanXiang">
  3. <div class="left1">
  4. <E-Left1 style="height: 100%"></E-Left1>
  5. </div>
  6. <div class="middle">
  7. <header class="header">吕山乡牧场综合管理平台</header>
  8. <section class="section">
  9. <div class="warp">
  10. <div class="item">
  11. <div>
  12. <span class="title">当月存栏量:</span>
  13. <span class="num">10534</span>
  14. <span class="unit">只</span>
  15. </div>
  16. </div>
  17. <div class="item">
  18. <div>
  19. <span class="title">当月出栏量:</span>
  20. <span class="num">1534</span>
  21. <span class="unit">只</span>
  22. </div>
  23. </div>
  24. <div class="item">
  25. <div>
  26. <span class="title">月种羊出栏:</span>
  27. <span class="num">2380</span>
  28. <span class="unit">只</span>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="warp">
  33. <div class="item">
  34. <div>
  35. <span class="title">当前肉羊价:</span>
  36. <span class="num">58.5</span>
  37. <span class="unit">元/kg</span>
  38. </div>
  39. </div>
  40. <div class="item">
  41. <div>
  42. <span class="title">当前种羊价:</span>
  43. <span class="num">68.5</span>
  44. <span class="unit">元/kg</span>
  45. </div>
  46. </div>
  47. <div class="item">
  48. <div>
  49. <span class="title">当前羊粪价:</span>
  50. <span class="num">0.8</span>
  51. <span class="unit">元/kg</span>
  52. </div>
  53. </div>
  54. </div>
  55. </section>
  56. <footer class="footer">
  57. <img src="../../assets/u922.png" />
  58. <div class="point p1">
  59. <i class="warp">
  60. <i class="middle">
  61. <i class="center"></i>
  62. </i>
  63. </i>
  64. </div>
  65. <div class="point p2">
  66. <i class="warp">
  67. <i class="middle">
  68. <i class="center"></i>
  69. </i>
  70. </i>
  71. </div>
  72. <div class="point p3">
  73. <i class="warp">
  74. <i class="middle">
  75. <i class="center"></i>
  76. </i>
  77. </i>
  78. </div>
  79. </footer>
  80. </div>
  81. <div class="right1">
  82. <E-Right1 style="height: 100%"></E-Right1>
  83. </div>
  84. <div class="left2">
  85. <E-Left2 style="height: 100%"></E-Left2>
  86. </div>
  87. <div class="right2">
  88. <E-Right2 style="height: 100%"></E-Right2>
  89. </div>
  90. <div class="left3">
  91. <E-Left3 style="height: 100%"></E-Left3>
  92. </div>
  93. <div class="right3">
  94. <E-Right3 style="height: 100%"></E-Right3>
  95. </div>
  96. </div>
  97. </template>
  98. <script>
  99. import ELeft1 from "./charts/ELeft1";
  100. import ELeft2 from "./charts/ELeft2";
  101. import ELeft3 from "./charts/ELeft3";
  102. import ERight1 from "./charts/ERight1";
  103. import ERight2 from "./charts/ERight2";
  104. import ERight3 from "./charts/ERight3";
  105. export default {
  106. name: "LvShanXiang",
  107. data() {
  108. return {};
  109. },
  110. components: {
  111. ELeft1,
  112. ELeft2,
  113. ELeft3,
  114. ERight1,
  115. ERight2,
  116. ERight3,
  117. },
  118. created() {},
  119. methods: {},
  120. };
  121. </script>
  122. <style lang="scss" scope>
  123. .LvShanXiang {
  124. background-image: url(../../assets/bg.png);
  125. background-size: 100% 100%;
  126. background-repeat: no-repeat;
  127. box-sizing: border-box;
  128. height: 100%;
  129. display: grid;
  130. grid-template-columns: 4fr 7fr 4fr;
  131. grid-template-rows: 1.2fr repeat(2, 1fr);
  132. .middle {
  133. display: flex;
  134. flex-direction: column;
  135. align-items: center;
  136. > .header {
  137. // border: 1px solid #8877dd;
  138. background: url(../../assets/bg_header.png) no-repeat;
  139. background-size: 100% 100%;
  140. width: 171%;
  141. height: 180px;
  142. line-height: 110px;
  143. font-size: 50px;
  144. font-weight: 600;
  145. // color: #69f8fe;
  146. color: #FFF;
  147. text-align: center;
  148. margin-bottom: 40px;
  149. }
  150. > .section {
  151. width: 92%;
  152. .warp {
  153. display: flex;
  154. .item {
  155. border-radius: 20px;
  156. height: 90px;
  157. border: 4px solid #53bafd;
  158. box-sizing: border-box;
  159. flex: 1 0 20%;
  160. margin: 20px 60px;
  161. padding: 10px 10px 10px 40px;
  162. font-size: 35px;
  163. font-weight: 600;
  164. display: flex;
  165. align-items: center;
  166. .title {
  167. color: #fff;
  168. }
  169. .num {
  170. color: #53bafd;
  171. font-size: 1.2em;
  172. }
  173. .unit {
  174. color: #53bafd;
  175. font-size: 20px;
  176. margin-left: 15px;
  177. }
  178. }
  179. }
  180. }
  181. > .footer {
  182. // border: 1px solid #8877dd;
  183. width: 92%;
  184. flex-grow: 1;
  185. margin: 80px 0;
  186. display: flex;
  187. justify-content: center;
  188. align-items: center;
  189. position: relative;
  190. > img {
  191. height: 80%;
  192. }
  193. .point {
  194. position: absolute;
  195. > .warp {
  196. flex-basis: 1;
  197. display: flex;
  198. justify-content: center;
  199. align-items: center;
  200. border: 6px solid #2793D1;
  201. border-radius: 50%;
  202. box-sizing: border-box;
  203. animation: animation_warp 2s 0.2s infinite alternate;
  204. .middle {
  205. display: flex;
  206. justify-content: center;
  207. align-items: center;
  208. position: absolute;
  209. box-sizing: border-box;
  210. border: 6px solid #2793D1;
  211. border-radius: 50%;
  212. animation: animation_middle 2s 0.2s infinite alternate;
  213. .center {
  214. position: absolute;
  215. display: inline-block;
  216. width: 20px;
  217. height: 20px;
  218. box-sizing: border-box;
  219. background-color: #2793D1;
  220. border-radius: 50%;
  221. animation: animation_center 2s 0.2s infinite
  222. }
  223. }
  224. }
  225. @keyframes animation_warp {
  226. 0% {
  227. width: 140px;
  228. height: 140px;
  229. }
  230. 100% {
  231. width: 50px;
  232. height: 50px;
  233. transform: translate(45px, 45px);
  234. border: 6px solid transparent;
  235. }
  236. }
  237. @keyframes animation_middle {
  238. 0% {
  239. width: 50px;
  240. height: 50px;
  241. border: 6px solid transparent;
  242. }
  243. 100% {
  244. width: 140px;
  245. height: 140px;
  246. }
  247. }
  248. @keyframes animation_center {
  249. 0% {
  250. background-color: transparent;
  251. }
  252. 100% {
  253. background-color: #2793D1;
  254. }
  255. }
  256. }
  257. > .p1 {
  258. left: 50%;
  259. top: 25%;
  260. }
  261. > .p2 {
  262. left: 60%;
  263. top: 45%;
  264. }
  265. > .p3 {
  266. left: 35%;
  267. top: 60%;
  268. }
  269. }
  270. }
  271. }
  272. // .left1 {
  273. // border: 1px solid #8877dd;
  274. // }
  275. // .left2 {
  276. // border: 1px solid #77a0dd;
  277. // }
  278. // .left3 {
  279. // border: 1px solid #ddad77;
  280. // }
  281. .middle {
  282. // border: 1px solid #8bdd77;
  283. grid-row-start: 1;
  284. grid-row-end: 4;
  285. grid-column-start: 2;
  286. grid-column-end: 3;
  287. }
  288. // .right1 {
  289. // border: 1px solid #6e277c;
  290. // }
  291. // .right2 {
  292. // border: 1px solid #dd77bb;
  293. // }
  294. // .right3 {
  295. // border: 1px solid #7da359;
  296. // }
  297. .left1,
  298. .right1 {
  299. margin-top: 8%;
  300. }
  301. </style>