From a2971bb8f3be26eb30302bcf4de07e12e912700c Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 21 八月 2025 11:10:41 +0800 Subject: [PATCH] feat: 页面 --- src/views/ServiceChargeManage/ServiceChargeSettle.vue | 127 ++++++++++++++++++++++++++---------------- 1 files changed, 78 insertions(+), 49 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeSettle.vue b/src/views/ServiceChargeManage/ServiceChargeSettle.vue index d48fdbf..bdfca37 100644 --- a/src/views/ServiceChargeManage/ServiceChargeSettle.vue +++ b/src/views/ServiceChargeManage/ServiceChargeSettle.vue @@ -29,47 +29,30 @@ </ProForm> </ChunkCell> <ChunkCell title="鏀舵鏂逛俊鎭�"> - <ProForm :model="form" ref="formRef" label-width="120px"> - <ProFormItemV2 - label="鏀舵鏂硅处鎴�:" - prop="name" - :check-rules="[{ message: '璇烽�夋嫨鏀舵鏂硅处鎴�' }]" - > - <ProFormRadio - v-model="form.name" - :valueEnum="[]" - placeholder="璇烽�夋嫨鏀舵鏂硅处鎴�" - clearable - > - </ProFormRadio> - </ProFormItemV2> - <ProFormMixinsItemContainer> - <ProFormItemV2 - label="鏀舵鏂规埛鍚�:" - prop="name" - :check-rules="[{ message: '璇疯緭鍏ユ敹娆炬柟鎴峰悕' }]" - mode="read" - > - <ProFormText v-model="form.name"> </ProFormText> - </ProFormItemV2> - <ProFormItemV2 - label="鏀舵鏂硅处鍙�:" - prop="name" - :check-rules="[{ message: '璇疯緭鍏ユ敹娆炬柟璐﹀彿' }]" - mode="read" - > - <ProFormText v-model="form.name"> </ProFormText> - </ProFormItemV2> - <ProFormItemV2 - label="鏀舵鏂瑰紑鎴疯:" - prop="name" - :check-rules="[{ message: '璇疯緭鍏ユ敹娆惧紑鎴疯' }]" - mode="read" - > - <ProFormText v-model="form.name"> </ProFormText> - </ProFormItemV2> - </ProFormMixinsItemContainer> - </ProForm> + <ProTableQueryFilterBar @on-reset="reset"> + <template #query> + <QueryFilterItem> + <SearchInput + v-model="extraParamState.keywords" + style="width: 300px" + placeholder="浜哄憳濮撳悕/韬唤璇佸彿/鎵嬫満鍙�" + @on-click-search="getList" + > + </SearchInput> + </QueryFilterItem> + </template> + </ProTableQueryFilterBar> + <ProTableV2 + v-bind="proTableProps" + :columns="SettlementListColumns" + :show-operation-column="false" + :auto-height="false" + ref="proTable" + :tableProps="{ + maxHeight: '400px', + }" + > + </ProTableV2> </ChunkCell> <ChunkCell title="杞处淇℃伅"> <ProForm :model="form" ref="formRef" label-width="120px"> @@ -105,13 +88,19 @@ ProFormText, ProFormSelect, ProFormInputNumber, - ProFormRadio, + ProTableV2, + QueryFilterItem, + SearchInput, + ProTableQueryFilterBar, ProFormMixinsItemContainer, + useTable, } from '@bole-core/components'; import { useQuery } from '@tanstack/vue-query'; import { useRouteView } from '@/hooks'; import { FormInstance } from 'element-plus'; import { validateFormList } from '@/utils'; +import * as taskServices from '@/services/api/task'; +import { SettlementListColumns } from './constants'; defineOptions({ name: 'ServiceChargeSettle', @@ -119,7 +108,7 @@ const route = useRoute(); const id = (route.params.id as string) ?? ''; - +const eventContext = useGlobalEventContext(); const { closeViewPush } = useRouteView(); const form = reactive({ @@ -128,19 +117,55 @@ }); const { isLoading } = useQuery({ - queryKey: ['flexTaskServices/getFlexTaskDetail', id], + queryKey: ['taskServices/getTaskInfo', id], queryFn: async () => { - return await flexTaskServices.getFlexTaskDetail( + return await taskServices.getTaskInfo( { id: id }, { showLoading: false, } ); }, - placeholderData: () => ({} as API.GetFlexTaskDetailForBackOutput), - onSuccess(data) {}, + placeholderData: () => ({} as API.GetTaskInfoQueryResult), + onSuccess(data) { + form.name = data.name; + }, enabled: !!id, }); + +const { + getDataSource: getList, + proTableProps, + paginationState, + extraParamState, + reset, +} = useTable( + async ({ pageIndex, pageSize }, extraParamState) => { + try { + let params: API.GetOpenTaskInfosQuery = { + pageModel: { + rows: pageSize, + page: pageIndex, + orderInput: extraParamState.orderInput, + }, + keywords: extraParamState.keywords, + }; + + let res = await taskServices.getOpenTaskInfos(params); + return res; + } catch (error) { + console.log('error: ', error); + } + }, + { + defaultExtraParams: { + keywords: '', + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], + }, + queryKey: ['taskServices/getOpenTaskInfos'], + columnsRenderProps: {}, + } +); function handleBack() { closeViewPush(route, { @@ -152,12 +177,16 @@ try { const valid = await validateFormList([formRef.value]); if (valid) { - // + submit(); } } catch (error) {} } -onMounted(() => {}); +async function submit() { + try { + eventContext.emit('serviceChargeSettle'); + } catch (error) {} +} </script> <style lang="scss" scoped> -- Gitblit v1.9.1