From ac452fd9dd2b7703a81374d171df3604fae78b7a Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 29 七月 2025 19:45:38 +0800 Subject: [PATCH] fix: 新增生煎保(短期方案) --- src/views/Home/components/InsureOrderInfoView.vue | 142 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 115 insertions(+), 27 deletions(-) diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue index ff3d989..fba9f62 100644 --- a/src/views/Home/components/InsureOrderInfoView.vue +++ b/src/views/Home/components/InsureOrderInfoView.vue @@ -60,6 +60,22 @@ </ProFormItemV2> </ProFormColItem> </ProFormCol> + <ProFormCol v-if="detail.productOnline"> + <ProFormColItem :span="8"> + <ProFormItemV2 label="鎬讳繚璐�:" prop="amount"> + <ProFormInputNumber v-model="detail.amount" unit="鍏�" formatValue="money" /> + </ProFormItemV2> + </ProFormColItem> + <ProFormColItem :span="8"> + <ProFormItemV2 label="鎬讳繚棰�:" prop="sumInsured"> + <ProFormInputNumber + v-model.trim="detail.sumInsured" + unit="鍏�" + formatValue="money" + /> + </ProFormItemV2> + </ProFormColItem> + </ProFormCol> <ProFormCol> <ProFormColItem :span="8"> <ProFormItemV2 label="鎶曚繚浜�:" prop="insurerName"> @@ -101,13 +117,28 @@ type="primary" >琛ユ彁</el-button > + <el-button @click="handleExport(InsuranceDetailStatusEnum.Effecting)" type="primary" + >瀵煎嚭鍦ㄤ繚浜哄憳</el-button + > + <el-button @click="handleExport(InsuranceDetailStatusEnum.Fail)" type="primary" + >瀵煎嚭閿欒浜哄憳</el-button + > + <template v-if="detail.auditStatus === InsurancePolicyAuditStatusEnum.WaitAdd"> + <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-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> @@ -311,10 +342,16 @@ onClick: (role) => handleChangeInfo(role), }, extraProps: { - hide: (row: API.GetInsuranceStaffPageTemplate) => - detail.value?.productOnline || - detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect || - detail.value?.auditStatus === InsurancePolicyAuditStatusEnum.Pass, + hide: (row: API.GetInsuranceStaffPageTemplate) => { + if (detail.value?.productOnline) { + return detail.value?.auditStatus !== InsurancePolicyAuditStatusEnum.WaitAdd; + } else { + return ( + detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect || + detail.value?.auditStatus === InsurancePolicyAuditStatusEnum.Pass + ); + } + }, }, }, { @@ -430,21 +467,23 @@ url: response.url, }); if (res?.length > 0) { - await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); - XLSXUtils.exportToXLSX({ - workbookDataList: res, - fileName: '閿欒浜哄憳鍚嶅崟', - workbookHeaderMap: { - name: '闆囧憳濮撳悕', - sex: '鎬у埆', - certType: '璇佷欢绫诲瀷', - certNo: '璇佷欢鍙风爜', - jobName: '闆囧憳宸ョ', - useEmploer: '鐢ㄥ伐鍗曚綅', - address: '鐢ㄥ伐鍦扮偣', - note: '澶囨敞', - }, - }); + try { + await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); + XLSXUtils.exportToXLSX({ + workbookDataList: res, + fileName: '閿欒浜哄憳鍚嶅崟', + workbookHeaderMap: { + name: '闆囧憳濮撳悕', + sex: '鎬у埆', + certType: '璇佷欢绫诲瀷', + certNo: '璇佷欢鍙风爜', + jobName: '闆囧憳宸ョ', + useEmploer: '鐢ㄥ伐鍗曚綅', + address: '鐢ㄥ伐鍦扮偣', + note: '澶囨敞', + }, + }); + } catch (error) {} } queryClient.invalidateQueries({ queryKey: ['insuranceOrderServices/getInsuranceStaffList'], @@ -573,6 +612,7 @@ productIdNumber: detail.value.productIdNumber, productSchemeIdNumber: getInsureProductSchemeByCode(detail.value.productSchemeCode)?.idNumber, effectStartTime: detail.value.effectStartTime, + effectEndTime: detail.value.effectEndTime, }); } @@ -580,6 +620,7 @@ dialogProps: dialogSupplyProps, handleAdd: handleSupplyAdd, editForm: supplyForm, + dialogState: dialogSupplyState, } = useFormDialog({ onConfirm: supplySubmit, defaultFormParams: { @@ -588,11 +629,58 @@ productIdNumber: '', productSchemeIdNumber: '', effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), + effectEndTime: '', }, + closeAfterConfirm: false, }); -// TODO 琛ユ彁 -async function supplySubmit() {} +async function supplySubmit() { + try { + let params: API.FillInsStaffToListFrontInput = { + insurancePolicyId: id, + url: supplyForm.url?.[0]?.path, + }; + let res = await insuranceOrderServices.fillInsStaffToList(params, { + timeout: 60 * 1000 * 10, + }); + if (res) { + // await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); + try { + if (res.errorList.length > 0) { + await Message.tipMessage( + `鎬绘姇淇濅汉鏁�${res.importAllCount}浜猴紝鎶曚繚鎴愬姛${res.successCount}浜猴紝鎶曚繚澶辫触${res.errorList.length}浜烘槸鍚﹀鍑烘姇淇濆け璐ヤ汉鍛樻竻鍗曪紵`, + { + confirmButtonText: '瀵煎嚭', + } + ); + XLSXUtils.exportToXLSX({ + workbookDataList: res.errorList, + fileName: '閿欒浜哄憳鍚嶅崟', + workbookHeaderMap: { + name: '闆囧憳濮撳悕', + sex: '鎬у埆', + certType: '璇佷欢绫诲瀷', + certNo: '璇佷欢鍙风爜', + jobName: '闆囧憳宸ョ', + useEmploer: '鐢ㄥ伐鍗曚綅', + address: '鐢ㄥ伐鍦扮偣', + note: '澶囨敞', + }, + }); + } else { + await Message.tipMessage( + `鎬绘姇淇濅汉鏁�${res.importAllCount}浜猴紝鎶曚繚鎴愬姛${res.successCount}浜篳, + { + showCancelButton: false, + } + ); + } + } catch (error) {} + dialogSupplyState.dialogVisible = false; + getInsuranceStaffList(paginationState.pageIndex); + } + } catch (error) {} +} </script> <style lang="scss" scoped> -- Gitblit v1.9.1