| | |
| | | <template> |
| | | <!-- <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> --> |
| | | <ContentScrollView hasPaddingTop> |
| | | <MineServiceDetailView /> |
| | | </ContentScrollView> |
| | | <PageFooter class="order-settle-bar"> |
| | | <div class="order-settle-price-wrapper"> |
| | | <div class="order-settle-price-label">支付:</div> |
| | | <nut-price :price="155" size="large" /> |
| | | </div> |
| | | <PageFooterBtn type="primary" class="business-card-btn">立即下单</PageFooterBtn> |
| | | </PageFooter> |
| | | <!-- </LoadingLayout> --> |
| | | <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> |
| | | <InfiniteLoading |
| | | commonMode |
| | | :refetch="refetch" |
| | | :isLoading="isLoading" |
| | | :isError="isError" |
| | | :showMoreText="false" |
| | | scrollViewClassName="common-page-infinite-scroll-list" |
| | | > |
| | | <MineServiceDetailView |
| | | :contactName="detail?.name" |
| | | :contactPhoneNumber="detail?.contactPhoneNumber" |
| | | :addressDetail="detail?.addressDetail" |
| | | :serviceName="detail?.serviceName" |
| | | :price="detail?.specPrice" |
| | | :specName="detail?.specName" |
| | | :specNumber="detail?.specNumber" |
| | | :imgUrl="detail?.serviceFile" |
| | | statusText="订单状态" |
| | | :beginTime="detail?.beginTime" |
| | | :endTime="detail?.endTime" |
| | | :supplierEnterpriseName="detail?.supplierEnterpriseName" |
| | | :remark="detail?.remark" |
| | | :serverContactPhoneNumbers="detail?.serverContactPhoneNumbers" |
| | | > |
| | | <template #status> |
| | | {{ |
| | | EnumGetStandardOrdersQueryPartAEnterpriseOrderStatusText[ |
| | | detail?.partAEnterpriseOrderStatus |
| | | ] |
| | | }} |
| | | </template> |
| | | </MineServiceDetailView> |
| | | </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" @click="payStandardOrder" |
| | | >立即下单</PageFooterBtn |
| | | > |
| | | </PageFooter> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import MineServiceDetailView from '../../components/MineServiceDetailView.vue'; |
| | | import { MineServiceDetailView } from '@12333/components'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as standardServiceServices from '@12333/services/apiV2/standardService'; |
| | | import { useCheckReceiveTaskUserSubmit } from '@12333/hooks'; |
| | | import * as standardOrderServices from '@12333/services/apiV2/standardOrder'; |
| | | import { useStandardOrder } from '@12333/hooks'; |
| | | 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, |
| | | 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"> |