|
|
@@ -17,25 +17,38 @@
|
|
|
<img :src="warningDetail?.media && warningDetail?.media[0]" alt="荔枝开花图片" />
|
|
|
</div>
|
|
|
|
|
|
- <div class="article-box" v-if="questInfo.quest">
|
|
|
+ <div class="article-box" v-if="pageParams.questTitle">
|
|
|
<div class="box-top">
|
|
|
<img class="icon" src="@/assets/img/home/ask-icon.png" alt="" />
|
|
|
- <div class="title">{{ questInfo.quest }}</div>
|
|
|
+ <div class="title">{{ pageParams.questTitle }}</div>
|
|
|
</div>
|
|
|
- <div class="box-bottom" :style="{ justifyContent: !isLink ? 'center' : 'flex-end' }">
|
|
|
- <div class="edit-btn" v-if="!isLink">编辑问题</div>
|
|
|
+ <div class="answer-text" v-if="pageParams.answer != null">
|
|
|
+ <span v-if="pageParams.answer == 0">答:暂未出现{{ pageParams.expectedRisk }}</span>
|
|
|
<template v-else>
|
|
|
- <div
|
|
|
- class="edit-btn"
|
|
|
- :class="{ 'primary-btn': item.value != 0 }"
|
|
|
- v-for="item in questInfo.answer"
|
|
|
- :key="item.value"
|
|
|
- @click="handleAnswerClick(item)"
|
|
|
- >
|
|
|
- {{ item.name }}
|
|
|
+ <div>答:{{pageParams.occurrenceTime}}已出现{{ pageParams.expectedRisk }}</div>
|
|
|
+ <div class="photo-img-wrap">
|
|
|
+ <photo-provider :photo-closable="true">
|
|
|
+ <photo-consumer
|
|
|
+ v-for="(src, index) in pageParams.imagePaths"
|
|
|
+ intro="风险照片"
|
|
|
+ :key="index"
|
|
|
+ :src="base_img_url2 + src"
|
|
|
+ >
|
|
|
+ <div class="photo-img">
|
|
|
+ <img :src="base_img_url2 + src + resize_300" />
|
|
|
+ </div>
|
|
|
+ </photo-consumer>
|
|
|
+ </photo-provider>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
+ <div v-else class="box-bottom" :style="{ justifyContent: !isLink ? 'center' : 'flex-end' }">
|
|
|
+ <div class="edit-btn" v-if="!isLink">编辑问题</div>
|
|
|
+ <template v-else>
|
|
|
+ <div class="edit-btn" @click="handleAnswerClick(0)">否</div>
|
|
|
+ <div class="edit-btn primary-btn" @click="handleAnswerClick(1)">是</div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div class="article-text">
|
|
|
@@ -82,6 +95,7 @@ import { base_img_url2, resize_300 } from "@/api/config";
|
|
|
import FnShareSheet from "@/components/pageComponents/FnShareSheet.vue";
|
|
|
import activeUploadPopup from "@/components/popup/activeUploadPopup.vue";
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
+import { ElMessage } from "element-plus";
|
|
|
import wx from "weixin-js-sdk";
|
|
|
|
|
|
const route = useRoute();
|
|
|
@@ -91,10 +105,10 @@ const shareOptions = ref([{ name: "微信", icon: "wechat", type: "wechat" }]);
|
|
|
const handleShareSelect = () => {
|
|
|
const query = {
|
|
|
askInfo: { title: "提醒客户", content: "是否分享该提醒给好友" },
|
|
|
- shareText: warningDetail.value.title,
|
|
|
+ shareText: pageParams.value.questTitle,
|
|
|
targetUrl: `warning_detail`,
|
|
|
paramsPage: JSON.stringify(route.query),
|
|
|
- imageUrl: "https://birdseye-img.sysuimars.com/birdseye-look-mini/invite_bg.png",
|
|
|
+ imageUrl: warningDetail.value.media[0],
|
|
|
};
|
|
|
wx.miniProgram.navigateTo({
|
|
|
url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,
|
|
|
@@ -102,58 +116,44 @@ const handleShareSelect = () => {
|
|
|
};
|
|
|
|
|
|
const isLink = ref(true);
|
|
|
-const questInfo = ref({});
|
|
|
const warningDetail = ref({});
|
|
|
const showImage = ref(false);
|
|
|
+const pageParams = ref({});
|
|
|
|
|
|
-const questId = ref(null);
|
|
|
-const farmId = ref(null);
|
|
|
onActivated(() => {
|
|
|
showImage.value = route.query.showImage === "true" ? true : false;
|
|
|
isLink.value = localStorage.getItem("SET_USER_CUR_ROLE") == 2 ? false : true;
|
|
|
// isLink.value = true;
|
|
|
- console.log("route.query", route.query);
|
|
|
- if(route.query.miniJson){
|
|
|
+ if (route.query.miniJson) {
|
|
|
const miniJson = JSON.parse(route.query.miniJson);
|
|
|
- const data = JSON.parse(miniJson.paramsPage);
|
|
|
- console.log("data", data);
|
|
|
- questId.value = data.id;
|
|
|
- farmId.value = data.farmId;
|
|
|
- if (data.questInfo) {
|
|
|
- const infoObj = JSON.parse(data.questInfo);
|
|
|
- questInfo.value = {
|
|
|
- quest: infoObj.quest,
|
|
|
- answer: JSON.parse(infoObj.answer),
|
|
|
- };
|
|
|
- }
|
|
|
- }else{
|
|
|
- questId.value = route.query.id;
|
|
|
- farmId.value = route.query.farmId;
|
|
|
- if (route.query.questInfo) {
|
|
|
- const infoObj = JSON.parse(route.query.questInfo);
|
|
|
- questInfo.value = {
|
|
|
- quest: infoObj.quest,
|
|
|
- answer: JSON.parse(infoObj.answer),
|
|
|
- };
|
|
|
- }
|
|
|
- }
|
|
|
- if (route.query.questInfo) {
|
|
|
- const infoObj = JSON.parse(route.query.questInfo);
|
|
|
- questInfo.value = {
|
|
|
- quest: infoObj.quest,
|
|
|
- answer: JSON.parse(infoObj.answer),
|
|
|
- };
|
|
|
- }
|
|
|
- if(isLink.value){
|
|
|
- // 获取图片数据
|
|
|
- getFarmPhoto();
|
|
|
+ pageParams.value = JSON.parse(miniJson.paramsPage);
|
|
|
+ } else {
|
|
|
+ pageParams.value = route.query;
|
|
|
}
|
|
|
+ getAnswer();
|
|
|
+ // 获取图片数据
|
|
|
+ getFarmPhoto();
|
|
|
getWarningDetail();
|
|
|
});
|
|
|
|
|
|
+const getAnswer = () => {
|
|
|
+ VE_API.farm
|
|
|
+ .getFarmWorkArrangeDetail({
|
|
|
+ id: pageParams.value.arrangeId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ pageParams.value.answer = res.data.answer;
|
|
|
+ pageParams.value.expectedRisk = res.data.expectedRisk;
|
|
|
+ pageParams.value.imagePaths = res.data.imagePaths;
|
|
|
+ pageParams.value.occurrenceTime = res.data.occurrenceTime;
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
const getWarningDetail = () => {
|
|
|
const params = {
|
|
|
- id: questId.value,
|
|
|
+ id: pageParams.value.id,
|
|
|
};
|
|
|
VE_API.home.warningDetail(params).then((res) => {
|
|
|
warningDetail.value = res.data || {};
|
|
|
@@ -161,19 +161,42 @@ const getWarningDetail = () => {
|
|
|
};
|
|
|
|
|
|
const activeUploadPopupRef = ref(null);
|
|
|
-const handleAnswerClick = (item) => {
|
|
|
- if (item.value != 0) {
|
|
|
+const handleAnswerClick = (value) => {
|
|
|
+ if (value) {
|
|
|
activeUploadPopupRef.value.showPopup({
|
|
|
- gardenIdVal: farmId.value,
|
|
|
- problemTitleVal: questInfo.value.quest,
|
|
|
+ gardenIdVal: pageParams.value.farmId,
|
|
|
+ problemTitleVal: pageParams.value.questTitle,
|
|
|
typeVal: "question",
|
|
|
arrangeIdVal: route.query.arrangeId,
|
|
|
});
|
|
|
+ } else {
|
|
|
+ handleAnswer(0);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+const uploadParams = ref({});
|
|
|
const handleUploadSuccess = (data) => {
|
|
|
- console.log("data", data);
|
|
|
+ uploadParams.value = {
|
|
|
+ occurrenceTime: data.executeDate,
|
|
|
+ imagePaths: data.imagePaths,
|
|
|
+ };
|
|
|
+ handleAnswer(1);
|
|
|
+};
|
|
|
+
|
|
|
+const handleAnswer = (value) => {
|
|
|
+ VE_API.home
|
|
|
+ .answerQuestion({
|
|
|
+ ...uploadParams.value,
|
|
|
+ arrangeId: pageParams.value.arrangeId,
|
|
|
+ answer: value,
|
|
|
+ farmId: pageParams.value.farmId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage.success("回答成功");
|
|
|
+ getAnswer();
|
|
|
+ }
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
const cropAlbum = ref([]);
|
|
|
@@ -182,7 +205,7 @@ const getFarmPhoto = async () => {
|
|
|
try {
|
|
|
// 先获取有图片的日期列表
|
|
|
const dateParams = {
|
|
|
- farmId: farmId.value,
|
|
|
+ farmId: pageParams.value.farmId,
|
|
|
pageIndex: 0,
|
|
|
limit: 10,
|
|
|
};
|
|
|
@@ -200,11 +223,11 @@ const getFarmPhoto = async () => {
|
|
|
while (result.length < 3 && dateIndex < dateList.length) {
|
|
|
const currentDate = dateList[dateIndex];
|
|
|
const imgParams = {
|
|
|
- farmId: farmId.value,
|
|
|
+ farmId: pageParams.value.farmId,
|
|
|
date: currentDate,
|
|
|
};
|
|
|
const { data } = await VE_API.farm.getImageInfo(imgParams);
|
|
|
- const images = (data && Array.isArray(data.images)) ? data.images : [];
|
|
|
+ const images = data && Array.isArray(data.images) ? data.images : [];
|
|
|
|
|
|
images.forEach((item) => {
|
|
|
if (result.length < 3) {
|
|
|
@@ -227,7 +250,7 @@ const getFarmPhoto = async () => {
|
|
|
};
|
|
|
|
|
|
const handleSeeMore = () => {
|
|
|
- router.push(`/farm_photo?farmId=${farmId.value}`);
|
|
|
+ router.push(`/farm_photo?farmId=${pageParams.value.farmId}`);
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
@@ -290,50 +313,50 @@ const handleSeeMore = () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .photo-img-wrap-container{
|
|
|
+ .photo-img-wrap-container {
|
|
|
padding: 10px;
|
|
|
border-radius: 5px;
|
|
|
border: 1px solid rgba(233, 233, 233, 0.5);
|
|
|
- .photo-img-wrap-title{
|
|
|
+ .photo-img-wrap-title {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
font-size: 16px;
|
|
|
- margin-bottom: 10px;
|
|
|
- .title-text{
|
|
|
+ .title-text {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
gap: 4px;
|
|
|
}
|
|
|
- .more{
|
|
|
+ .more {
|
|
|
color: rgba(0, 0, 0, 0.6);
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
}
|
|
|
- .photo-img-wrap {
|
|
|
- display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
- gap: 10px;
|
|
|
- ::v-deep {
|
|
|
- .PhotoConsumer {
|
|
|
- width: 31%;
|
|
|
- height: 92px;
|
|
|
- }
|
|
|
+ }
|
|
|
+ .photo-img-wrap {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: 10px;
|
|
|
+ margin-top: 8px;
|
|
|
+ ::v-deep {
|
|
|
+ .PhotoConsumer {
|
|
|
+ width: 31%;
|
|
|
+ height: 92px;
|
|
|
}
|
|
|
- .photo-img {
|
|
|
+ }
|
|
|
+ .photo-img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ position: relative;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: 2px solid transparent;
|
|
|
+ border-radius: 8px;
|
|
|
+ overflow: hidden;
|
|
|
+ img {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
- position: relative;
|
|
|
- box-sizing: border-box;
|
|
|
- border: 2px solid transparent;
|
|
|
border-radius: 8px;
|
|
|
- overflow: hidden;
|
|
|
- img {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- border-radius: 8px;
|
|
|
- object-fit: cover;
|
|
|
- }
|
|
|
+ object-fit: cover;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -358,7 +381,10 @@ const handleSeeMore = () => {
|
|
|
font-weight: 600;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ .answer-text {
|
|
|
+ color: #333333;
|
|
|
+ margin-top: 6px;
|
|
|
+ }
|
|
|
.box-bottom {
|
|
|
display: flex;
|
|
|
justify-content: flex-end;
|