From fdfa895b8a3bc9577c221e2209c51dca6ad83eee Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 22 九月 2025 13:14:44 +0800 Subject: [PATCH] fix: bug --- src/views/TaskManage/components/SelltementDetailView.vue | 72 ++++++++++++++++++++++++++--------- 1 files changed, 53 insertions(+), 19 deletions(-) diff --git a/src/views/TaskManage/components/SelltementDetailView.vue b/src/views/TaskManage/components/SelltementDetailView.vue index 58e1843..37d6c99 100644 --- a/src/views/TaskManage/components/SelltementDetailView.vue +++ b/src/views/TaskManage/components/SelltementDetailView.vue @@ -14,14 +14,22 @@ <script setup lang="ts"> import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components'; import { ModelValueType } from 'element-plus'; -import * as enterpriseServices from '@/services/api/enterprise'; +import * as taskUserServices from '@/services/api/taskUser'; +import { useQuery } from '@tanstack/vue-query'; +import { SettlementReceiveStatusText } from '@/constants'; +import { downloadFileByUrl, paginateList, setOSSLink } from '@/utils'; defineOptions({ name: 'SelltementDetailView', }); const operationBtnMap: Record<string, OperationBtnType> = { - 'settle-downloadBtn': { emits: { onClick: (role) => handleDownload(role) } }, + 'settle-downloadBtn': { + emits: { onClick: (role) => handleDownload(role) }, + extraProps: { + hide: (row: API.GetSettlementTaskUsersQueryResultItem) => !row.ereceiptDownloadOssUrl, + }, + }, }; const { checkSubModuleItemShow, column, operationBtns } = useAccess({ @@ -31,9 +39,11 @@ const [settleColumns] = useGroupColumns(column, ['settle-']); const [settleOperationBtns] = useGroupOperationBtns(operationBtns, ['settle-']); -const router = useRouter(); +const route = useRoute(); +const id = route.params?.id as string; const BaseState = { loading: true, + settlementTaskUsers: [] as API.GetSettlementTaskUsersQueryResultItem[], }; const state = reactive({ ...BaseState }); @@ -41,6 +51,24 @@ onMounted(async () => { await getList(); state.loading = false; +}); + +const { isLoading, data, refetch } = useQuery({ + queryKey: ['taskUserServices/getSettlementTaskUsers', id], + queryFn: async () => { + return await taskUserServices.getSettlementTaskUsers( + { taskInfoId: id }, + { + showLoading: false, + } + ); + }, + placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult), + onSuccess(res) { + state.settlementTaskUsers = res.data; + getList(); + }, + enabled: !!id, }); const { @@ -52,32 +80,38 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetEnterprisesQuery = { + let list = [...state.settlementTaskUsers]; + + return Promise.resolve({ pageModel: { rows: pageSize, page: pageIndex, - orderInput: extraParamState.orderInput, + totalCount: list.length, }, - // searchKeys: extraParamState.keyword, - }; - let res = await enterpriseServices.getEnterprises(params, { - showLoading: !state.loading, + data: paginateList(list, pageIndex, pageSize), }); - return res; - } catch (error) {} + } catch (error) { + console.log('error: ', error); + } }, { defaultExtraParams: { - keyword: '', - pageType: '' as any as number, - status: '' as any as boolean, - beginDate: [] as unknown as ModelValueType, - endDate: [] as unknown as ModelValueType, - orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], + keywords: '', + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, - columnsRenderProps: {}, + queryKey: ['taskUserServices/getSettlementTaskUsers'], + columnsRenderProps: { + settlementTime: { type: 'date' }, + createdTime: { type: 'date' }, + settlementAmount: { type: 'money' }, + actualSettlementAmount: { type: 'money' }, + settlementReceiveStatus: { type: 'enum', valueEnum: SettlementReceiveStatusText }, + }, } ); -function handleDownload(row) {} +function handleDownload(row: API.GetSettlementTaskUsersQueryResultItem) { + if (!row.ereceiptDownloadOssUrl) return; + downloadFileByUrl(setOSSLink(row.ereceiptDownloadOssUrl), '缁撶畻鍥炲崟'); +} </script> -- Gitblit v1.9.1