From 30c817b5bd6cd1d3b44afe12fac6f1a7064b8689 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期六, 28 六月 2025 15:57:23 +0800 Subject: [PATCH] feat: v2.2 --- src/views/Home/Home.vue | 139 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 136 insertions(+), 3 deletions(-) diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index e566cc1..dba96ee 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -26,6 +26,15 @@ </QueryFilterItem> <QueryFilterItem> <FieldRadio + v-model="extraParamState.auditStatus" + :value-enum="InsurancePolicyAuditStatusEnumText" + buttonStyle + showAllBtn + @change="getList()" + /> + </QueryFilterItem> + <QueryFilterItem> + <FieldRadio v-model="extraParamState.status" :value-enum="InsurancePolicyStatusEnumText" buttonStyle @@ -73,6 +82,24 @@ rowKey: 'id', }" > + <template #auditStatus="{ row }"> + <el-tooltip + class="box-item" + effect="dark" + :content="row.auditRemark" + placement="top-start" + v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark" + popper-class="max-width-popper" + > + <div style="display: inline-flex; align-items: center; color: inherit"> + {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }} + <el-icon size="16" color="#3a71ff"><QuestionFilled /></el-icon> + </div> + </el-tooltip> + <el-text v-else style="color: inherit"> + {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }} + </el-text> + </template> </ProTableV2> </AppContainer> <UploadInsurePersonDialog v-bind="dialogProps" /> @@ -109,6 +136,11 @@ InsurancePolicyStatusEnumText, InsurancePolicyStatusEnum, AppType, + InsurancePolicyAuditStatusEnumText, + InsurancePolicyAuditStatusEnum, + InsurancePolicyProductIdNumberEnum, + InsurancePolicyListPayStatusEnum, + InsurancePolicyListPayStatusEnumText, } from '@/constants'; import dayjs from 'dayjs'; import _ from 'lodash'; @@ -136,7 +168,8 @@ onClick: (role) => handleBatch(role), }, extraProps: { - hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting, + hide: (row: API.GetInsurancePageOutput) => + row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting, }, }, { @@ -149,6 +182,7 @@ }, extraProps: { hide: (row: API.GetInsurancePageOutput) => + row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass || row.status !== InsurancePolicyStatusEnum.WaitEffect, }, }, @@ -161,10 +195,56 @@ onClick: (role) => handleDownloadInsureFile(role), }, extraProps: { - hide: (row: API.GetInsurancePageOutput) => - row.status === InsurancePolicyStatusEnum.WaitEffect, + hide: (row: API.GetInsurancePageOutput) => row.productOnline || !row.insureBillUrl, }, }, + { + data: { + enCode: 'payBtn', + name: '鏀粯', + }, + emits: { + onClick: (role) => handlePay(role), + }, + extraProps: { + hide: (row: API.GetInsurancePageOutput) => + row.payStatus != InsurancePolicyListPayStatusEnum.WaitPay, + }, + }, + { + data: { + enCode: 'stampFilesBtn', + name: '淇濆崟涓嬭浇', + }, + emits: { + onClick: (role) => handleGoStampFiles(role), + }, + extraProps: { + hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete), + }, + }, + { + data: { + enCode: 'downloadInvoiceBtn', + name: '鍙戠エ涓嬭浇', + }, + emits: { + onClick: (role) => handleGoDownloadInvoice(role), + }, + extraProps: { + hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete), + }, + }, + + // { + // data: { + // enCode: 'standarEndoBtn', + // name: '鐢宠閫�淇�', + // }, + // emits: { + // onClick: (role) => handleStandarEndo(role), + // }, + // }, ]).filter(Boolean); const BaseState = { @@ -200,6 +280,7 @@ creationDate: [] as unknown as ModelValueType, condition: '', status: '' as any as InsurancePolicyStatusEnum, + auditStatus: '' as any as InsurancePolicyAuditStatusEnum, insurancePeriod: '', }, columnsRenderProps: { @@ -218,6 +299,7 @@ formatter: (row: API.GetInsurancePageOutput) => row.amount == null ? '' : toThousand(row.amount), }, + payStatus: { type: 'enum', valueEnum: InsurancePolicyListPayStatusEnumText }, }, } ); @@ -234,6 +316,7 @@ condition: extraParamState.condition, insurancePeriod: extraParamState.insurancePeriod, status: extraParamState.status, + auditStatus: extraParamState.auditStatus, }; return params; } @@ -243,6 +326,8 @@ defaultFormParams: { serialNum: '', url: [] as UploadUserFile[], + productIdNumber: '', + productSchemeIdNumber: '', }, closeAfterConfirm: false, }); @@ -272,6 +357,8 @@ let params: API.APIimportInsStaffToListParams = { serialNum: editForm.serialNum, url: editForm.url?.[0]?.path, + productIdNumber: editForm.productIdNumber, + productSchemeIdNumber: editForm.productSchemeIdNumber, }; let res = await insuranceOrderServices.importInsStaffToList(params); if (res.length > 0) { @@ -428,4 +515,50 @@ }, }); } + +async function handleStandarEndo(row: API.GetInsurancePageOutput) { + try { + await Message.deleteMessage('鏄惁鐢宠閫�淇�?'); + let params = { + id: row.id, + }; + // let res = await userServices.deleteRole(params); + // if (res) { + // Message.successMessage('鎿嶄綔鎴愬姛'); + // getList(paginationState.pageIndex); + // } + } catch (error) {} +} + +async function handleGoStampFiles(row: API.GetInsurancePageOutput) { + try { + router.push({ + name: 'InsurancePolicyStampFiles', + params: { + id: row.id, + }, + }); + } catch (error) {} +} + +function handlePay(row: API.GetInsurancePageOutput) { + router.push({ + name: 'InsurePayDetail', + params: { + id: row.id, + }, + }); +} + +async function handleGoDownloadInvoice(row: API.GetInsurancePageOutput) { + try { + await insuranceOrderServices.getInvoiceId({ id: row.id }); + router.push({ + name: 'InsureDownloadInvoice', + params: { + id: row.id, + }, + }); + } catch (error) {} +} </script> -- Gitblit v1.9.1