wangsisi 3 дней назад
Родитель
Сommit
3d9257b749

+ 57 - 37
src/components/pageComponents/ArchivesFarmTimeLine.vue

@@ -9,7 +9,7 @@
                 :style="getTermStyle(t, tIdx)"
             >
                 <span class="term-name">{{ t.displayName }}</span>
-                <span class="term-date">01-05</span>
+                <!-- <span class="term-date">01-05</span> -->
             </div>
             <div v-for="(p, idx) in phenologyList" :key="`phenology-${uniqueTimestamp}-${idx}`" class="phenology-bar">
                 <div 
@@ -31,7 +31,6 @@
                             class="arrange-card"
                             :class="[
                                 getArrangeStatusClass(fw),
-                                { 'first-card': aIdx === 0 && rIdx !== 0 },
                                 { 'last-card': aIdx === r.farmWorkArrangeList.length - 1 && rIdx !== r.farmWorkArrangeList.length - 1 },
                                 // 右侧农事卡片跟随物候期颜色:未来节气对应的农事卡片置灰
                                 { 'future-card': !shouldShowBlue(p) }
@@ -40,8 +39,11 @@
                         >
                             <div class="card-content">
                                 <div class="card-left">
-                                    <div class="left-date">{{ formatDate(fw.createTime) }}</div>
-                                    <span>张扬 上传了作物照片</span>
+                                    <div class="left-info">
+                                        <div class="left-date">{{ formatDate(fw.createTime) }}</div>
+                                        <span class="text">上传者:无人机</span>
+                                    </div>
+                                    <div class="title-text">{{ fw.title }}</div>
                                 </div>
                                 <div class="card-right">
                                     <img src="@/assets/img/home/farm.png" alt="">
