| New file |
| | |
| | | <template> |
| | | <LoadingLayout :loading="state.loading"> |
| | | <AppContainer> |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | <template #operationBtn-checkBtn="{ data, row }"> |
| | | <PreviewBtnV2 |
| | | class="pro-table-operation-btn" |
| | | :url="convertApi2FormUrlBySeparator(row.financeToFileUrl ?? '')" |
| | | preview-btn-text="查看凭证" |
| | | /> |
| | | </template> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | AppContainer, |
| | | useTable, |
| | | PreviewBtnV2, |
| | | defineOperationBtns, |
| | | ProTableV2, |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { FinanceStatusEnum, FinanceStatusEnumText } from '@/constants'; |
| | | import { useUser } from '@/hooks'; |
| | | import { convertApi2FormUrlBySeparator } from '@/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'PaymentRecordView', |
| | | }); |
| | | |
| | | const column = [ |
| | | { |
| | | id: '1', |
| | | enCode: 'financeToTime', |
| | | name: '拨付时间', |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'financeToAmount', |
| | | name: '拨付金额', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'batchNo', |
| | | name: '拨付批次', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'applyMonth', |
| | | name: '拨付月份', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'financeToStatus', |
| | | name: '拨付状态', |
| | | }, |
| | | ]; |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'checkBtn', |
| | | name: '查看凭证', |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | | const { userDetail } = useUser(); |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.QueryParkCustomerBountyApplyInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | id: userDetail.value?.userId ?? '', |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkCustomerBountyFinanceList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'financeToTime', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | financeToStatus: { type: 'enum', valueEnum: FinanceStatusEnumText }, |
| | | financeToTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | applyMonth: { type: 'date', format: 'YYYY年MM月' }, |
| | | financeToAmount: { type: 'money' }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | </style> |