| 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
 | | <template> |  |   <ProTableV2 |  |     v-bind="proTableProps" |  |     :columns="column" |  |     :show-operation-column="false" |  |     :auto-height="false" |  |     :table-props="{ |  |       height: '400px', |  |     }" |  |   > |  |     <template #contractUrl="{ row }"> |  |       <PreviewBtn |  |         v-if="row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass && row.contractUrl" |  |         :show-download-btn="false" |  |         :url="setOSSLink(row.contractUrl)" |  |       > |  |       </PreviewBtn> |  |     </template> |  |   </ProTableV2> |  | </template> |  |   |  | <script setup lang="ts"> |  | import { useTable, ProTableV2, defineColumns } from '@bole-core/components'; |  | import { setOSSLink } from '@/utils'; |  | import { |  |   EnumTaskUserSignContractStatus, |  |   EnumTaskUserHireStatusText, |  |   EnumTaskUserSignContractStatusText, |  | } from '@/constants'; |  | import * as userServices from '@/services/api/user'; |  |   |  | defineOptions({ |  |   name: 'SignDetailView', |  | }); |  |   |  | type Form = { |  |   id: string; |  | }; |  |   |  | const form = defineModel<Form>('form'); |  |   |  | const isLoading = ref(false); |  |   |  | const column = defineColumns([ |  |   { |  |     id: '1', |  |     enCode: 'enterpriseName', |  |     name: '所属客户', |  |   }, |  |   { |  |     id: '2', |  |     enCode: 'applyTime', |  |     name: '报名时间', |  |   }, |  |   { |  |     id: '3', |  |     enCode: 'hireStatus', |  |     name: '录用状态', |  |   }, |  |   { |  |     id: '4', |  |     enCode: 'hireTime', |  |     name: '录用时间', |  |   }, |  |   { |  |     id: '5', |  |     enCode: 'userSignContractStatus', |  |     name: '签约状态', |  |   }, |  |   { |  |     id: '6', |  |     enCode: 'enterpriseSignContractStatus', |  |     name: '企业签约状态', |  |   }, |  |   { |  |     id: '7', |  |     enCode: 'enterpriseSignContractTime', |  |     name: '企业签约时间', |  |   }, |  |   { |  |     id: '8', |  |     enCode: 'contractUrl', |  |     name: '电子合同', |  |   }, |  | ]); |  |   |  | const { |  |   getDataSource: getList, |  |   proTableProps, |  |   paginationState, |  |   extraParamState, |  | } = useTable( |  |   async ({ pageIndex, pageSize }, extraParamState) => { |  |     try { |  |       let params: API.GetPersonalUserInfoSignContractsQuery = { |  |         pageModel: { |  |           rows: pageSize, |  |           page: pageIndex, |  |           orderInput: extraParamState.orderInput, |  |         }, |  |         id: form.value.id, |  |       }; |  |       let res = await userServices.getPersonalUserInfoSignContracts(params); |  |       return res; |  |     } catch (error) {} |  |   }, |  |   { |  |     defaultExtraParams: { |  |       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |  |     }, |  |     columnsRenderProps: { |  |       applyTime: { type: 'date' }, |  |       hireTime: { type: 'date' }, |  |       enterpriseSignContractTime: { type: 'date' }, |  |       hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, |  |       userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText }, |  |       enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText }, |  |     }, |  |   } |  | ); |  |   |  | onMounted(async () => { |  |   isLoading.value = true; |  |   await getList(); |  |   isLoading.value = false; |  | }); |  | </script> | 
 |