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 |  113 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 78 insertions(+), 35 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index 3c75eca..829b909 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -6,23 +6,11 @@
           <template #content>
             <MineAgreementSignDetailItem
               label="鍗忚缂栧彿"
-              detail="QY1052511040446686047"
+              :detail="detail?.contractCode"
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="鍗忚鐘舵��"
-              detail="鐢熸晥涓�/宸茬粓姝�"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="璧峰鏃堕棿"
-              detail="2024.05.20"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="缁堟鏃堕棿"
-              detail="2025.05.19"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="鍗忚绫诲瀷"
-              detail="鍔冲姩鍚堝悓"
+              :detail="EnumTaskUserSignContractStatusText[detail?.userSignContractStatus]"
             ></MineAgreementSignDetailItem>
           </template>
         </MineAgreementSignDetailCard>
@@ -30,20 +18,19 @@
           <template #content>
             <MineAgreementSignDetailItem
               label="鍛樺伐濮撳悕"
-              detail="闃抽槼"
+              :detail="detail?.name"
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="璇佷欢绫诲瀷"
-              detail="灞呮皯韬唤璇�"
+              :detail="detail?.identityType"
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="璇佷欢鍙风爜"
-              detail="622429199105261913"
+              :detail="detail?.identity"
             ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem label="宀椾綅" detail="淇濇磥"></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="绛剧害鏃堕棿"
-              detail="2024.05.20"
+              :detail="format(detail?.userSignContractTime, 'YYYY-MM-DD')"
             ></MineAgreementSignDetailItem>
           </template>
         </MineAgreementSignDetailCard>
@@ -51,15 +38,15 @@
           <template #content>
             <MineAgreementSignDetailItem
               label="涓讳綋绫诲瀷"
-              detail="鍏徃"
+              :detail="detail?.enterpriseType"
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="绛剧害涓讳綋"
-              detail="瀹佹尝浜哄姏鏃犲咖浜哄姏璧勬簮"
+              :detail="detail?.enterpriseName"
             ></MineAgreementSignDetailItem>
             <MineAgreementSignDetailItem
               label="绛剧害鏃堕棿"
-              detail="2024.05.20"
+              :detail="format(detail?.enterpriseSignContractTime, 'YYYY-MM-DD')"
             ></MineAgreementSignDetailItem>
           </template>
         </MineAgreementSignDetailCard>
@@ -67,47 +54,103 @@
           <template #content>
             <MineAgreementSignDetailItem label="鍗忚鍐呭">
               <template #detail>
-                <div class="detail-card-btn">鏌ョ湅鍗忚</div>
+                <div class="detail-card-btn" @click="checkAgreement">鏌ョ湅鍗忚</div>
               </template>
             </MineAgreementSignDetailItem>
           </template>
         </MineAgreementSignDetailCard>
       </div>
     </ContentScrollView>
-    <PageFooter>
+    <PageFooter v-if="detail?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait">
       <PageFooterBtn type="primary" @click="goToSign">鍘荤绾�</PageFooterBtn>
     </PageFooter>
   </LoadingLayout>
 </template>
 
 <script setup lang="ts">
-import { useUserStore } from '@/stores/modules/user';
+import { useQuery } from '@tanstack/vue-query';
 import MineAgreementSignDetailCard from './MineAgreementSignDetailCard.vue';
 import MineAgreementSignDetailItem from './MineAgreementSignDetailItem.vue';
+import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
+import {
+  EnumTaskUserSignContractStatus,
+  EnumTaskUserSignContractStatusText,
+} from '@12333/constants';
+import { format, Message } from '@12333/utils';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const queryState = reactive({});
+const { userDetail } = useUser();
+const router = Taro.useRouter();
+const id = router.params?.id;
+const code = router.params?.code;
 
-const userStore = useUserStore();
+const {
+  isLoading,
+  isError,
+  data: detail,
+  refetch,
+} = useQuery({
+  queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSign', id, code],
+  queryFn: async () => {
+    return await enterpriseEmployeeServices.getPersonalUserElectronSign(
+      { id: id, code: code },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  placeholderData: () => ({} as API.GetPersonalUserElectronSignQueryResult),
+  onSuccess(data) {
+    // if (data.isExistTradeChatRecord) setTrue();
+  },
+});
 
-function goToSign() {}
+function checkAgreement() {
+  if (detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
+    goToSign();
+  } else {
+    const encodedUrl = encodeURIComponent(detail?.value?.contractUrl);
+    Taro.navigateTo({
+      url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`,
+    });
+  }
+}
+
+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">
 @import '@/styles/common.scss';
 
-.mine-agreement-sign-detail {
-  padding: 20px 28px 0;
+.mineAgreementSignDetail-page-wrapper {
+  .mine-agreement-sign-detail {
+    padding: 20px 28px 0;
 
-  .mine-agreement-sign-detail-card {
-    margin-bottom: 24px;
+    .mine-agreement-sign-detail-card {
+      margin-bottom: 24px;
+    }
   }
-}
 
-.detail-card-btn {
-  color: boleGetCssVar('color', 'primary');
+  .detail-card-btn {
+    color: boleGetCssVar('color', 'primary');
+  }
 }
 </style>

--
Gitblit v1.9.1