|
@@ -7,8 +7,11 @@
|
|
|
<!-- 标题区域 -->
|
|
<!-- 标题区域 -->
|
|
|
<div class="item-header-wrapper" :class="{ 'has-status': item.questionStatus !== 3 }">
|
|
<div class="item-header-wrapper" :class="{ 'has-status': item.questionStatus !== 3 }">
|
|
|
<div class="item-header">
|
|
<div class="item-header">
|
|
|
- <div class="title">{{ item.interactionTypeName }}</div>
|
|
|
|
|
- <div class="status" :class="['urgent-' + item.urgent]" v-if="item.questionStatus === 3">{{
|
|
|
|
|
|
|
+ <div class="header-wrapper">
|
|
|
|
|
+ <div class="title title-block">{{ item.varietyName }}</div>
|
|
|
|
|
+ <div class="title title-block">{{ item.interactionTypeName }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="status title-block" :class="['urgent-' + item.urgent]" v-if="item.questionStatus === 3">{{
|
|
|
urgentType[item.urgent] }}</div>
|
|
urgentType[item.urgent] }}</div>
|
|
|
<!-- <div class="location-error">
|
|
<!-- <div class="location-error">
|
|
|
<el-icon size="16"><InfoFilled /></el-icon>
|
|
<el-icon size="16"><InfoFilled /></el-icon>
|
|
@@ -46,7 +49,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<text-ellipsis class="patrol-suggestion" rows="2" :content="'巡园建议:' + item.patrolSuggestion">
|
|
<text-ellipsis class="patrol-suggestion" rows="2" :content="'巡园建议:' + item.patrolSuggestion">
|
|
|
<template #action="{ expanded }"><span class="action-text">{{ expanded ? '收起' : '展开'
|
|
<template #action="{ expanded }"><span class="action-text">{{ expanded ? '收起' : '展开'
|
|
|
- }}</span></template>
|
|
|
|
|
|
|
+ }}</span></template>
|
|
|
</text-ellipsis>
|
|
</text-ellipsis>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -123,7 +126,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div class="invite-btn" v-if="item.imagePaths.length === 0">邀请农情互动</div>
|
|
|
|
|
|
|
+ <div class="invite-btn" v-if="item.imagePaths.length === 0 && item.questionStatus === 3">邀请农情互动</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 比例信息(已上传状态显示) -->
|
|
<!-- 比例信息(已上传状态显示) -->
|
|
@@ -135,7 +138,7 @@
|
|
|
(item.indicators[i]?.unit
|
|
(item.indicators[i]?.unit
|
|
|
?? item.indicators[0]?.unit ?? '%')).join('')
|
|
?? item.indicators[0]?.unit ?? '%')).join('')
|
|
|
: item.question + ':' + (item.answerValues[0] ?? '') + (item.indicators[0]?.unit ?? '%'))
|
|
: item.question + ':' + (item.answerValues[0] ?? '') + (item.indicators[0]?.unit ?? '%'))
|
|
|
- }}</span>
|
|
|
|
|
|
|
+ }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
<div class="toggle-btn" @click="toggleExpand(item)">
|
|
<div class="toggle-btn" @click="toggleExpand(item)">
|
|
|
<span>{{ item.expanded ? "收起" : "展开" }}</span>
|
|
<span>{{ item.expanded ? "收起" : "展开" }}</span>
|
|
@@ -465,7 +468,7 @@ const exampleShowTitleAndTips = ref(true);
|
|
|
const currentPhotData = ref({})
|
|
const currentPhotData = ref({})
|
|
|
const showExample = (item, index, options = {}) => {
|
|
const showExample = (item, index, options = {}) => {
|
|
|
currentPhotData.value = item;
|
|
currentPhotData.value = item;
|
|
|
- exampleList.value = options?.hideLabel ? item.imagePaths.map(p => ({exampleImageUrl: base_img_url2 + p})) : item.exampleImageWithAnnotations || [];
|
|
|
|
|
|
|
+ exampleList.value = options?.hideLabel ? item.imagePaths.map(p => ({ exampleImageUrl: base_img_url2 + p })) : item.exampleImageWithAnnotations || [];
|
|
|
exampleStartIndex.value = index || 0;
|
|
exampleStartIndex.value = index || 0;
|
|
|
exampleShowTitleAndTips.value = options.hideLabel !== true;
|
|
exampleShowTitleAndTips.value = options.hideLabel !== true;
|
|
|
showExamplePopup.value = true;
|
|
showExamplePopup.value = true;
|
|
@@ -476,7 +479,7 @@ 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: query.value.farmId,regionId:query.value.regionId,interactionTypeId:query.value.interactionTypeId })
|
|
|
|
|
|
|
+ const { data } = await VE_API.home.listTriggeredByFarm({ farmId: query.value.farmId, regionId: query.value.regionId, interactionTypeId: query.value.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) : '';
|
|
@@ -540,7 +543,7 @@ const handleConfirm = async (item, isConfirm) => {
|
|
|
interactionId: item.id,
|
|
interactionId: item.id,
|
|
|
replyText: item.replyText,
|
|
replyText: item.replyText,
|
|
|
answerValues: item.answerValues,
|
|
answerValues: item.answerValues,
|
|
|
- regionId:''
|
|
|
|
|
|
|
+ regionId: ''
|
|
|
}
|
|
}
|
|
|
await VE_API.home.uploadAnswerData(parmas);
|
|
await VE_API.home.uploadAnswerData(parmas);
|
|
|
const { code, msg } = await VE_API.home.uploadAnswer(parmas);
|
|
const { code, msg } = await VE_API.home.uploadAnswer(parmas);
|
|
@@ -662,7 +665,7 @@ const onCopyWechatId = () => {
|
|
|
const oldUser = ref(false);
|
|
const oldUser = ref(false);
|
|
|
// 页面从勾画页返回时,如果组件被 keep-alive 缓存,则会触发 onActivated,在此再做一次回显
|
|
// 页面从勾画页返回时,如果组件被 keep-alive 缓存,则会触发 onActivated,在此再做一次回显
|
|
|
onActivated(() => {
|
|
onActivated(() => {
|
|
|
- if(!localStorage.getItem('showUploadTipsPopup')) {
|
|
|
|
|
|
|
+ if (!localStorage.getItem('showUploadTipsPopup')) {
|
|
|
showUploadTipsPopup.value = true;
|
|
showUploadTipsPopup.value = true;
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
showUploadTipsPopup.value = false;
|
|
showUploadTipsPopup.value = false;
|
|
@@ -670,7 +673,7 @@ onActivated(() => {
|
|
|
}, 3000);
|
|
}, 3000);
|
|
|
}
|
|
}
|
|
|
// 初始化加载
|
|
// 初始化加载
|
|
|
- getFarmList();
|
|
|
|
|
|
|
+ // getFarmList();
|
|
|
// 加载数据
|
|
// 加载数据
|
|
|
loadData();
|
|
loadData();
|
|
|
renderRegionFromSession();
|
|
renderRegionFromSession();
|
|
@@ -713,7 +716,7 @@ const handleSubmitAll = () => {
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
|
|
|
|
|
|
- .tips-text{
|
|
|
|
|
|
|
+ .tips-text {
|
|
|
color: #FA7406;
|
|
color: #FA7406;
|
|
|
padding: 5px 10px;
|
|
padding: 5px 10px;
|
|
|
border: 1px solid #FA7406;
|
|
border: 1px solid #FA7406;
|
|
@@ -737,8 +740,13 @@ const handleSubmitAll = () => {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
|
|
+ .header-wrapper {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 5px;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- div {
|
|
|
|
|
|
|
+ .title-block {
|
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
|
color: #6f6f6f;
|
|
color: #6f6f6f;
|
|
|
font-family: "PangMenZhengDao";
|
|
font-family: "PangMenZhengDao";
|
|
@@ -767,7 +775,8 @@ const handleSubmitAll = () => {
|
|
|
background: rgba(238, 70, 70, 0.1);
|
|
background: rgba(238, 70, 70, 0.1);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- .location-error{
|
|
|
|
|
|
|
+
|
|
|
|
|
+ .location-error {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
font-family: "Helvetica Neue, Helvetica, Tahoma, Arial, sans-serif";
|
|
font-family: "Helvetica Neue, Helvetica, Tahoma, Arial, sans-serif";
|
|
@@ -997,7 +1006,7 @@ const handleSubmitAll = () => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- .invite-btn{
|
|
|
|
|
|
|
+ .invite-btn {
|
|
|
color: #2199f8;
|
|
color: #2199f8;
|
|
|
border: 1px solid rgba(33, 153, 248, 0.2);
|
|
border: 1px solid rgba(33, 153, 248, 0.2);
|
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
@@ -1089,14 +1098,17 @@ const handleSubmitAll = () => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.custom-bottom-fixed-btns{
|
|
|
|
|
|
|
+.custom-bottom-fixed-btns {
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
- .secondary-btn{
|
|
|
|
|
|
|
+
|
|
|
|
|
+ .secondary-btn {
|
|
|
padding: 10px 20px;
|
|
padding: 10px 20px;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.center-btn {
|
|
.center-btn {
|
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
|
|
+
|
|
|
.primary-btn {
|
|
.primary-btn {
|
|
|
padding: 10px 32px;
|
|
padding: 10px 32px;
|
|
|
background: #2199F8;
|
|
background: #2199F8;
|