|
|
@@ -49,20 +49,20 @@
|
|
|
:ref="(el) => setTaskItemRef(el, index)"
|
|
|
>
|
|
|
<template #footer>
|
|
|
- <div class="execute-wrap">
|
|
|
- <img class="execute-icon" src="@/assets/img/monitor/execute-icon.png" alt="">
|
|
|
+ <div class="execute-wrap" v-if="activeIndex === 0">
|
|
|
+ <img class="execute-icon" src="@/assets/img/monitor/execute-icon.png" alt="" />
|
|
|
<span>{{ item.executorName }}</span>
|
|
|
</div>
|
|
|
<div class="item-footer" v-if="activeIndex === 2">
|
|
|
<div class="footer-l farm-name-text van-ellipsis">
|
|
|
来自<span class="name-text">{{ item.farmName || "--" }}</span>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<div class="footer-r" v-if="item.reviewImage && item.reviewImage.length">
|
|
|
<div class="btn warning" @click="generateReport(item)">生成成果报告</div>
|
|
|
</div>
|
|
|
<div class="footer-r" v-else>
|
|
|
- <div class="btn primary" @click="handleAction(item)">上传复核照片</div>
|
|
|
+ <div class="btn primary" :class="{ 'primary-text': getButtonText(item) }" @click="handleAction(item)">{{ getButtonText(item) ? '提醒复核' : '上传复核照片' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-else-if="activeIndex === 1" class="item-footer">
|
|
|
@@ -76,10 +76,22 @@
|
|
|
<div v-else-if="activeIndex === 0" class="item-footer">
|
|
|
<div class="footer-l" @click="toDetail(item)">查看详情</div>
|
|
|
<div class="footer-r" v-if="item.expectedExecuteDate">
|
|
|
- <div class="btn primary primary-text" @click="showUploadExecutePopup(item)">{{ agriculturalRole === 1 ? "提醒执行" : "上传照片" }}</div>
|
|
|
+ <div
|
|
|
+ class="btn primary"
|
|
|
+ :class="{ 'primary-text': getButtonText(item) }"
|
|
|
+ @click="showUploadExecutePopup(item)"
|
|
|
+ >
|
|
|
+ {{ getButtonText(item) ? "提醒执行" : "上传照片" }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="footer-r" v-else>
|
|
|
- <div class="btn warning" @click="selectExecuteTime(item)">{{ agriculturalRole === 1 ? "提醒确认执行时间" : "确认执行时间" }}</div>
|
|
|
+ <div
|
|
|
+ class="btn warning"
|
|
|
+ :class="{ 'primary-text': getButtonText(item) }"
|
|
|
+ @click="selectExecuteTime(item)"
|
|
|
+ >
|
|
|
+ {{ getButtonText(item) ? "提醒确认执行时间" : "确认执行时间" }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -111,6 +123,7 @@ import { useStore } from "vuex";
|
|
|
import { Popup, Calendar } from "vant";
|
|
|
import IndexMap from "../../farm_manage/map/index";
|
|
|
import taskItem from "@/components/taskItem.vue";
|
|
|
+import wx from "weixin-js-sdk";
|
|
|
import customCalendar from "./calendar.vue";
|
|
|
import { useRouter } from "vue-router";
|
|
|
import uploadExecute from "./uploadExecute.vue";
|
|
|
@@ -234,10 +247,12 @@ function initTaskCounts() {
|
|
|
const mapPoint = ref(null);
|
|
|
|
|
|
const agriculturalRole = ref(null);
|
|
|
+const userId = ref(null);
|
|
|
onMounted(() => {
|
|
|
mapPoint.value = store.state.home.miniUserLocationPoint;
|
|
|
const userInfo = JSON.parse(localStorage.getItem("localUserInfo"));
|
|
|
agriculturalRole.value = userInfo.agriculturalRole;
|
|
|
+ userId.value = userInfo.id;
|
|
|
// 初始化时获取所有状态的数量
|
|
|
initTaskCounts();
|
|
|
// 加载当前选中状态的数据列表
|
|
|
@@ -319,7 +334,7 @@ function getSimpleList() {
|
|
|
if (activeIndex.value === 0) {
|
|
|
// 传递给日历的数据应该是完整的未筛选数据
|
|
|
const calendarData = filterDate.value ? fullTaskList.value : taskList.value;
|
|
|
- console.log('calendarData', calendarData);
|
|
|
+ console.log("calendarData", calendarData);
|
|
|
calendarRef.value && calendarRef.value.setSolarTerm(calendarData);
|
|
|
// 地图使用筛选后的数据
|
|
|
indexMap.initData(taskList.value);
|
|
|
@@ -394,7 +409,20 @@ function toPage(item) {
|
|
|
|
|
|
const offerPopupRef = ref(null);
|
|
|
const showUploadExecutePopup = (item) => {
|
|
|
- offerPopupRef.value.openPopup(item);
|
|
|
+ if(getButtonText(item)) {
|
|
|
+ const query = {
|
|
|
+ askInfo: { title: "农事提醒", content: "是否分享该农事提醒给好友" },
|
|
|
+ shareText: '向您分享了一条农事执行提醒,请您尽快执行',
|
|
|
+ targetUrl: `completed_work`,
|
|
|
+ paramsPage: JSON.stringify({id: item.id}),
|
|
|
+ imageUrl: 'https://birdseye-img.sysuimars.com/birdseye-look-mini/invite_bg.png',
|
|
|
+ };
|
|
|
+ wx.miniProgram.navigateTo({
|
|
|
+ url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ offerPopupRef.value.openPopup(item);
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const generateReport = (item) => {
|
|
|
@@ -421,9 +449,22 @@ const maxDate = ref();
|
|
|
const minDate = new Date();
|
|
|
const executeItem = ref(null);
|
|
|
const selectExecuteTime = (item) => {
|
|
|
- executeItem.value = item;
|
|
|
- maxDate.value = new Date(item.executeDeadlineDate);
|
|
|
- showCalendar.value = true;
|
|
|
+ if (getButtonText(item)) {
|
|
|
+ const query = {
|
|
|
+ askInfo: { title: "农事提醒", content: "是否分享该农事提醒给好友" },
|
|
|
+ shareText: '向您分享了一条农事提醒,请您尽快确认执行时间',
|
|
|
+ targetUrl: `completed_work`,
|
|
|
+ paramsPage: JSON.stringify({id: item.id}),
|
|
|
+ imageUrl: 'https://birdseye-img.sysuimars.com/birdseye-look-mini/invite_bg.png',
|
|
|
+ };
|
|
|
+ wx.miniProgram.navigateTo({
|
|
|
+ url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ executeItem.value = item;
|
|
|
+ maxDate.value = new Date(item.executeDeadlineDate);
|
|
|
+ showCalendar.value = true;
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const onConfirmExecuteTime = (date) => {
|
|
|
@@ -438,6 +479,11 @@ const onConfirmExecuteTime = (date) => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+// 获取上传按钮的文本(计算属性方式)
|
|
|
+const getButtonText = (item) => {
|
|
|
+ return agriculturalRole.value === 1 || item.executorUserId != userId.value;
|
|
|
+};
|
|
|
+
|
|
|
const priceSheetPopupRef = ref(null);
|
|
|
const showPriceSheetPopup = (item) => {
|
|
|
VE_API.z_farm_work_record.getDetail({ id: item.id }).then(({ data }) => {
|
|
|
@@ -448,9 +494,22 @@ const showPriceSheetPopup = (item) => {
|
|
|
|
|
|
const onlyShare = ref(false);
|
|
|
function handleAction(item) {
|
|
|
- setTimeout(() => {
|
|
|
- uploadExecuteRef.value.showPopup(item, "share-sheet");
|
|
|
- }, 10);
|
|
|
+ if(getButtonText(item)) {
|
|
|
+ const query = {
|
|
|
+ askInfo: { title: "农事提醒", content: "是否分享该农事提醒给好友" },
|
|
|
+ shareText: '向您分享了一条农事复核提醒,请您尽快复核',
|
|
|
+ targetUrl: `review_work`,
|
|
|
+ paramsPage: JSON.stringify({id: item.id}),
|
|
|
+ imageUrl: 'https://birdseye-img.sysuimars.com/birdseye-look-mini/invite_bg.png',
|
|
|
+ };
|
|
|
+ wx.miniProgram.navigateTo({
|
|
|
+ url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ setTimeout(() => {
|
|
|
+ uploadExecuteRef.value.showPopup(item, "share-sheet");
|
|
|
+ }, 10);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
function handleForward(item) {
|
|
|
@@ -567,7 +626,7 @@ function handleForward(item) {
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
|
|
|
- .execute-wrap{
|
|
|
+ .execute-wrap {
|
|
|
background: rgba(153, 153, 153, 0.1);
|
|
|
border: 1px solid rgba(153, 153, 153, 0.2);
|
|
|
border-radius: 2px;
|
|
|
@@ -577,7 +636,7 @@ function handleForward(item) {
|
|
|
align-items: center;
|
|
|
gap: 5px;
|
|
|
margin-top: 10px;
|
|
|
- .execute-icon{
|
|
|
+ .execute-icon {
|
|
|
width: 14px;
|
|
|
height: 14px;
|
|
|
}
|
|
|
@@ -654,8 +713,8 @@ function handleForward(item) {
|
|
|
}
|
|
|
&.primary-text {
|
|
|
background: rgba(33, 153, 248, 0.1);
|
|
|
- color: #2199F8;
|
|
|
- border: 1px solid #2199F8;
|
|
|
+ color: #2199f8;
|
|
|
+ border: 1px solid #2199f8;
|
|
|
}
|
|
|
}
|
|
|
.btn + .btn {
|