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 | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 164 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..bb09ee8 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -1,31 +1,183 @@
<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="EnumTaskUserSignContractStatusSignText[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 {
+ EnumElectronSignAccess,
+ EnumTaskUserSignContractStatus,
+ EnumTaskUserSignContractStatusSignText,
+} from '@12333/constants';
+import { format, hiddenPhone, Message, setOSSLink, openDocument } from '@12333/utils';
+import Taro from '@tarojs/taro';
+import _ from 'lodash';
defineOptions({
name: 'InnerPage',
});
-const queryState = reactive({});
+const { userDetail } = useUser();
+const router = Taro.useRouter();
+const options = Taro.getLaunchOptionsSync();
+//鐏靛伐Id
+const id = router.params?.id;
+const code = router.params?.code || options?.query?.scene;
-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 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;
+ }
+ openDocument(setOSSLink(detail?.value?.contractUrl));
+ }
+}
+
+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>
<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