| | |
| | | getSaleQuotationPage, |
| | | } from '#/api/crm/saleQuotation'; |
| | | import { $t } from '#/locales'; |
| | | import { downloadContractWord } from '#/utils/contract-document'; |
| | | |
| | | import type { CrmSaleQuotationAiApi } from '#/api/crm/saleQuotation/ai'; |
| | | |
| | |
| | | async onOk() { |
| | | const contractId = await convertSaleQuotationToContract(row.id!); |
| | | message.success('转合同成功'); |
| | | gridApi.query(); |
| | | try { |
| | | await downloadContractWord(contractId); |
| | | } catch { |
| | | message.warning('合同已创建,文件下载失败,可在合同详情中重新下载'); |
| | | } |
| | | push({ name: 'CrmContractDetail', params: { id: contractId } }); |
| | | }, |
| | | }); |
| | |
| | | ifShow: !!row.contractId, |
| | | }, |
| | | { |
| | | label: '下载合同', |
| | | type: 'link', |
| | | auth: ['crm:contract:query'], |
| | | onClick: () => downloadContractWord(row.contractId!, row.contractNo), |
| | | ifShow: !!row.contractId, |
| | | }, |
| | | { |
| | | label: $t('common.delete'), |
| | | type: 'link', |
| | | danger: true, |
| | |
| | | </template> |
| | | </Grid> |
| | | </Page> |
| | | </template> |
| | | </template> |