From 41bedb2dfa045b6cfa03b69d295c09b0b5a8d8bb Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 02 十二月 2025 15:01:00 +0800
Subject: [PATCH] Merge branch 'master' into dev-1.3.0.4
---
src/views/DataReport/DistributionDetailReport.vue | 131 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 131 insertions(+), 0 deletions(-)
diff --git a/src/views/DataReport/DistributionDetailReport.vue b/src/views/DataReport/DistributionDetailReport.vue
new file mode 100644
index 0000000..4af5c00
--- /dev/null
+++ b/src/views/DataReport/DistributionDetailReport.vue
@@ -0,0 +1,131 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem>
+ <FieldDatePicker
+ v-model="extraParamState.checkReceiveTime"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="鎴鏃ユ湡"
+ clearable
+ @change="getList()"
+ tooltipContent="楠屾敹鏃ユ湡"
+ ></FieldDatePicker>
+ </QueryFilterItem>
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ ProTableV2,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+ FieldDatePicker,
+} from '@bole-core/components';
+import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
+import { ModelValueType } from 'element-plus';
+import { downloadFileByUrl, format, OrderUtils, setOSSLink } from '@/utils';
+
+defineOptions({
+ name: 'DistributionDetailReport',
+});
+
+const operationBtnMap: Record<string, OperationBtnType> = {
+ downloadBtn: {
+ emits: {
+ onClick: (role) => handleDownload(role),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTasksQueryResultItem) =>
+ row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
+ },
+ },
+};
+
+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.GetCheckReceiveTasksQuery = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ checkReceiveTimeBegin: format(
+ extraParamState.checkReceiveTime?.[0] ?? '',
+ 'YYYY-MM-DD 00:00:00'
+ ),
+ checkReceiveTimeEnd: format(
+ extraParamState.checkReceiveTime?.[1] ?? '',
+ 'YYYY-MM-DD 23:59:59'
+ ),
+ };
+
+ let res = await taskCheckReceiveServices.getCheckReceiveTasks(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ checkReceiveTime: [] as unknown as ModelValueType,
+ },
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks'],
+ columnsRenderProps: {
+ serviceFee: { type: 'money' },
+ createdTime: { type: 'date', format: 'YYYY-MM-DD' },
+ beginTime: { type: 'date', format: 'YYYY-MM-DD' },
+ },
+ }
+);
+
+async function handleDownload(row: API.GetCheckReceiveTasksQueryResultItem) {
+ try {
+ let params: API.ExportTaskCheckReceiveTaskUsersCommand = {
+ id: row.id,
+ };
+ let res = await taskCheckReceiveServices.exportTaskCheckReceiveTaskUsers(params);
+ if (res) {
+ downloadFileByUrl(setOSSLink(res));
+ }
+ } catch (error) {}
+}
+</script>
--
Gitblit v1.9.1