From 4533218fcd5a0bd03a36624de1fb4f21efff9f40 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 10:40:30 +0800
Subject: [PATCH] fix: bug

---
 apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue |   72 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index 2d3090e..bb09ee8 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -10,7 +10,7 @@
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="鍗忚鐘舵��"
-              :detail="EnumTaskUserSignContractStatusText[detail?.userSignContractStatus]"
+              :detail="EnumTaskUserSignContractStatusSignText[detail?.userSignContractStatus]"
             ></MineAgreementSignDetailItem>
           </template>
         </MineAgreementSignDetailCard>
@@ -73,11 +73,13 @@
 import MineAgreementSignDetailItem from './MineAgreementSignDetailItem.vue';
 import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
 import {
+  EnumElectronSignAccess,
   EnumTaskUserSignContractStatus,
-  EnumTaskUserSignContractStatusText,
+  EnumTaskUserSignContractStatusSignText,
 } from '@12333/constants';
-import { format } from '@12333/utils';
+import { format, hiddenPhone, Message, setOSSLink, openDocument } from '@12333/utils';
 import Taro from '@tarojs/taro';
+import _ from 'lodash';
 
 defineOptions({
   name: 'InnerPage',
@@ -85,8 +87,10 @@
 
 const { userDetail } = useUser();
 const router = Taro.useRouter();
+const options = Taro.getLaunchOptionsSync();
+//鐏靛伐Id
 const id = router.params?.id;
-const code = router.params?.code;
+const code = router.params?.code || options?.query?.scene;
 
 const {
   isLoading,
@@ -110,23 +114,53 @@
 });
 
 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
+  ) {
+    if (!detail?.value?.contractUrl) {
+      Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯');
+      return;
+    }
+    openDocument(setOSSLink(detail?.value?.contractUrl));
+  }
 }
 
-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.extraPage}?url=${encodedUrl}` });
-    }
-  } catch (error) {}
+const goToSign = _.debounce(
+  useAccessReal(async () => {
+    try {
+      let params: API.PersonalUserElectronSignCommand = {
+        id: detail.value?.id,
+      };
+      let res = await enterpriseEmployeeServices.personalUserElectronSign(params);
+      if (res) {
+        if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.AlipaySign) {
+          try {
+            await Message.confirm({
+              message: `绛剧害鐭俊宸插彂閫佽嚦鎮�${hiddenPhone(
+                detail.value?.contactPhoneNumber
+              )}鐨勬墜鏈猴紝璇峰強鏃舵煡鐪嬪苟绛剧害`,
+              cancelText: '鏈敹鍒扮煭淇�',
+            });
+          } catch (error) {
+            goToSign();
+          }
+        } else {
+          const encodedUrl = encodeURIComponent(res.signContractLongUrl);
+          Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
+        }
+      }
+    } catch (error) {}
+  }),
+  1000,
+  { leading: true, trailing: true }
+);
+
+Taro.useDidShow(() => {
+  refetch();
 });
 </script>
 

--
Gitblit v1.9.1