|
|
@@ -91,90 +91,15 @@
|
|
|
距离农事执行已 15 天,请抓紧时间上传照片!系统为您生成农事成效分析!
|
|
|
</div> -->
|
|
|
</div>
|
|
|
- <div class="recheck-box" v-if="workItem?.farmId">
|
|
|
+ <div class="recheck-box">
|
|
|
<div class="recheck-ablum">
|
|
|
- <!-- <div class="img-list over-img-box">
|
|
|
- <album-carousel7d
|
|
|
- :key="1"
|
|
|
- :farmId="workItem.farmId"
|
|
|
- :farmWork="{
|
|
|
- beforeExecuteDate: workItem.beforeExecuteDate,
|
|
|
- executeDate: workItem.executeDate,
|
|
|
- }"
|
|
|
- ></album-carousel7d>
|
|
|
- </div> -->
|
|
|
- <div class="img-list">
|
|
|
- <div
|
|
|
- class="recheck-text-wrap no-events"
|
|
|
- :class="{
|
|
|
- active: !diffInDays(workItem.reviewDate) > 0 && curRole === '0',
|
|
|
- 'yse-events': curRole === '0' && !diffInDays(workItem.reviewDate) > 0,
|
|
|
- 'center-wrap': !imageArr.length,
|
|
|
- }"
|
|
|
- >
|
|
|
- <div class="date" v-show="workItem.reviewDate">{{ workItem.reviewDate }}</div>
|
|
|
- <upload
|
|
|
- exampleImg
|
|
|
- @handleUpload="handleUpload"
|
|
|
- class="upload-wrap"
|
|
|
- :style="{
|
|
|
- height:
|
|
|
- imageArr.length && !diffInDays(workItem.reviewDate) > 0
|
|
|
- ? 'auto'
|
|
|
- : '254px',
|
|
|
- }"
|
|
|
- >
|
|
|
- <template
|
|
|
- v-if="
|
|
|
- diffInDays(workItem.reviewDate) == 0 ||
|
|
|
- diffInDays(workItem.reviewDate) == null
|
|
|
- "
|
|
|
- >
|
|
|
- <img
|
|
|
- class="img-icon"
|
|
|
- :src="
|
|
|
- require(`@/assets/img/gallery/img-icon${
|
|
|
- curRole === '0' ? '-act' : ''
|
|
|
- }.png`)
|
|
|
- "
|
|
|
- alt=""
|
|
|
- />
|
|
|
- <div class="recheck-text">
|
|
|
- {{ curRole === "2" ? "等待农户上传" : "点击上传照片" }}
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="recheck-desc"
|
|
|
- v-show="curRole === '2' && diffInDays(workItem.reviewDate) != 0"
|
|
|
- >
|
|
|
- <!-- (已逾期{{ diffInDays(workItem.reviewDate, "add") }}天) -->
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <img class="img-icon" src="@/assets/img/gallery/img-icon.png" alt="" />
|
|
|
- <div class="recheck-text">等待复核</div>
|
|
|
- <div class="recheck-desc">
|
|
|
- (剩余{{ diffInDays(workItem.reviewDate) }}天)
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </upload>
|
|
|
- <div
|
|
|
- class="submit"
|
|
|
- v-show="imageArr.length && !diffInDays(workItem.reviewDate) > 0"
|
|
|
- @click="handleSubmit('reviewImage')"
|
|
|
- >
|
|
|
- 确认上传
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="img-list over-img-box">
|
|
|
+ <album-carousel :key="1" labelText="农事前" :images="triggerImg"></album-carousel>
|
|
|
</div>
|
|
|
- <div class="img-list over-img-box" v-if="workItem.reviewImage.length">
|
|
|
- <album-carousel
|
|
|
- :key="2"
|
|
|
- :farmId="workItem.farmId"
|
|
|
- :lock="false"
|
|
|
- :images="handleConversion(workItem.reviewImage)"
|
|
|
- ></album-carousel>
|
|
|
+ <div class="img-list over-img-box" v-if="workItem.reviewImage && workItem.reviewImage.length">
|
|
|
+ <album-carousel :key="2" labelText="农事后" :images="workItem.reviewImage"></album-carousel>
|
|
|
</div>
|
|
|
- <div class="img-list" v-if="!workItem.reviewImage2.length && workItem.activeStatus === 0">
|
|
|
+ <div class="img-list" v-if="false">
|
|
|
<div
|
|
|
class="recheck-text-wrap no-events"
|
|
|
:class="{
|
|
|
@@ -237,14 +162,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="img-list over-img-box" v-if="workItem.reviewImage2.length">
|
|
|
- <album-carousel
|
|
|
- :key="2"
|
|
|
- :farmId="workItem.farmId"
|
|
|
- :lock="false"
|
|
|
- :images="handleConversion(workItem.reviewImage2)"
|
|
|
- ></album-carousel>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -260,14 +177,6 @@
|
|
|
>
|
|
|
提醒农户拍照
|
|
|
</div>
|
|
|
- <div
|
|
|
- class="up-btn orange"
|
|
|
- @click="toUpload"
|
|
|
- :class="{ btn: workItem.reviewImage && workItem.reviewImage.length }"
|
|
|
- v-show="workItem.executeEvidence && !workItem.executeEvidence.length"
|
|
|
- >
|
|
|
- 上传农事凭证
|
|
|
- </div>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<div
|
|
|
@@ -288,10 +197,9 @@
|
|
|
<script setup>
|
|
|
import { Tab, Tabs } from "vant";
|
|
|
import customHeader from "@/components/customHeader.vue";
|
|
|
-import { onMounted, ref, onDeactivated,onActivated } from "vue";
|
|
|
+import { onMounted, ref, onDeactivated, onActivated } from "vue";
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
import upload from "@/components/upload";
|
|
|
-import AlbumCarousel7d from "@/components/album_compoents/albumCarousel7d";
|
|
|
import AlbumCarousel from "@/components/album_compoents/albumCarousel";
|
|
|
import eventBus from "@/api/eventBus";
|
|
|
import { ElMessage } from "element-plus";
|
|
|
@@ -299,50 +207,9 @@ import uploadPopup from "@/components/popup/uploadPopup.vue";
|
|
|
import { deepClone } from "@/common/commonFun";
|
|
|
const route = useRoute();
|
|
|
|
|
|
-const workItem = ref({
|
|
|
- farmName: "测试农场",
|
|
|
- farmWorkName: "测试农事",
|
|
|
- executeDate:'2025-09-01',
|
|
|
- farmWorkTypeName: "测试农事类型",
|
|
|
- condition: "测试农事类型",
|
|
|
- farmWorkType: "叶面施",
|
|
|
- prescriptionList: [
|
|
|
- {
|
|
|
- defaultName: "营养",
|
|
|
- pesticideFertilizerList: [
|
|
|
- {
|
|
|
- defaultName: "尿素",
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- executeMain: "叶面施",
|
|
|
- serviceMain: "广州泽秾丰农资有限公司",
|
|
|
- expertName: "测试专家",
|
|
|
- expertIcon: "https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png",
|
|
|
- cost: {
|
|
|
- pesticideFertilizerCost: 1125,
|
|
|
- farmWorkServiceCost: 35,
|
|
|
- },
|
|
|
- reviewImage: [],
|
|
|
- reviewImage2: [],
|
|
|
- reviewDate: "2025-09-01",
|
|
|
- reviewDate2: "2025-09-01",
|
|
|
- activeStatus: 0,
|
|
|
- executeEvidence: [],
|
|
|
- farmId: 1,
|
|
|
- libId: 1,
|
|
|
- uniqueId: 1,
|
|
|
- isPlan: false,
|
|
|
- curRole: "",
|
|
|
- farmId: 766,
|
|
|
- libId: 1,
|
|
|
- uniqueId: null,
|
|
|
-});
|
|
|
+const workItem = ref({});
|
|
|
const curRole = ref("");
|
|
|
const farmId = ref(null);
|
|
|
-const libId = ref(null);
|
|
|
-const uniqueId = ref(null);
|
|
|
// 农事规划页面-显示上传农事凭证按钮
|
|
|
const isPlan = ref(false);
|
|
|
const id = route.query.json ? JSON.parse(route.query.json).id : null;
|
|
|
@@ -360,15 +227,13 @@ const diffInDays = (date, type = "minus") => {
|
|
|
return day + 1 >= 0 ? day + 1 : null;
|
|
|
};
|
|
|
|
|
|
+const paramsPage = ref({});
|
|
|
onMounted(() => {
|
|
|
window.scrollTo(0, 0);
|
|
|
curRole.value = localStorage.getItem("SET_USER_CUR_ROLE");
|
|
|
- farmId.value = route.query.farmId;
|
|
|
- libId.value = route.query.libId;
|
|
|
- uniqueId.value = route.query.id;
|
|
|
- isPlan.value = route.query.isPlan ? true : false;
|
|
|
-
|
|
|
- getDetail(true);
|
|
|
+ paramsPage.value = route.query.json ? JSON.parse(route.query.json) : {};
|
|
|
+ farmId.value = paramsPage.value.farmId;
|
|
|
+ getDetail();
|
|
|
|
|
|
eventBus.on("confirm:callback", confirmCallback);
|
|
|
});
|
|
|
@@ -386,14 +251,19 @@ const handleConversion = (data) => {
|
|
|
};
|
|
|
|
|
|
const defaultWorkData = ref({});
|
|
|
-const getDetail = (isUpdate) => {
|
|
|
+const getDetail = () => {
|
|
|
if (!id) return;
|
|
|
VE_API.z_farm_work_record.getDetail({ id }).then(({ data }) => {
|
|
|
workItem.value = data[0];
|
|
|
defaultWorkData.value = deepClone(data[0]);
|
|
|
- if (isUpdate) {
|
|
|
- eventBus.emit("chart:updateOption", "");
|
|
|
- }
|
|
|
+ getTriggerImg(workItem.value.id);
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
+const triggerImg = ref([]);
|
|
|
+const getTriggerImg = (farmWorkRecordId) => {
|
|
|
+ VE_API.z_farm_work_record.getTriggerImg({ farmWorkRecordId }).then(({ data }) => {
|
|
|
+ triggerImg.value = data || [];
|
|
|
});
|
|
|
};
|
|
|
|
|
|
@@ -451,11 +321,6 @@ const handleUpload2 = ({ imgArr }) => {
|
|
|
};
|
|
|
|
|
|
const router = useRouter();
|
|
|
-
|
|
|
-// 上传照片
|
|
|
-function toUpload() {
|
|
|
- eventBus.emit("uploadUopup:show", { isPlanVal: true });
|
|
|
-}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@@ -756,9 +621,10 @@ function toUpload() {
|
|
|
font-size: 12px;
|
|
|
color: #666666;
|
|
|
line-height: 18px;
|
|
|
+ padding-bottom: 12px;
|
|
|
}
|
|
|
- .time-text{
|
|
|
- color: #FF953D;
|
|
|
+ .time-text {
|
|
|
+ color: #ff953d;
|
|
|
padding: 4px 12px;
|
|
|
border-radius: 5px;
|
|
|
background: rgba(255, 149, 61, 0.1);
|