@@ -377,10 +379,9 @@ const handleSeasonClick = (seasonValue) => {
 
 // 农事状态样式映射(0:取消关注,1:关注,2:托管农事,)
 const getArrangeStatusClass = (fw) => {
-    const t = fw?.isFollow;
-    // const warningStatus = shouldShowIncompleteStatus(fw.farmWorkId);
-    if (t == 0) return "normal-style";
-    // if (warningStatus) return "status-warning";
+    const t = fw?.sourceType;
+    if (t == 7) return "status-complete";
+    if (t == 8) return "status-warning";
     // if (t >= 0 && t <= 4) return "status-normal";
     // if (t === 5) return "status-complete";
     return "status-normal";
@@ -754,7 +755,7 @@ watch(
     }
     .timeline-middle-line {
         position: absolute;
-        left: 15px; /* 位于节气文字列中间(列宽约30px) */
+        left: 13px; /* 位于节气文字列中间(列宽约30px) */
         top: 0;
         bottom: 0;
         width: 2px;
@@ -848,11 +849,9 @@ watch(
                     position: relative;
                     padding: 8px 15px 8px 10px;
                     writing-mode: horizontal-tb;
-                    &.first-card{
-                        margin-top: 10px;
-                    }
+                    margin-bottom: 10px;
                     &.last-card{
-                        margin-bottom: 10px;
+                        // margin-bottom: 0;
                     }
                     .card-content {
                         color: #242424;
@@ -861,15 +860,24 @@ watch(
                         align-items: center;
                         font-size: 14px;
                         .card-left {
-                            display: flex;
-                            align-items: center;
-                            gap: 8px;
-                            .left-date{
-                                color: #fff;
-                                background: #2199f8;
-                                padding: 1px 5px;
-                                border-radius: 2px;
-                                font-size: 12px;
+                            .left-info{
+                                display: flex;
+                                align-items: center;
+                                gap: 5px;
+                                .left-date{
+                                    color: #fff;
+                                    background: #2199f8;
+                                    padding: 1px 5px;
+                                    border-radius: 2px;
+                                    font-size: 12px;
+                                }
+                                .text{
+                                    font-size: 12px;
+                                    color: rgba(33, 153, 248, 0.5);
+                                }
+                            }
+                            .title-text{
+                                margin-top: 2px;
                             }
                         }
                         .card-right {
@@ -917,15 +925,35 @@ watch(
                     color: #808080;
                 }
                 .arrange-card.status-warning {
-                    border-color: #ff953d;
+                    border-color: #F67D7D;
+                    .card-left{
+                        .left-date{
+                            background: #F67D7D;
+                        }
+                    }
+                    .card-right{
+                        .num{
+                            background: #F67D7D;
+                        }
+                    }
                     &::before {
-                        border-right-color: #ff953d;
+                        border-right-color: #F67D7D;
                     }
                 }
                 .arrange-card.status-complete {
-                    border-color: #1ca900;
+                    border-color: #52C03C;
+                    .card-left{
+                        .left-date{
+                            background: #52C03C;
+                        }
+                    }
+                    .card-right{
+                        .num{
+                            background: #52C03C;
+                        }
+                    }
                     &::before {
-                        border-right-color: #1ca900;
+                        border-right-color: #52C03C;
                     }
                 }
                 .arrange-card.status-normal {
@@ -939,8 +967,7 @@ watch(
                     border-color: #E4E4E4;
                     .card-left{
                         .left-date{
-                            background: #E4E4E4;
-                            color: #fff;
+                            background: #E4E4E4 !important;
                         }
                     }
                     &::before {
@@ -967,19 +994,12 @@ watch(
         .term-name {
             display: inline-block;
             width: 100%;
-            min-height: 35px;
-            line-height: 30px;
+            min-height: 28px;
+            line-height: 28px;
             background: #fff;
             font-size: 12px;
-            word-break: break-all;
-            writing-mode: vertical-rl;
-            text-orientation: upright;
-            text-align: center;
         }
         .term-date {
-            // position: absolute;
-            bottom: 0;
-            left: 0;
             font-size: 12px;
             color: #242424;
         }

+ 1 - 1
src/components/weatherInfo.vue

@@ -193,7 +193,7 @@ function selectFarmFromList(data) {
 
 // 获取农场列表(不处理传入的gardenId)
 function getFarmListWithoutGardenId() {
-    VE_API.farm.userFarmSelectOption({agriculturalQuery: true}).then(({data}) => {
+    VE_API.farm.userFarmSelectOption({agriculturalQuery: false}).then(({data}) => {
         // const fullData = data.filter(item => item.userType === 2);
         const fullData = data;
         farmList.value = fullData || [];

+ 5 - 47
src/views/old_mini/monitor/index.vue

@@ -19,18 +19,18 @@
                 <el-date-picker style="width: 110px" v-model="date" type="year" placeholder="全部日期" />
             </div>
             <div class="archives-time-line-content">
-                <archives-farm-time-line :farmId="94383"></archives-farm-time-line>
+                <archives-farm-time-line :farmId="766"></archives-farm-time-line>
             </div>
         </div>
     </div>
 
     <tip-popup
         v-model:show="showFarmPopup"
-        :type="showFarmPopupType"
-        :text="textPopup"
+        type="success"
+        text="农场领取成功"
         :overlay-style="{ 'backdrop-filter': 'blur(4px)' }"
         :closeOnClickOverlay="false"
-        @confirm="toCreateFarm"
+        :zIndex="9999"
     />
 </template>
 
@@ -46,15 +46,8 @@ import tipPopup from "@/components/popup/tipPopup.vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 import ArchivesFarmTimeLine from "@/components/pageComponents/ArchivesFarmTimeLine.vue";
 
-const showFarmPopup = ref(false);
-const showFarmPopupType = ref("create");
-const textPopup = ref(["您当前还没有农场", "请先创建农场"]);
+const showFarmPopup = ref(false); // 农场领取成功弹窗
 const date = ref(new Date());
-const toCreateFarm = () => {
-    if (showFarmPopupType.value == "create") {
-        router.push("/create_farm?isReload=true&from=monitor");
-    }
-};
 
 const defaultGardenId = ref(null);
 const isHeaderShow = ref(false);
@@ -90,9 +83,7 @@ const receiveFarm = (json) => {
         })
         .then((res) => {
             if (res.code === 0) {
-                showFarmPopupType.value = "success";
                 showFarmPopup.value = true;
-                textPopup.value = "农场领取成功";
                 defaultGardenId.value = json.farmId;
             } else {
                 ElMessage.warning(res.msg);
@@ -102,39 +93,6 @@ const receiveFarm = (json) => {
         });
 };
 
-const handleFarm = (optionType) => {
-    ElMessageBox.confirm(optionType === "delete" ? "确定删除该农场吗?" : "确定将该农场设为默认农场吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-    })
-        .then(() => {
-            const apiCall =
-                optionType === "delete"
-                    ? VE_API.farm.deleteFarm({ farmId: defaultGardenId.value })
-                    : VE_API.farm.updateFarm({ farmId: defaultGardenId.value, defaultFarm: 1 });
-            apiCall.then((res) => {
-                if (res.code === 0) {
-                    ElMessage.success(optionType === "delete" ? "删除成功" : "设为默认农场成功");
-                    if (optionType === "delete") {
-                        router.back();
-                        localStorage.removeItem("selectedFarmId");
-                        localStorage.removeItem("selectedFarmName");
-                    } else {
-                        isDefaultFarm.value = true;
-                        // 刷新 weatherInfo 组件的农场列表,确保显示最新的默认农场状态
-                        if (weatherInfoRef.value && weatherInfoRef.value.refreshFarmList) {
-                            weatherInfoRef.value.refreshFarmList();
-                        }
-                    }
-                } else {
-                    ElMessage.error(res.msg);
-                }
-            });
-        })
-        .catch(() => {});
-};
-
 const store = useStore();
 const tabBarHeight = computed(() => store.state.home.tabBarHeight);
 const router = useRouter();