Преглед изворни кода

feat:提交积分任务 - 订单的业务逻辑(跳转到按摩服务业务)

xyh пре 4 месеци
родитељ
комит
cf4f03fd52

+ 3 - 1
src/points/components/task-list/task-list.vue

@@ -116,7 +116,9 @@ export default {
 
     // 处理订单任务
     handleOrderTask() {
-      this.$emit('scrollToSearch');
+      uni.switchTab({
+        url: '/pages/index/index'
+      });
     },
 
     // 处理商户任务

+ 13 - 45
src/points/home/index.vue

@@ -44,13 +44,7 @@ export default {
     }
   },
   onLoad(options) {
-    // 检查 URL 参数,如果需要滚动到搜索框
-    if (options.scrollToSearch === '1') {
-      // 延迟执行,确保页面已经加载完成
-      setTimeout(() => {
-        this.scrollToSearch();
-      }, 1000);
-    }
+
   },
   onReady() {
     // 初始化数据
@@ -196,11 +190,20 @@ export default {
     },
     // 处理签到
     handleSign(index) {
+      var _this = this;
       signPoint({
         cityCode: uni.getStorageSync('selectCitycode'),
       }).then(res => {
         if (res.data.code === 200) {
-          this.signData[index].status = 1;
+          _this.signData[index].status = 1;
+          _this.$refs.uNotify.show({
+            top: 1,
+            type: 'success',
+            message: '今日签到成功,继续加油哦!!!',
+            duration: 1000 * 3,
+            fontSize: 14,
+            safeAreaInsetTop:true
+          })
         }
       }).catch(error => {
         console.error('签到失败:', error);
@@ -218,48 +221,13 @@ export default {
         url: '/points/order/orderList'
       });
     },
-    // 滚动到搜索框
-    scrollToSearch() {
-      // 滚动到商品列表的位置,使搜索框显示在顶部
-      let scrollDistance = 470; // 默认值,作为兜底
-      
-      // 尝试获取积分任务区域的实际高度
-      try {
-        // 获取积分任务区域的元素
-        const taskArea = this.$el.querySelector('.points-task');
-        if (taskArea) {
-          // 获取元素的实际高度
-          const rect = taskArea.getBoundingClientRect();
-          scrollDistance = rect.height - 10;
-        }
-      } catch (error) {
-        console.error('获取任务区域高度失败:', error);
-      }
-      
-      if (process.env.UNI_PLATFORM === 'h5') {
-        // 在H5端使用元素的scrollTop
-        const homeEl = this.$el;
-        if (homeEl) {
-          homeEl.scrollTop = scrollDistance;
-          // 更新滚动距离
-          this.scrollTop = scrollDistance;
-        }
-      } else {
-        // 在非H5端使用uni.pageScrollTo
-        uni.pageScrollTo({
-          scrollTop: scrollDistance,
-          duration: 300
-        });
-        // 更新滚动距离
-        this.scrollTop = scrollDistance;
-      }
-    }
   }
 }
 </script>
 
 <template>
   <view class="points-home" ref="homeRef">
+    <u-notify ref="uNotify" message=""></u-notify>
     <view class="points-task">
       <!-- 积分头部 -->
       <view class="points-header" @click="goBillPage">
@@ -274,7 +242,7 @@ export default {
       <!-- 签到组件 -->
       <SignIn @sign="handleSign" :signData="signData" :loading="loading.sign"/>
       <!-- 任务组件 -->
-      <TaskList :taskData="taskData" @scrollToSearch="scrollToSearch"  :loading="loading.task"/>
+      <TaskList :taskData="taskData" :loading="loading.task"/>
     </view>
     <!-- 商品列表组件 -->
     <ProductList ref="productRef" :scrollTop="scrollTop" />

+ 2 - 2
src/points/pointInfo/taskList.vue

@@ -198,8 +198,8 @@ export default {
     },
     // 处理订单任务
     handleOrderTask() {
-      uni.navigateTo({
-        url: '/points/home/index?scrollToSearch=1'
+      uni.switchTab({
+        url: '/pages/index/index'
       });
     },
     // 处理商户任务