From 4b896d2c15f73248a5571a9952f3bbdefe6e230f Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 05 九月 2025 16:02:53 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobAdmin --- src/views/FinanceManage/BalanceManage.vue | 135 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 135 insertions(+), 0 deletions(-) diff --git a/src/views/FinanceManage/BalanceManage.vue b/src/views/FinanceManage/BalanceManage.vue new file mode 100644 index 0000000..92ffa1d --- /dev/null +++ b/src/views/FinanceManage/BalanceManage.vue @@ -0,0 +1,135 @@ +<template> + <LoadingLayout :loading="state.loading"> + <AppContainer> + <ProTableQueryFilterBar @on-reset="reset"> + <template #query> + <QueryFilterItem> + <FieldSelect + placeholder="鎵�灞炲叕鍙�" + v-model="extraParamState.status" + :value-enum="[]" + @change="getList()" + /> + </QueryFilterItem> + <QueryFilterItem tip-content="浣欓鑼冨洿"> + <el-input-number + v-model="extraParamState.minAmount" + placeholder="浣欓鏈�灏忛噾棰�" + size="small" + style="width: 150px" + :controls="false" + />~ + <el-input-number + v-model="extraParamState.maxAmount" + placeholder="浣欓鏈�澶ч噾棰�" + size="small" + style="width: 150px" + :controls="false" + /> + </QueryFilterItem> + <QueryFilterItem> + <SearchInput + v-model="extraParamState.keyword" + style="width: 260px" + placeholder="濮撳悕/鎵嬫満鍙�/韬唤璇佸彿" + @on-click-search="getList" + > + </SearchInput> + </QueryFilterItem> + </template> + </ProTableQueryFilterBar> + <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> + </ProTableV2> + </AppContainer> + <BalanceDetailDialog v-bind="dialogProps" /> + </LoadingLayout> +</template> + +<script setup lang="ts"> +import { + ProTableQueryFilterBar, + OperationBtnType, + ProTableV2, + SearchInput, + LoadingLayout, + AppContainer, + QueryFilterItem, + useTable, + useFormDialog, + FieldSelect, +} from '@bole-core/components'; +import { useAccess } from '@/hooks'; +import * as enterpriseServices from '@/services/api/enterprise'; +import BalanceDetailDialog from './components/BalanceDetailDialog.vue'; + +defineOptions({ + name: 'BalanceManage', +}); + +const operationBtnMap: Record<string, OperationBtnType> = { + detailBtn: { emits: { onClick: (role) => openDialog(role) } }, +}; + +const { column, operationBtns } = useAccess({ + operationBtnMap, +}); + +const router = useRouter(); +const BaseState = { + loading: true, +}; + +const state = reactive({ ...BaseState }); + +onMounted(async () => { + await getList(); + state.loading = false; +}); + +const { + getDataSource: getList, + proTableProps, + paginationState, + extraParamState, + reset, +} = useTable( + async ({ pageIndex, pageSize }, extraParamState) => { + try { + let params: API.GetEnterprisesQuery = { + pageModel: { + rows: pageSize, + page: pageIndex, + orderInput: extraParamState.orderInput, + }, + // searchKeys: extraParamState.keyword, + }; + let res = await enterpriseServices.getEnterprises(params, { + showLoading: !state.loading, + }); + return res; + } catch (error) {} + }, + { + defaultExtraParams: { + keyword: '', + status: '', + minAmount: null as number, + maxAmount: null as number, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], + }, + columnsRenderProps: {}, + } +); + +const { dialogProps, handleEdit, editForm } = useFormDialog({ + defaultFormParams: { + id: '', + }, +}); + +function openDialog(row) { + handleEdit({ + id: row.id, + }); +} +</script> -- Gitblit v1.9.1