| | |
| | | </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 |
| | | > |
| | | <el-button @click="handleUpload()" type="primary" style="margin-right: 10px" |
| | | <el-button @click="handleOpenInstructions()" type="primary" style="margin-right: 10px" |
| | | >导入投保人员</el-button |
| | | > |
| | | <!-- <el-button |
| | |
| | | class="box-item" |
| | | effect="dark" |
| | | :content="row.auditRemark" |
| | | placement="top-start" |
| | | placement="top" |
| | | v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark" |
| | | popper-class="max-width-popper" |
| | | > |
| | |
| | | </AppContainer> |
| | | <UploadInsurePersonDialog v-bind="dialogProps" /> |
| | | <UploadStampFileDialog v-bind="dialogStampFileProps" /> |
| | | <InsureInstructionsDialog v-bind="dialogInstructionsProps" @onConfirm="handleUpload" /> |
| | | </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'; |
| | | import { columns } from './constants'; |
| | | import UploadInsurePersonDialog from './components/UploadInsurePersonDialog.vue'; |
| | | import UploadStampFileDialog from './components/UploadStampFileDialog.vue'; |
| | | import { format, downloadFile, setOSSLink, toThousand, convertApi2FormUrl } from '@/utils'; |
| | | import { |
| | | format, |
| | | downloadFile, |
| | | setOSSLink, |
| | | toThousand, |
| | | convertApi2FormUrl, |
| | | convertFormUrl2Api, |
| | | } from '@/utils'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import { |
| | | InsuranceOrderTempPath, |
| | |
| | | InsurancePolicyProductIdNumberEnum, |
| | | InsurancePolicyListPayStatusEnum, |
| | | InsurancePolicyListPayStatusEnumText, |
| | | InsuranceOccupationTypeTempPath, |
| | | } from '@/constants'; |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | | import InsureInstructionsDialog from './components/InsureInstructionsDialog.vue'; |
| | | // import { Recorder } from '@/utils/record'; |
| | | |
| | | defineOptions({ |
| | | name: 'Home', |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass || |
| | | row.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | }, |
| | | }, |
| | |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | // const recorder = ref(new Recorder()); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | // handleOpenInstructions(); |
| | | |
| | | // setTimeout(() => { |
| | | // // recorder.value.init(); |
| | | // recorder.value.replaySession('9cb24e5a-0423-4dcd-abd5-fa7a4117cadc'); |
| | | // }, 3000); |
| | | }); |
| | | |
| | | // onUnmounted(() => { |
| | | // recorder.value.stopRecordingAndSave(); |
| | | // }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | |
| | | url: [] as UploadUserFile[], |
| | | productIdNumber: '', |
| | | productSchemeIdNumber: '', |
| | | effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | |
| | | url: editForm.url?.[0]?.path, |
| | | productIdNumber: editForm.productIdNumber, |
| | | productSchemeIdNumber: editForm.productSchemeIdNumber, |
| | | effectStartTime: editForm.effectStartTime, |
| | | }; |
| | | let res = await insuranceOrderServices.importInsStaffToList(params); |
| | | if (res.length > 0) { |
| | |
| | | dialogState.dialogVisible = false; |
| | | getList(paginationState.pageIndex); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog(); |
| | | |
| | | function handleOpenInstructions() { |
| | | dialogInstructionsState.dialogVisible = true; |
| | | } |
| | | |
| | | function handleUpload() { |
| | |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownloadOccupationType() { |
| | | downloadFileByUrl(InsuranceOccupationTypeTempPath, '职业类型对照表'); |
| | | } |
| | | |
| | | function handleDownload() { |
| | | downloadFileByUrl(InsuranceOrderTempPath, '保单导入模板'); |
| | | } |
| | |
| | | try { |
| | | let params: API.UploadInsuranceStampFilesInput = { |
| | | insurancePolicyId: stampFileForm.id, |
| | | listFiles: stampFileForm.url?.map((x) => x.path) ?? [], |
| | | listFiles: convertFormUrl2Api(stampFileForm.url), |
| | | }; |
| | | let res = await insuranceOrderServices.uploadInsuranceStampFiles(params); |
| | | if (res) { |