| | |
| | | <UploadInsurePersonDialog v-bind="dialogProps" /> |
| | | <UploadStampFileDialog v-bind="dialogStampFileProps" /> |
| | | <InsureInstructionsDialog v-bind="dialogInstructionsProps" /> |
| | | <InsureLineModeSelectDialog v-bind="dialogLineModeSelectProps" /> |
| | | <DisbursementDialog v-bind="dialogDisbursementProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | useDialog, |
| | | } from '@bole-core/components'; |
| | | import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { Message, OrderInputType, downloadFileByUrl } from '@bole-core/core'; |
| | | import { columns } from './constants'; |
| | | import { columns, InsureLineMode } from './constants'; |
| | | import UploadInsurePersonDialog from './components/UploadInsurePersonDialog.vue'; |
| | | import UploadStampFileDialog from './components/UploadStampFileDialog.vue'; |
| | | import { |
| | |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | | import InsureInstructionsDialog from './components/InsureInstructionsDialog.vue'; |
| | | import InsureLineModeSelectDialog from './components/InsureLineModeSelectDialog.vue'; |
| | | import DisbursementDialog from './components/DisbursementDialog.vue'; |
| | | import { useInsureProductSchemeAllList, useUserInsureProductSetting } from '@/hooks'; |
| | | // import { Recorder } from '@/utils/record'; |
| | | |
| | |
| | | onClick: (role) => handleBatch(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | onClick: (role) => handleUploadStampFile(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.status !== InsurancePolicyStatusEnum.WaitEffect, |
| | | hide: (row: API.GetInsurancePageOutput) => { |
| | | if (row.productOnline) { |
| | | return ( |
| | | row.auditStatus !== InsurancePolicyAuditStatusEnum.WaitAdd && |
| | | row.auditStatus !== InsurancePolicyAuditStatusEnum.WaitAudit |
| | | ); |
| | | } else { |
| | | return row.status !== InsurancePolicyStatusEnum.WaitEffect; |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => |
| | | row.auditStatus != InsurancePolicyAuditStatusEnum.WaitAdd, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'applyTradeBySelfBtn', |
| | | name: '出账申请', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleParkBountyApplyTradeBySelf(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetInsurancePageOutput) => row.productOnline, |
| | | }, |
| | | }, |
| | | ]).filter(Boolean); |
| | |
| | | productSchemeIdNumber: '', |
| | | effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), |
| | | effectEndTime: '', |
| | | isOnLineInsurance: false, |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog({ |
| | | onConfirm: handleUpload, |
| | | }); |
| | | const { dialogProps: dialogLineModeSelectProps, dialogState: dialogLineModeSelectState } = |
| | | useDialog({ |
| | | onConfirm: handleLineModeSelect, |
| | | }); |
| | | |
| | | function handleOpenInstructions() { |
| | | if (isSjbAccount.value) { |
| | | async function handleLineModeSelect(mode: InsureLineMode) { |
| | | if (mode === InsureLineMode.OnLine) { |
| | | dialogInstructionsState.dialogVisible = true; |
| | | } else { |
| | | handleUpload(); |
| | | } |
| | | } |
| | | |
| | | async function handleUpload() { |
| | | const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog({ |
| | | onConfirm: () => { |
| | | return handleUpload(true); |
| | | }, |
| | | }); |
| | | |
| | | function handleOpenInstructions() { |
| | | if (isSjbAccount.value) { |
| | | // dialogInstructionsState.dialogVisible = true; |
| | | dialogLineModeSelectState.dialogVisible = true; |
| | | } else { |
| | | handleUpload(); |
| | | } |
| | | } |
| | | |
| | | async function handleUpload(isOnLineInsurance = false) { |
| | | handleAdd({ |
| | | serialNum: `${dayjs().format('YYYYMMDD')}${_.random(0, 9999).toString().padStart(4, '0')}`, |
| | | url: [] as UploadUserFile[], |
| | | isOnLineInsurance, |
| | | }); |
| | | } |
| | | |
| | |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleParkBountyApplyTradeBySelf(row: API.GetInsurancePageOutput) { |
| | | handleDisbursementAdd({ |
| | | remianAmount: row.remianAmount, |
| | | }); |
| | | } |
| | | |
| | | const { |
| | | dialogProps: dialogDisbursementProps, |
| | | handleAdd: handleDisbursementAdd, |
| | | editForm: editDisbursementForm, |
| | | } = useFormDialog({ |
| | | onConfirm: parkBountyApplyTradeBySelf, |
| | | defaultFormParams: { |
| | | payRemark: '', |
| | | tradeAmount: 0, |
| | | remianAmount: 0, |
| | | payFileUrl: [] as UploadUserFile[], |
| | | |
| | | incomeCompanyName: '', |
| | | insureBillNo: '', |
| | | incomeBankAccount: '', |
| | | incomeBankCardNumber: '', |
| | | incomeBankName: '', |
| | | }, |
| | | }); |
| | | |
| | | async function parkBountyApplyTradeBySelf() { |
| | | try { |
| | | let params: API.CreateParkBountyTradeInput = { |
| | | tradeAmount: editDisbursementForm.tradeAmount, |
| | | payFileUrl: editDisbursementForm.payFileUrl.map((item) => item.url).join('|'), |
| | | payRemark: editDisbursementForm.payRemark, |
| | | incomeCompanyName: editDisbursementForm.incomeCompanyName, |
| | | insureBillNo: editDisbursementForm.insureBillNo, |
| | | incomeBankAccount: editDisbursementForm.incomeBankAccount, |
| | | incomeBankCardNumber: editDisbursementForm.incomeBankCardNumber, |
| | | incomeBankName: editDisbursementForm.incomeBankName, |
| | | }; |
| | | let res = await parkBountyApplyServices.parkBountyApplyTradeBySelf(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |