| 
					
				 | 
			
			
				@@ -2,13 +2,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="completed-work"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <custom-header name="农事详情"></custom-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="work-content" :class="{'hasBottom': curRole == 0}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="step-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="step-wrap" v-show="query.status !== 'warning'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <farm-steps :currentStep="currentStep" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="content-status" v-if="currentStep !== 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="content-status" :class="{'warning': query.status === 'warning'}" v-if="currentStep !== 0 || query.status === 'warning'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="status-l" v-if="status === 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="stauts-text">待执行</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="stauts-sub-text">距离预计执行时间还差 <span class="time-text">3</span> 天</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="stauts-text">{{ query.status === 'warning' ? '已过期' : '待执行' }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="stauts-sub-text" v-if="query.status !== 'warning'">距离预计执行时间还差 <span class="time-text">3</span> 天</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="stauts-sub-text" v-else>该农事触发但未执行</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="status-l" v-if="status === 1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="stauts-text"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16,10 +17,35 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         该农事已完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="status-r" v-if="curRole == 0">{{ status === 0 ? "设置提醒" : "去评价" }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="status-r" v-if="curRole == 1">{{ status === 0 ? "提醒执行" : "提醒复核" }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <template v-if="query.status !== 'warning'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="status-r" v-if="curRole == 0">{{ status === 0 ? "设置提醒" : "去评价" }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="status-r" v-if="curRole == 1">{{ status === 0 ? "提醒执行" : "提醒复核" }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="work-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="box-wrap executor-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="executor-title">执行人</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="executor-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="executor-avatar"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <img 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="执行人" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="executor-details"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="org-name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <span class="name">河南农资农服组织</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <span class="rating">5.0分</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="service-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <div class="service-item">服务品种: <span>荔枝、龙眼</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <div class="service-item">服务设备: <span>无人机、水肥一体机、水肥一体机水肥</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="contact-buttons"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <button class="contact-btn">电话联系</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <button class="contact-btn">在线联系</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="work-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="box-wrap farm-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="info-title"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -147,7 +173,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="fixed-btn-wrap" :class="{'center': currentStep == 0}" v-if="curRole === 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="fixed-btn-wrap" :class="{'center': currentStep == 0}" v-if="curRole === 0 && query.status !== 'warning'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn expert" v-if="currentStep == 0">提醒专家确认</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn orange" v-if="currentStep == 1" @click="handleDemand">发起需求</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn" v-if="currentStep == 1" @click="handleOk">{{ status === 0 ? "我已完成" : "立即复核" }}</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -164,16 +190,16 @@ import { onMounted, ref } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import NewFarmMap from "./newFarmMap"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useStore } from "vuex"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import offerPopup from "@/components/popup/offerPopup.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useRouter } from "vue-router"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useRouter, useRoute } from "vue-router"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import farmSteps from "@/components/farmSteps.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const store = useStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const query = useRoute().query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 角色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // const curRole = store.state.app.curRole 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const currentStep = ref(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const curRole = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const currentStep = ref(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const curRole = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 0:执行, 1: 复核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const status = ref(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -489,6 +515,14 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     color: #ffff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            &.warning { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                &::after { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    background: #FF953D; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .stauts-sub-text { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .status-r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 height: 32px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 line-height: 32px; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -504,6 +538,73 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             padding: 10px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .executor-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            margin-top: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .executor-title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-bottom: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .executor-content { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                align-items: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gap: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .executor-avatar { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flex-shrink: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        width: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        height: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        border-radius: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        object-fit: cover; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .executor-details { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .org-name { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        gap: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        margin-bottom: 3px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .name { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .rating { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #FF953D; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .service-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        margin-bottom: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .service-item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #B6B6B6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            line-height: 1.3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            margin-bottom: 2px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            span{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                color: #666666; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .contact-buttons { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        justify-content: flex-end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        gap: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .contact-btn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            width: 88px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            height: 32px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            border-radius: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: rgba(0, 0, 0, 0.5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            border: 1px solid rgba(0, 0, 0, 0.1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .farm-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             color: rgba(0, 0, 0, 0.6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             font-size: 14px; 
			 |