|
@@ -1,6 +1,7 @@
|
|
|
<template>
|
|
<template>
|
|
|
<custom-header name="农情互动" bgColor="#f2f4f5"></custom-header>
|
|
<custom-header name="农情互动" bgColor="#f2f4f5"></custom-header>
|
|
|
<div class="interaction-list" ref="interactionListRef">
|
|
<div class="interaction-list" ref="interactionListRef">
|
|
|
|
|
+ <!-- <div class="tips-text">由于系统审核,您照片拍摄位置与农场相差超 3 公里,请在农场现场使用水印相机重新拍摄上传,谢谢配合</div> -->
|
|
|
<div class="list-item" v-for="(item, index) in listData" :key="item.id || index"
|
|
<div class="list-item" v-for="(item, index) in listData" :key="item.id || index"
|
|
|
:class="{ 'uploaded-item': item.questionStatus !== 3 }">
|
|
:class="{ 'uploaded-item': item.questionStatus !== 3 }">
|
|
|
<!-- 标题区域 -->
|
|
<!-- 标题区域 -->
|
|
@@ -9,6 +10,10 @@
|
|
|
<div class="title">{{ item.interactionTypeName }}</div>
|
|
<div class="title">{{ item.interactionTypeName }}</div>
|
|
|
<div class="status" :class="['urgent-' + item.urgent]" v-if="item.questionStatus === 3">{{
|
|
<div class="status" :class="['urgent-' + item.urgent]" v-if="item.questionStatus === 3">{{
|
|
|
urgentType[item.urgent] }}</div>
|
|
urgentType[item.urgent] }}</div>
|
|
|
|
|
+ <!-- <div class="location-error">
|
|
|
|
|
+ <el-icon size="16"><InfoFilled /></el-icon>
|
|
|
|
|
+ <span>提交有误</span>
|
|
|
|
|
+ </div> -->
|
|
|
</div>
|
|
</div>
|
|
|
<div class="upload-status" v-show="item.questionStatus !== 3">
|
|
<div class="upload-status" v-show="item.questionStatus !== 3">
|
|
|
<el-icon class="status-icon">
|
|
<el-icon class="status-icon">
|
|
@@ -117,6 +122,8 @@
|
|
|
确认提交
|
|
确认提交
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="invite-btn">邀请农情互动</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 比例信息(已上传状态显示) -->
|
|
<!-- 比例信息(已上传状态显示) -->
|
|
@@ -192,6 +199,8 @@
|
|
|
|
|
|
|
|
<!-- 查看更多弹窗 -->
|
|
<!-- 查看更多弹窗 -->
|
|
|
<more-popup ref="morePopupRef" />
|
|
<more-popup ref="morePopupRef" />
|
|
|
|
|
+
|
|
|
|
|
+ <upload-tips v-model:show="showUploadTipsPopup" />
|
|
|
</template>
|
|
</template>
|
|
|
<script setup>
|
|
<script setup>
|
|
|
import { ref, onActivated, computed, onUnmounted } from "vue";
|
|
import { ref, onActivated, computed, onUnmounted } from "vue";
|
|
@@ -208,6 +217,9 @@ import DrawRegionMap from "./map/drawRegionMap.js";
|
|
|
import UploadFile from "@/utils/upliadFile";
|
|
import UploadFile from "@/utils/upliadFile";
|
|
|
import { getFileExt } from "@/utils/util";
|
|
import { getFileExt } from "@/utils/util";
|
|
|
import MorePopup from "./components/morePopup.vue";
|
|
import MorePopup from "./components/morePopup.vue";
|
|
|
|
|
+import UploadTips from "@/components/popup/uploadTips.vue";
|
|
|
|
|
+
|
|
|
|
|
+const showUploadTipsPopup = ref(false);
|
|
|
|
|
|
|
|
const interactionListRef = ref(null);
|
|
const interactionListRef = ref(null);
|
|
|
const SCROLL_KEY = 'interactionListScrollTop';
|
|
const SCROLL_KEY = 'interactionListScrollTop';
|
|
@@ -464,7 +476,8 @@ const showExample = (item, index, options = {}) => {
|
|
|
const loadData = async () => {
|
|
const loadData = async () => {
|
|
|
loading.value = true;
|
|
loading.value = true;
|
|
|
try {
|
|
try {
|
|
|
- const { data } = await VE_API.home.listTriggeredByFarm({ farmId: localStorage.getItem("selectedFarmId"),interactionTypeId:'' })
|
|
|
|
|
|
|
+ const { data } = await VE_API.home.listTriggeredByFarm({ farmId: 98156,interactionTypeId:'' })
|
|
|
|
|
+ // const { data } = await VE_API.home.listTriggeredByFarm({ farmId: localStorage.getItem("selectedFarmId"),interactionTypeId:'' })
|
|
|
listData.value = data.map(item => {
|
|
listData.value = data.map(item => {
|
|
|
// question 按 || 切割成数组,用于循环渲染
|
|
// question 按 || 切割成数组,用于循环渲染
|
|
|
const questionStr = item.question != null ? String(item.question) : '';
|
|
const questionStr = item.question != null ? String(item.question) : '';
|
|
@@ -694,6 +707,15 @@ const handleSubmitAll = () => {
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
|
|
|
|
|
|
|
|
+ .tips-text{
|
|
|
|
|
+ color: #FA7406;
|
|
|
|
|
+ padding: 5px 10px;
|
|
|
|
|
+ border: 1px solid #FA7406;
|
|
|
|
|
+ border-radius: 5px;
|
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.list-item {
|
|
.list-item {
|
|
|
background: #ffffff;
|
|
background: #ffffff;
|
|
|
border-radius: 6px;
|
|
border-radius: 6px;
|
|
@@ -739,6 +761,15 @@ const handleSubmitAll = () => {
|
|
|
background: rgba(238, 70, 70, 0.1);
|
|
background: rgba(238, 70, 70, 0.1);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ .location-error{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ font-family: "Helvetica Neue, Helvetica, Tahoma, Arial, sans-serif";
|
|
|
|
|
+ color: #FA7406;
|
|
|
|
|
+ gap: 4px;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.upload-status {
|
|
.upload-status {
|
|
@@ -960,6 +991,16 @@ const handleSubmitAll = () => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ .invite-btn{
|
|
|
|
|
+ color: #2199f8;
|
|
|
|
|
+ border: 1px solid rgba(33, 153, 248, 0.2);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ padding: 5px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ margin-top: 12px;
|
|
|
|
|
+ background: rgba(33, 153, 248, 0.1);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.proportion-info {
|
|
.proportion-info {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|