From d6ec7528f6694aee6d2c57d1d9b2aab3ceddcdeb Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 31 十二月 2025 13:55:30 +0800
Subject: [PATCH] fix: bug

---
 apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue |  101 ++++++++++++++++++++------------------------------
 1 files changed, 41 insertions(+), 60 deletions(-)

diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
index d60a795..4ef9a2a 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
@@ -58,7 +58,20 @@
             <NoData />
           </ProTabPane>
           <ProTabPane :title="`鐩稿叧鎺ㄨ崘`" pane-key="3">
-            <NoData />
+            <InfiniteLoading
+              scrollViewClassName="common-infinite-scroll-list serciceDetail-recommend-list"
+              commonMode
+              v-bind="infiniteLoadingProps"
+            >
+              <template #renderItem="{ item }">
+                <StandardServiceCard
+                  :file="item.file"
+                  :name="item.name"
+                  :minSpecPrice="item.minSpecPrice"
+                  @click="goSerciceDetail(item)"
+                />
+              </template>
+            </InfiniteLoading>
           </ProTabPane>
         </ProTabs>
       </InfiniteLoading>
@@ -89,7 +102,7 @@
 </template>
 
 <script setup lang="ts">
-import { useStandardServiceDetail } from '@12333/hooks';
+import { useInfiniteLoading, useStandardServiceDetail } from '@12333/hooks';
 import Taro from '@tarojs/taro';
 import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
 import * as standardServiceServices from '@12333/services/apiV2/standardService';
@@ -109,6 +122,8 @@
 import IconShare from '@/assets/flexJob/icon-share.png';
 import IconAttention from '@/assets/flexJob/icon-attention-lg.png';
 import IconAttentionActive from '@/assets/flexJob/icon-attention-lg-active.png';
+import { EnumPagedListOrder } from '@12333/constants';
+import { useGetOpenStandardServices } from '@/hooks';
 
 defineOptions({
   name: 'serciceDetail',
@@ -137,10 +152,12 @@
     ];
     skuState.goods = {
       skuId: SkuUtils.DefaultSkuSpecId,
-      price: toThousand(res.specs[0].price),
+      price: res.specs[0].price,
       imagePath: setOSSLink(res.files[0]),
       name: res.name,
     };
+    queryState.jobCode = res.jobCode;
+    queryState.ignoreId = id;
   },
 });
 
@@ -152,8 +169,7 @@
 
 // 搴曢儴鎿嶄綔鎸夐挳瑙﹀彂
 const clickBtnOperate = (op: { type: string; value: number }) => {
-  // addStandardOrder(op.value);
-  Message.warning('鏀粯绯荤粺缁存姢涓紝璇风◢鍚庨绾�');
+  goAddStandardOrder(op.value);
 };
 
 const openSkuDialog = () => {
@@ -161,65 +177,13 @@
 };
 
 const goAddStandardOrder = useAccessLogin((specNumber: number) => {
+  const spec = SkuUtils.getCurrentActiveSpec(skuState.sku);
   Taro.navigateTo({
-    url: `${RouterPath.addStandardOrder}?specNumber=${specNumber}`,
+    url: `${RouterPath.addStandardOrder}?specNumber=${specNumber}&specId=${spec.id}&id=${id}`,
   });
 });
 
-async function addStandardOrder(specNumber: number) {
-  try {
-    const spec = SkuUtils.getCurrentActiveSpec(skuState.sku);
-    let params: API.AddStandardOrderCommand = {
-      serviceId: detail.value.id,
-      serviceName: detail.value.name,
-      serviceCode: detail.value.code,
-      specId: spec.id,
-      specName: spec.name,
-      specPrice: detail.value.specs.find((x) => x.id === spec.id)?.price ?? 0,
-      specNumber: specNumber,
-      addressId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
-      name: detail.value.name,
-      contactPhoneNumber: 'string',
-      provinceCode: 'string',
-      provinceContent: 'string',
-      cityCode: 'string',
-      cityContent: 'string',
-      areaCode: 'string',
-      areaContent: 'string',
-      addressName: 'string',
-      addressDetail: 'string',
-      longitude: 0,
-      latitude: 0,
-      beginTime: '2025-12-24T08:25:08.372Z',
-      endTime: '2025-12-24T08:25:08.372Z',
-      supplierEnterpriseId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
-      enterpriseEmployeeIds: ['3fa85f64-5717-4562-b3fc-2c963f66afa6'],
-      remark: 'string',
-      payAccess: 1,
-    };
-    let res = await standardOrderServices.addStandardOrder(params);
-  } catch (error) {}
-}
-
-async function pay() {
-  try {
-    let params: API.PayStandardOrderCommand = {
-      id: '9e919af2-3d33-4eac-f6dc-08de429676b3',
-    };
-    let res = await standardOrderServices.payStandardOrder(params);
-    if (res) {
-      Taro.requestPayment({
-        timeStamp: res.timestamp,
-        nonceStr: res.nonceStr,
-        package: res.package,
-        signType: res.signType as any,
-        paySign: res.paySign,
-      });
-    }
-  } catch (error) {}
-}
-
-async function handleAttention() {
+const handleAttention = useAccessLogin(async () => {
   try {
     let params: API.CollectionStandardServiceCommand = {
       ids: [id],
@@ -230,6 +194,14 @@
       refetch({ type: 'inactive' });
     }
   } catch (error) {}
+});
+
+const { queryState, infiniteLoadingProps } = useGetOpenStandardServices();
+
+function goSerciceDetail(item: API.GetStandardServicesQueryResultItem) {
+  Taro.navigateTo({
+    url: `${RouterPath.serciceDetail}?id=${item.id}`,
+  });
 }
 </script>
 
@@ -267,6 +239,7 @@
           font-size: 48px;
           color: #ff6414;
           line-height: 52px;
+          margin-right: 8px;
         }
 
         .serciceDetail-price-unit {
@@ -289,5 +262,13 @@
   .serciceDetail-content-list {
     margin-bottom: 20px;
   }
+
+  .serciceDetail-recommend-list {
+    .infinite-list-inner {
+      display: grid;
+      grid-template-columns: repeat(2, 1fr);
+      grid-gap: 20px;
+    }
+  }
 }
 </style>

--
Gitblit v1.10.0