不同视角下:任务列表查询

This commit is contained in:
WindowBird 2025-11-12 17:43:07 +08:00
parent 9413b651e0
commit 769e0d169e
2 changed files with 16 additions and 6 deletions

View File

@ -5,17 +5,21 @@
/**
* 获取任务列表
* @param {Object} params 请求参数
* @param {string} params.ownerId 所属人id
* @param {boolean} params.overdue 是否获取逾期任务
* @param {number[]} params.statusList 任务状态列表4对应已完成
* @param {string} params.expireTimeStart 过期时间开始范围格式yyyy-MM-dd HH:mm:ss
* @param {string} params.expireTimeEnd 过期时间结束范围格式yyyy-MM-dd HH:mm:ss
* @returns {Promise} 返回任务列表
*/
export const getTaskList = ({ overdue, statusList, expireTimeStart, expireTimeEnd }) => {
export const getTaskList = ({ownerId, overdue, statusList, expireTimeStart, expireTimeEnd }) => {
const queryParams = [];
if (overdue !== undefined) {
queryParams.push(`overdue=${overdue}`);
}
if (ownerId !== undefined) {
queryParams.push(`ownerId=${ownerId}`);
}
if (statusList !== undefined && Array.isArray(statusList) && statusList.length > 0) {
// 将数组转换为逗号分隔的字符串,例如 [4] => "4" 或 [1,2,3] => "1,2,3"
queryParams.push(`statusList=${statusList.join(',')}`);

View File

@ -85,6 +85,8 @@ import { getStatusText, getTaskStatusType, getTaskStatusStyle } from '@/utils/ta
import { getTaskList } from '@/api';
import { useTaskStore } from '@/store/task';
import {truncateText} from "@/utils/textSolve/truncateText";
import {useUserStore} from "@/store/user";
//
@ -322,16 +324,20 @@ const loadTaskList = async () => {
loading.value = true;
let res;
let userId= useUserStore().getUserInfo.user.userId
let privateView= useUserStore().privateView
let ownerId = userId && privateView ? userId:''
//
if (statusFilter.value === 'completed') {
res = await getTaskList({ statusList: [4] });
res = await getTaskList({ statusList: [4], ownerId: ownerId });
} else if (statusFilter.value === 'overdue') {
res = await getTaskList({ overdue: true });
res = await getTaskList({ overdue: true, ownerId: ownerId });
} else if (statusFilter.value === 'pending') {
res = await getTaskList({ statusList: [2] });
res = await getTaskList({ statusList: [2], ownerId: ownerId });
} else if (statusFilter.value === 'imminent') {
const dateRange = getImminentDateRange();
res = await getTaskList({
ownerId: ownerId,
statusList: [2],
expireTimeStart: dateRange.expireTimeStart,
expireTimeEnd: dateRange.expireTimeEnd