|
@@ -11,7 +11,7 @@
|
|
|
v-if="currentStep !== 0 || query.status === 'warning'"
|
|
v-if="currentStep !== 0 || query.status === 'warning'"
|
|
|
>
|
|
>
|
|
|
<div class="status-l" v-if="status === 0">
|
|
<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'">
|
|
<div class="stauts-sub-text" v-if="query.status !== 'warning'">
|
|
|
距离预计执行时间还差 <span class="time-text">3</span> 天
|
|
距离预计执行时间还差 <span class="time-text">3</span> 天
|
|
|
</div>
|
|
</div>
|
|
@@ -26,13 +26,14 @@
|
|
|
<template v-if="query.status !== 'warning'">
|
|
<template v-if="query.status !== 'warning'">
|
|
|
<div class="status-r" v-if="curRole == 0">{{ status === 0 ? "设置提醒" : "去评价" }}</div>
|
|
<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 == 1">{{ status === 0 ? "提醒执行" : "提醒复核" }}</div>
|
|
|
|
|
+ <div class="status-r" v-if="curRole == 2">{{ status === 0 ? "提醒执行" : "提醒复核" }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="work-wrap">
|
|
<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-content">
|
|
|
- <div class="executor-info">
|
|
|
|
|
|
|
+ <div class="executor-info mt-0">
|
|
|
<div class="executor-avatar">
|
|
<div class="executor-avatar">
|
|
|
<img
|
|
<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"
|
|
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>
|
|
</div>
|
|
|
<div class="work-wrap">
|
|
<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="box-wrap farm-info">
|
|
|
<div class="info-title">
|
|
<div class="info-title">
|
|
|
<div class="card-title">农场现状</div>
|
|
<div class="card-title">农场现状</div>
|
|
@@ -214,14 +233,24 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|
|
|
class="fixed-btn-wrap"
|
|
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'"
|
|
v-if="query.status !== 'warning'"
|
|
|
>
|
|
>
|
|
|
<div class="fixed-btn expert" v-if="currentStep == 0">提醒农事确认</div>
|
|
<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 == 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 orange" v-if="currentStep == 1 && curRole == 0" @click="handleDemand">发起需求</div>
|
|
|
<div class="fixed-btn" v-if="currentStep == 1 && curRole == 0" @click="handleOk">我已完成</div>
|
|
<div class="fixed-btn" v-if="currentStep == 1 && curRole == 0" @click="handleOk">我已完成</div>
|
|
|
</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>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 报价弹窗 -->
|
|
<!-- 报价弹窗 -->
|
|
@@ -244,7 +273,10 @@ const query = useRoute().query;
|
|
|
// 角色
|
|
// 角色
|
|
|
// const curRole = store.state.app.curRole
|
|
// const curRole = store.state.app.curRole
|
|
|
const currentStep = ref(1);
|
|
const currentStep = ref(1);
|
|
|
-const curRole = 0;
|
|
|
|
|
|
|
+const curRole = 2;
|
|
|
|
|
+
|
|
|
|
|
+// 农资待生成报价单--currentStep:1;curRole:2
|
|
|
|
|
+// 农资已执行,有执行照片,请求确认--currentStep:2;curRole:2
|
|
|
|
|
|
|
|
// 0:执行, 1: 复核
|
|
// 0:执行, 1: 复核
|
|
|
const status = ref(0);
|
|
const status = ref(0);
|
|
@@ -291,12 +323,14 @@ const areaRef = ref(null);
|
|
|
let newFarmMap = new NewFarmMap();
|
|
let newFarmMap = new NewFarmMap();
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
const point = store.state.home.miniUserLocationPoint;
|
|
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;
|
|
padding: 0 12px;
|
|
|
top: -16px;
|
|
top: -16px;
|
|
|
}
|
|
}
|
|
|
|
|
+ .pt-10 {
|
|
|
|
|
+ padding-top: 10px;
|
|
|
|
|
+ }
|
|
|
.fixed-btn-wrap {
|
|
.fixed-btn-wrap {
|
|
|
position: fixed;
|
|
position: fixed;
|
|
|
z-index: 10;
|
|
z-index: 10;
|
|
@@ -454,6 +491,7 @@ const changeRegion = (e) => {
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
background: #fff;
|
|
background: #fff;
|
|
|
|
|
+ box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
|
|
|
&.center {
|
|
&.center {
|
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
}
|
|
}
|
|
@@ -475,6 +513,11 @@ const changeRegion = (e) => {
|
|
|
border: 1px solid #ff953d;
|
|
border: 1px solid #ff953d;
|
|
|
background: #fff;
|
|
background: #fff;
|
|
|
}
|
|
}
|
|
|
|
|
+ &.second {
|
|
|
|
|
+ background: #FFFFFF;
|
|
|
|
|
+ border: 1px solid rgba(153, 153, 153, 0.5);
|
|
|
|
|
+ color: #666666;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
.card-title {
|
|
.card-title {
|
|
@@ -632,6 +675,9 @@ const changeRegion = (e) => {
|
|
|
}
|
|
}
|
|
|
.executor-info {
|
|
.executor-info {
|
|
|
margin-top: 14px;
|
|
margin-top: 14px;
|
|
|
|
|
+ &.mt-0 {
|
|
|
|
|
+ margin-top: 0;
|
|
|
|
|
+ }
|
|
|
.executor-title {
|
|
.executor-title {
|
|
|
font-size: 18px;
|
|
font-size: 18px;
|
|
|
font-weight: bold;
|
|
font-weight: bold;
|