From ff6b2db013b8afc86d26ba24fdf5e6115c2127ab Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 02 四月 2025 16:11:51 +0800 Subject: [PATCH] fix: bug --- src/views/Home/components/BatchChangeRecordView.vue | 147 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 108 insertions(+), 39 deletions(-) diff --git a/src/views/Home/components/BatchChangeRecordView.vue b/src/views/Home/components/BatchChangeRecordView.vue index c79d563..a38937f 100644 --- a/src/views/Home/components/BatchChangeRecordView.vue +++ b/src/views/Home/components/BatchChangeRecordView.vue @@ -1,17 +1,36 @@ <template> - <AppContainer> - <ProTableV2 - v-bind="proTableProps" - :columns="column" - :operationBtns="operationBtns" - :autoHeight="false" - :tableProps="{ - maxHeight: '400px', - }" - > - </ProTableV2> - <BatchChangeRecordDetailDialog v-bind="dialogProps"></BatchChangeRecordDetailDialog> - </AppContainer> + <LoadingLayout :loading="state.loading"> + <AppContainer> + <ProTableV2 + v-bind="proTableProps" + :columns="column" + :operationBtns="operationBtns" + :autoHeight="false" + :tableProps="{ + maxHeight: '400px', + }" + > + <template #checkStatus="{ row }"> + <el-tooltip + class="box-item" + effect="dark" + :content="row.auditNote" + placement="top-start" + v-if="row.checkStatus === BatchBillCheckStatus.CheckTurnDown" + > + <div style="display: inline-flex; align-items: center"> + {{ BatchBillCheckStatusText[row.checkStatus] }} + <el-icon size="16" color="#3a71ff"><QuestionFilled /></el-icon> + </div> + </el-tooltip> + <el-text v-else> + {{ BatchBillCheckStatusText[row.checkStatus] }} + </el-text> + </template> + </ProTableV2> + <BatchChangeRecordDetailDialog v-bind="dialogProps"></BatchChangeRecordDetailDialog> + </AppContainer> + </LoadingLayout> </template> <script setup lang="ts"> @@ -22,9 +41,15 @@ defineOperationBtns, useFormDialog, } from '@bole-core/components'; -import * as insuranceOrderServices from '@/services/api/InsuranceOrder'; -import { OrderInputType } from '@bole-core/core'; +import * as insureBatchBillServices from '@/services/api/InsureBatchBill'; +import { downloadFileByUrl, Message, OrderInputType } from '@bole-core/core'; import BatchChangeRecordDetailDialog from './BatchChangeRecordDetailDialog.vue'; +import { + BatchBillCheckStatus, + BatchBillCheckStatusText, + BatchChangeTypeEnumText, +} from '@/constants'; +import { setOSSLink } from '@/utils'; defineOptions({ name: 'BatchChangeRecordView', @@ -33,47 +58,47 @@ const column: API.CustomModuleColumnDto[] = [ { id: '1', - enCode: 'name', + enCode: 'batchBillNo', name: '鎵瑰崟鍙�', }, { id: '2', - enCode: 'name', + enCode: 'changeType', name: '鎵规敼绫诲瀷', }, { id: '3', - enCode: 'name', + enCode: 'creationTime', name: '鐢宠鏃ユ湡', }, { id: '4', - enCode: 'idNumber', + enCode: 'effectTime', name: '鎵规敼鐢熸晥鏃ユ湡', }, { id: '5', - enCode: 'idNumber', + enCode: 'insurePersonNumber', name: '鍦ㄤ繚浜烘暟', }, { id: '6', - enCode: 'idNumber', + enCode: 'orginInsurePersonNumber', name: '鍘熷湪淇濅汉鏁�', }, { id: '7', - enCode: 'idNumber', + enCode: 'addPersonNumber', name: '鏂板', }, { id: '8', - enCode: 'idNumber', + enCode: 'subPersonNumber', name: '鍑忓皯', }, { id: '9', - enCode: 'idNumber', + enCode: 'checkStatus', name: '鎵瑰崟鐘舵��', }, ]; @@ -87,9 +112,21 @@ emits: { onClick: (role) => handleDetail(role), }, - // extraProps: { - // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile, - // }, + extraProps: { + hide: (row: API.InsureBatchBillDto) => row.checkStatus !== BatchBillCheckStatus.InValidate, + }, + }, + { + data: { + enCode: 'downloadBtn', + name: '涓嬭浇鎵瑰崟', + }, + emits: { + onClick: (role) => handleDownload(role), + }, + extraProps: { + hide: (row: API.InsureBatchBillDto) => row.checkStatus !== BatchBillCheckStatus.InValidate, + }, }, ]); @@ -110,16 +147,15 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.QueryInsuranceOrderPageInput = { + let params: API.GetInsuranceBatchBillInput = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - condition: extraParamState.keyWord, - // insurePolicyOperateHistoryId: id, + insurancePolicyId: id, }; - let res = await insuranceOrderServices.getInsuranceOrderPage(params, { + let res = await insureBatchBillServices.getInsureBatchBillList(params, { showLoading: !state.loading, }); return res; @@ -128,26 +164,59 @@ { defaultExtraParams: { keyWord: '', - orderInput: [{ property: 'id', order: OrderInputType.Asc }], + orderInput: [{ property: 'insureBatchBillId', order: OrderInputType.Asc }], }, - columnsRenderProps: {}, + columnsRenderProps: { + creationTime: { + type: 'date', + format: 'YYYY-MM-DD', + }, + effectTime: { + type: 'date', + format: 'YYYY-MM-DD', + }, + changeType: { + type: 'enum', + valueEnum: BatchChangeTypeEnumText, + }, + }, } ); + +async function getInsureBatchDetail(id: string) { + try { + return await insureBatchBillServices.getInsureBatchDetail({ batchBillId: id }); + } catch (error) {} +} const { dialogProps, handleEdit } = useFormDialog({ defaultFormParams: { id: '', + staffList: [] as API.InsureBatchBillDetailDto[], }, }); -function handleDetail(row: API.InsuranceOrderListOutput) { - handleEdit({ - id: row.id, - }); +async function handleDetail(row: API.InsureBatchBillDto) { + try { + const res = await getInsureBatchDetail(row.insureBatchBillId); + handleEdit({ + id: row.insureBatchBillId, + staffList: res.staffList, + }); + } catch (error) {} } -onMounted(() => { - getBatchRefundInfoDetail(); +function handleDownload(row: API.InsureBatchBillDto) { + if (!row.attachmentUrl) { + Message.errorMessage('鏈笂浼犳壒鍗曟枃浠�'); + return; + } + downloadFileByUrl(setOSSLink(row.attachmentUrl)); +} + +onMounted(async () => { + await getBatchRefundInfoDetail(); + state.loading = false; }); </script> -- Gitblit v1.9.1