| 
					
				 | 
			
			
				@@ -11,7 +11,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 v-if="currentStep !== 0 || query.status === 'warning'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="status-l" v-if="status === 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="stauts-text">{{ query.status === "warning" ? "已过期" : "待执行" }}</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> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,13 +26,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="status-r" v-if="curRole == 2">{{ status === 0 ? "提醒执行" : "提醒复核" }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="work-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="box-wrap executor-info" v-if="query.status === 'warning' || curRole == 1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="executor-title">执行人</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="box-wrap executor-info" v-if="query.status === 'warning' || curRole == 1 || curRole == 2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <!-- <div class="executor-title">执行人</div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="executor-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="executor-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="executor-info mt-0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             <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" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -86,6 +87,24 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="work-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="box-wrap farm-photo farm-info" v-if="(curRole == 2 && currentStep == 2) || (currentStep == 1 && curRole == 1)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="card-title">执行照片</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="info-more"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            点击查看更多 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <el-icon><ArrowRight /></el-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="photo-list pt-10"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="img-item" v-for="(item, index) in 2" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                class="photo-item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="box-wrap farm-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="info-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div class="card-title">农场现状</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -214,14 +233,24 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 class="fixed-btn-wrap" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                :class="{ center: currentStep == 0 || (currentStep == 1 && curRole == 1) }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :class="{ center: currentStep == 0 || (currentStep == 1 && curRole == 1) || (currentStep == 2 && curRole == 2)}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 v-if="query.status !== 'warning'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn expert" v-if="currentStep == 0">提醒农事确认</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn expert" v-if="currentStep == 1 && curRole == 1">确认对方完成</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="fixed-btn expert" v-if="currentStep == 2 && curRole == 2">请求确认</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn orange" v-if="currentStep == 1 && curRole == 0" @click="handleDemand">发起需求</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="fixed-btn" v-if="currentStep == 1 && curRole == 0" @click="handleOk">我已完成</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 农资,步骤:农事已确认 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class="fixed-btn-wrap" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-if="curRole == 2 && currentStep == 1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="fixed-btn second">转发给客户</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="fixed-btn" @click="handleOk">生成报价单</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 报价弹窗 --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -244,7 +273,10 @@ const query = useRoute().query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 角色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // const curRole = store.state.app.curRole 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const currentStep = ref(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const curRole = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const curRole = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 农资待生成报价单--currentStep:1;curRole:2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 农资已执行,有执行照片,请求确认--currentStep:2;curRole:2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 0:执行, 1: 复核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const status = ref(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -291,12 +323,14 @@ const areaRef = ref(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let newFarmMap = new NewFarmMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const point = store.state.home.miniUserLocationPoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    newFarmMap.initMap(point, areaRef.value, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getAreaList(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log("areaList.value", areaList.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        newFarmMap.initArea(areaList.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (areaRef.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newFarmMap.initMap(point, areaRef.value, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getAreaList(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log("areaList.value", areaList.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newFarmMap.initArea(areaList.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 农场分区列表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -442,6 +476,9 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             padding: 0 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             top: -16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .pt-10 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            padding-top: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .fixed-btn-wrap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             position: fixed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             z-index: 10; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -454,6 +491,7 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             &.center { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -475,6 +513,11 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     border: 1px solid #ff953d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                &.second { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    background: #FFFFFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    border: 1px solid rgba(153, 153, 153, 0.5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #666666; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .card-title { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -632,6 +675,9 @@ const changeRegion = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .executor-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             margin-top: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            &.mt-0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .executor-title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 font-weight: bold; 
			 |