|  |  |  | 
|---|
|  |  |  | ProTableV2Props, | 
|---|
|  |  |  | defineOperationBtns, | 
|---|
|  |  |  | } from '@bole-core/components'; | 
|---|
|  |  |  | import { useAccess, useInsurancePolicyPay } from '@/hooks'; | 
|---|
|  |  |  | import { useAccess, useDownloadPolicyFileId, useInsurancePolicyPay } from '@/hooks'; | 
|---|
|  |  |  | import { paginateList, downloadFileByUrl, setOSSLink, downloadFile } from '@/utils'; | 
|---|
|  |  |  | import { InsurancePolicyStampFilesColumns } from './constants'; | 
|---|
|  |  |  | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; | 
|---|
|  |  |  | import { InsurancePolicyPayStatusEnum } from '@/constants'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'InsurancePolicyStampFiles', | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emits: { onClick: (role) => handleDownload(role) }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (row: API.InsurancePolicyPayDto) => !row.policyOssUrl, | 
|---|
|  |  |  | hide: (row: API.InsurancePolicyPayDto) => | 
|---|
|  |  |  | row.status !== InsurancePolicyPayStatusEnum.CompletePay, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]); | 
|---|
|  |  |  | 
|---|
|  |  |  | sumSignPremium: { type: 'money' }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleDownload(row: API.InsurancePolicyPayDto) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (row.policyOssUrl) { | 
|---|
|  |  |  | downloadFileByUrl(setOSSLink(row.policyOssUrl), `保单_${row.channelOrderNo}`); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | let res = await insuranceOrderServices.downloadPolicyFileId({ id: row.id }); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | window.open(res, '_blank'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const { handleDownload } = useDownloadPolicyFileId(); | 
|---|
|  |  |  | </script> | 
|---|