| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.auditStatus" |
| | | :value-enum="InsurancePolicyAuditStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="InsurancePolicyStatusEnumText" |
| | | buttonStyle |
| | |
| | | <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link |
| | | >模板下载</el-button |
| | | > |
| | | |
| | | <el-button @click="handleUpload()" type="primary" style="margin-right: 10px" |
| | | >导入</el-button |
| | | >导入投保人员</el-button |
| | | > |
| | | |
| | | <!-- <el-button |
| | | v-if="AppType === 'jx'" |
| | | @click="handleUpload()" |
| | | type="primary" |
| | | style="margin-right: 10px" |
| | | >大批量数据导入</el-button |
| | | > --> |
| | | <el-button @click="getInsurancePageExport()" type="primary" link>导出保单列表</el-button> |
| | | <el-button @click="getInsuranceStaffPageExport()" type="primary" link |
| | | >导出在保人员</el-button |
| | |
| | | rowKey: 'id', |
| | | }" |
| | | > |
| | | <template #auditStatus="{ row }"> |
| | | <el-tooltip |
| | | class="box-item" |
| | | effect="dark" |
| | | :content="row.auditRemark" |
| | | placement="top-start" |
| | | v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark" |
| | | popper-class="max-width-popper" |
| | | > |
| | | <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 style="color: inherit"> |
| | | {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }} |
| | | </el-text> |
| | | </template> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <UploadInsurePersonDialog v-bind="dialogProps" /> |
| | |
| | | insuranceTypeText, |
| | | InsurancePolicyStatusEnumText, |
| | | InsurancePolicyStatusEnum, |
| | | AppType, |
| | | InsurancePolicyAuditStatusEnumText, |
| | | InsurancePolicyAuditStatusEnum, |
| | | InsurancePolicyProductIdNumberEnum, |
| | | InsurancePolicyListPayStatusEnum, |
| | | InsurancePolicyListPayStatusEnumText, |
| | | } from '@/constants'; |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | |
| | | onClick: (role) => handleBatch(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass || |
| | | row.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | |
| | | onClick: (role) => handleDownloadInsureFile(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.status === InsurancePolicyStatusEnum.WaitEffect, |
| | | 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', |
| | | // name: '申请退保', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (role) => handleStandarEndo(role), |
| | | // }, |
| | | // }, |
| | | ]).filter(Boolean); |
| | | |
| | | const BaseState = { |
| | |
| | | creationDate: [] as unknown as ModelValueType, |
| | | condition: '', |
| | | status: '' as any as InsurancePolicyStatusEnum, |
| | | auditStatus: '' as any as InsurancePolicyAuditStatusEnum, |
| | | insurancePeriod: '', |
| | | }, |
| | | columnsRenderProps: { |
| | |
| | | formatter: (row: API.GetInsurancePageOutput) => |
| | | row.amount == null ? '' : toThousand(row.amount), |
| | | }, |
| | | payStatus: { type: 'enum', valueEnum: InsurancePolicyListPayStatusEnumText }, |
| | | }, |
| | | } |
| | | ); |
| | |
| | | condition: extraParamState.condition, |
| | | insurancePeriod: extraParamState.insurancePeriod, |
| | | status: extraParamState.status, |
| | | auditStatus: extraParamState.auditStatus, |
| | | }; |
| | | return params; |
| | | } |
| | |
| | | defaultFormParams: { |
| | | serialNum: '', |
| | | url: [] as UploadUserFile[], |
| | | productIdNumber: '', |
| | | productSchemeIdNumber: '', |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | |
| | | let params: API.APIimportInsStaffToListParams = { |
| | | serialNum: editForm.serialNum, |
| | | url: editForm.url?.[0]?.path, |
| | | productIdNumber: editForm.productIdNumber, |
| | | productSchemeIdNumber: editForm.productSchemeIdNumber, |
| | | }; |
| | | let res = await insuranceOrderServices.importInsStaffToList(params); |
| | | if (res.length > 0) { |
| | |
| | | }); |
| | | } |
| | | function handleBatch(row: API.GetInsurancePageOutput) { |
| | | if ( |
| | | dayjs(row.effectEndTime).isBefore(dayjs()) || |
| | | dayjs(row.effectEndTime).isSame(dayjs(), 'day') |
| | | ) { |
| | | Message.errorMessage('保险今天到期,无法批改'); |
| | | return; |
| | | } |
| | | router.push({ |
| | | name: 'BatchChange', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | query: { |
| | | insurerName: row.insurerName ?? '', |
| | | insureBillNo: row.insureBillNo ?? '', |
| | | effectEndTime: row.effectEndTime ?? '', |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | async function handleStandarEndo(row: API.GetInsurancePageOutput) { |
| | | try { |
| | | await Message.deleteMessage('是否申请退保?'); |
| | | let params = { |
| | | id: row.id, |
| | | }; |
| | | // let res = await userServices.deleteRole(params); |
| | | // if (res) { |
| | | // Message.successMessage('操作成功'); |
| | | // getList(paginationState.pageIndex); |
| | | // } |
| | | } 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> |