reportPopup.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <template>
  2. <Popup v-model:show="show" class="report-popup">
  3. <div class="popup-content-box">
  4. <div class="report-bg">
  5. <img class="box-bg" src="@/assets/img/home/box-bg.png" alt="">
  6. </div>
  7. <div class="report-content">
  8. <div class="report-garden">
  9. <img class="garden-icon" src="https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png" alt="">
  10. 荔枝博览园
  11. </div>
  12. <div class="report-time">2025.02.15农场报告</div>
  13. <div class="report-address">广东省广州市从化区</div>
  14. <div class="report-img">
  15. <img class="report-img-dom" src="https://birdseye-img-ali-cdn.sysuimars.com/16926861-1e20-4cbd-8bf2-90208db5a2d0/806080da-1a30-4b5b-b64b-b22e722c6cb6/DJI_202509010800_001_806080da-1a30-4b5b-b64b-b22e722c6cb6/DJI_20250901080536_0045_V_code-ws0fsmge97gh.jpeg" alt="">
  16. </div>
  17. <div class="report-line"></div>
  18. <div class="report-desc">
  19. 当前位于广州市从化区荔枝博览园,共 <span class="main-text">12000棵</span>树,有 <span class="main-text">7659棵</span> 树触发了农事。
  20. </div>
  21. <div class="report-info">
  22. <div class="info-item">
  23. <span class="item-dotted"></span>
  24. 物候进程
  25. <span class="item-text">花期短暂,果期集中,成熟迅速</span>
  26. </div>
  27. <div class="info-item">
  28. <span class="item-dotted"></span>
  29. 生长异常
  30. <span class="item-text">花而不实,落果严重,品质下降</span>
  31. </div>
  32. <div class="info-item">
  33. <span class="item-dotted"></span>
  34. 病虫异常
  35. <span class="item-text">虫蛀果裂,病斑密布,落叶早衰</span>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <div class="bottom-btn">
  41. <div class="btn-item secondary-btn" @click="toPage">分享给</div>
  42. <div class="btn-item primary-btn" @click="triggerClick">保存图片</div>
  43. </div>
  44. </Popup>
  45. </template>
  46. <script setup>
  47. import { Popup } from "vant";
  48. import { ref } from "vue";
  49. const show = ref(false);
  50. const handleShow = () => {
  51. show.value = true;
  52. };
  53. const handleClose = () => {
  54. show.value = false;
  55. };
  56. defineExpose({handleClose,handleShow});
  57. </script>
  58. <style lang="scss" scoped>
  59. .report-popup {
  60. width: 343px;
  61. border-radius: 12px;
  62. background: transparent;
  63. .popup-content-box {
  64. position: relative;
  65. background: #FFFFFF;
  66. border-radius: 12px;
  67. .report-bg {
  68. .box-bg {
  69. position: absolute;
  70. top: 0;
  71. left: 0;
  72. z-index: 0;
  73. width: 100%;
  74. height: 203px;
  75. }
  76. }
  77. .report-content {
  78. position: relative;
  79. z-index: 2;
  80. padding: 12px 12px 20px 12px;
  81. .report-garden {
  82. background: rgba(0, 0, 0, 0.6);
  83. color: #fff;
  84. height: 28px;
  85. display: flex;
  86. align-items: center;
  87. width: fit-content;
  88. padding: 0 8px 0 2px;
  89. border-radius: 20px;
  90. font-size: 14px;
  91. .garden-icon {
  92. width: 24px;
  93. height: 24px;
  94. border-radius: 50%;
  95. box-sizing: border-box;
  96. // border: 1px solid #fff;
  97. margin-right: 6px;
  98. }
  99. }
  100. .report-time {
  101. padding-top: 42px;
  102. font-size: 22px;
  103. color: #000000;
  104. font-weight: bold;
  105. }
  106. .report-address {
  107. font-size: 16px;
  108. color: rgba(0, 0, 0, 0.5);
  109. }
  110. .report-img {
  111. padding: 16px 0 12px 0;
  112. .report-img-dom {
  113. width: 100%;
  114. height: 152px;
  115. border-radius: 12px;
  116. object-fit: cover;
  117. }
  118. }
  119. .report-line {
  120. border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
  121. }
  122. .report-desc {
  123. padding: 17px 10px 8px 10px;
  124. font-size: 14px;
  125. color: #333333;
  126. .main-text {
  127. color: #2199F8;
  128. }
  129. }
  130. .report-info {
  131. padding: 5px 8px;
  132. font-size: 14px;
  133. .info-item {
  134. display: flex;
  135. align-items: center;
  136. color: #999999;
  137. padding-bottom: 2px;
  138. .item-dotted {
  139. width: 4px;
  140. height: 4px;
  141. border-radius: 50%;
  142. background: #BBBBBB;
  143. margin-right: 8px;
  144. }
  145. .item-text {
  146. padding-left: 12px;
  147. color: #000000;
  148. }
  149. }
  150. }
  151. }
  152. }
  153. .bottom-btn {
  154. width: 100%;
  155. text-align: center;
  156. margin-top: 20px;
  157. display: flex;
  158. .btn-item {
  159. flex: 1;
  160. text-align: center;
  161. height: 38px;
  162. line-height: 38px;
  163. border-radius: 30px;
  164. font-size: 14px;
  165. &.secondary-btn {
  166. background: #FFFFFF;
  167. color: #000000;
  168. }
  169. &.primary-btn {
  170. background: linear-gradient(180deg, #76C3FF, #2199F8);
  171. color: #FFFFFF;
  172. }
  173. }
  174. .btn-item + .btn-item {
  175. margin-left: 12px;
  176. }
  177. }
  178. }
  179. </style>