feat(M08-B): 补任务结算筛选

This commit is contained in:
Codex
2026-06-30 17:30:33 +08:00
parent dac353d184
commit e46d8c0f0a
13 changed files with 212 additions and 35 deletions
+24 -2
View File
@@ -99,8 +99,10 @@
:page="tasks.page"
:page-size="tasks.pageSize"
:status="taskStatus"
:filters="taskFilters"
@refresh="loadTasks"
@status-change="changeTaskStatus"
@filter="changeTaskFilters"
@page-change="changeTaskPage"
@assign="handleAssign"
@complete="handleComplete"
@@ -118,8 +120,10 @@
:page="settlements.page"
:page-size="settlements.pageSize"
:status="settlementStatus"
:filters="settlementFilters"
@refresh="loadSettlements"
@status-change="changeSettlementStatus"
@filter="changeSettlementFilters"
@page-change="changeSettlementPage"
@generate="handleGenerateSettlement"
@confirm="handleConfirmSettlement"
@@ -226,6 +230,8 @@ const settlements = reactive<PageResult<CleaningSettlement>>({
pageSize: 20
});
const cleaners = reactive<PageResult<ManagedUser>>({ items: [], total: 0, page: 1, pageSize: 20 });
const taskFilters = reactive({ storeId: '', cleanerUserId: '' });
const settlementFilters = reactive({ storeId: '', cleanerUserId: '' });
const statisticsFilters = reactive({ from: '', to: '', storeId: '' });
const statistics = reactive<CleaningStatistics>({
summary: {
@@ -271,7 +277,9 @@ async function loadTasks() {
const result = await listCleaningTasks(session.value, {
page: tasks.page,
pageSize: tasks.pageSize,
status: taskStatus.value || undefined
status: taskStatus.value || undefined,
storeId: taskFilters.storeId || undefined,
cleanerUserId: taskFilters.cleanerUserId || undefined
});
Object.assign(tasks, result);
}, '任务已刷新');
@@ -284,7 +292,9 @@ async function loadSettlements() {
const result = await listCleaningSettlements(session.value, {
page: settlements.page,
pageSize: settlements.pageSize,
status: settlementStatus.value || undefined
status: settlementStatus.value || undefined,
storeId: settlementFilters.storeId || undefined,
cleanerUserId: settlementFilters.cleanerUserId || undefined
});
Object.assign(settlements, result);
}, '结算已刷新');
@@ -335,12 +345,24 @@ function changeTaskStatus(status: TaskStatus | '') {
void loadTasks();
}
function changeTaskFilters(input: { storeId: string; cleanerUserId: string }) {
Object.assign(taskFilters, input);
tasks.page = 1;
void loadTasks();
}
function changeSettlementStatus(status: SettlementStatus | '') {
settlementStatus.value = status;
settlements.page = 1;
void loadSettlements();
}
function changeSettlementFilters(input: { storeId: string; cleanerUserId: string }) {
Object.assign(settlementFilters, input);
settlements.page = 1;
void loadSettlements();
}
function changeTaskPage(page: number) {
tasks.page = page;
void loadTasks();