浏览代码

fix: 首页操作文字

刘秀芳 2 天之前
父节点
当前提交
c22586f47f

+ 67 - 11
src/views/old_mini/home/components/AgriculturalDynamics.vue

@@ -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>

+ 1 - 1
src/views/old_mini/task_condition/components/interact.vue

@@ -36,7 +36,7 @@
             <van-list
                 v-model:loading="loadingMore"
                 :finished="finished"
-                finished-text="没有更多了"
+                finished-text=""
                 @load="onLoad"
                 :immediate-check="false"
             >