taskItem.vue 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <template>
  2. <div class="farm-item" :class="{'done': status}">
  3. <div class="item-top">
  4. <div class="top-l">
  5. <div class="item-name">梢期杀虫</div>
  6. <div class="item-time">2025.08.27</div>
  7. </div>
  8. <div class="top-r" v-if="!status">查看处方</div>
  9. </div>
  10. <div class="item-box">
  11. <!-- <div class="title-wrap">
  12. <div class="title-l">
  13. <div class="item-title">未命名农场</div>
  14. <div class="setting-text">设为特别关注</div>
  15. </div>
  16. <div class="title-r">最近服务过</div>
  17. </div>
  18. <div class="item-desc">
  19. <div class="desc-info">
  20. <div class="desc-info-item">
  21. <span>农场品种:</span>
  22. <span class="value">荔枝-桂味</span>
  23. </div>
  24. <div class="desc-info-item">
  25. <span>农场面积:</span>
  26. <span class="value">500亩</span>
  27. </div>
  28. </div>
  29. <div class="desc-info copy-info">
  30. <div class="address van-ellipsis">
  31. <span>农场位置:</span>
  32. <span class="value">广东省广州市从化区市从化区从广东省广州市从化区市从化区从</span>
  33. </div>
  34. <span class="copy-text">点击复制</span>
  35. </div>
  36. <div class="desc-info report-text" @click="toPage">
  37. <el-icon class="done-icon" color="#fff" size="6"><Select /></el-icon>
  38. 农场报告已经生成,请点击查看
  39. <el-icon class="right-icon" color="#FF953D" size="12"><ArrowRight /></el-icon>
  40. </div>
  41. </div> -->
  42. <div class="farm-text">
  43. <span class="text-title">农场现状:</span>现状现状现状选咋混给农场现状现状现状现状选咋混给选咋混给选咋混给选咋混<span class="text-more">点击查看照片</span>
  44. </div>
  45. <div class="img-text-wrap">
  46. <div class="left-wrap">
  47. <div class="left-img">
  48. <img src="@/assets/img/home/farm.png" alt="">
  49. </div>
  50. <div class="right-text">
  51. <div class="farm-info">
  52. 从化荔博园
  53. <div class="info-tag-wrap">
  54. <div class="tag-item second">200亩</div>
  55. <div class="tag-item primary">桂味</div>
  56. </div>
  57. </div>
  58. <div class="farm-addr">广东省广州市从化区</div>
  59. </div>
  60. </div>
  61. <div class="right-wrap">特别关注</div>
  62. </div>
  63. <slot name="footer"></slot>
  64. </div>
  65. </div>
  66. </template>
  67. <script setup>
  68. import { ref } from 'vue';
  69. import { useRouter } from "vue-router";
  70. const status = ref(0)
  71. const router = useRouter();
  72. const toPage = () => {
  73. router.push("/report_detail")
  74. }
  75. </script>
  76. <style lang="scss" scoped>
  77. .farm-item {
  78. background: #CFE9FF;
  79. border-radius: 14px;
  80. &.done {
  81. background: #EBEBEB;
  82. .item-top {
  83. .item-name {
  84. background: #C6C6C6;
  85. }
  86. }
  87. .item-desc .copy-info .copy-text {
  88. color: #000000;
  89. }
  90. }
  91. .item-top {
  92. display: flex;
  93. align-items: center;
  94. justify-content: space-between;
  95. padding: 10px 12px;
  96. color: #2199f8;
  97. font-size: 14px;
  98. .top-l {
  99. display: flex;
  100. align-items: center;
  101. font-size: 16px;
  102. color: #000000;
  103. }
  104. .item-name {
  105. margin-right: 8px;
  106. color: #2199F8;
  107. padding: 0 10px;
  108. height: 29px;
  109. border-radius: 4px;
  110. border: 1px solid #2199F8;
  111. line-height: 29px;
  112. background: #fff;
  113. }
  114. }
  115. .item-box {
  116. background: #fff;
  117. border-radius: 10px 10px 14px 14px;
  118. border: 1px solid rgba(183, 183, 183, 0.1);
  119. padding: 10px 12px;
  120. }
  121. .farm-text {
  122. background: rgba(183, 183, 183, 0.1);
  123. padding: 6px 8px;
  124. border-radius: 5px;
  125. font-size: 12px;
  126. color: #909090;
  127. line-height: 1.5;
  128. overflow: hidden;
  129. display: -webkit-box;
  130. -webkit-line-clamp: 2;
  131. -webkit-box-orient: vertical;
  132. line-clamp: 2;
  133. word-break: break-all;
  134. .text-title {
  135. color: #424242;
  136. }
  137. .text-more {
  138. padding-left: 10px;
  139. color: #2199F8;
  140. white-space: nowrap;
  141. }
  142. }
  143. .img-text-wrap {
  144. display: flex;
  145. align-items: center;
  146. justify-content: space-between;
  147. .left-wrap {
  148. display: flex;
  149. align-items: center;
  150. .left-img {
  151. width: 40px;
  152. height: 40px;
  153. border-radius: 6px;
  154. img {
  155. width: 100%;
  156. height: 100%;
  157. object-fit: contain;
  158. }
  159. }
  160. .right-text {
  161. padding-left: 8px;
  162. .farm-info {
  163. font-size: 14px;
  164. color: #1D2129;
  165. display: flex;
  166. align-items: center;
  167. .info-tag-wrap {
  168. margin-left: 10px;
  169. display: flex;
  170. align-items: center;
  171. gap: 4px;
  172. .tag-item {
  173. height: 20px;
  174. line-height: 20px;
  175. padding: 0 8px;
  176. border-radius: 2px;
  177. font-size: 12px;
  178. &.second {
  179. color: #1D2129;
  180. background: #F4F4F4;
  181. }
  182. &.primary {
  183. color: #2199F8;
  184. background: #E8F3FF;
  185. }
  186. }
  187. }
  188. }
  189. .farm-addr {
  190. padding-top: 2px;
  191. font-size: 12px;
  192. color: #86909C;
  193. }
  194. }
  195. }
  196. .right-wrap {
  197. color: #FF953D;
  198. font-size: 12px;
  199. }
  200. }
  201. .title-wrap {
  202. display: flex;
  203. align-items: center;
  204. justify-content: space-between;
  205. .title-l {
  206. display: flex;
  207. align-items: center;
  208. .setting-text {
  209. padding-left: 11px;
  210. font-size: 12px;
  211. color: #2199f8;
  212. }
  213. }
  214. .title-r {
  215. color: rgba(255, 131, 29, 0.36);
  216. font-size: 12px;
  217. }
  218. }
  219. .item-title {
  220. font-size: 16px;
  221. font-weight: 500;
  222. margin: 2px 0 5px 0;
  223. }
  224. .item-desc {
  225. font-size: 13px;
  226. color: #bbbbbb;
  227. line-height: 18px;
  228. .desc-info {
  229. display: flex;
  230. .desc-info-item {
  231. flex: 1;
  232. .value {
  233. color: #666666;
  234. }
  235. }
  236. }
  237. .copy-info {
  238. margin-top: 4px;
  239. .address {
  240. max-width: 80%;
  241. .value {
  242. color: #666666;
  243. }
  244. }
  245. .copy-text {
  246. margin-left: 8px;
  247. color: #2199f8;
  248. }
  249. }
  250. .report-text {
  251. margin-top: 10px;
  252. color: #FF953D;
  253. font-size: 12px;
  254. height: 32px;
  255. line-height: 32px;
  256. border-radius: 5px;
  257. display: flex;
  258. align-items: center;
  259. padding-left: 11px;
  260. background: linear-gradient(90deg, rgba(255, 149, 61, 0.1), rgba(255, 149, 61, 0));
  261. .done-icon {
  262. background: #FF953D;
  263. width: 10px;
  264. height: 10px;
  265. border-radius: 50%;
  266. margin-right: 5px;
  267. }
  268. .right-icon {
  269. margin-left: 10px;
  270. }
  271. }
  272. }
  273. }
  274. </style>