From 157ccc5dd9df9358f62a2f753668f21bec1c90ee Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 29 八月 2025 16:47:32 +0800 Subject: [PATCH] feat: 签约 --- apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 33 ++++++++++++++++++++++++++------- 1 files changed, 26 insertions(+), 7 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue index 38af6bf..829b909 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue @@ -76,13 +76,14 @@ EnumTaskUserSignContractStatus, EnumTaskUserSignContractStatusText, } from '@12333/constants'; -import { format } from '@12333/utils'; +import { format, Message } from '@12333/utils'; import Taro from '@tarojs/taro'; defineOptions({ name: 'InnerPage', }); +const { userDetail } = useUser(); const router = Taro.useRouter(); const id = router.params?.id; const code = router.params?.code; @@ -93,7 +94,7 @@ data: detail, refetch, } = useQuery({ - queryKey: ['enterpriseEmployeeServices/getTaskInfo', id, code], + queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSign', id, code], queryFn: async () => { return await enterpriseEmployeeServices.getPersonalUserElectronSign( { id: id, code: code }, @@ -109,13 +110,31 @@ }); function checkAgreement() { - const encodedUrl = encodeURIComponent(detail?.value?.contractUrl); - Taro.navigateTo({ - url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`, - }); + if (detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) { + goToSign(); + } else { + const encodedUrl = encodeURIComponent(detail?.value?.contractUrl); + Taro.navigateTo({ + url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`, + }); + } } -const goToSign = useAccessReal(() => {}); +const goToSign = useAccessReal(async () => { + try { + let params: API.PersonalUserElectronSignCommand = { + id: id, + }; + let res = await enterpriseEmployeeServices.personalUserElectronSign(params); + if (res) { + const encodedUrl = encodeURIComponent(res.signContractLongUrl); + Taro.navigateTo({ url: `${RouterPath.mineAgreementSignExtraPage}?url=${encodedUrl}` }); + } + } catch (error) {} +}); +Taro.useDidShow(() => { + refetch(); +}); </script> <style lang="scss"> -- Gitblit v1.9.1