| | |
| | | <el-button |
| | | type="primary" |
| | | link |
| | | @click="handleGoStampFiles" |
| | | @click="handleGoStampFiles(id)" |
| | | v-if="detail.productOnline && detail.anyPayComplete" |
| | | >详情</el-button |
| | | > |
| | |
| | | </ProForm> |
| | | </ChunkCell> |
| | | <ChunkCell title="人员信息" class="full-table-chunk"> |
| | | <template #titleRight v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect"> |
| | | <template |
| | | #titleRight |
| | | v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect && !detail.productOnline" |
| | | > |
| | | <el-button type="primary" @click="handleBatchChange">批改申请</el-button> |
| | | </template> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | |
| | | </template> |
| | | <template #btn> |
| | | <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect"> |
| | | <el-button @click="handleTemplateDownload()" link type="primary">模板下载</el-button> |
| | | <BlFileUpload |
| | | v-if="detail.auditStatus !== InsurancePolicyAuditStatusEnum.Pass" |
| | | :limitFileSize="10" |
| | | accept="xls,xlsx" |
| | | :showTip="false" |
| | | :show-file-list="false" |
| | | :on-success="handleUploadSuccess" |
| | | style="margin-right: 10px; margin-left: 10px" |
| | | > |
| | | <template #default> |
| | | <el-button icon="Plus" type="primary">导入</el-button> |
| | | </template> |
| | | </BlFileUpload> |
| | | <el-button @click="handleClear()" type="primary">清空数据</el-button> |
| | | <template v-if="!detail.productOnline"> |
| | | <el-button @click="handleTemplateDownload()" link type="primary" |
| | | >模板下载</el-button |
| | | > |
| | | <BlFileUpload |
| | | v-if="detail.auditStatus !== InsurancePolicyAuditStatusEnum.Pass" |
| | | :limitFileSize="10" |
| | | accept="xls,xlsx" |
| | | :showTip="false" |
| | | :show-file-list="false" |
| | | :on-success="handleUploadSuccess" |
| | | style="margin-right: 10px; margin-left: 10px" |
| | | > |
| | | <template #default> |
| | | <el-button icon="Plus" type="primary">导入</el-button> |
| | | </template> |
| | | </BlFileUpload> |
| | | <el-button @click="handleClear()" type="primary">清空数据</el-button> |
| | | </template> |
| | | </template> |
| | | <template v-else> |
| | | <el-button @click="handleDownloadPerson()" type="primary">下载人员清单</el-button> |
| | | <template v-if="detail.productOnline"> |
| | | <el-button v-if="detail.anyPayComplete" @click="handleGoStampFiles()" type="primary" |
| | | >下载保单</el-button |
| | | <el-button @click="handleExport(InsuranceDetailStatusEnum.Effecting)" type="primary" |
| | | >导出在保人员</el-button |
| | | > |
| | | <el-button @click="handleExport(InsuranceDetailStatusEnum.Fail)" type="primary" |
| | | >导出错误人员</el-button |
| | | > |
| | | <el-button @click="handleGoStampFiles(id)" type="primary">下载保单</el-button> |
| | | <el-button @click="handleGoDownloadInvoice(id)" type="primary">下载发票</el-button> |
| | | </template> |
| | | <el-button v-else @click="handleDownloadOrder()" type="primary">下载保单</el-button> |
| | | <template v-else> |
| | | <el-button @click="handleExport(null)" type="primary">下载人员清单</el-button> |
| | | <el-button @click="handleDownloadOrder()" type="primary">下载保单</el-button> |
| | | </template> |
| | | </template> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | |
| | | InsurancePolicyStatusEnum, |
| | | InsurancePolicyStatusEnumText, |
| | | InsurancePolicyAuditStatusEnum, |
| | | InsuranceDetailStatusEnumText, |
| | | InsuranceDetailStatusEnum, |
| | | } from '@/constants'; |
| | | import ChangePersonInfoDialog from './ChangePersonInfoDialog.vue'; |
| | | import InsureClaimDetailDialog from './InsureClaimDetailDialog.vue'; |
| | |
| | | import { downloadFile, downloadFileByUrl, Message, OrderInputType } from '@bole-core/core'; |
| | | import { setOSSLink } from '@/utils'; |
| | | import dayjs from 'dayjs'; |
| | | import { useInsureActions } from '@/hooks'; |
| | | |
| | | defineOptions({ |
| | | name: 'InsureOrderInfoView', |
| | |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '101', |
| | | enCode: 'payOrder', |
| | | name: '批次号', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '102', |
| | | enCode: 'status', |
| | | name: '投保状态', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '103', |
| | | enCode: 'auditRemark', |
| | | name: '备注', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '11', |
| | | enCode: 'claimCount', |
| | | name: '理赔', |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsuranceStaffPageTemplate) => |
| | | detail.value?.productOnline || |
| | | detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect || |
| | | detail.value?.auditStatus === InsurancePolicyAuditStatusEnum.Pass, |
| | | }, |
| | |
| | | keyWord: '', |
| | | orderInput: [{ property: 'id', order: OrderInputType.Asc }], |
| | | }, |
| | | columnsRenderProps: {}, |
| | | columnsRenderProps: { |
| | | status: { |
| | | type: 'enum', |
| | | valueEnum: InsuranceDetailStatusEnumText, |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleDownloadPerson() { |
| | | try { |
| | | if (paginationState.total === 0) { |
| | | Message.warnMessage('没有数据可以导出哦~'); |
| | | return; |
| | | } |
| | | let res = await insuranceOrderServices.getInsuranceStaffListExport( |
| | | { id: id }, |
| | | { |
| | | responseType: 'blob', |
| | | getResponse: true, |
| | | } |
| | | ); |
| | | if (res) { |
| | | downloadFile(res.data, `人员清单`, 'xlsx'); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | function handleDownloadOrder() { |
| | | downloadFileByUrl(setOSSLink(detail.value?.insureBillUrl)); |
| | | } |
| | | |
| | | function handleGoStampFiles() { |
| | | router.push({ |
| | | name: 'InsurancePolicyStampFiles', |
| | | params: { |
| | | id: id, |
| | | }, |
| | | }); |
| | | } |
| | | const { handleGoDownloadInvoice, handleGoStampFiles } = useInsureActions(); |
| | | |
| | | function handleBatchChange() { |
| | | if ( |
| | |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleExport(status: InsuranceDetailStatusEnum) { |
| | | try { |
| | | if (paginationState.total === 0) { |
| | | Message.warnMessage('没有数据可以导出哦~'); |
| | | return; |
| | | } |
| | | let res = await insuranceOrderServices.getInsuranceStaffListExport( |
| | | { insurancePolicyId: id, status: status }, |
| | | { |
| | | responseType: 'blob', |
| | | getResponse: true, |
| | | } |
| | | ); |
| | | if (res) { |
| | | downloadFile(res.data, `人员清单`, 'xlsx'); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |