| | |
| | | <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" |
| | |
| | | }} |
| | | </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> |
| | |
| | | <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', |
| | |
| | | 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"> |