From 9b07e595da6e87cfc49a8728586e85c0635a8650 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 13:47:59 +0800
Subject: [PATCH] feat: 1.2.0.1
---
src/views/TaskManage/components/SelltementDetailView.vue | 70 ++++++++++++++++++++++++++---------
1 files changed, 52 insertions(+), 18 deletions(-)
diff --git a/src/views/TaskManage/components/SelltementDetailView.vue b/src/views/TaskManage/components/SelltementDetailView.vue
index 81ff5d9..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,
+ 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