From d7116672ea36e413309f4cd0e85eaa5fff5d5b8b Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 26 十二月 2025 16:06:48 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
apps/housekeepingMiniApp/src/styles/index.scss | 5 +
apps/housekeepingMiniApp/src/subpackages/mine/mineOrderDetail/InnerPage.vue | 58 +++++++++++++++++--
packages/hooks/standardOrder.ts | 9 ++
apps/housekeepingMiniApp/src/subpackages/mine/mineReserveServiceDetail/InnerPage.vue | 17 ++++-
apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue | 30 +++++----
packages/constants/standardOrder.ts | 6 ++
6 files changed, 100 insertions(+), 25 deletions(-)
diff --git a/apps/housekeepingMiniApp/src/styles/index.scss b/apps/housekeepingMiniApp/src/styles/index.scss
index 9b655fc..4264804 100644
--- a/apps/housekeepingMiniApp/src/styles/index.scss
+++ b/apps/housekeepingMiniApp/src/styles/index.scss
@@ -77,6 +77,11 @@
padding-top: 16px;
}
+.common-infinite-scroll-list-no-padding {
+ @include listScrollViewWithNoPadding;
+ padding-top: 16px;
+}
+
.id-imgUrl-wrapper {
display: flex;
gap: 40px;
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderDetail/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderDetail/InnerPage.vue
index 6c7104c..095b100 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderDetail/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderDetail/InnerPage.vue
@@ -1,6 +1,13 @@
<template>
<LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
- <ContentScrollView hasPaddingTop>
+ <InfiniteLoading
+ commonMode
+ :refetch="refetch"
+ :isLoading="isLoading"
+ :isError="isError"
+ :showMoreText="false"
+ scrollViewClassName="common-page-infinite-scroll-list"
+ >
<MineServiceDetailView
:contactName="detail?.name"
:contactPhoneNumber="detail?.contactPhoneNumber"
@@ -25,13 +32,21 @@
}}
</template>
</MineServiceDetailView>
- </ContentScrollView>
- <PageFooter class="order-settle-bar">
+ </InfiniteLoading>
+ <PageFooter
+ class="order-settle-bar"
+ v-if="
+ detail?.partAEnterpriseOrderStatus ===
+ EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus.Wait
+ "
+ >
<div class="order-settle-price-wrapper">
<div class="order-settle-price-label">鏀粯锛�</div>
<nut-price :price="detail.payAmount" size="large" />
</div>
- <PageFooterBtn type="primary" class="business-card-btn">绔嬪嵆涓嬪崟</PageFooterBtn>
+ <PageFooterBtn type="primary" class="business-card-btn" @click="payStandardOrder"
+ >绔嬪嵆涓嬪崟</PageFooterBtn
+ >
</PageFooter>
</LoadingLayout>
</template>
@@ -39,9 +54,14 @@
<script setup lang="ts">
import { MineServiceDetailView } from '@12333/components';
import Taro from '@tarojs/taro';
-import * as standardServiceServices from '@12333/services/apiV2/standardService';
+import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
import { useStandardOrder } from '@12333/hooks';
-import { EnumGetStandardOrdersQueryPartAEnterpriseOrderStatusText } from '@12333/constants';
+import {
+ EnumGetStandardOrdersQueryPartAEnterpriseOrderStatusText,
+ EnumGetStandardOrdersQueryScene,
+ EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
+} from '@12333/constants';
+import { Message } from '@12333/utils';
defineOptions({
name: 'InnerPage',
@@ -50,11 +70,35 @@
const route = Taro.useRouter();
const id = route.params?.id as string;
-const { detail, isLoading, isError, refetch } = useStandardOrder({ id });
+const { detail, isLoading, isError, refetch } = useStandardOrder({
+ id,
+ scene: EnumGetStandardOrdersQueryScene.PartAEnterpriseOrder,
+ refetchInterval: 3000,
+});
Taro.useDidShow(() => {
refetch();
});
+
+async function payStandardOrder() {
+ try {
+ let params: API.PayStandardOrderCommand = {
+ id: id,
+ };
+ let res = await standardOrderServices.payStandardOrder(params);
+ if (res) {
+ await Taro.requestPayment({
+ timeStamp: res.timestamp,
+ nonceStr: res.nonceStr,
+ package: res.package,
+ signType: res.signType as any,
+ paySign: res.paySign,
+ });
+ Message.success('鏀粯鎴愬姛');
+ refetch();
+ }
+ } catch (error) {}
+}
</script>
<style lang="scss">
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveServiceDetail/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveServiceDetail/InnerPage.vue
index 4ff3173..8d77101 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveServiceDetail/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveServiceDetail/InnerPage.vue
@@ -1,6 +1,13 @@
<template>
<LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
- <ContentScrollView hasPaddingTop>
+ <InfiniteLoading
+ commonMode
+ :refetch="refetch"
+ :isLoading="isLoading"
+ :isError="isError"
+ :showMoreText="false"
+ scrollViewClassName="common-page-infinite-scroll-list"
+ >
<MineServiceDetailView
:contactName="detail?.name"
:contactPhoneNumber="detail?.contactPhoneNumber"
@@ -24,7 +31,7 @@
{{ EnumStandardOrderAppointmentStatusText[detail?.appointmentStatus] }}
</template>
</MineServiceDetailView>
- </ContentScrollView>
+ </InfiniteLoading>
<PageFooter>
<PageFooterBtn
type="primary"
@@ -57,6 +64,7 @@
EnumStandardOrderAppointmentStatusText,
EnumStandardOrderAppointmentStatus,
EnumTaskCheckReceiveStatus,
+ EnumGetStandardOrdersQueryScene,
} from '@12333/constants';
defineOptions({
@@ -66,7 +74,10 @@
const route = Taro.useRouter();
const id = route.params?.id as string;
-const { detail, isLoading, isError, refetch } = useStandardOrder({ id });
+const { detail, isLoading, isError, refetch } = useStandardOrder({
+ id,
+ scene: EnumGetStandardOrdersQueryScene.PartAEnterpriseOrder,
+});
Taro.useDidShow(() => {
refetch();
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
index c81d8aa..5732f29 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
@@ -90,9 +90,9 @@
</nut-form-item>
</nut-form>
</ContentScrollView>
- <PageFooter>
- <div class="addStandardOrder-price-wrapper">
- <div class="addStandardOrder-price-text">鏀粯锛�</div>
+ <PageFooter class="order-settle-bar">
+ <div class="order-settle-price-wrapper">
+ <div class="order-settle-price-label">鏀粯锛�</div>
<nut-price :price="totlePrice" size="large" />
</div>
<PageFooterBtn type="primary" class="business-card-btn" @click="goConfirm"
@@ -273,12 +273,12 @@
};
let res = await standardOrderServices.addStandardOrder(params);
if (res) {
- pay(res);
+ payStandardOrder(res);
}
} catch (error) {}
}
-async function pay(orderId: string) {
+async function payStandardOrder(orderId: string) {
try {
let params: API.PayStandardOrderCommand = {
id: orderId,
@@ -316,16 +316,18 @@
}
}
- .addStandardOrder-price-wrapper {
- display: flex;
- flex: 2;
- min-width: 0;
- align-items: center;
- padding-left: 28px;
+ .order-settle-bar {
+ .order-settle-price-wrapper {
+ height: 100%;
+ flex: 1;
+ min-width: 0;
+ display: flex;
+ align-items: center;
+ margin-left: 28px;
- .addStandardOrder-price-text {
- font-size: 32px;
- color: boleGetCssVar('text-color', 'primary');
+ .order-settle-price-label {
+ color: boleGetCssVar('text-color', 'primary');
+ }
}
}
}
diff --git a/packages/constants/standardOrder.ts b/packages/constants/standardOrder.ts
index 319cc5e..143d3ac 100644
--- a/packages/constants/standardOrder.ts
+++ b/packages/constants/standardOrder.ts
@@ -6,6 +6,7 @@
EnumStandardOrderPayStatus,
EnumStandardOrderSettlementStatus,
EnumStandardServiceReleaseStatus,
+ EnumUserBankCardAccess,
} from './apiEnum';
export const EnumStandardServiceReleaseStatusText = {
@@ -46,3 +47,8 @@
[EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Wait]: '寰呮敹娆�',
[EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Completed]: '宸插畬鎴�',
};
+
+export const EnumUserBankCardAccessText = {
+ [EnumUserBankCardAccess.WeChatPay]: '寰俊鏀粯',
+ [EnumUserBankCardAccess.Bank]: '閾惰鏀粯',
+};
diff --git a/packages/hooks/standardOrder.ts b/packages/hooks/standardOrder.ts
index f523107..987b48d 100644
--- a/packages/hooks/standardOrder.ts
+++ b/packages/hooks/standardOrder.ts
@@ -155,9 +155,15 @@
id: MaybeRef<string>;
scene?: EnumGetStandardOrdersQueryScene;
onSuccess?: (data: API.GetStandardOrderQueryResult) => any;
+ refetchInterval?: MaybeRef<number | false>;
};
-export function useStandardOrder({ id, scene, onSuccess }: UseStandardOrderOptions) {
+export function useStandardOrder({
+ id,
+ scene,
+ onSuccess,
+ refetchInterval = false,
+}: UseStandardOrderOptions) {
const {
isLoading,
isError,
@@ -178,6 +184,7 @@
onSuccess(data) {
onSuccess?.(data);
},
+ refetchInterval: unref(refetchInterval),
});
return { detail, isLoading, isError, refetch };
--
Gitblit v1.10.0