leftBox2.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <template>
  2. <div>
  3. <boxTop title="移栽区域介绍" />
  4. <div class="leftBox" v-if="leftBox.名称">
  5. <div class="title">
  6. <div class="name">{{ leftBox.名称 }}</div>
  7. <div class="sub">
  8. <i :class="[`iconfont`, leftBox.天气图标]"></i>
  9. <img src="@/assets/img2/综合总览/编组 6.png" alt="" />
  10. {{ leftBox.温度[0] }}℃ - {{ leftBox.温度[1] }}℃
  11. </div>
  12. </div>
  13. <div class="imgBox">
  14. <div
  15. class="img big"
  16. :style="`background-image: url(${leftBox.图片[0]})`"
  17. ></div>
  18. <div class="small">
  19. <div
  20. class="img"
  21. :style="`background-image: url(${leftBox.图片[1]})`"
  22. ></div>
  23. <div
  24. class="img"
  25. :style="`background-image: url(${leftBox.图片[2]})`"
  26. ></div>
  27. </div>
  28. </div>
  29. <div class="infoBox">
  30. <p>区域管理人员:{{ leftBox.管理人员 }}</p>
  31. <p>区域联系电话:{{ leftBox.联系电话 }}</p>
  32. <p>区域地址:{{ leftBox.地址 }}</p>
  33. <p>区域面积(M2):{{ leftBox.面积 }}</p>
  34. <p>烟农数量:{{ leftBox.烟农数量 }}</p>
  35. </div>
  36. <div class="infoBox">
  37. <h2>区域简介</h2>
  38. <div class="htmlBox" v-html="leftBox.简介"></div>
  39. </div>
  40. </div>
  41. </div>
  42. </template>
  43. <script>
  44. import item from './item.vue'
  45. import boxTop from '@/components/boxTop/index.vue'
  46. import { getWeather } from '@/assets/js/utils'
  47. export default {
  48. data() {
  49. return {
  50. leftBox: {},
  51. }
  52. },
  53. components: {
  54. boxTop,
  55. },
  56. async created() {
  57. this.infoFn()
  58. },
  59. methods: {
  60. async infoFn() {
  61. const baseId = this.$route.query.baseId || 1
  62. const data = await this.$http.get(`/api/base/${baseId}`)
  63. this.leftBox = data
  64. this.leftBox.天气图标 =
  65. getWeather(this.leftBox.天气).icon || `icon-duoyun`
  66. console.log(`data`, data, this.leftBox)
  67. },
  68. clearFn() {
  69. this.infoFn()
  70. console.log(`clearFn`)
  71. },
  72. sortFn() {
  73. this.infoFn()
  74. console.log(`sortFn`)
  75. },
  76. },
  77. }
  78. </script>
  79. <style lang="less" scoped>
  80. .leftBox {
  81. height: 845px;
  82. width: 401px;
  83. background: rgba(48, 42, 42, 0.3);
  84. backdrop-filter: blur(8px);
  85. padding: 15px;
  86. box-sizing: border-box;
  87. .title {
  88. padding: 10px;
  89. box-sizing: border-box;
  90. border: 2px solid rgba(255, 255, 255, 0.05);
  91. backdrop-filter: blur(16px);
  92. min-height: 73px;
  93. background: rgba(255, 255, 255, 0.03);
  94. border: 2px solid rgba(255, 255, 255, 0.05);
  95. backdrop-filter: blur(16px);
  96. .name {
  97. font-size: 20px;
  98. }
  99. .sub {
  100. padding-top: 6px;
  101. & > * {
  102. display: inline-block;
  103. vertical-align: middle;
  104. }
  105. .iconfont {
  106. font-size: 22px;
  107. margin-right: 6px;
  108. }
  109. img {
  110. height: 22px;
  111. margin-right: 6px;
  112. }
  113. }
  114. }
  115. .imgBox {
  116. display: flex;
  117. justify-content: center;
  118. margin-top: 15px;
  119. .img {
  120. background-position: center;
  121. background-size: cover;
  122. background-repeat: no-repeat;
  123. }
  124. .big {
  125. width: 228px;
  126. height: 196px;
  127. margin-right: 10px;
  128. }
  129. .small {
  130. width: 113px;
  131. .img {
  132. width: 113px;
  133. height: 93px;
  134. margin-bottom: 10px;
  135. }
  136. }
  137. }
  138. .infoBox {
  139. background: rgba(255, 255, 255, 0.03);
  140. border: 2px solid rgba(255, 255, 255, 0.05);
  141. backdrop-filter: blur(16px);
  142. padding: 10px;
  143. margin-top: 15px;
  144. h2 {
  145. padding-bottom: 6px;
  146. border-bottom: 1px solid #979797;
  147. }
  148. .htmlBox {
  149. ::v-deep p {
  150. text-indent: 2em;
  151. }
  152. padding: 10px;
  153. height: 330px;
  154. overflow: auto;
  155. }
  156. }
  157. }
  158. </style>