Przeglądaj źródła

feat:对接农事记录页面接口

wangsisi 6 godzin temu
rodzic
commit
4f6e980e90

+ 47 - 16
src/components/pageComponents/ArchivesFarmTimeLine.vue

@@ -46,18 +46,18 @@
                                     </div>
                                     <div class="card-left agri-record-card" v-else>
                                         <div class="left-info">
-                                            <div class="left-date">{{ formatDate(fw.createTime) }}</div>
+                                            <div class="left-date">{{ formatDate(fw.recommendDate) }}</div>
                                             <div class="text van-ellipsis" @click.stop="handleStatusDetail(fw)">
-                                                <span class="text-name">梢期杀虫</span>
-                                                <el-icon><ArrowRight /></el-icon>
+                                                <span class="text-name">{{ fw.farmWorkName }}</span>
+                                                <el-icon class="text-icon"><ArrowRight /></el-icon>
                                             </div>
                                         </div>
                                         <div class="title-wrap van-ellipsis" v-show="shouldShowBlue(p)">
-                                            <div class="title-text">未执行</div>
-                                            <div class="expert-info">
+                                            <div class="title-text">{{ fw.flowStatus == null ? '未激活' : '已激活' }}</div>
+                                            <!-- <div class="expert-info">
                                                 <el-avatar :size="14" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" />
                                                 <span>专家下发</span>
-                                            </div>
+                                            </div> -->
                                         </div>
                                     </div>
                                     <div class="card-right"
@@ -485,14 +485,18 @@ const handleSeasonClick = (seasonValue) => {
     wrap.scrollTo({ top: scrollTop, behavior: "smooth" });
 };
 
-// 农事状态样式映射(0:取消关注,1:关注,2:托管农事,)
+// 农事状态样式映射
 const getArrangeStatusClass = (fw) => {
-    const t = fw?.sourceType;
-    if (t == 9) 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";
+    const t = props.pageType === 'agri_record' ? fw?.flowStatus : fw?.sourceType;
+    if(props.pageType === 'agri_record'){
+        if (t == null) return "status-default";
+        return "status-complete";
+    }else{
+        if (t == 9) return "status-complete";
+        if (t == 8 ) return "status-warning";
+        if (t == 5) return "status-normal";
+        return "status-complete";
+    }
 };
 
 const handleRowClick = (item) => {
@@ -556,9 +560,9 @@ const getFarmWorkPlan = () => {
                             const reproductiveList = Array.isArray(it.reproductiveList)
                                 ? await Promise.all(
                                     it.reproductiveList.map(async (r) => {
-                                        const farmWorkArrangeList = Array.isArray(r.broadcastList)
+                                        const farmWorkArrangeList = Array.isArray(r.broadcastList || r.interactionFarmWorkList)
                                             ? await Promise.all(
-                                                r.broadcastList.map(async (fw) => {
+                                                (r.broadcastList || r.interactionFarmWorkList).map(async (fw) => {
                                                     let sourceDataJson =
                                                         fw.sourceData && JSON.parse(fw.sourceData);
                                                     // 如果有 imageIds,获取图片 URL
@@ -759,8 +763,12 @@ watch(
 );
 
 const handleStatusDetail = (fw) => {
+    // router.push({
+    //     path: props.pageType === 'agri_plan' ? "/agricultural_detail" : "/status_detail",
+    //     query: { miniJson: JSON.stringify({ id: fw.id }) },
+    // });
     router.push({
-        path: props.pageType === 'agri_plan' ? "/agricultural_detail" : "/status_detail",
+        path: "/status_detail",
         query: { miniJson: JSON.stringify({ id: fw.id }) },
     });
 };
@@ -1235,6 +1243,29 @@ watch(
                     }
                 }
 
+                .arrange-card.status-default {
+                    border-color: #BBBBBB;
+
+                    .card-left {
+                        .left-info {
+                            .left-date {
+                                color: #BBBBBB;
+                                border-color: #BBBBBB;
+                            }
+                            .text-name,.text-icon{
+                                color: #BBBBBB;
+                            }
+                        }
+                        .title-text{
+                            color: #fff;
+                            background: #BBBBBB;
+                        }
+                    }
+                    &::before {
+                        border-right-color: #BBBBBB;
+                    }
+                }
+
                 // 未来节气对应的农事卡片:跟随左侧物候期的“未开始”灰色样式
                 .arrange-card.future-card {
                     border-color: #e4e4e4;

+ 2 - 2
src/views/old_mini/interactionList/components/morePopup.vue

@@ -15,7 +15,7 @@
             </div>
 
             <!-- 类型切换 -->
-            <div class="type-tabs">
+            <!-- <div class="type-tabs">
                 <div
                     class="tab-item all-tab"
                     :class="{ active: activeType === 'all' }"
@@ -37,7 +37,7 @@
                 >
                     虫害
                 </div>
-            </div>
+            </div> -->
 
             <!-- 病虫害列表 -->
             <div class="card-grid">

+ 2 - 2
src/views/old_mini/interactionList/index.vue

@@ -149,6 +149,7 @@
     <example-popup v-model:show="showExamplePopup" :images="exampleList" :tips="exampleTips" :start-index="exampleStartIndex" :title="exampleTitle"
         :show-title-and-tips="exampleShowTitleAndTips" />
     <!-- 照片上传进度 -->
+
     <popup v-model:show="showUploadProgressPopup" round class="upload-progress-popup">
         <div class="upload-progress-title">
             <span>照片上传进度</span>
@@ -453,7 +454,6 @@ const exampleShowTitleAndTips = ref(true);
 const exampleTitle = ref('')
 const exampleTips = ref('')
 const showExample = (item, list, index, options = {}) => {
-    console.log("list", item);
     exampleTitle.value = item.exampleImageAnnotation;
     exampleList.value = list || [];
     exampleStartIndex.value = index || 0;
@@ -640,7 +640,7 @@ const handleUploadSuccess = (data) => {
 };
 
 const openMorePopup = (images) => {
-    morePopupRef.value.setItems([...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images, ...images]);
+    morePopupRef.value.setItems(images);
     morePopupRef.value.openPopup();
 }
 

+ 1 - 1
src/views/old_mini/monitor/index.vue

@@ -94,7 +94,6 @@ onActivated(() => {
         // 统一转换为布尔值
         isDefaultFarm.value = route.query.defaultFarm === "true" || route.query.defaultFarm === true;
     }
-    checkHasUnrepliedTriggeredInteraction();
 });
 
 const receiveFarm = (json) => {
@@ -321,6 +320,7 @@ onMounted(() => {
         finished.value = false;
         broadcastList.value = [];
         getStayCount();
+        checkHasUnrepliedTriggeredInteraction();
     }
 });