From 08740aaf0861ee8c11a8bf6a97a1219f7d198043 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 25 八月 2025 09:39:08 +0800
Subject: [PATCH] feat: 签约

---
 apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue |  130 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 118 insertions(+), 12 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index ab8732f..38af6bf 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -1,31 +1,137 @@
 <template>
-  <div class="mine-agreement-sign-detail">
-    <MineAgreementSignDetailCard title="鍩烘湰淇℃伅">
-      <template #content>
-        <MineAgreementSignDetailItem></MineAgreementSignDetailItem>
-      </template>
-    </MineAgreementSignDetailCard>
-  </div>
+  <LoadingLayout>
+    <ContentScrollView :paddingH="false" style="background-color: transparent">
+      <div class="mine-agreement-sign-detail">
+        <MineAgreementSignDetailCard title="鍩烘湰淇℃伅">
+          <template #content>
+            <MineAgreementSignDetailItem
+              label="鍗忚缂栧彿"
+              :detail="detail?.contractCode"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="鍗忚鐘舵��"
+              :detail="EnumTaskUserSignContractStatusText[detail?.userSignContractStatus]"
+            ></MineAgreementSignDetailItem>
+          </template>
+        </MineAgreementSignDetailCard>
+        <MineAgreementSignDetailCard title="绛剧害鏂逛俊鎭� - 鍛樺伐">
+          <template #content>
+            <MineAgreementSignDetailItem
+              label="鍛樺伐濮撳悕"
+              :detail="detail?.name"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="璇佷欢绫诲瀷"
+              :detail="detail?.identityType"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="璇佷欢鍙风爜"
+              :detail="detail?.identity"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="绛剧害鏃堕棿"
+              :detail="format(detail?.userSignContractTime, 'YYYY-MM-DD')"
+            ></MineAgreementSignDetailItem>
+          </template>
+        </MineAgreementSignDetailCard>
+        <MineAgreementSignDetailCard title="绛剧害鏂逛俊鎭� - 鍏徃涓讳綋">
+          <template #content>
+            <MineAgreementSignDetailItem
+              label="涓讳綋绫诲瀷"
+              :detail="detail?.enterpriseType"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="绛剧害涓讳綋"
+              :detail="detail?.enterpriseName"
+            ></MineAgreementSignDetailItem>
+            <MineAgreementSignDetailItem
+              label="绛剧害鏃堕棿"
+              :detail="format(detail?.enterpriseSignContractTime, 'YYYY-MM-DD')"
+            ></MineAgreementSignDetailItem>
+          </template>
+        </MineAgreementSignDetailCard>
+        <MineAgreementSignDetailCard title="绛剧害鍐呭">
+          <template #content>
+            <MineAgreementSignDetailItem label="鍗忚鍐呭">
+              <template #detail>
+                <div class="detail-card-btn" @click="checkAgreement">鏌ョ湅鍗忚</div>
+              </template>
+            </MineAgreementSignDetailItem>
+          </template>
+        </MineAgreementSignDetailCard>
+      </div>
+    </ContentScrollView>
+    <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 } from '@12333/utils';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const queryState = reactive({});
+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/getTaskInfo', 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 checkAgreement() {
+  const encodedUrl = encodeURIComponent(detail?.value?.contractUrl);
+  Taro.navigateTo({
+    url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`,
+  });
+}
+
+const goToSign = useAccessReal(() => {});
 </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;
+    }
+  }
+
+  .detail-card-btn {
+    color: boleGetCssVar('color', 'primary');
+  }
 }
 </style>

--
Gitblit v1.9.1