소스 검색

feat: 订单跳转、详情入团参数修改

liangan 1 개월 전
부모
커밋
a48802ebd1
2개의 변경된 파일58개의 추가작업 그리고 40개의 파일을 삭제
  1. 36 34
      src/pages/myOrders/orderDetail.vue
  2. 22 6
      src/pages/productDetail/productDetail.vue

+ 36 - 34
src/pages/myOrders/orderDetail.vue

@@ -210,39 +210,41 @@ function handleDialogClose() {
   <z-paging ref="paging" refresher-only @refresh="getDetail">
     <view class="pt-20rpx">
       <!-- 状态显示 -->
-      <!-- 已中奖 -->
-      <view v-if="detail?.storePink?.status === 2 && detail?.storePink?.lId === 1" class="mb-20rpx bg-#17AA68/80 py-20rpx text-center text-28rpx text-white">
-        Congrats,You won the prize in this group!已中奖
-        <br>
-        You have received
-        <text class="text-[var(--wot-color-theme)]">
-          ৳{{ 10 }}
-        </text>
-        group opening reward
-      </view>
-      <!-- 未中奖 -->
-      <view v-else-if="detail?.storePink?.status === 2 && detail?.storePink?.lId === 0" class="mb-20rpx bg-#E61B28/80 py-20rpx text-center text-28rpx text-white">
-        So sorry, You didn't win in this group
-        <br>
-        You have received
-        <text class="text-#66C59B">
-          ৳8
-        </text>
-        group opening reward
-      </view>
-      <!-- 未开奖||未支付 -->
-      <view v-else-if="detail?.storePink?.status === 1 || detail?.status === 1" class="mb-20rpx bg-#fff py-20rpx text-center text-28rpx text-white">
-        <text v-if="detail?.storePink?.status === 1" class="text-[var(--wot-color-theme)]">
-          Please wait for the draw of this group
-        </text>
-        <text v-else class="text-[var(--wot-color-theme)]">
-          Please make payment within:29:59
-        </text>
-      </view>
-      <!-- 拼团头像 -->
-      <view class="mb-20rpx bg-white px-20rpx py-20rpx text-center">
-        <image v-for="i in 10" :key="i" class="mx-4rpx mb-8rpx h-80rpx w-80rpx rounded-full" src="/static/images/avatar.jpg" />
-      </view>
+      <template v-if="detail.status !== 4">
+        <!-- 已中奖 -->
+        <view v-if="detail?.storePink?.status === 2 && detail?.storePink?.lId === 1" class="mb-20rpx bg-#17AA68/80 py-20rpx text-center text-28rpx text-white">
+          Congrats,You won the prize in this group!已中奖
+          <br>
+          You have received
+          <text class="text-[var(--wot-color-theme)]">
+            ৳{{ 10 }}
+          </text>
+          group opening reward
+        </view>
+        <!-- 未中奖 -->
+        <view v-else-if="detail?.storePink?.status === 2 && detail?.storePink?.lId === 0" class="mb-20rpx bg-#E61B28/80 py-20rpx text-center text-28rpx text-white">
+          So sorry, You didn't win in this group
+          <br>
+          You have received
+          <text class="text-#66C59B">
+            ৳8
+          </text>
+          group opening reward
+        </view>
+        <!-- 未开奖||未支付 -->
+        <view v-else-if="detail?.storePink?.status === 1 || detail?.status === 1" class="mb-20rpx bg-#fff py-20rpx text-center text-28rpx text-white">
+          <text v-if="detail?.storePink?.status === 1" class="text-[var(--wot-color-theme)]">
+            Please wait for the draw of this group
+          </text>
+          <text v-else class="text-[var(--wot-color-theme)]">
+            Please make payment within:29:59
+          </text>
+        </view>
+        <!-- 拼团头像 -->
+        <view class="mb-20rpx bg-white px-20rpx py-20rpx text-center">
+          <image v-for="i in 10" :key="i" class="mx-4rpx mb-8rpx h-80rpx w-80rpx rounded-full" src="/static/images/avatar.jpg" />
+        </view>
+      </template>
       <!-- 地址 -->
       <view v-if="detail?.storePink?.status === 2 && detail?.storePink?.lId === 1" class="mb-20rpx bg-white px-24rpx py-20rpx">
         <!-- 无地址 -->
@@ -273,7 +275,7 @@ function handleDialogClose() {
         </template>
       </view>
       <!-- 商品信息 -->
-      <wd-card type="rectangle" custom-class="px-24rpx! py-6rpx!" custom-content-class="py-18rpx!" custom-title-class="py-18rpx!">
+      <wd-card type="rectangle" custom-class="px-24rpx! py-6rpx!" custom-content-class="py-18rpx!" custom-title-class="py-18rpx!" @click="toPage('/pages/productDetail/productDetail', { productId: detail?.orderInfoVO?.[0].productId })">
         <template #title>
           <view class="flex items-center justify-between">
             <view class="text-28rpx text-#000">

+ 22 - 6
src/pages/productDetail/productDetail.vue

@@ -95,12 +95,28 @@ const joinOrderId = ref('') // 加团的拼团-订单id
 // sku 逻辑
 const showSku = ref(false)
 function openSku(type: string, id?: string, pinkOrderId?: string) {
-  showSku.value = true
   groupType.value = type
-  if (id)
-    pinkId.value = id
-  if (pinkOrderId)
-    joinOrderId.value = pinkOrderId
+
+  // 区分不同的入团场景
+  if (type === 'join') {
+    if (id && pinkOrderId) {
+      // 从拼团列表点击入团 - 加入指定拼团
+      pinkId.value = id
+      joinOrderId.value = pinkOrderId
+    }
+    else {
+      // 从底部按钮点击入团 - 清空之前的参数,避免参数混乱
+      pinkId.value = ''
+      joinOrderId.value = ''
+    }
+  }
+  else {
+    // 开团场景 - 清空拼团相关参数
+    pinkId.value = ''
+    joinOrderId.value = ''
+  }
+
+  showSku.value = true
 }
 const formData = ref({
   productNum: 1,
@@ -316,7 +332,7 @@ onShow(async () => {
 </script>
 
 <template>
-  <z-paging ref="paging" use-page-scroll refresher-only @on-refresh="queryDetail" @click="handlePageClick">
+  <z-paging ref="paging" refresher-only use-page-scroll @on-refresh="queryDetail" @click="handlePageClick">
     <wd-navbar :bordered="false" safe-area-inset-top fixed :left-arrow="false" :custom-style="`background: ${navBgColor}; transition: background 0.3s;`" custom-class="h-auto!">
       <template #title>
         <view class="box-border h-full flex items-center justify-between p-24rpx">