| | |
| | | [InsuranceClaimResultEnum.WithdrawCase]: '撤案', |
| | | }; |
| | | |
| | | export enum InsurancePolicyStatusEnum { |
| | | /**未生效 */ |
| | | WaitEffect = 10, |
| | | /**已生效 */ |
| | | Effecting = 20, |
| | | /**已过期 */ |
| | | OutTimeEffect = 30, |
| | | } |
| | | |
| | | export const InsurancePolicyStatusEnumText = { |
| | | [InsurancePolicyStatusEnum.WaitEffect]: '未生效', |
| | | [InsurancePolicyStatusEnum.Effecting]: '已生效', |
| | | [InsurancePolicyStatusEnum.OutTimeEffect]: '已过期', |
| | | }; |
| | | |
| | | export const OnJobFlagEnumText = { |
| | | 增员: '增员', |
| | | 减员: '减员', |
| | | }; |
| | | export const insuranceTypeText = { |
| | | 月保: '月保', |
| | | 年保: '年保', |
| | | '30D': '月保', |
| | | '360D': '年保', |
| | | }; |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 查询批次号状态 GET /api/InsuranceOrder/CheckInrancesSerialNumStatus */ |
| | | export async function checkInrancesSerialNumStatus( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIcheckInrancesSerialNumStatusParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.InsurancePolicyStatusEnum>( |
| | | '/api/InsuranceOrder/CheckInrancesSerialNumStatus', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 保单详情-情况人员数据 GET /api/InsuranceOrder/ClearInsuranceStaffData */ |
| | | export async function clearInsuranceStaffData( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIclearInsuranceStaffDataParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsuranceOrder/ClearInsuranceStaffData', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 删除保单材料 POST /api/InsuranceOrder/DeleteInsuranceOrderMaterial */ |
| | | export async function deleteInsuranceOrderMaterial(body: string, options?: API.RequestConfig) { |
| | | return request<number>('/api/InsuranceOrder/DeleteInsuranceOrderMaterial', { |
| | |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsuranceOrder/ExportInsuranceOrderList', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 根据身份证号和报案日期查询在保信息 POST /api/InsuranceOrder/GetEffectingStaffList */ |
| | | export async function getEffectingStaffList( |
| | | body: API.GetEffectingStaffListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.InsuranceOrderListOutput[]>('/api/InsuranceOrder/GetEffectingStaffList', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 获取投保批次号 GET /api/InsuranceOrder/GetInsuranceOrderSerialNum */ |
| | | export async function getInsuranceOrderSerialNum(options?: API.RequestConfig) { |
| | | return request<string>('/api/InsuranceOrder/GetInsuranceOrderSerialNum', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取投保订单列表 POST /api/InsuranceOrder/GetInsurancePage */ |
| | | export async function getInsurancePage( |
| | | body: API.GetInsurancePageInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetInsurancePageOutputPageOutput>('/api/InsuranceOrder/GetInsurancePage', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 导出投保订单 POST /api/InsuranceOrder/GetInsurancePageExport */ |
| | | export async function getInsurancePageExport( |
| | | body: API.GetInsurancePageInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsuranceOrder/GetInsurancePageExport', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取投保详情基本信息 GET /api/InsuranceOrder/GetInsurancePolicyHeadDto */ |
| | | export async function getInsurancePolicyHeadDto( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetInsurancePolicyHeadDtoParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetInsurancePageOutput>('/api/InsuranceOrder/GetInsurancePolicyHeadDto', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取盖章文件 GET /api/InsuranceOrder/GetInsurancePolicyStampFiles */ |
| | | export async function getInsurancePolicyStampFiles( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetInsurancePolicyStampFilesParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string[]>('/api/InsuranceOrder/GetInsurancePolicyStampFiles', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 查询保单详情下人员列表 POST /api/InsuranceOrder/GetInsuranceStaffList */ |
| | | export async function getInsuranceStaffList( |
| | | body: API.GetInsuranceStaffListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetInsuranceStaffPageTemplatePageOutput>( |
| | | '/api/InsuranceOrder/GetInsuranceStaffList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 保单详情-导入人员清单 GET /api/InsuranceOrder/GetInsuranceStaffListExport */ |
| | | export async function getInsuranceStaffListExport( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetInsuranceStaffListExportParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsuranceOrder/GetInsuranceStaffListExport', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/InsuranceOrder/GetInsuranceStaffPageExport */ |
| | | export async function getInsuranceStaffPageExport( |
| | | body: API.GetInsurancePageInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsuranceOrder/GetInsuranceStaffPageExport', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 投保详情-导入人员 POST /api/InsuranceOrder/ImportInsDetailStaffToList */ |
| | | export async function importInsDetailStaffToList( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIimportInsDetailStaffToListParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.ImportInsStaffAnalysisList[]>( |
| | | '/api/InsuranceOrder/ImportInsDetailStaffToList', |
| | | { |
| | | method: 'POST', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 新增保单导入 POST /api/InsuranceOrder/ImportInsStaffToList */ |
| | | export async function importInsStaffToList( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIimportInsStaffToListParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.ImportInsStaffAnalysisList[]>('/api/InsuranceOrder/ImportInsStaffToList', { |
| | | method: 'POST', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 导入保单数据 POST /api/InsuranceOrder/ImportInsuranceOrderData */ |
| | | export async function importInsuranceOrderData(body: string, options?: API.RequestConfig) { |
| | | return request<any>('/api/InsuranceOrder/ImportInsuranceOrderData', { |
| | |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 修改保单人员信息 POST /api/InsuranceOrder/UpdateInsuranceStaffInfo */ |
| | | export async function updateInsuranceStaffInfo( |
| | | body: API.UpdateInsuranceStaffInfoInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsuranceOrder/UpdateInsuranceStaffInfo', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 上传保单 POST /api/InsuranceOrder/UplaodInsuranceBillFile */ |
| | | export async function uplaodInsuranceBillFile( |
| | | body: API.UplaodInsuranceBillFileInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsuranceOrder/UplaodInsuranceBillFile', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 上传盖章文件 POST /api/InsuranceOrder/UploadInsuranceStampFiles */ |
| | | export async function uploadInsuranceStampFiles( |
| | | body: API.UploadInsuranceStampFilesInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsuranceOrder/UploadInsuranceStampFiles', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
New file |
| | |
| | | /* eslint-disable */ |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** 用户端-提交 新增,修改,删除 批单 POST /api/InsureBatchBill/AddOrUpdateInsureBatchBill */ |
| | | export async function addOrUpdateInsureBatchBill( |
| | | body: API.InsureBatchBillInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsureBatchBill/AddOrUpdateInsureBatchBill', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 运营端-导出批单人员 GET /api/InsureBatchBill/ExportInsuranceBatchStaff */ |
| | | export async function exportInsuranceBatchStaff( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIexportInsuranceBatchStaffParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsureBatchBill/ExportInsuranceBatchStaff', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取运营端-审核批单-审核详情 GET /api/InsureBatchBill/GetBatchDetailForCheck */ |
| | | export async function getBatchDetailForCheck( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetBatchDetailForCheckParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.BatchDetailForCheckDto>('/api/InsureBatchBill/GetBatchDetailForCheck', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取客户端-批单的列表 POST /api/InsureBatchBill/GetInsureBatchBillList */ |
| | | export async function getInsureBatchBillList( |
| | | body: API.GetInsuranceBatchBillInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.InsureBatchBillDtoPageOutput>('/api/InsureBatchBill/GetInsureBatchBillList', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取运营端-审核批单的列表 POST /api/InsureBatchBill/GetInsureBatchBillListForCheck */ |
| | | export async function getInsureBatchBillListForCheck( |
| | | body: API.GetInsuranceBatchBillForCheckInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.InsureBatchBillDtoPageOutput>( |
| | | '/api/InsureBatchBill/GetInsureBatchBillListForCheck', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 客户端-批单增员减员保单数据导入 POST /api/InsureBatchBill/ImportBatchAddOrSubOrderData */ |
| | | export async function importBatchAddOrSubOrderData( |
| | | body: API.ImportBatchAddOrSubOrderInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsureBatchBill/ImportBatchAddOrSubOrderData', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 客户端-批单替换数据导入 POST /api/InsureBatchBill/ImportBatchUpdateOrderData */ |
| | | export async function importBatchUpdateOrderData( |
| | | body: API.ImportBatchAddOrSubOrderInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsureBatchBill/ImportBatchUpdateOrderData', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 运营端-设置批量的状态 POST /api/InsureBatchBill/SetInsureBatchBillStatus */ |
| | | export async function setInsureBatchBillStatus( |
| | | body: API.SetInsureBatchBillStatusInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/InsureBatchBill/SetInsureBatchBillStatus', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | import * as IdentityUserLookup from './IdentityUserLookup'; |
| | | import * as InsuranceClaim from './InsuranceClaim'; |
| | | import * as InsuranceOrder from './InsuranceOrder'; |
| | | import * as InsureBatchBill from './InsureBatchBill'; |
| | | import * as Permissions from './Permissions'; |
| | | import * as PhoneMessage from './PhoneMessage'; |
| | | import * as Profile from './Profile'; |
| | |
| | | IdentityUserLookup, |
| | | InsuranceClaim, |
| | | InsuranceOrder, |
| | | InsureBatchBill, |
| | | Permissions, |
| | | PhoneMessage, |
| | | Profile, |
| | |
| | | includeTypes?: boolean; |
| | | } |
| | | |
| | | interface APIcheckInrancesSerialNumStatusParams { |
| | | serialNum?: string; |
| | | } |
| | | |
| | | interface APIclearInsuranceStaffDataParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIcreateParams { |
| | | systemEmail: string; |
| | | systemPassword: string; |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIexportInsuranceBatchStaffParams { |
| | | batchBillId?: string; |
| | | } |
| | | |
| | | interface APIfindByEmailParams { |
| | | email?: string; |
| | | } |
| | |
| | | |
| | | interface APIgetAllSubModuleParams { |
| | | moduleId?: string; |
| | | } |
| | | |
| | | interface APIgetBatchDetailForCheckParams { |
| | | batchBillId?: string; |
| | | } |
| | | |
| | | interface APIgetCountParams { |
| | |
| | | } |
| | | |
| | | interface APIgetInsuranceOrderMaterialListParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetInsurancePolicyHeadDtoParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetInsurancePolicyStampFilesParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetInsuranceStaffListExportParams { |
| | | id?: string; |
| | | } |
| | | |
| | |
| | | |
| | | interface APIgetVersionSubModuleParams { |
| | | versionId?: string; |
| | | } |
| | | |
| | | interface APIimportInsDetailStaffToListParams { |
| | | url?: string; |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIimportInsStaffToListParams { |
| | | url?: string; |
| | | serialNum?: string; |
| | | } |
| | | |
| | | interface APIsearchParams { |
| | |
| | | objectId?: string; |
| | | } |
| | | |
| | | type BatchBillCheckStatus = 1 | 2 | 10 | 15 | 20 | 30 | -40 | -30 | -20 | -11 | -10 | -1; |
| | | |
| | | type BatchChangeTypeEnum = 10 | 20 | 30 | 40; |
| | | |
| | | interface BatchDetailForCheckDto { |
| | | /** 批单Id */ |
| | | insureBatchBillId?: string; |
| | | /** 审核理由 */ |
| | | auditNote?: string; |
| | | checkStatus?: BatchBillCheckStatus; |
| | | /** 生效时间 */ |
| | | effectTime?: string; |
| | | /** 附件上传 */ |
| | | attachmentUrl?: string; |
| | | /** 保单号 */ |
| | | insureBillNo?: string; |
| | | /** 投保人 */ |
| | | enterpriseName?: string; |
| | | /** 批改人员详情 */ |
| | | staffList?: InsureBatchBillDetailDto[]; |
| | | } |
| | | |
| | | interface ChangePasswordInput { |
| | | currentPassword?: string; |
| | | newPassword: string; |
| | |
| | | sendBillExpireMessage?: boolean; |
| | | /** 是否短信提醒 */ |
| | | isSendMessage?: boolean; |
| | | /** 是否人员变更提醒 */ |
| | | staffChangeMessage?: boolean; |
| | | /** 是否批改提醒 */ |
| | | batchUpdateMessage?: boolean; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | } |
| | | |
| | | interface CreateOrUpdateRoleInput { |
| | |
| | | key?: string; |
| | | } |
| | | |
| | | interface GetEffectingStaffListInput { |
| | | claimDateTime?: string; |
| | | idNumber?: string; |
| | | } |
| | | |
| | | interface GetFeatureListResultDto { |
| | | groups?: FeatureGroupDto[]; |
| | | } |
| | | |
| | | interface GetInsuranceBatchBillForCheckInput { |
| | | pageModel?: Pagination; |
| | | /** 申请日期开始 */ |
| | | creationTimeBegin?: string; |
| | | /** 申请日期结束 */ |
| | | creationTimeEnd?: string; |
| | | /** 批单号 */ |
| | | batchBillNo?: string; |
| | | checkStatus?: BatchBillCheckStatus; |
| | | } |
| | | |
| | | interface GetInsuranceBatchBillInput { |
| | | pageModel?: Pagination; |
| | | /** 保单Id */ |
| | | insurancePolicyId?: string; |
| | | } |
| | | |
| | | interface GetInsurancePageInput { |
| | | pageModel?: Pagination; |
| | | importStartDateTime?: string; |
| | | importEndDateTime?: string; |
| | | condition?: string; |
| | | insurancePeriod?: string; |
| | | status?: InsurancePolicyStatusEnum; |
| | | } |
| | | |
| | | interface GetInsurancePageOutput { |
| | | id?: string; |
| | | userId?: string; |
| | | /** 投保人 */ |
| | | insurerName?: string; |
| | | /** 被保险人 */ |
| | | policyerName?: string; |
| | | /** 批次号 */ |
| | | serialNum?: string; |
| | | status?: InsurancePolicyStatusEnum; |
| | | /** 人员清单状态 */ |
| | | listStatus?: string; |
| | | batchStatus?: number; |
| | | checkStatus?: BatchBillCheckStatus; |
| | | /** 保额 */ |
| | | sumInsured?: number; |
| | | /** 保费 */ |
| | | amount?: number; |
| | | /** 投保人数 */ |
| | | insureCount?: number; |
| | | /** 理赔数量 */ |
| | | claimCount?: number; |
| | | /** 投保机构 */ |
| | | insuranceOrg?: string; |
| | | /** 投保方式 月保:30D 年保: 360D */ |
| | | insurancePeriod?: string; |
| | | /** 方案名称 */ |
| | | insuranceScheme?: string; |
| | | /** 保单文件 */ |
| | | insureBillUrl?: string; |
| | | /** 是否已上传盖章文件 */ |
| | | isUploadEffectFile?: boolean; |
| | | /** 盖章文件 */ |
| | | effectBillUrl?: string; |
| | | /** 保险单号 */ |
| | | insureBillNo?: string; |
| | | /** 导入文件 */ |
| | | importFileUrl?: string; |
| | | lastImportTime?: string; |
| | | /** 保单生效时间 */ |
| | | effectStartTime?: string; |
| | | /** 保单失效时间 */ |
| | | effectEndTime?: string; |
| | | emploerNames?: string[]; |
| | | creationTime?: string; |
| | | companyName?: string; |
| | | isClosedOutTime?: boolean; |
| | | } |
| | | |
| | | interface GetInsurancePageOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetInsurancePageOutput[]; |
| | | } |
| | | |
| | | interface GetInsuranceStaffListInput { |
| | | pageModel?: Pagination; |
| | | condition?: string; |
| | | insurancePolicyId?: string; |
| | | } |
| | | |
| | | interface GetInsuranceStaffPageTemplate { |
| | | id?: string; |
| | | policyId?: string; |
| | | serialNumber?: number; |
| | | name?: string; |
| | | gender?: string; |
| | | certType?: string; |
| | | certNo?: string; |
| | | jobName?: string; |
| | | userEmploer?: string; |
| | | address?: string; |
| | | age?: number; |
| | | birthDay?: string; |
| | | phone?: string; |
| | | creationTime?: string; |
| | | } |
| | | |
| | | interface GetInsuranceStaffPageTemplatePageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetInsuranceStaffPageTemplate[]; |
| | | } |
| | | |
| | | interface GetPermissionListResultDto { |
| | |
| | | |
| | | interface IdentityUserUpdateRolesDto { |
| | | roleNames: string[]; |
| | | } |
| | | |
| | | interface ImportBatchAddOrSubOrderInput { |
| | | /** 导入地址 */ |
| | | url?: string; |
| | | /** 投保Id */ |
| | | insurePolicyId?: string; |
| | | } |
| | | |
| | | interface ImportBatchStaffListInput { |
| | | originIdNumber?: string; |
| | | /** 电话号码 */ |
| | | phoneNumber?: string; |
| | | id?: number; |
| | | name?: string; |
| | | age?: number; |
| | | gender?: string; |
| | | certType?: string; |
| | | idNumber?: string; |
| | | insuranceScheme?: string; |
| | | workType?: string; |
| | | birthDay?: string; |
| | | remark?: string; |
| | | } |
| | | |
| | | interface ImportInsStaffAnalysisList { |
| | | id?: string; |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 性别 */ |
| | | sex?: string; |
| | | /** 证件类型 */ |
| | | certType?: string; |
| | | /** 身份证号 */ |
| | | certNo?: string; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 生日 */ |
| | | birthDay?: string; |
| | | /** 用工企业 */ |
| | | useEmploer?: string; |
| | | /** 雇员工种 */ |
| | | jobName?: string; |
| | | /** 用工地点 */ |
| | | address?: string; |
| | | phone?: string; |
| | | /** 备注 */ |
| | | note?: string; |
| | | /** 1正常 0异常 */ |
| | | isNormal?: boolean; |
| | | } |
| | | |
| | | type InsuranceClaimAttachmentBusinessTypeEnum = 10 | 20 | 30 | 40 | 50; |
| | |
| | | url?: string; |
| | | /** 材料名称 */ |
| | | materialName?: string; |
| | | } |
| | | |
| | | type InsurancePolicyStatusEnum = 10 | 20 | 30; |
| | | |
| | | interface InsureBatchBillDetailDto { |
| | | /** 批单Id */ |
| | | insureBatchBillId?: string; |
| | | /** 投保Id */ |
| | | insurePolicyId?: string; |
| | | insurancePolicyDetailId?: string; |
| | | /** 修改信息 */ |
| | | modifyInfo?: string; |
| | | /** 名称 */ |
| | | name?: string; |
| | | /** 证件类别 */ |
| | | certType?: string; |
| | | /** 身份证号 */ |
| | | idNumber?: string; |
| | | /** 性别 */ |
| | | gender?: string; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 出生日期 */ |
| | | birthDay?: string; |
| | | /** 职业名称 */ |
| | | workType?: string; |
| | | changeType?: BatchChangeTypeEnum; |
| | | } |
| | | |
| | | interface InsureBatchBillDto { |
| | | /** 批单Id */ |
| | | insureBatchBillId?: string; |
| | | /** 批单编号 */ |
| | | batchBillNo?: string; |
| | | /** 保单Id */ |
| | | insurancePolicyId?: string; |
| | | changeType?: BatchChangeTypeEnum; |
| | | checkStatus?: BatchBillCheckStatus; |
| | | /** 在保人数 */ |
| | | insurePersonNumber?: number; |
| | | /** 原本在保人数 */ |
| | | orginInsurePersonNumber?: number; |
| | | /** 新增人数 */ |
| | | addPersonNumber?: number; |
| | | /** 申请日期 */ |
| | | creationTime?: string; |
| | | /** 减少人数 */ |
| | | subPersonNumber?: number; |
| | | /** 审核理由 */ |
| | | auditNote?: string; |
| | | /** 审核时间 */ |
| | | checkDate?: string; |
| | | /** 审核人 */ |
| | | checkUserId?: string; |
| | | /** 生效时间 */ |
| | | effectTime?: string; |
| | | /** 附件上传 */ |
| | | attachmentUrl?: string; |
| | | } |
| | | |
| | | interface InsureBatchBillDtoPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: InsureBatchBillDto[]; |
| | | } |
| | | |
| | | interface InsureBatchBillInput { |
| | | /** 投保Id */ |
| | | insurancePolicyId?: string; |
| | | /** 批单Id */ |
| | | batchBillId?: string; |
| | | /** 期望生效 */ |
| | | effectTime?: string; |
| | | changeType?: BatchChangeTypeEnum; |
| | | /** 批增人员列表 */ |
| | | addInsStaffList?: ImportBatchStaffListInput[]; |
| | | /** 修改人员列表 */ |
| | | updateInsStaffList?: ImportBatchStaffListInput[]; |
| | | /** 删除人员列表 */ |
| | | delInsStaffList?: ImportBatchStaffListInput[]; |
| | | } |
| | | |
| | | interface IStringValueType { |
| | |
| | | phoneNumber: string; |
| | | } |
| | | |
| | | interface SetInsureBatchBillStatusInput { |
| | | /** 批单Id */ |
| | | insureBatchBillId?: string; |
| | | /** 批单号 */ |
| | | batchBillNo?: string; |
| | | /** 审核理由 */ |
| | | auditNote?: string; |
| | | checkStatus?: BatchBillCheckStatus; |
| | | /** 审核时间 */ |
| | | checkDate?: string; |
| | | /** 审核人 */ |
| | | checkUserId?: string; |
| | | /** 生效时间 */ |
| | | effectTime?: string; |
| | | /** 附件上传 */ |
| | | attachmentUrl?: string; |
| | | } |
| | | |
| | | interface SetMyModule { |
| | | moduleId?: string; |
| | | sequence?: number; |
| | |
| | | sendClaimMessage?: boolean; |
| | | /** 是否保单到期提醒 */ |
| | | sendBillExpireMessage?: boolean; |
| | | /** 是否人员变更提醒 */ |
| | | staffChangeMessage?: boolean; |
| | | /** 是否批改提醒 */ |
| | | batchUpdateMessage?: boolean; |
| | | /** 公司名 */ |
| | | enterpriseName?: string; |
| | | /** 是否短信提醒 */ |
| | | isSendMessage?: boolean; |
| | | /** 角色 */ |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface UpdateInsuranceStaffInfoInput { |
| | | insurancePolicyId?: string; |
| | | id?: string; |
| | | name?: string; |
| | | idNumber?: string; |
| | | phone?: string; |
| | | } |
| | | |
| | | interface UpdatePassWordInput { |
| | | id?: string; |
| | | passWord?: string; |
| | |
| | | name?: string; |
| | | surname?: string; |
| | | phoneNumber?: string; |
| | | } |
| | | |
| | | interface UplaodInsuranceBillFileInput { |
| | | /** 保单Id */ |
| | | insurancePolicyId?: string; |
| | | /** 保单号 */ |
| | | insureBillNo?: string; |
| | | /** 保单起期 */ |
| | | effectStartTime?: string; |
| | | /** 保单止期 */ |
| | | effectEndTime?: string; |
| | | /** 参保机构 */ |
| | | insuranceOrg?: string; |
| | | /** 投保方式 月保:30D 年保: 360D */ |
| | | insurancePeriod?: string; |
| | | /** 方案名称 */ |
| | | insuranceScheme?: string; |
| | | /** 保额 */ |
| | | sumInsured?: number; |
| | | /** 保费 */ |
| | | amount?: number; |
| | | /** 保单文件 */ |
| | | insureBillUrl?: string; |
| | | } |
| | | |
| | | interface UploadInsuranceStampFilesInput { |
| | | /** 保单Id */ |
| | | insurancePolicyId?: string; |
| | | /** 盖章文件 */ |
| | | listFiles?: string[]; |
| | | } |
| | | |
| | | interface UserData { |
| | |
| | | isSendMessage?: boolean; |
| | | /** 角色 */ |
| | | roleNames?: string[]; |
| | | /** 是否人员变更提醒 */ |
| | | staffChangeMessage?: boolean; |
| | | /** 是否批改提醒 */ |
| | | batchUpdateMessage?: boolean; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | } |
| | | |
| | | interface UserListOutput { |
| | |
| | | isSendMessage?: boolean; |
| | | /** 角色 */ |
| | | roleNames?: string[]; |
| | | /** 是否人员变更提醒 */ |
| | | staffChangeMessage?: boolean; |
| | | /** 是否批改提醒 */ |
| | | batchUpdateMessage?: boolean; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | } |
| | | |
| | | interface UserListOutputPageOutput { |
| | |
| | | :limitFileSize="10" |
| | | accept="xlsx,xls" |
| | | :showTip="false" |
| | | :on-success="handleUploadAddOrReduce" |
| | | > |
| | | <template #default> |
| | | <el-button type="primary">加减人</el-button> |
| | |
| | | :limitFileSize="10" |
| | | accept="xlsx,xls" |
| | | :showTip="false" |
| | | :on-success="handleUploadReplace" |
| | | > |
| | | <template #default> |
| | | <el-button type="primary">替换人</el-button> |
| | |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import { downloadFileByUrl, OrderInputType } from '@bole-core/core'; |
| | | import * as insureBatchBillServices from '@/services/api/InsureBatchBill'; |
| | | import { downloadFileByUrl, Message, OrderInputType } from '@bole-core/core'; |
| | | import { InsuranceAddOrReduceTempPath, InsuranceChangeTempPath } from '@/constants'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { FormInstance } from 'element-plus'; |
| | | |
| | | defineOptions({ |
| | | name: 'BatchChange', |
| | |
| | | ]; |
| | | |
| | | const route = useRoute(); |
| | | const { closeViewPush } = useRouteView(); |
| | | const id = route.params.id as string; |
| | | const BaseState = { |
| | | loading: true, |
| | |
| | | } |
| | | ); |
| | | |
| | | async function handleUploadAddOrReduce(response: UploadUserFile) { |
| | | try { |
| | | let params: API.ImportBatchAddOrSubOrderInput = { |
| | | url: response.path, |
| | | insurePolicyId: id, |
| | | }; |
| | | let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params); |
| | | } catch (error) {} |
| | | } |
| | | async function handleUploadReplace(response: UploadUserFile) { |
| | | try { |
| | | let params: API.ImportBatchAddOrSubOrderInput = { |
| | | url: response.path, |
| | | insurePolicyId: id, |
| | | }; |
| | | let res = await insureBatchBillServices.importBatchUpdateOrderData(params); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleClear() {} |
| | | function handleSubmit() {} |
| | | |
| | | const formRef = ref<FormInstance>(); |
| | | function handleSubmit() { |
| | | if (!formRef.value) return; |
| | | formRef.value.validate((valid) => { |
| | | if (valid) { |
| | | addOrUpdateInsureBatchBill(); |
| | | } else { |
| | | return; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | async function addOrUpdateInsureBatchBill() { |
| | | try { |
| | | let params = {}; |
| | | let res = await insureBatchBillServices.addOrUpdateInsureBatchBill(params); |
| | | if (res) { |
| | | Message.successMessage('提交成功'); |
| | | handleBack(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function DownloadAddOrReducePersonTemplate() { |
| | | downloadFileByUrl(InsuranceAddOrReduceTempPath, '加减人模板'); |
| | | } |
| | |
| | | downloadFileByUrl(InsuranceChangeTempPath, '替换人模板'); |
| | | } |
| | | |
| | | function handleBack() { |
| | | closeViewPush(route, { |
| | | name: 'Home', |
| | | }); |
| | | } |
| | | |
| | | onMounted(async () => { |
| | | await getBatchRefundInfoDetail(); |
| | | state.loading = false; |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.onJobFlag" |
| | | :value-enum="OnJobFlagEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.insuranceType" |
| | | v-model="extraParamState.insurancePeriod" |
| | | :value-enum="insuranceTypeText" |
| | | buttonStyle |
| | | showAllBtn |
| | |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="InsurancePolicyStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.keyword" |
| | | v-model="extraParamState.condition" |
| | | style="width: 260px" |
| | | placeholder="单位/保单号/参保机构" |
| | | @on-click-search="getList" |
| | |
| | | >导入</el-button |
| | | > |
| | | |
| | | <el-button @click="downloadInsureOrder()" type="primary" link>导出保单列表</el-button> |
| | | <el-button @click="downloadInsurePerson()" type="primary" link>导出在保人员</el-button> |
| | | <el-button @click="getInsurancePageExport()" type="primary" link>导出保单列表</el-button> |
| | | <el-button @click="getInsuranceStaffPageExport()" type="primary" link |
| | | >导出在保人员</el-button |
| | | > |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | |
| | | UploadUserFile, |
| | | SearchInput, |
| | | FieldRadio, |
| | | XLSXUtils, |
| | | } from '@bole-core/components'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import { Message, OrderInputType, downloadFileByUrl } from '@bole-core/core'; |
| | | import { columns } from './constants'; |
| | | import UploadInsurePersonDialog from './components/UploadInsurePersonDialog.vue'; |
| | | import UploadStampFileDialog from './components/UploadStampFileDialog.vue'; |
| | | import { format, downloadFile, setOSSLink } from '@/utils'; |
| | | import { format, downloadFile, setOSSLink, toThousand, convertApi2FormUrl } from '@/utils'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import { InsuranceOrderTempPath, OnJobFlagEnumText, insuranceTypeText } from '@/constants'; |
| | | import { |
| | | InsuranceOrderTempPath, |
| | | insuranceTypeText, |
| | | InsurancePolicyStatusEnumText, |
| | | InsurancePolicyStatusEnum, |
| | | } from '@/constants'; |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | | |
| | |
| | | emits: { |
| | | onClick: (role) => handleBatch(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | // }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | |
| | | emits: { |
| | | onClick: (role) => handleUploadStampFile(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | // }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | |
| | | name: '保单下载', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleDownloadOrderNo(role), |
| | | onClick: (role) => handleDownloadInsureFile(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.status === InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | | ]).filter(Boolean); |
| | |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params = createParams(pageIndex, pageSize); |
| | | let res = await insuranceOrderServices.getInsuranceOrderPage(params, { |
| | | let res = await insuranceOrderServices.getInsurancePage(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'createTime', order: OrderInputType.Desc }], |
| | | orderInput: [{ property: 'id', order: OrderInputType.Desc }], |
| | | creationDate: [] as unknown as ModelValueType, |
| | | keyword: '', |
| | | onJobFlag: '', |
| | | insuranceType: '', |
| | | condition: '', |
| | | status: '' as any as InsurancePolicyStatusEnum, |
| | | insurancePeriod: '', |
| | | }, |
| | | columnsRenderProps: { |
| | | createTime: { |
| | | type: 'date', |
| | | format: 'YYYY/MM/DD', |
| | | status: { type: 'enum', valueEnum: InsurancePolicyStatusEnumText }, |
| | | insurancePeriod: { type: 'enum', valueEnum: insuranceTypeText }, |
| | | creationTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | effectStartTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | effectEndTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | sumInsured: { |
| | | type: 'money', |
| | | formatter: (row: API.GetInsurancePageOutput) => |
| | | row.sumInsured == null ? '' : toThousand(row.sumInsured), |
| | | }, |
| | | insuranceBeginTime: { |
| | | type: 'date', |
| | | format: 'YYYY/MM/DD', |
| | | }, |
| | | insuranceEndTime: { |
| | | type: 'date', |
| | | format: 'YYYY/MM/DD', |
| | | amount: { |
| | | type: 'money', |
| | | formatter: (row: API.GetInsurancePageOutput) => |
| | | row.amount == null ? '' : toThousand(row.amount), |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function createParams(pageIndex: number, pageSize: number) { |
| | | let params: API.QueryInsuranceOrderPageInput = { |
| | | let params: API.GetInsurancePageInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | beginCreationTime: format(extraParamState.creationDate?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | endCreationTime: format(extraParamState.creationDate?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | condition: extraParamState.keyword, |
| | | onJobFlag: extraParamState.onJobFlag, |
| | | insuranceType: extraParamState.insuranceType, |
| | | importStartDateTime: format(extraParamState.creationDate?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | importEndDateTime: format(extraParamState.creationDate?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | condition: extraParamState.condition, |
| | | insurancePeriod: extraParamState.insurancePeriod, |
| | | status: extraParamState.status, |
| | | }; |
| | | return params; |
| | | } |
| | | |
| | | const { dialogProps, handleAdd, editForm } = useFormDialog({ |
| | | onConfirm: uploadInsurePerson, |
| | | const { dialogProps, handleAdd, editForm, dialogState } = useFormDialog({ |
| | | onConfirm: checkInrancesSerialNumStatus, |
| | | defaultFormParams: { |
| | | orderNo: '', |
| | | serialNum: '', |
| | | url: [] as UploadUserFile[], |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | | |
| | | async function checkInrancesSerialNumStatus() { |
| | | try { |
| | | let params: API.APIimportInsStaffToListParams = { |
| | | serialNum: editForm.serialNum, |
| | | url: editForm.url?.[0]?.path, |
| | | }; |
| | | let res = await insuranceOrderServices.checkInrancesSerialNumStatus(params); |
| | | if (res === InsurancePolicyStatusEnum.Effecting) { |
| | | await Message.tipMessage('该批次保单已生效,请修改批次号后重新导入'); |
| | | } else if (res === InsurancePolicyStatusEnum.OutTimeEffect) { |
| | | await Message.tipMessage('该批次保单已失效,请修改批次号后重新导入'); |
| | | } else if (res === InsurancePolicyStatusEnum.WaitEffect) { |
| | | await Message.tipMessage('存在相同的批次号,是否覆盖?'); |
| | | importInsStaffToList(); |
| | | } else { |
| | | importInsStaffToList(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function importInsStaffToList() { |
| | | try { |
| | | let params: API.APIimportInsStaffToListParams = { |
| | | serialNum: editForm.serialNum, |
| | | url: editForm.url?.[0]?.path, |
| | | }; |
| | | let res = await insuranceOrderServices.importInsStaffToList(params); |
| | | if (res.length > 0) { |
| | | await Message.tipMessage('存在错误数据,是否导出?'); |
| | | XLSXUtils.exportToXLSX({ |
| | | workbookDataList: res, |
| | | fileName: '错误人员名单', |
| | | workbookHeaderMap: { |
| | | name: '雇员姓名', |
| | | sex: '性别', |
| | | certType: '证件类型', |
| | | certNo: '证件号码', |
| | | jobName: '雇员工种', |
| | | useEmploer: '用工单位', |
| | | address: '用工地点', |
| | | note: '备注', |
| | | }, |
| | | }); |
| | | } |
| | | dialogState.dialogVisible = false; |
| | | getList(paginationState.pageIndex); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleUpload() { |
| | | handleAdd({ |
| | | orderNo: '', |
| | | serialNum: `${dayjs().format('YYYYMMDD')}${_.random(0, 9999).toString().padStart(4, '0')}`, |
| | | url: [] as UploadUserFile[], |
| | | }); |
| | | } |
| | | |
| | | async function uploadInsurePerson() { |
| | | try { |
| | | let params = { |
| | | orderNo: editForm.orderNo, |
| | | url: editForm.url?.[0]?.path, |
| | | }; |
| | | // let res = await insuranceOrderServices.uploadStampFile(params); |
| | | // if (res) { |
| | | // Message.successMessage('上传成功'); |
| | | // getList(paginationState.pageIndex); |
| | | // } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const router = useRouter(); |
| | | |
| | | async function handleExport() { |
| | | async function getInsurancePageExport() { |
| | | try { |
| | | if (paginationState.total === 0) { |
| | | Message.warnMessage('没有数据可以导出哦~'); |
| | | return; |
| | | } |
| | | let params = createParams(paginationState.pageIndex, paginationState.pageSize); |
| | | let res = await insuranceOrderServices.exportInsuranceOrderList(params, { |
| | | let res = await insuranceOrderServices.getInsurancePageExport(params, { |
| | | responseType: 'blob', |
| | | getResponse: true, |
| | | }); |
| | |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function getInsuranceStaffPageExport() { |
| | | try { |
| | | if (paginationState.total === 0) { |
| | | Message.warnMessage('没有数据可以导出哦~'); |
| | | return; |
| | | } |
| | | let params = createParams(paginationState.pageIndex, paginationState.pageSize); |
| | | let res = await insuranceOrderServices.getInsuranceStaffPageExport(params, { |
| | | responseType: 'blob', |
| | | getResponse: true, |
| | | }); |
| | | if (res) { |
| | | downloadFile(res.data, `在保人员导出`, 'xlsx'); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownload() { |
| | | downloadFileByUrl(InsuranceOrderTempPath, '保单导入模板'); |
| | | } |
| | | |
| | | function handleRowStyle(data: { row: API.InsuranceOrderListOutput }) { |
| | | function handleRowStyle(data: { row: API.GetInsurancePageOutput }) { |
| | | if ( |
| | | dayjs(dayjs(data.row?.insuranceEndTime).format('YYYY-MM-DD')).diff(dayjs(), 'day') >= 0 && |
| | | dayjs(dayjs(data.row?.insuranceEndTime).format('YYYY-MM-DD')).diff(dayjs(), 'day') < 6 |
| | | dayjs(dayjs(data.row?.effectEndTime).format('YYYY-MM-DD')).diff(dayjs(), 'day') >= 0 && |
| | | dayjs(dayjs(data.row?.effectEndTime).format('YYYY-MM-DD')).diff(dayjs(), 'day') < 6 |
| | | ) { |
| | | return { |
| | | color: '#ff0000', |
| | |
| | | handleEdit: handleStampFileEdit, |
| | | editForm: stampFileForm, |
| | | } = useFormDialog({ |
| | | onConfirm: uploadStampFile, |
| | | onConfirm: uploadInsuranceStampFiles, |
| | | defaultFormParams: { |
| | | id: '', |
| | | url: [] as UploadUserFile[], |
| | | }, |
| | | }); |
| | | |
| | | function handleUploadStampFile(row: API.InsuranceOrderListOutput) { |
| | | handleStampFileEdit({ |
| | | id: row.id, |
| | | url: [] as UploadUserFile[], |
| | | }); |
| | | } |
| | | |
| | | async function uploadStampFile() { |
| | | async function handleUploadStampFile(row: API.GetInsurancePageOutput) { |
| | | try { |
| | | let params = { |
| | | id: stampFileForm.id, |
| | | url: stampFileForm.url?.[0]?.path, |
| | | }; |
| | | // let res = await insuranceOrderServices.uploadStampFile(params); |
| | | // if (res) { |
| | | // Message.successMessage('上传成功'); |
| | | // getList(paginationState.pageIndex); |
| | | // } |
| | | const url = await getInsurancePolicyStampFiles(row.id); |
| | | handleStampFileEdit({ |
| | | id: row.id, |
| | | url: url.map((x) => convertApi2FormUrl(x)) ?? [], |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownloadOrderNo(row: API.InsuranceOrderListOutput) { |
| | | downloadFileByUrl(setOSSLink(row.orderBillFile)); |
| | | async function uploadInsuranceStampFiles() { |
| | | try { |
| | | let params: API.UploadInsuranceStampFilesInput = { |
| | | insurancePolicyId: stampFileForm.id, |
| | | listFiles: stampFileForm.url?.map((x) => x.path) ?? [], |
| | | }; |
| | | let res = await insuranceOrderServices.uploadInsuranceStampFiles(params); |
| | | if (res) { |
| | | Message.successMessage('上传成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDetail(row: API.InsuranceOrderListOutput) { |
| | | async function getInsurancePolicyStampFiles(id: string) { |
| | | try { |
| | | return await insuranceOrderServices.getInsurancePolicyStampFiles({ id: id }); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownloadInsureFile(row: API.GetInsurancePageOutput) { |
| | | downloadFileByUrl(setOSSLink(row.insureBillUrl)); |
| | | } |
| | | |
| | | function handleDetail(row: API.GetInsurancePageOutput) { |
| | | router.push({ |
| | | name: 'InsuranceOrderDetail', |
| | | params: { |
| | |
| | | }, |
| | | }); |
| | | } |
| | | function handleBatch(row: API.InsuranceOrderListOutput) { |
| | | function handleBatch(row: API.GetInsurancePageOutput) { |
| | | router.push({ |
| | | name: 'BatchChange', |
| | | params: { |
| | |
| | | }, |
| | | }); |
| | | } |
| | | function downloadInsureOrder() {} |
| | | function downloadInsurePerson() {} |
| | | </script> |
| | |
| | | <ProTabPane lazy label="保单信息" :name="InsureOrderTabType.InsureOrderInfo"> |
| | | <InsureOrderInfoView /> |
| | | </ProTabPane> |
| | | <ProTabPane lazy label="批改记录" :name="InsureOrderTabType.BatchOrder"> |
| | | <ProTabPane |
| | | v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect" |
| | | lazy |
| | | label="批改记录" |
| | | :name="InsureOrderTabType.BatchOrder" |
| | | > |
| | | <BatchChangeRecordView /> |
| | | </ProTabPane> |
| | | </ProTabs> |
| | |
| | | import BatchChangeRecordView from './components/BatchChangeRecordView.vue'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { InsurancePolicyStatusEnum } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'InsuranceOrderDetail', |
| | |
| | | const id = route.params.id as string; |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | | queryKey: ['insuranceOrderServices/getInsuranceOrderDetail', id], |
| | | queryKey: ['insuranceOrderServices/getInsurancePolicyHeadDto', id], |
| | | queryFn: async () => { |
| | | return await insuranceOrderServices.getInsuranceOrderDetail({ id: id }); |
| | | return await insuranceOrderServices.getInsurancePolicyHeadDto({ id: id }); |
| | | }, |
| | | placeholderData: () => ({} as API.InsuranceOrderListOutput), |
| | | placeholderData: () => ({} as API.GetInsurancePageOutput), |
| | | enabled: !!id, |
| | | }); |
| | | </script> |
| | |
| | | defineOperationBtns, |
| | | useFormDialog, |
| | | } from '@bole-core/components'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import * as insureBatchBillServices from '@/services/api/InsureBatchBill'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import BatchChangeRecordDetailDialog from './BatchChangeRecordDetailDialog.vue'; |
| | | |
| | |
| | | onClick: (role) => handleDetail(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | // hide: (row: API.InsureBatchBillDto) => !row.orderBillFile, |
| | | // }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'downloadBtn', |
| | | name: '下载批单', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleDownload(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsureBatchBillDto) => !row.orderBillFile, |
| | | // }, |
| | | }, |
| | | ]); |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.QueryInsuranceOrderPageInput = { |
| | | let params: API.GetInsuranceBatchBillInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | condition: extraParamState.keyWord, |
| | | // insurePolicyOperateHistoryId: id, |
| | | insurancePolicyId: id, |
| | | }; |
| | | let res = await insuranceOrderServices.getInsuranceOrderPage(params, { |
| | | let res = await insureBatchBillServices.getInsureBatchBillList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | }); |
| | | |
| | | function handleDetail(row: API.InsuranceOrderListOutput) { |
| | | function handleDetail(row: API.InsureBatchBillDto) { |
| | | handleEdit({ |
| | | id: row.id, |
| | | id: row.insureBatchBillId, |
| | | }); |
| | | } |
| | | |
| | | function handleDownload(row: API.InsureBatchBillDto) {} |
| | | |
| | | onMounted(async () => { |
| | | await getBatchRefundInfoDetail(); |
| | | state.loading = false; |
| | |
| | | <ProFormColItem :span="16"> |
| | | <ProFormItemV2 |
| | | label="身份证号:" |
| | | prop="name" |
| | | :check-rules="[{ message: '请输入身份证号' }]" |
| | | prop="idNumber" |
| | | :check-rules="[{ message: '请输入身份证号', type: 'idCard' }]" |
| | | > |
| | | <ProFormText |
| | | placeholder="请输入身份证号" |
| | | v-model.trim="innerForm.name" |
| | | v-model.trim="innerForm.idNumber" |
| | | :maxlength="30" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="16"> |
| | | <ProFormItemV2 label="手机号:" prop="name" :check-rules="[{ message: '请输入手机号' }]"> |
| | | <ProFormItemV2 label="手机号:" prop="phone"> |
| | | <ProFormText |
| | | placeholder="请输入手机号" |
| | | v-model.trim="innerForm.name" |
| | | v-model.trim="innerForm.phone" |
| | | :maxlength="30" |
| | | disabled |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | form?: { |
| | | id: string; |
| | | name: string; |
| | | idNumber: string; |
| | | phone: string; |
| | | }; |
| | | }; |
| | | |
| | |
| | | <ProForm :model="detail" ref="formRef" label-width="120px" :is-read="true"> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="保单号:" prop="orderNo"> |
| | | <ProFormText v-model.trim="detail.orderNo" /> |
| | | <ProFormItemV2 label="保单号:" prop="insureBillNo"> |
| | | <ProFormText v-model.trim="detail.insureBillNo" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="生效状态:" prop="insuranceTypeCode"> |
| | | <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" /> |
| | | <ProFormItemV2 label="生效状态:" prop="status"> |
| | | <ProFormRadio v-model="detail.status" :value-enum="InsurancePolicyStatusEnumText" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="保险起期:" prop="applyTime"> |
| | | <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" /> |
| | | <ProFormItemV2 label="保险起期:" prop="effectStartTime"> |
| | | <ProFormDatePicker v-model.trim="detail.effectStartTime" format="YYYY-MM-DD" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="保险止期:" prop="insuranceTypeCode"> |
| | | <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" /> |
| | | <ProFormItemV2 label="保险止期:" prop="effectEndTime"> |
| | | <ProFormDatePicker v-model.trim="detail.effectEndTime" format="YYYY-MM-DD" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="投保方式:" prop="insureWay"> |
| | | <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" /> |
| | | <ProFormItemV2 label="投保方式:" prop="insurancePeriod"> |
| | | <ProFormRadio v-model="detail.insurancePeriod" :value-enum="insuranceTypeText" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="参保机构:" prop="insuredInstitution"> |
| | | <ProFormRadio |
| | | v-model="detail.insuredInstitution" |
| | | :value-enum="InsuredInstitutionEnum" |
| | | /> |
| | | <ProFormItemV2 label="参保机构:" prop="insuranceOrg"> |
| | | <ProFormRadio v-model="detail.insuranceOrg" :value-enum="InsuredInstitutionEnum" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="投保人数:" prop="numberOfFailed"> |
| | | <ProFormInputNumber v-model.trim="detail.incDecAmount" unit="人" /> |
| | | <ProFormItemV2 label="投保人数:" prop="insureCount"> |
| | | <ProFormInputNumber v-model.trim="detail.insureCount" unit="人" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="投保人:" prop="companyName"> |
| | | <ProFormText v-model.trim="detail.orderNo" /> |
| | | <ProFormItemV2 label="投保人:" prop="insurerName"> |
| | | <ProFormText v-model.trim="detail.insurerName" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="被保人:" prop="insuranceTypeCode"> |
| | | <ProFormText v-model.trim="detail.orderNo" /> |
| | | <ProFormItemV2 label="被保人:" prop="policyerName"> |
| | | <ProFormText v-model.trim="detail.policyerName" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | </ProForm> |
| | | </ChunkCell> |
| | | <ChunkCell title="人员信息"> |
| | | <template #titleRight> |
| | | <template #titleRight v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect"> |
| | | <el-button type="primary" @click="handleBatchChange">批改申请</el-button> |
| | | </template> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | |
| | | v-model="extraParamState.keyWord" |
| | | style="width: 300px" |
| | | placeholder="姓名/身份证号/手机号" |
| | | @on-click-search="getBatchRefundInfoDetail" |
| | | @on-click-search="getInsuranceStaffList" |
| | | > |
| | | </SearchInput> |
| | | </QueryFilterItem> |
| | | </template> |
| | | <template #btn> |
| | | <el-button @click="handleTemplateDownload()" link type="primary">模板下载</el-button> |
| | | <el-button @click="handleImport()" type="primary">导入</el-button> |
| | | <el-button @click="handleClear()" type="primary">清空数据</el-button> |
| | | <el-button @click="handleDownloadPerson()" type="primary">人员清单下载</el-button> |
| | | <el-button @click="handleDownloadOrder()" type="primary">保单下载</el-button> |
| | | <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect"> |
| | | <el-button @click="handleTemplateDownload()" link type="primary">模板下载</el-button> |
| | | <BlFileUpload |
| | | :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 v-else> |
| | | <el-button @click="handleDownloadPerson()" type="primary">下载人员清单</el-button> |
| | | <el-button @click="handleDownloadOrder()" type="primary">下载保单</el-button> |
| | | </template> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | |
| | | ProFormRadio, |
| | | defineOperationBtns, |
| | | useFormDialog, |
| | | BlFileUpload, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { |
| | | InsuranceOrderTempPath, |
| | | insuranceTypeText, |
| | | InsuredInstitutionEnum, |
| | | InsuranceSchemeEnum, |
| | | InsurancePolicyStatusEnum, |
| | | InsurancePolicyStatusEnumText, |
| | | } from '@/constants'; |
| | | import ChangePersonInfoDialog from './ChangePersonInfoDialog.vue'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import { downloadFileByUrl, OrderInputType } from '@bole-core/core'; |
| | | import { downloadFile, downloadFileByUrl, Message, OrderInputType } from '@bole-core/core'; |
| | | import { setOSSLink } from '@/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'InsureOrderInfoView', |
| | |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'name', |
| | | enCode: 'gender', |
| | | name: '性别', |
| | | width: 80, |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'name', |
| | | enCode: 'certType', |
| | | name: '证件类型', |
| | | width: 100, |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'idNumber', |
| | | enCode: 'certNo', |
| | | name: '证件号码', |
| | | width: 180, |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'idNumber', |
| | | enCode: 'jobName', |
| | | name: '雇员工种', |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'idNumber', |
| | | enCode: 'userEmploer', |
| | | name: '用工单位', |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'idNumber', |
| | | enCode: 'address', |
| | | name: '用工地点', |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'idNumber', |
| | | enCode: 'age', |
| | | name: '年龄', |
| | | width: 80, |
| | | }, |
| | | { |
| | | id: '9', |
| | | enCode: 'idNumber', |
| | | enCode: 'birthDay', |
| | | name: '出生日期', |
| | | width: 120, |
| | | }, |
| | | { |
| | | id: '10', |
| | | enCode: 'idNumber', |
| | | enCode: 'phone', |
| | | name: '手机号码', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '11', |
| | | enCode: 'idNumber', |
| | | enCode: 'serialNumber', |
| | | name: '理赔', |
| | | width: 100, |
| | | }, |
| | | ]; |
| | | |
| | |
| | | emits: { |
| | | onClick: (role) => handleChangeInfo(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | // }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsuranceStaffPageTemplate) => |
| | | detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | |
| | | emits: { |
| | | onClick: (role) => handleInsureClaimDetail(role), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, |
| | | // }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsuranceStaffPageTemplate) => |
| | | !(row.serialNumber && detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect), |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | | queryKey: ['insuranceOrderServices/getInsuranceOrderDetail', id], |
| | | queryKey: ['insuranceOrderServices/getInsurancePolicyHeadDto', id], |
| | | queryFn: async () => { |
| | | return await insuranceOrderServices.getInsuranceOrderDetail( |
| | | return await insuranceOrderServices.getInsurancePolicyHeadDto( |
| | | { id: id }, |
| | | { |
| | | showLoading: !state.loading, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.InsuranceOrderListOutput), |
| | | placeholderData: () => ({} as API.GetInsurancePageOutput), |
| | | enabled: !!id, |
| | | }); |
| | | |
| | |
| | | |
| | | onMounted(async () => { |
| | | await queryClient.ensureQueryData({ |
| | | queryKey: ['insuranceOrderServices/getInsuranceOrderDetail', id], |
| | | queryKey: ['insuranceOrderServices/getInsurancePolicyHeadDto', id], |
| | | }); |
| | | await getBatchRefundInfoDetail(); |
| | | await getInsuranceStaffList(); |
| | | state.loading = false; |
| | | }); |
| | | |
| | | const { |
| | | getDataSource: getBatchRefundInfoDetail, |
| | | getDataSource: getInsuranceStaffList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.QueryInsuranceOrderPageInput = { |
| | | let params: API.GetInsuranceStaffListInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | condition: extraParamState.keyWord, |
| | | // insurePolicyOperateHistoryId: id, |
| | | insurancePolicyId: id, |
| | | }; |
| | | let res = await insuranceOrderServices.getInsuranceOrderPage(params, { |
| | | let res = await insuranceOrderServices.getInsuranceStaffList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | function handleTemplateDownload() { |
| | | downloadFileByUrl(InsuranceOrderTempPath, '人员信息模板'); |
| | | } |
| | | function handleClear() {} |
| | | function handleImport() {} |
| | | async function handleClear() { |
| | | try { |
| | | await Message.tipMessage('是否清空人员信息'); |
| | | let res = await insuranceOrderServices.clearInsuranceStaffData({ |
| | | id: id, |
| | | }); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getInsuranceStaffList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | async function handleUploadSuccess(response: UploadUserFile) { |
| | | try { |
| | | // let res = await insuranceOrderServices.importInsuranceOrderData(response.url, { |
| | | // getResponse: true, |
| | | // responseType: 'blob', |
| | | // }); |
| | | // if (res?.data?.size) { |
| | | // await Message.tipMessage('存在错误数据,是否导出?'); |
| | | // downloadFile(res.data, `错误人员名单`, 'xlsx'); |
| | | // } |
| | | // queryClient.invalidateQueries({ |
| | | // queryKey: ['insuranceOrderServices/getInsuranceStaffList'], |
| | | // }); |
| | | // getInsuranceStaffList(); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownloadPerson() {} |
| | | function handleDownloadOrder() {} |
| | | 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 handleBatchChange() { |
| | | router.push({ |
| | | name: 'BatchChange', |
| | |
| | | }); |
| | | } |
| | | |
| | | const { dialogProps, handleEdit, editForm } = useFormDialog({ |
| | | onConfirm: changeInfo, |
| | | const { dialogProps, handleEdit, editForm, dialogState } = useFormDialog({ |
| | | onConfirm: updateInsuranceStaffInfo, |
| | | defaultFormParams: { |
| | | id: '', |
| | | name: '', |
| | | idNumber: '', |
| | | phone: '', |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | | |
| | | function handleChangeInfo(row: API.InsuranceOrderListOutput) { |
| | | function handleChangeInfo(row: API.GetInsuranceStaffPageTemplate) { |
| | | handleEdit({ |
| | | id: row.id, |
| | | name: row.name, |
| | | idNumber: row.certNo, |
| | | phone: row.phone, |
| | | }); |
| | | } |
| | | |
| | | async function changeInfo() {} |
| | | async function updateInsuranceStaffInfo() { |
| | | try { |
| | | let params: API.UpdateInsuranceStaffInfoInput = { |
| | | insurancePolicyId: id, |
| | | id: editForm.id, |
| | | name: editForm.name, |
| | | idNumber: editForm.idNumber, |
| | | phone: editForm.phone, |
| | | }; |
| | | let res = await insuranceOrderServices.updateInsuranceStaffInfo(params); |
| | | if (res) { |
| | | Message.successMessage('修改成功'); |
| | | dialogState.dialogVisible = false; |
| | | getInsuranceStaffList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleInsureClaimDetail(row: API.InsuranceOrderListOutput) { |
| | | function handleInsureClaimDetail(row: API.GetInsuranceStaffPageTemplate) { |
| | | router.push({ |
| | | name: 'InsuranceClaimDetail', |
| | | params: { |
| | |
| | | title="上传投保人员清单" |
| | | v-model="innerVisible" |
| | | destroy-on-close |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false" |
| | | draggable |
| | | bodyNoPaddingBottom |
| | | @close="onDialogClose" |
| | | width="600px" |
| | | > |
| | | <ProForm :model="innerForm" ref="dialogForm" label-width="100px"> |
| | | <ProFormItemV2 |
| | | label="批次号:" |
| | | prop="materialName" |
| | | :check-rules="[{ message: '请输入批次号' }]" |
| | | > |
| | | <ProFormItemV2 label="批次号:" prop="serialNum" :check-rules="[{ message: '请输入批次号' }]"> |
| | | <ProFormText |
| | | placeholder="请输入批次号" |
| | | v-model.trim="innerForm.orderNo" |
| | | v-model.trim="innerForm.serialNum" |
| | | :maxlength="30" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | |
| | | ProFormUpload, |
| | | } from '@bole-core/components'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import _ from 'lodash'; |
| | | |
| | | defineOptions({ |
| | | name: 'UploadInsurePersonDialog', |
| | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | form?: { |
| | | orderNo: string; |
| | | serialNum: string; |
| | | url: UploadUserFile[]; |
| | | }; |
| | | }; |
| | |
| | | prop="url" |
| | | :check-rules="[{ message: '请上传文件', type: 'upload' }]" |
| | | > |
| | | <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg,jpeg,png"> |
| | | <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg/jpeg,png"> |
| | | <template #tip> |
| | | <div> |
| | | <el-text type="danger">支持pdf、jpg、jepg、png图片</el-text> |
| | |
| | | |
| | | export const columns = defineColumns([ |
| | | { |
| | | id: '2', |
| | | enCode: 'channel', |
| | | id: '1', |
| | | enCode: 'serialNum', |
| | | name: '批次号', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'orderNo', |
| | | id: '2', |
| | | enCode: 'insureBillNo', |
| | | name: '保单号', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'orderNo', |
| | | id: '3', |
| | | enCode: 'insurerName', |
| | | name: '投保人', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'orderNo', |
| | | id: '4', |
| | | enCode: 'policyerName', |
| | | name: '被保人', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'insuranceBeginTime', |
| | | id: '5', |
| | | enCode: 'effectStartTime', |
| | | name: '保险起期', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'insuranceEndTime', |
| | | id: '6', |
| | | enCode: 'effectEndTime', |
| | | name: '保险止期', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'insuredInstitution', |
| | | id: '7', |
| | | enCode: 'insuranceOrg', |
| | | name: '参保机构', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '9', |
| | | id: '8', |
| | | enCode: 'insuranceScheme', |
| | | name: '投保方案', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '10', |
| | | enCode: 'insuranceType', |
| | | id: '9', |
| | | enCode: 'insurancePeriod', |
| | | name: '投保方式', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '11', |
| | | enCode: 'insuranceType', |
| | | id: '10', |
| | | enCode: 'insureCount', |
| | | name: '投保人数', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '12', |
| | | enCode: 'insuranceType', |
| | | id: '11', |
| | | enCode: 'sumInsured', |
| | | name: '总保额(元)', |
| | | width: 200, |
| | | }, |
| | | { |
| | | id: '13', |
| | | enCode: 'insuranceType', |
| | | id: '12', |
| | | enCode: 'amount', |
| | | name: '总保费(元)', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '14', |
| | | enCode: 'createTime', |
| | | id: '13', |
| | | enCode: 'creationTime', |
| | | name: '最近导入日期', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '15', |
| | | enCode: 'insuranceType', |
| | | id: '14', |
| | | enCode: 'status', |
| | | name: '投保状态', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '16', |
| | | enCode: 'insuranceType', |
| | | id: '15', |
| | | enCode: 'claimCount', |
| | | name: '理赔数量', |
| | | width: 160, |
| | | }, |
| | |
| | | </div> |
| | | <ClaimPicDemoView /> |
| | | </div> |
| | | <div class="chuck-add-or-edit-actions"> |
| | | <div class="chuck-add-or-edit-actions" v-if="!isDetail"> |
| | | <el-button @click="handleBack">关闭</el-button> |
| | | <el-button v-if="!isDetail" type="primary" @click="handleSubmit">提交</el-button> |
| | | <el-button type="primary" @click="handleSubmit">提交</el-button> |
| | | </div> |
| | | </ProForm> |
| | | </ChunkCell> |
| | | <!-- <ChunkCell title="理赔结果"> |
| | | <ProForm :model="form" ref="claimFormRef" label-width="120px"> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="6"> |
| | | <ProFormItemV2 label="理赔结果:" prop="claimResult"> |
| | | <ProFormSelect |
| | | placeholder="请选择理赔结果" |
| | | :value-enum="InsuranceClaimResultEnumText" |
| | | clearable |
| | | v-model="form.claimResult" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="6"> |
| | | <ProFormItemV2 label="结/撤案时间:" prop="claimResultTime"> |
| | | <ProFormDatePicker |
| | | v-model="form.claimResultTime" |
| | | type="datetime" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择结/撤案时间" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormItemV2 label="下款金额:" prop="downPaymentAmount"> |
| | | <ProFormInputNumber |
| | | v-model="form.downPaymentAmount" |
| | | :controls="false" |
| | | :min="0" |
| | | :precision="2" |
| | | ></ProFormInputNumber> |
| | | </ProFormItemV2> |
| | | <div class="chuck-add-or-edit-actions"> |
| | | <el-button @click="handleBack">关闭</el-button> |
| | | <el-button type="primary" @click="handleSubmit">提交</el-button> |
| | | </div> |
| | | </ProForm> |
| | | </ChunkCell> --> |
| | | <ChunkCell title="理赔结果" v-if="isDetail"> |
| | | <ProForm :model="form" ref="claimFormRef" label-width="120px" :is-read="isDetail"> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="6"> |
| | | <ProFormItemV2 label="理赔结果:" prop="claimResult"> |
| | | <ProFormSelect |
| | | placeholder="请选择理赔结果" |
| | | :value-enum="InsuranceClaimResultEnumText" |
| | | clearable |
| | | v-model="form.claimResult" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="6"> |
| | | <ProFormItemV2 label="结/撤案时间:" prop="claimResultTime"> |
| | | <ProFormDatePicker |
| | | v-model="form.claimResultTime" |
| | | type="datetime" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择结/撤案时间" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormItemV2 label="下款金额:" prop="downPaymentAmount"> |
| | | <ProFormInputNumber |
| | | v-model="form.downPaymentAmount" |
| | | :controls="false" |
| | | :min="0" |
| | | :precision="2" |
| | | ></ProFormInputNumber> |
| | | </ProFormItemV2> |
| | | <div class="chuck-add-or-edit-actions"> |
| | | <el-button @click="handleBack">关闭</el-button> |
| | | </div> |
| | | </ProForm> |
| | | </ChunkCell> |
| | | </AppScrollContainer> |
| | | <SelectOrderDialog v-bind="dialogProps" /> |
| | | </LoadingLayout> |