<template>
|
<PageLayoutWithBg title="在线签约" has-border class="online-sign-result-page">
|
<LoadingLayout :loading="isLoading">
|
<ContentScrollView>
|
<OnlineResult
|
title="宁波人力无忧公司"
|
:icon="IconMain"
|
contentTitle="签署成功!"
|
:items="['签署情况:已签署', '已经成功使用您的CA证书签署成功']"
|
>
|
<template #actions>
|
<PageFooterBtn
|
v-if="data && data.contractUrl"
|
style="width: 100%"
|
:hasMargin="false"
|
@click="downloadContract"
|
>下载合同</PageFooterBtn
|
>
|
</template>
|
</OnlineResult>
|
</ContentScrollView>
|
</LoadingLayout>
|
</PageLayoutWithBg>
|
</template>
|
|
<script setup lang="ts">
|
import { LoadingLayout } from '@bole-core/components';
|
import IconMain from '@/assets/online-sign-result/icon-main.png';
|
import OnlineResult from './components/OnlineResult.vue';
|
import { useQuery, useQueryClient } from '@tanstack/vue-query';
|
import * as lgGigWorkerServices from '@/services/api/LgGigWorker';
|
import { downloadFileByUrl } from '@/utils';
|
import { SignChannelEnum } from '@/constants';
|
|
defineOptions({
|
name: 'OnlineSignResult',
|
});
|
|
const route = useRoute();
|
const customerId = (route.query.customerId as string) ?? '';
|
const templateId = (route.query.templateId as string) ?? '';
|
const companyId = (route.query.companyId as string) ?? '';
|
const phoneNumber = (route.query.phoneNumber as string) ?? '';
|
const action = Number(route.query.action as string);
|
const bussinessCode = route.query.bussinessCode as string;
|
const isFromShotMessage = !!bussinessCode;
|
console.log('bussinessCode: ', bussinessCode);
|
|
const { data, isLoading } = useQuery({
|
queryKey: ['lgGigWorkerServices/getLgGigWorkerContractUrl'],
|
queryFn: async () => {
|
return await lgGigWorkerServices.getLgGigWorkerContractUrl(
|
{
|
phone: phoneNumber,
|
companyId: companyId,
|
bussinessCode: bussinessCode,
|
},
|
{ showLoading: false }
|
);
|
},
|
placeholderData: () => null as API.GetLgGigWorkerContractUrlOutput,
|
});
|
|
function downloadContract() {
|
if (data.value && data.value.contractUrl) {
|
if (data.value.signChannel === SignChannelEnum.Alipay) {
|
location.href = data.value.contractUrl;
|
} else {
|
downloadFileByUrl(data.value.contractUrl);
|
}
|
}
|
}
|
</script>
|