| New file |
| | |
| | | <template> |
| | | <LoadingLayout :loading="state.loading"> |
| | | <AppContainer> |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | <template #checkStatus="{ data, row }"> |
| | | <div style="display: flex; justify-content: center; align-items: center"> |
| | | {{ EnterpriseRechargeStatusEnumTextWithdrawal[row.checkStatus] }} |
| | | <el-tooltip |
| | | placement="top" |
| | | v-if="row.checkStatus === EnterpriseRechargeStatusEnum.CheckReject && row.checkRemark" |
| | | :content="row.checkRemark" |
| | | > |
| | | <el-icon color="#ff0000"><WarningFilled /></el-icon> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | | <template #operationBtn-checkBtn="{ data, row }"> |
| | | <PreviewBtnV2 |
| | | class="pro-table-operation-btn" |
| | | :url="convertApi2FormUrlBySeparator(row.checkFileUrl ?? '')" |
| | | preview-btn-text="查看凭证" |
| | | /> |
| | | </template> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | AppContainer, |
| | | useTable, |
| | | PreviewBtnV2, |
| | | ProTableV2, |
| | | defineOperationBtns, |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { useUser } from '@/hooks'; |
| | | import { |
| | | EnterpriseRechargeStatusEnumTextWithdrawal, |
| | | EnterpriseRechargeStatusEnum, |
| | | } from '@/constants'; |
| | | import { convertApi2FormUrlBySeparator } from '@/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'WithdrawalRecordView', |
| | | }); |
| | | |
| | | const column = [ |
| | | { |
| | | id: '1', |
| | | enCode: 'creationTime', |
| | | name: '申请时间', |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'amount', |
| | | name: '提现金额', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'checkStatus', |
| | | name: '审核状态', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'checkTime', |
| | | name: '审核时间', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'remainAmount', |
| | | name: '资金余额', |
| | | }, |
| | | ]; |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'checkBtn', |
| | | name: '查看凭证', |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | | const route = useRoute(); |
| | | const router = useRouter(); |
| | | const id = route.params.id as string; |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetEnterpriseDrawWithListInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | }; |
| | | let res = await parkBountyApplyServices.getEnterpriseDrawWithList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | creationTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | checkTime: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | amount: { type: 'money' }, |
| | | remainAmount: { type: 'money' }, |
| | | checkStatus: { type: 'enum', valueEnum: EnterpriseRechargeStatusEnumTextWithdrawal }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | }); |
| | | |
| | | defineExpose({ |
| | | getList, |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | </style> |