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