Butcher.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. <template>
  2. <div class="Butcher">
  3. <header>
  4. <!-- <h1 class="title">湖羊全产业链数字化管理系统</h1> -->
  5. <hy-header :navTag="1"></hy-header>
  6. </header>
  7. <section>
  8. <aside class="left">
  9. <article class="left_1">
  10. <h3>市场行情</h3>
  11. <table class="table">
  12. <tr>
  13. <th>产品</th>
  14. <th>价格</th>
  15. <th>市场</th>
  16. </tr>
  17. <tr v-for="item in sheepPriceList" :key="item.site">
  18. <td>{{ item.description }}</td>
  19. <td>
  20. {{ item.price }}元/公斤
  21. <b v-if="item.isRise" style="color: #00ca01"
  22. >▲</b
  23. >
  24. <b v-else style="color: red">▼</b>
  25. </td>
  26. <td>{{ item.site }}</td>
  27. </tr>
  28. </table>
  29. </article>
  30. <article class="left_2">
  31. <h3>市场行情</h3>
  32. <E-Left1 style="height: 100%"></E-Left1>
  33. </article>
  34. <article class="left_3">
  35. <h3>长兴县销售情况</h3>
  36. <E-Left2 style="height: 100%"></E-Left2>
  37. </article>
  38. </aside>
  39. <div class="center">
  40. <div class="top">
  41. <article class="upper">
  42. <div class="date">{{ `${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}` }}</div>
  43. <div class="title">首 页</div>
  44. <img class="icon" src="../../assets/chilun.png" />
  45. </article>
  46. <article class="mid">
  47. <div class="warp">
  48. <div class="item">
  49. <div>
  50. <span class="title">总存栏量:</span>
  51. <span class="num">10534</span>
  52. <span class="unit">只</span>
  53. </div>
  54. </div>
  55. <div class="item">
  56. <div>
  57. <span class="title">昨日屠宰数:</span>
  58. <span class="num">1534</span>
  59. <span class="unit">只</span>
  60. </div>
  61. </div>
  62. <div class="item">
  63. <div>
  64. <span class="title">检疫合格率:</span>
  65. <span class="num">94.2</span>
  66. <span class="unit">%</span>
  67. </div>
  68. </div>
  69. </div>
  70. </article>
  71. <article class="lower">
  72. <main class="inputWrap">
  73. <input type="text" class="input" v-model="searchStr">
  74. <i class="icon_search" @click="search"></i>
  75. </main>
  76. <div class="item_1">
  77. <h3>入库</h3>
  78. <div class="row">入库时间:10:15:11 </div>
  79. </div>
  80. <div class="item_2">
  81. <h3>运输</h3>
  82. <div class="row">运输单号:586874578</div>
  83. <div class="row">目的地:浙江金华超市</div>
  84. </div>
  85. <div class="item_3">
  86. <h3>收购</h3>
  87. <div class="row">来源:吕山牧场</div>
  88. <div class="row">收购重量:浙江金华超市</div>
  89. <div class="row">收购时间:8月28日</div>
  90. </div>
  91. <div class="item_4">
  92. <h3>屠宰</h3>
  93. <div class="row">屠宰时间:9月2日</div>
  94. </div>
  95. <div class="item_5">
  96. <h3>分割</h3>
  97. <div class="row">分割批次:12451</div>
  98. </div>
  99. <div class="item_6">
  100. <h3>检疫</h3>
  101. <div class="row">检疫结果:合格</div>
  102. <div class="row">检疫时间:8月30日</div>
  103. </div>
  104. <div class="item_7">
  105. <h3>排酸</h3>
  106. <div class="row">排酸时间:9月3日</div>
  107. </div>
  108. <div class="item_8">
  109. <h3>运输</h3>
  110. <div class="row">运输单号:586874578</div>
  111. <div class="row">目的地:浙江金华超市</div>
  112. </div>
  113. <span class="time_1">9月3</span>
  114. <span class="time_2">9月3</span>
  115. <span class="time_3">8月30</span>
  116. <span class="time_4">9月3</span>
  117. <span class="time_5">9月4</span>
  118. <span class="time_6">8月28</span>
  119. <span class="time_7">9月2</span>
  120. <span class="time_8">9月3</span>
  121. </article>
  122. </div>
  123. <div class="bottom">
  124. <article>
  125. <E-Bottom1 style="height: 100%"></E-Bottom1>
  126. </article>
  127. <article>
  128. <E-Bottom2 style="height: 100%"></E-Bottom2>
  129. </article>
  130. <article>
  131. <E-Bottom3 style="height: 100%"></E-Bottom3>
  132. </article>
  133. </div>
  134. </div>
  135. <aside class="right">
  136. <article class="right_1">
  137. <h3>产品运输任务</h3>
  138. <E-Right1 style="height: 100%"></E-Right1>
  139. </article>
  140. <article class="right_2">
  141. <h3>屠宰采购来源</h3>
  142. <!-- cellspacing="0px" -->
  143. <table class="table">
  144. <tr>
  145. <th>羊只</th>
  146. <th>来源地</th>
  147. </tr>
  148. <tr v-for="item in 8" :key="item" class="row">
  149. <td style="width: 30%">{{ 12457 + item }}</td>
  150. <td>湖州市长兴县吕山乡</td>
  151. </tr>
  152. </table>
  153. </article>
  154. <article class="right_3">
  155. <h3>屠宰销售去向</h3>
  156. <table class="table">
  157. <tr>
  158. <th>羊只</th>
  159. <th>去向</th>
  160. </tr>
  161. <tr v-for="item in 8" :key="item" class="row">
  162. <td style="width: 30%">{{ 11457 + item }}</td>
  163. <td>安徽</td>
  164. </tr>
  165. </table>
  166. </article>
  167. </aside>
  168. </section>
  169. </div>
  170. </template>
  171. <script>
  172. import HyHeader from "@/components/HyHeader";
  173. import ELeft1 from "./charts/ELeft1";
  174. import ELeft2 from "./charts/ELeft2";
  175. import ERight1 from "./charts/ERight1";
  176. import EBottom1 from "./charts/EBottom1";
  177. import EBottom2 from "./charts/EBottom2";
  178. import EBottom3 from "./charts/EBottom3";
  179. export default {
  180. name: "Butcher",
  181. components: {
  182. HyHeader,
  183. ELeft1,
  184. ELeft2,
  185. ERight1,
  186. EBottom1,
  187. EBottom2,
  188. EBottom3,
  189. },
  190. data() {
  191. return {
  192. searchStr: '',
  193. sheepPriceList: [
  194. {
  195. description: "肉羊",
  196. price: '32.5',
  197. site: '长兴',
  198. isRise: true
  199. },
  200. {
  201. description: "肉羊",
  202. price: '32.5',
  203. site: '杭州',
  204. isRise: true
  205. },
  206. {
  207. description: "肉羊",
  208. price: '33',
  209. site: '金华',
  210. isRise: true
  211. },
  212. {
  213. description: "肉羊",
  214. price: '32.5',
  215. site: '苏州',
  216. isRise: false
  217. },
  218. {
  219. description: "肉羊",
  220. price: '31',
  221. site: '安徽',
  222. isRise: false
  223. },
  224. {
  225. description: "肉羊",
  226. price: '31',
  227. site: '湖南',
  228. isRise: true
  229. },
  230. {
  231. description: "肉羊",
  232. price: '32',
  233. site: '江西',
  234. isRise: true
  235. },
  236. {
  237. description: "肉羊",
  238. price: '29',
  239. site: '内蒙古',
  240. isRise: true
  241. },
  242. ]
  243. };
  244. },
  245. created() {
  246. document.title = '湖羊产业'
  247. },
  248. methods: {
  249. search() {
  250. console.log(this.searchStr)
  251. console.log("search")
  252. }
  253. },
  254. };
  255. </script>
  256. <style lang="scss" scope>
  257. .Butcher {
  258. background-image: url(../../assets/bg.png);
  259. background-size: 100% 100%;
  260. background-repeat: no-repeat;
  261. height: 100%;
  262. display: flex;
  263. flex-direction: column;
  264. overflow: hidden;
  265. > section {
  266. flex-grow: 1;
  267. display: flex;
  268. > aside {
  269. display: flex;
  270. flex-direction: column;
  271. justify-content: space-between;
  272. > article {
  273. height: 31%;
  274. background-image: url(../../assets/download.png);
  275. background-size: 100% 100%;
  276. background-repeat: no-repeat;
  277. > h3 {
  278. color: #fff;
  279. font-size: 25px;
  280. margin-left: 12%;
  281. margin-top: 13px;
  282. display: flex;
  283. align-items: center;
  284. &:before {
  285. content: "";
  286. display: inline-block;
  287. height: 25px;
  288. width: 25px;
  289. margin-right: 50px;
  290. background-color: #fff;
  291. }
  292. }
  293. }
  294. }
  295. > .left {
  296. width: 19.8%;
  297. // border: 1px solid rgb(218, 99, 99);
  298. display: flex;
  299. flex-direction: column;
  300. > .left_1, .left_2, .left_3 {
  301. min-width: 600px;
  302. }
  303. > .left_1 {
  304. overflow: hidden;
  305. > .table {
  306. color: #fff;
  307. font-size: 30px;
  308. margin: 20px;
  309. width: 100%;
  310. text-align: center;
  311. }
  312. }
  313. }
  314. > .center {
  315. width: 60.4%;
  316. min-width: 1600px;
  317. // border: 1px solid rgb(163, 147, 58);
  318. display: flex;
  319. flex-direction: column;
  320. > .top {
  321. height: 72%;
  322. // border: 1px solid rgb(62, 58, 128);
  323. display: flex;
  324. flex-direction: column;
  325. .upper {
  326. font-size: 40px;
  327. color: #fff;
  328. display: flex;
  329. justify-content: space-around;
  330. margin: 20px 3%;
  331. // .date {}
  332. .title {
  333. flex-grow: 1;
  334. text-align: center;
  335. display: flex;
  336. align-items: center;
  337. &::before {
  338. content: "";
  339. border: 1px solid #4b81ec;
  340. box-sizing: border-box;
  341. height: 0px;
  342. flex-grow: 1;
  343. margin: 0 50px;
  344. }
  345. &::after {
  346. content: "";
  347. border: 1px solid #4b81ec;
  348. box-sizing: border-box;
  349. height: 0px;
  350. flex-grow: 1;
  351. margin: 0 50px;
  352. }
  353. }
  354. .icon {
  355. width: 50px;
  356. height: 50px;
  357. }
  358. }
  359. .mid {
  360. > .warp {
  361. display: flex;
  362. justify-content: space-around;
  363. margin: 20px 5%;
  364. .item {
  365. border-radius: 20px;
  366. height: 90px;
  367. min-width: 400px;
  368. box-sizing: border-box;
  369. border: 4px solid #53bafd;
  370. flex: 1 0 20%;
  371. margin: 20px 3%;
  372. padding: 10px 10px 10px 10px;
  373. font-size: 35px;
  374. font-weight: 600;
  375. display: flex;
  376. justify-content: center;
  377. align-items: center;
  378. .title {
  379. color: #fff;
  380. }
  381. .num {
  382. color: #53bafd;
  383. font-size: 1.2em;
  384. }
  385. .unit {
  386. color: #53bafd;
  387. font-size: 20px;
  388. margin-left: 15px;
  389. }
  390. }
  391. }
  392. }
  393. .lower {
  394. min-height: 800px;
  395. flex-grow: 1;
  396. background: url(../../assets/bg_main.png) no-repeat;
  397. background-size: 100% 100%;
  398. margin: 0 3% 1.5% 3%;
  399. color: #fff;
  400. font-size: 30px;
  401. font-weight: 600;
  402. position: relative;
  403. > .inputWrap {
  404. width: 700px;
  405. height: 80px;
  406. display: flex;
  407. align-items: center;
  408. font-size: 60px;
  409. color: #fff;
  410. box-sizing: border-box;
  411. border: 2px solid #797979;
  412. border-radius: 10px;
  413. background-color: #0e93b2;
  414. position: relative;
  415. > .input {
  416. width: 200px;
  417. flex-grow: 1;
  418. font-size: 60px;
  419. color: #fff;
  420. padding-left: 20px;
  421. background: none;
  422. // outline: none;
  423. border: none;
  424. &:focus {
  425. // border: 4px solid #797979;
  426. background: none;
  427. outline: none;
  428. }
  429. }
  430. > .icon_search{
  431. position: absolute;
  432. right: 10px;
  433. width: 60px;
  434. height: 60px;
  435. background: url(../../assets/search.png) no-repeat;
  436. background-size: contain;
  437. }
  438. }
  439. > div {
  440. // border: 1px solid rgb(243, 14, 14);
  441. display: inline-block;
  442. width: 15.1%;
  443. height: 17.4%;
  444. box-sizing: border-box;
  445. position: absolute;
  446. color: #333333;
  447. > h3 {
  448. text-align: center;
  449. }
  450. > .row {
  451. font-weight: normal;
  452. font-size: 25px;
  453. overflow: hidden;
  454. white-space: nowrap;
  455. text-overflow:ellipsis;
  456. }
  457. }
  458. > .item_1 {
  459. left: 59.1%;
  460. top: 18.7%;
  461. }
  462. > .item_2 {
  463. left: 81.4%;
  464. top: 18%;
  465. }
  466. > .item_3 {
  467. left: 0.8%;
  468. top: 42.3%;
  469. }
  470. > .item_4 {
  471. left: 27.3%;
  472. top: 42.3%;
  473. }
  474. > .item_5 {
  475. left: 64.3%;
  476. top: 42.3%;
  477. }
  478. > .item_6 {
  479. left: 13.2%;
  480. top: 80.8%;
  481. }
  482. > .item_7 {
  483. left: 40.5%;
  484. top: 80.8%;
  485. }
  486. > .item_8 {
  487. left: 79.9%;
  488. top: 80.8%;
  489. }
  490. > span {
  491. font-size: 35px;
  492. position: absolute;
  493. }
  494. > .time_1 {
  495. left: 64.8%;
  496. top: 0%;
  497. }
  498. > .time_2 {
  499. left: 87%;
  500. top: 0%;
  501. }
  502. > .time_3 {
  503. left: 19%;
  504. top: 61%;
  505. }
  506. > .time_4 {
  507. left: 46%;
  508. top: 61%;
  509. }
  510. > .time_5 {
  511. left: 85.4%;
  512. top: 61%;
  513. }
  514. > .time_6 {
  515. left: 6.4%;
  516. top: 74%;
  517. }
  518. > .time_7 {
  519. left: 33%;
  520. top: 74%;
  521. }
  522. > .time_8 {
  523. left: 70%;
  524. top: 74%;
  525. }
  526. }
  527. }
  528. > .bottom {
  529. height: 28%;
  530. // border: 1px solid rgb(23, 131, 116);
  531. display: flex;
  532. justify-content: space-between;
  533. > article {
  534. width: 33%;
  535. }
  536. }
  537. }
  538. > .right {
  539. width: 19.8%;
  540. // border: 1px solid rgb(61, 197, 179);
  541. display: flex;
  542. flex-direction: column;
  543. justify-content: space-between;
  544. > .right_2,
  545. > .right_3 {
  546. overflow: hidden;
  547. > .table {
  548. color: #fff;
  549. font-size: 30px;
  550. margin: 20px;
  551. width: 96%;
  552. text-align: center;
  553. .row {
  554. background-color: #006666ee;
  555. }
  556. }
  557. }
  558. }
  559. }
  560. }
  561. </style>