| | |
| | | </QueryFilterItem> |
| | | </template> |
| | | <template #btn> |
| | | <el-button |
| | | @click="handleDownloadOccupationType()" |
| | | type="primary" |
| | | style="margin-right: 10px" |
| | | link |
| | | >职业类型对照表</el-button |
| | | > |
| | | <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link |
| | | >模板下载</el-button |
| | | > |
| | |
| | | class="box-item" |
| | | effect="dark" |
| | | :content="row.auditRemark" |
| | | placement="top-start" |
| | | v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject" |
| | | placement="top" |
| | | v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark" |
| | | popper-class="max-width-popper" |
| | | > |
| | | <div style="display: inline-flex; align-items: center"> |
| | | <div style="display: inline-flex; align-items: center; color: inherit"> |
| | | {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }} |
| | | <el-icon size="16" color="#3a71ff"><QuestionFilled /></el-icon> |
| | | </div> |
| | | </el-tooltip> |
| | | <el-text v-else> |
| | | <el-text v-else style="color: inherit"> |
| | | {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }} |
| | | </el-text> |
| | | </template> |
| | |
| | | </AppContainer> |
| | | <UploadInsurePersonDialog v-bind="dialogProps" /> |
| | | <UploadStampFileDialog v-bind="dialogStampFileProps" /> |
| | | <InsureInstructionsDialog v-bind="dialogInstructionsProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | SearchInput, |
| | | FieldRadio, |
| | | XLSXUtils, |
| | | useDialog, |
| | | } from '@bole-core/components'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import { Message, OrderInputType, downloadFileByUrl } from '@bole-core/core'; |
| | |
| | | InsurancePolicyAuditStatusEnumText, |
| | | InsurancePolicyAuditStatusEnum, |
| | | InsurancePolicyProductIdNumberEnum, |
| | | InsurancePolicyListPayStatusEnum, |
| | | InsurancePolicyListPayStatusEnumText, |
| | | InsuranceOccupationTypeTempPath, |
| | | } from '@/constants'; |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | | import InsureInstructionsDialog from './components/InsureInstructionsDialog.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'Home', |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.productIdNumber === InsurancePolicyProductIdNumberEnum.SJB || |
| | | row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.productIdNumber === InsurancePolicyProductIdNumberEnum.SJB || |
| | | row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass || |
| | | row.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | |
| | | onClick: (role) => handleDownloadInsureFile(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => !row.insureBillUrl, |
| | | hide: (row: API.GetInsurancePageOutput) => row.productOnline || !row.insureBillUrl, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'payBtn', |
| | | name: '支付', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handlePay(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.payStatus != InsurancePolicyListPayStatusEnum.WaitPay, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'stampFilesBtn', |
| | | name: '保单下载', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleGoStampFiles(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'downloadInvoiceBtn', |
| | | name: '发票下载', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleGoDownloadInvoice(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete), |
| | | }, |
| | | }, |
| | | |
| | | // { |
| | | // data: { |
| | | // enCode: 'standarEndoBtn', |
| | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | handleOpenInstructions(); |
| | | }); |
| | | |
| | | const { |
| | |
| | | formatter: (row: API.GetInsurancePageOutput) => |
| | | row.amount == null ? '' : toThousand(row.amount), |
| | | }, |
| | | payStatus: { type: 'enum', valueEnum: InsurancePolicyListPayStatusEnumText }, |
| | | }, |
| | | } |
| | | ); |
| | |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog(); |
| | | |
| | | function handleOpenInstructions() { |
| | | dialogInstructionsState.dialogVisible = true; |
| | | } |
| | | |
| | | function handleUpload() { |
| | | handleAdd({ |
| | | serialNum: `${dayjs().format('YYYYMMDD')}${_.random(0, 9999).toString().padStart(4, '0')}`, |
| | |
| | | downloadFile(res.data, `在保人员导出`, 'xlsx'); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownloadOccupationType() { |
| | | downloadFileByUrl(InsuranceOccupationTypeTempPath, '职业类型对照表'); |
| | | } |
| | | |
| | | function handleDownload() { |
| | |
| | | // } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleGoStampFiles(row: API.GetInsurancePageOutput) { |
| | | try { |
| | | router.push({ |
| | | name: 'InsurancePolicyStampFiles', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handlePay(row: API.GetInsurancePageOutput) { |
| | | router.push({ |
| | | name: 'InsurePayDetail', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | async function handleGoDownloadInvoice(row: API.GetInsurancePageOutput) { |
| | | try { |
| | | await insuranceOrderServices.getInvoiceId({ id: row.id }); |
| | | router.push({ |
| | | name: 'InsureDownloadInvoice', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | </script> |