2 Коміти acff83cb47 ... 72cb621a78

Автор SHA1 Опис Дата
  lxf 72cb621a78 Merge branch 'farmer' of http://www.sysuimars.cn:3000/feiniao/feiniao-farm-h5 into farmer 5 днів тому
  lxf d5165c0bef fix: 农事详情 5 днів тому
1 змінених файлів з 40 додано та 15 видалено
  1. 40 15
      src/views/old_mini/agri_record/subPages/statusDetail.vue

+ 40 - 15
src/views/old_mini/agri_record/subPages/statusDetail.vue

@@ -11,23 +11,27 @@
                     </div>
                     </div>
                     <div class="status-sub-text">执行时间已过去 7 天</div>
                     <div class="status-sub-text">执行时间已过去 7 天</div>
                 </div> -->
                 </div> -->
-                <div class="status-left" v-if="status === 1">
-                    <div class="status-text">
-                        <span>已激活</span>
-                    </div>
-                    <div class="status-sub-text">距离执行时间还差 一 天</div>
-                </div>
-                <div class="status-left" v-else-if="status === 5">
+                <div class="status-left" v-if="status === 5">
                     <div class="status-text">
                     <div class="status-text">
                         <span>已完成</span>
                         <span>已完成</span>
                     </div>
                     </div>
-                    <div class="status-sub-text">执行时间:{{ detailData?.detail?.executeTime }}</div>
+                    <div class="status-sub-text">执行时间:{{ detailData?.detail?.executeDate }}</div>
                 </div>
                 </div>
-                <div class="status-left" v-else-if="status === 0 || !status">
+                 <div class="status-left" v-else-if="status === 0 || !status">
+                     <div class="status-text">
+                         <span>未激活</span>
+                     </div>
+                     <div class="status-sub-text">
+                         预计激活时间 {{ detailData?.activateTime ? formatDate(detailData.activateTime) : "" }}
+                     </div>
+                 </div>
+                <div class="status-left" v-else>
                     <div class="status-text">
                     <div class="status-text">
-                        <span>未激活</span>
+                        <span>激活</span>
                     </div>
                     </div>
-                    <div class="status-sub-text">预计激活时间 {{ detailData?.detail?.activateTime }}</div>
+                    <div class="status-sub-text" v-if="daysDiff > 0">距离执行时间还差 {{ daysDiff }} 天</div>
+                    <div class="status-sub-text" v-else-if="daysDiff === 0">触发时间为今天</div>
+                    <div class="status-sub-text" v-else>触发时间已过</div>
                 </div>
                 </div>
             </div>
             </div>
 
 
@@ -49,7 +53,7 @@
                         </div>
                         </div>
                         <div class="info-item">
                         <div class="info-item">
                             <span class="info-label">执行时间</span>
                             <span class="info-label">执行时间</span>
-                            <span class="info-value">{{ detailData?.detail?.executeTime }}</span>
+                            <span class="info-value">{{ detailData?.detail?.executeDate }}</span>
                         </div>
                         </div>
                         <div class="info-item">
                         <div class="info-item">
                             <span class="info-label">农事建议</span>
                             <span class="info-label">农事建议</span>
@@ -259,7 +263,7 @@
 import { useRouter, useRoute } from "vue-router";
 import { useRouter, useRoute } from "vue-router";
 import { showSuccessToast } from 'vant';
 import { showSuccessToast } from 'vant';
 import { ElMessage } from "element-plus";
 import { ElMessage } from "element-plus";
-import { ref, onActivated, onDeactivated } from "vue";
+import { ref, onActivated, onDeactivated, computed } from "vue";
 import customHeader from "@/components/customHeader.vue";
 import customHeader from "@/components/customHeader.vue";
 import { Warning } from "@element-plus/icons-vue";
 import { Warning } from "@element-plus/icons-vue";
 import upload from "@/components/upload";
 import upload from "@/components/upload";
@@ -291,6 +295,27 @@ const showCalendar = ref(false);
 const minDate = ref(new Date(2025, 0, 1));
 const minDate = ref(new Date(2025, 0, 1));
 const maxDate = ref(new Date());
 const maxDate = ref(new Date());
 
 
+
+// 计算距离执行时间的天数差
+const daysDiff = computed(() => {
+    if (!detailData.value?.detail?.executeDate) {
+        return 0;
+    }
+
+    const executeDate = new Date(detailData.value?.detail?.executeDate);
+    const today = new Date();
+
+    // 将时间设置为 00:00:00,只比较日期
+    executeDate.setHours(0, 0, 0, 0);
+    today.setHours(0, 0, 0, 0);
+
+    // 计算天数差(毫秒转天数)
+    const diffTime = executeDate.getTime() - today.getTime();
+    const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
+
+    return diffDays;
+});
+
 const onConfirmExecuteTime = (date) => {
 const onConfirmExecuteTime = (date) => {
     showCalendar.value = false;
     showCalendar.value = false;
     console.log(formatDate(date) );
     console.log(formatDate(date) );
@@ -441,7 +466,7 @@ const getDetail = async (farmWorkLibId) => {
         }
         }
     }
     }
 
 
-    &.status-1 {
+    &.status-1, &.status-2, &.status-3, &.status-4 {
         &::after {
         &::after {
             background: #ff953d;
             background: #ff953d;
         }
         }
@@ -453,7 +478,7 @@ const getDetail = async (farmWorkLibId) => {
         }
         }
     }
     }
 
 
-    &.status-3 {
+    &.status-6 {
         &::after {
         &::after {
             background: #ff6666;
             background: #ff6666;
         }
         }