From 891a1ad22fdca6bf9ea2433377afd2a0e438c72f Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 24 十月 2025 15:48:18 +0800
Subject: [PATCH] fix: bug

---
 apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue |   89 +++++++++++++++++++++++---------------------
 1 files changed, 47 insertions(+), 42 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index f573cc8..3cc9d01 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -62,7 +62,7 @@
       </div>
     </ContentScrollView>
     <PageFooter v-if="detail?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait">
-      <PageFooterBtn type="primary" @click="goToSign">鍘荤绾�</PageFooterBtn>
+      <PageFooterBtn type="primary" @click="goToSign" :loading="btnLoading">鍘荤绾�</PageFooterBtn>
     </PageFooter>
   </LoadingLayout>
 </template>
@@ -91,6 +91,7 @@
 //鐏靛伐Id
 const id = router.params?.id;
 const code = router.params?.code || options?.query?.scene;
+const btnLoading = ref(false);
 
 const {
   isLoading,
@@ -113,52 +114,56 @@
   },
 });
 
-function checkAgreement() {
-  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;
+async function checkAgreement() {
+  try {
+    const res = await refetch();
+    if (res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
+      goToSign();
     }
-    openDocument(setOSSLink(detail?.value?.contractUrl));
-  }
+    if (
+      res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Stop ||
+      res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
+    ) {
+      if (!res?.data?.contractUrl) {
+        Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯');
+        return;
+      }
+      openDocument(setOSSLink(res?.data?.contractUrl));
+    }
+  } catch (error) {}
 }
 
-const goToSign = _.debounce(
-  useAccessReal(async () => {
-    try {
-      let params: API.PersonalUserElectronSignCommand = {
-        id: detail.value?.id,
-        returnUrl: `${RouterPath.mineAgreementSignDetail}?id=${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}` });
+const goToSign = useAccessReal(async () => {
+  try {
+    btnLoading.value = true;
+    let params: API.PersonalUserElectronSignCommand = {
+      id: detail.value?.id,
+      returnUrl: `${RouterPath.mineAgreementSignDetail}?id=${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.redirectTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
       }
-    } catch (error) {}
-  }),
-  1000,
-  { leading: true, trailing: true }
-);
+    } else {
+      btnLoading.value = false;
+    }
+  } catch (error) {
+    btnLoading.value = false;
+  }
+});
 
 Taro.useDidShow(() => {
   refetch();

--
Gitblit v1.9.1