| | |
| | | Reject = -10, |
| | | /**待审核 */ |
| | | WaitAudit = 10, |
| | | /**待审核 强制再审后的再审状态*/ |
| | | WaitReAudit = 11, |
| | | /**待审核 补提后的再审状态*/ |
| | | WaitFillAudit = 12, |
| | | /**审核中 */ |
| | | Auditing = 15, |
| | | /**通过 */ |
| | |
| | | export const InsurancePolicyAuditStatusEnumText = { |
| | | [InsurancePolicyAuditStatusEnum.Reject]: '驳回', |
| | | [InsurancePolicyAuditStatusEnum.WaitAudit]: '待审核', |
| | | [InsurancePolicyAuditStatusEnum.WaitReAudit]: '待审核', |
| | | [InsurancePolicyAuditStatusEnum.WaitFillAudit]: '待审核', |
| | | [InsurancePolicyAuditStatusEnum.Auditing]: '审核中', |
| | | [InsurancePolicyAuditStatusEnum.Pass]: '通过', |
| | | }; |
| | | |
| | | export const InsurancePolicyAuditStatusEnumTextForFilter = { |
| | | [InsurancePolicyAuditStatusEnum.Reject]: '驳回', |
| | | [InsurancePolicyAuditStatusEnum.WaitAudit]: '待审核', |
| | | [InsurancePolicyAuditStatusEnum.Auditing]: '审核中', |
| | | [InsurancePolicyAuditStatusEnum.Pass]: '通过', |
| | | }; |
| | |
| | | staleTime: Infinity, |
| | | }); |
| | | |
| | | function getInsureProductSchemeByCode(code: string) { |
| | | return allInsureProductSchemeList.value.find((x) => x.code === code); |
| | | } |
| | | |
| | | return { |
| | | allInsureProductSchemeList, |
| | | refetch, |
| | | getInsureProductSchemeByCode, |
| | | }; |
| | | } |
| | |
| | | body: API.RestorePolicyInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/InsuranceOrder/RestorePolicyStatus', { |
| | | return request<boolean>('/api/InsuranceOrder/RestorePolicyStatus', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | auditRemark?: string; |
| | | /** 保险产品IdNumber */ |
| | | productIdNumber?: string; |
| | | /** 方案代码 */ |
| | | productSchemeCode?: string; |
| | | /** 是否走线上流程 */ |
| | | productOnline?: boolean; |
| | | payStatus?: InsurancePolicyListPayStatusEnum; |
| | |
| | | failCount?: number; |
| | | } |
| | | |
| | | type InsurancePolicyAuditStatusEnum = 10 | 15 | 20 | -10; |
| | | type InsurancePolicyAuditStatusEnum = 10 | 11 | 12 | 15 | 20 | -10; |
| | | |
| | | type InsurancePolicyListPayStatusEnum = 1 | 2; |
| | | |
| | |
| | | invoiceDownloadOssUrl?: string; |
| | | } |
| | | |
| | | type InsurancePolicyPayStatusEnum = 1 | 2 | -1; |
| | | type InsurancePolicyPayStatusEnum = 0 | 1 | 2 | -1; |
| | | |
| | | type InsurancePolicyStatusEnum = 10 | 20 | 30; |
| | | |
| | |
| | | } |
| | | |
| | | interface RestorePolicyDto { |
| | | /** Id */ |
| | | id?: string; |
| | | /** 订单号 */ |
| | | channelOrderNo?: string; |
| | | /** 保单号 */ |
| | |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.auditStatus" |
| | | :value-enum="InsurancePolicyAuditStatusEnumText" |
| | | :value-enum="InsurancePolicyAuditStatusEnumTextForFilter" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | InsurancePolicyStatusEnum, |
| | | AppType, |
| | | InsurancePolicyAuditStatusEnumText, |
| | | InsurancePolicyAuditStatusEnumTextForFilter, |
| | | InsurancePolicyAuditStatusEnum, |
| | | InsurancePolicyProductIdNumberEnum, |
| | | InsurancePolicyListPayStatusEnum, |
| | |
| | | width="600px" |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false" |
| | | @close="goTo(`step0`)" |
| | | > |
| | | <div class="insureInstructionsDialog-content"> |
| | | <!-- <img :src="IconTaipingLogo" alt="" class="logo" /> --> |
| | |
| | | |
| | | const visibleFiles = ref(false); |
| | | |
| | | const { isCurrent, goToNext, goToPrevious, isLast, isFirst } = useStepper( |
| | | const { isCurrent, goToNext, goToPrevious, isLast, isFirst, goTo } = useStepper( |
| | | InsuranceTempList.map((x, index) => `step${index}`) |
| | | ); |
| | | </script> |
| | |
| | | </QueryFilterItem> |
| | | </template> |
| | | <template #btn> |
| | | <template v-if="detail.productOnline"> |
| | | <el-button |
| | | v-if="detail.auditStatus === InsurancePolicyAuditStatusEnum.Pass" |
| | | @click="handleSupplySubmit()" |
| | | type="primary" |
| | | >补提</el-button |
| | | > |
| | | <template v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect"> |
| | | <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> |
| | | </template> |
| | | <template v-else> |
| | | <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect"> |
| | | <template v-if="!detail.productOnline"> |
| | | <el-button @click="handleTemplateDownload()" link type="primary" |
| | | >模板下载</el-button |
| | | > |
| | |
| | | </template> |
| | | </BlFileUpload> |
| | | <el-button @click="handleClear()" type="primary">清空数据</el-button> |
| | | </template> |
| | | </template> |
| | | <template v-else> |
| | | <template v-if="detail.productOnline"> |
| | | <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> |
| | | <template v-else> |
| | | <el-button @click="handleExport(null)" type="primary">下载人员清单</el-button> |
| | |
| | | </ChunkCell> |
| | | <ChangePersonInfoDialog v-bind="dialogProps"></ChangePersonInfoDialog> |
| | | <InsureClaimDetailDialog v-bind="dialogInsureClaimProps"></InsureClaimDetailDialog> |
| | | <UploadInsurePersonDialog v-bind="dialogSupplyProps" isSupply /> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | |
| | | import { downloadFile, downloadFileByUrl, Message, OrderInputType } from '@bole-core/core'; |
| | | import { setOSSLink } from '@/utils'; |
| | | import dayjs from 'dayjs'; |
| | | import { useInsureActions } from '@/hooks'; |
| | | import { |
| | | useInsureActions, |
| | | useInsureProductSchemeAllList, |
| | | useUserInsureProductSetting, |
| | | } from '@/hooks'; |
| | | import UploadInsurePersonDialog from './UploadInsurePersonDialog.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'InsureOrderInfoView', |
| | |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { getInsureProductIdByIdNumber } = useUserInsureProductSetting(); |
| | | const { getInsureProductSchemeByCode } = useInsureProductSchemeAllList({ |
| | | insureProductId: computed(() => getInsureProductIdByIdNumber(detail.value.productIdNumber)), |
| | | }); |
| | | |
| | | function handleSupplySubmit() { |
| | | handleSupplyAdd({ |
| | | serialNum: detail.value.serialNum, |
| | | productIdNumber: detail.value.productIdNumber, |
| | | productSchemeIdNumber: getInsureProductSchemeByCode(detail.value.productSchemeCode)?.idNumber, |
| | | effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), |
| | | }); |
| | | } |
| | | |
| | | const { |
| | | dialogProps: dialogSupplyProps, |
| | | handleAdd: handleSupplyAdd, |
| | | editForm: supplyForm, |
| | | } = useFormDialog({ |
| | | onConfirm: supplySubmit, |
| | | defaultFormParams: { |
| | | serialNum: '', |
| | | url: [] as UploadUserFile[], |
| | | productIdNumber: '', |
| | | productSchemeIdNumber: '', |
| | | effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), |
| | | }, |
| | | }); |
| | | |
| | | // TODO 补提 |
| | | async function supplySubmit() {} |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | enum-label-key="productName" |
| | | enum-value-key="productIdNumber" |
| | | @change="handleProductChange" |
| | | :disabled="isSupply" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | |
| | | v-model="form.productSchemeIdNumber" |
| | | enum-label-key="name" |
| | | enum-value-key="idNumber" |
| | | :disabled="isSupply" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="批次号:" prop="serialNum" :check-rules="[{ message: '请输入批次号' }]"> |
| | |
| | | placeholder="请输入批次号" |
| | | v-model.trim="innerForm.serialNum" |
| | | :maxlength="30" |
| | | :disabled="isSupply" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择起保日期" |
| | | :disabled-date="disabledStartDate" |
| | | :disabled="isSupply" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | |
| | | productSchemeIdNumber: string; |
| | | effectStartTime: string; |
| | | }; |
| | | isSupply?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | modelValue: false, |
| | | isSupply: false, |
| | | }); |
| | | |
| | | const emit = defineEmits<{ |