|  |  |  | 
|---|
|  |  |  | <AppContainer> | 
|---|
|  |  |  | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> | 
|---|
|  |  |  | </ProTableV2> | 
|---|
|  |  |  | <FourStreamsMaterialFileDialog | 
|---|
|  |  |  | v-bind="dialogMaterialFileProps" | 
|---|
|  |  |  | :show-upload-btn="false" | 
|---|
|  |  |  | :show-delete-btn="false" | 
|---|
|  |  |  | :show-check-btn="false" | 
|---|
|  |  |  | downloadBtnText="查看" | 
|---|
|  |  |  | title="查看凭证" | 
|---|
|  |  |  | :BusinessTypeEnumText="ApplyTransferFileBusinessTypeEnumText" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </AppContainer> | 
|---|
|  |  |  | </LoadingLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components'; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | AppContainer, | 
|---|
|  |  |  | useTable, | 
|---|
|  |  |  | ProTableV2, | 
|---|
|  |  |  | defineOperationBtns, | 
|---|
|  |  |  | useFormDialog, | 
|---|
|  |  |  | } from '@bole-core/components'; | 
|---|
|  |  |  | import { OrderInputType } from '@bole-core/core'; | 
|---|
|  |  |  | import * as informationServices from '@/services/api/Information'; | 
|---|
|  |  |  | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; | 
|---|
|  |  |  | import { IncomeStatusEnumText } from '@/constants'; | 
|---|
|  |  |  | import { ApplyTransferFileBusinessTypeEnumText } from '@/components/commonView/types'; | 
|---|
|  |  |  | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; | 
|---|
|  |  |  | import { ApplyTransferMaterialFileTableItem } from '@/components/commonView/types'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'RewardGrantRecordView', | 
|---|
|  |  |  | 
|---|
|  |  |  | const column: API.CustomModuleColumnDto[] = [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '1', | 
|---|
|  |  |  | enCode: 'batchBillNo', | 
|---|
|  |  |  | enCode: 'batchNo', | 
|---|
|  |  |  | name: '申报批次号', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '2', | 
|---|
|  |  |  | enCode: 'changeType', | 
|---|
|  |  |  | name: '奖励金发放日期', | 
|---|
|  |  |  | enCode: 'batchNo', | 
|---|
|  |  |  | name: '申报总额', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '3', | 
|---|
|  |  |  | enCode: 'creationTime', | 
|---|
|  |  |  | name: '奖励金到账日期', | 
|---|
|  |  |  | enCode: 'applySumAmount', | 
|---|
|  |  |  | name: '财政拨付金额', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '4', | 
|---|
|  |  |  | enCode: 'effectTime', | 
|---|
|  |  |  | name: '发放金额', | 
|---|
|  |  |  | enCode: 'settleTime', | 
|---|
|  |  |  | name: '财政拨付日期', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '5', | 
|---|
|  |  |  | enCode: 'insurePersonNumber', | 
|---|
|  |  |  | name: '到账确认结果', | 
|---|
|  |  |  | enCode: 'applySumAmount', | 
|---|
|  |  |  | name: '平台充值金额', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: '6', | 
|---|
|  |  |  | enCode: 'incomeTime', | 
|---|
|  |  |  | name: '平台充值日期', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const operationBtns = defineOperationBtns([ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | enCode: 'previewBtn', | 
|---|
|  |  |  | enCode: 'checkBtn', | 
|---|
|  |  |  | name: '查看凭证', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emits: { | 
|---|
|  |  |  | onClick: (role) => handlePreview(role), | 
|---|
|  |  |  | onClick: (row) => openMaterialFileDialog(row), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]); | 
|---|
|  |  |  | 
|---|
|  |  |  | } = useTable( | 
|---|
|  |  |  | async ({ pageIndex, pageSize }, extraParamState) => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let params: API.GetInformationForManageInput = { | 
|---|
|  |  |  | let params: API.QueryParkCustomerBountyApplyInput = { | 
|---|
|  |  |  | pageModel: { | 
|---|
|  |  |  | rows: pageSize, | 
|---|
|  |  |  | page: pageIndex, | 
|---|
|  |  |  | orderInput: extraParamState.orderInput, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | id: id, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await informationServices.getInformationForManage(params, { | 
|---|
|  |  |  | let res = await parkBountyApplyServices.getParkCustomerBountyGrantList(params, { | 
|---|
|  |  |  | showLoading: !state.loading, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return res; | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | defaultExtraParams: { | 
|---|
|  |  |  | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], | 
|---|
|  |  |  | orderInput: [{ property: 'id', order: OrderInputType.Desc }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | columnsRenderProps: { | 
|---|
|  |  |  | settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, | 
|---|
|  |  |  | incomeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, | 
|---|
|  |  |  | applySumAmount: { type: 'money' }, | 
|---|
|  |  |  | incomeStatus: { type: 'enum', valueEnum: IncomeStatusEnumText }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function handlePreview(row: API.InsureBatchBillDto) {} | 
|---|
|  |  |  | function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) { | 
|---|
|  |  |  | handleMaterialFileAdd({ | 
|---|
|  |  |  | list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row), | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({ | 
|---|
|  |  |  | defaultFormParams: { | 
|---|
|  |  |  | list: [] as ApplyTransferMaterialFileTableItem[], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | onMounted(async () => { | 
|---|
|  |  |  | await getList(); | 
|---|