|
|
@@ -11,11 +11,11 @@
|
|
|
<div class="task-time" v-if="task.expectedExecuteDate">执行时间 {{ task.expectedExecuteDate }}</div>
|
|
|
<div class="task-time deadline" v-else>截止时间 {{ task.executeDeadlineDate }}</div>
|
|
|
</div>
|
|
|
- <div v-if="task.expectedExecuteDate" class="task-action" @click="showOfferPopup(task)">
|
|
|
- 上传照片
|
|
|
+ <div v-if="task.expectedExecuteDate" class="task-action" :class="{ 'call-text': getButtonText(task) }" @click="showOfferPopup(task)">
|
|
|
+ {{ getButtonText(task) ? "提醒执行" : "上传照片" }}
|
|
|
</div>
|
|
|
- <div v-else class="task-action orange" @click="selectExecuteTime(task)">
|
|
|
- 确认执行时间
|
|
|
+ <div v-else class="task-action orange" :class="{ 'call-text': getButtonText(task) }" @click="selectExecuteTime(task)">
|
|
|
+ {{ getButtonText(task) ? "提醒确认执行时间" : "确认执行时间" }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -66,6 +66,7 @@
|
|
|
import router from "@/router";
|
|
|
import { ref, onMounted, onActivated } from "vue";
|
|
|
import { Calendar } from "vant";
|
|
|
+import wx from "weixin-js-sdk";
|
|
|
import { ElMessage } from "element-plus";
|
|
|
import offerPopup from "@/components/popup/offerPopup.vue";
|
|
|
import AgriculturalInteractionCard from "@/components/pageComponents/AgriculturalInteractionCard.vue";
|
|
|
@@ -80,9 +81,55 @@ const handleTaskAction = (item) => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+onMounted(() => {
|
|
|
+ const userInfo = JSON.parse(localStorage.getItem("localUserInfo"));
|
|
|
+ agriculturalRole.value = userInfo.agriculturalRole;
|
|
|
+ userId.value = userInfo.id;
|
|
|
+});
|
|
|
+
|
|
|
+const agriculturalRole = ref(null);
|
|
|
+const userId = ref(null);
|
|
|
+
|
|
|
const offerPopupRef = ref(null);
|
|
|
const showOfferPopup = (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 selectExecuteTime = (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 {
|
|
|
+ executeItem.value = item;
|
|
|
+ maxDate.value = new Date(item.executeDeadlineDate);
|
|
|
+ showCalendar.value = true;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+// 获取上传按钮的文本(计算属性方式)
|
|
|
+const getButtonText = (item) => {
|
|
|
+ return agriculturalRole.value === 1 || (agriculturalRole.value === 2 && item.executorUserId != userId.value);
|
|
|
};
|
|
|
|
|
|
const showCalendar = ref(false);
|
|
|
@@ -90,11 +137,6 @@ 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;
|
|
|
-};
|
|
|
|
|
|
const onConfirmExecuteTime = (date) => {
|
|
|
showCalendar.value = false;
|
|
|
@@ -220,12 +262,20 @@ const getFutureFarmWorkWarning = async (item) => {
|
|
|
background-color: rgba(33, 153, 248, 0.1);
|
|
|
color: #2199f8;
|
|
|
border-radius: 25px;
|
|
|
- padding: 7px 14px;
|
|
|
+ padding: 0px 14px;
|
|
|
font-size: 12px;
|
|
|
+ height: 28px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ line-height: 28px;
|
|
|
&.orange {
|
|
|
color: #ff953d;
|
|
|
background: rgba(255, 149, 61, 0.1);
|
|
|
}
|
|
|
+ &.call-text {
|
|
|
+ color: #868686;
|
|
|
+ background: none;
|
|
|
+ border: 0.5px solid #D1D1D1;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -327,3 +377,9 @@ const getFutureFarmWorkWarning = async (item) => {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.van-calendar__popup {
|
|
|
+ z-index: 9999 !important;
|
|
|
+}
|
|
|
+</style>
|