From 0853d5b4dbffed8cd75a487e39f12dae58a30a9e Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 31 十二月 2025 15:16:06 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
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