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 |   76 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 12 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index 38af6bf..3cc9d01 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>
@@ -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>
@@ -73,19 +73,25 @@
 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',
 });
 
+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 btnLoading = ref(false);
 
 const {
   isLoading,
@@ -93,7 +99,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 },
@@ -108,14 +114,60 @@
   },
 });
 
-function checkAgreement() {
-  const encodedUrl = encodeURIComponent(detail?.value?.contractUrl);
-  Taro.navigateTo({
-    url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`,
-  });
+async function checkAgreement() {
+  try {
+    const res = await refetch();
+    if (res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
+      goToSign();
+    }
+    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 = useAccessReal(() => {});
+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}` });
+      }
+    } else {
+      btnLoading.value = false;
+    }
+  } catch (error) {
+    btnLoading.value = false;
+  }
+});
+
+Taro.useDidShow(() => {
+  refetch();
+});
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1