From cfa7283b1d47334b648493270c88d609b956ee11 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 01 九月 2025 15:17:27 +0800
Subject: [PATCH] feat: 签约

---
 apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 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..9ba9ed2 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -73,16 +73,18 @@
 import MineAgreementSignDetailItem from './MineAgreementSignDetailItem.vue';
 import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
 import {
+  EnumElectronSignAccess,
   EnumTaskUserSignContractStatus,
   EnumTaskUserSignContractStatusText,
 } from '@12333/constants';
-import { format } from '@12333/utils';
+import { format, hiddenPhone, Message, setOSSLink } 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 +95,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 +111,45 @@
 });
 
 function checkAgreement() {
-  const encodedUrl = encodeURIComponent(detail?.value?.contractUrl);
-  Taro.navigateTo({
-    url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`,
-  });
+  if (detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
+    goToSign();
+  }
+  if (
+    detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Stop ||
+    detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
+  ) {
+    const encodedUrl = encodeURIComponent(setOSSLink(detail?.value?.contractUrl));
+    Taro.navigateTo({
+      url: `${RouterPath.mineAgreementSignExtraPage}?url=${encodedUrl}`,
+    });
+  }
 }
 
-const goToSign = useAccessReal(() => {});
+const goToSign = useAccessReal(async () => {
+  try {
+    // if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.BestSign) {
+    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}` });
+    }
+    // }
+    // if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.AlipaySign) {
+    //   Message.confirm({
+    //     message: `绛剧害鐭俊宸插彂閫佽嚦鎮�${hiddenPhone(
+    //       detail.value?.contactPhoneNumber
+    //     )}鐨勬墜鏈猴紝璇峰強鏃舵煡鐪嬪苟绛剧害`,
+    //     showCancelBtn: false,
+    //   });
+    // }
+  } catch (error) {}
+});
+Taro.useDidShow(() => {
+  refetch();
+});
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1