wupengfei
18 小时以前 08740aaf0861ee8c11a8bf6a97a1219f7d198043
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<template>
  <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 { 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 router = Taro.useRouter();
const id = router.params?.id;
const code = router.params?.code;
 
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';
 
.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>