OfficeSystem/api/task.js

132 lines
3.5 KiB
JavaScript
Raw Permalink Normal View History

2025-11-07 11:18:43 +08:00
/**
* 任务相关 API
*/
2025-11-27 10:14:55 +08:00
import { buildUrl } from '@/utils/url'
2025-11-07 11:18:43 +08:00
/**
* 获取任务列表
* @param {Object} params 请求参数
2025-11-12 17:43:07 +08:00
* @param {string} params.ownerId 所属人id
2025-11-07 11:18:43 +08:00
* @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
2025-11-13 09:48:26 +08:00
* @param {number} params.pageNum 页码
* @param {number} params.pageSize 每页数量
2025-11-22 15:50:58 +08:00
* @param {string} params.orderByColumn 排序字段
* @param {string} params.isAsc 排序方式ascending/descending
* @param {string} params.projectId 项目ID
* @param {string} params.type 任务类型
* @param {string} params.level 优先级
* @param {string} params.createId 创建人ID
* @param {string[]} params.passDateRange 通过日期范围 [开始日期, 结束日期]
* @param {string} params.status 任务状态
2025-11-07 11:18:43 +08:00
* @returns {Promise} 返回任务列表
*/
2025-11-22 15:50:58 +08:00
export const getTaskList = (params = {}) => {
2025-11-27 10:14:55 +08:00
// 使用统一URL构建工具
const url = buildUrl('bst/task/list', params);
2025-11-22 15:50:58 +08:00
2025-11-27 10:14:55 +08:00
return uni.$uv.http.get(url, {
2025-11-07 11:18:43 +08:00
custom: {
auth: true // 启用 token 认证
}
});
};
/**
* 获取任务详情
* @param {string} id 任务ID
* @returns {Promise} 返回任务详情
*/
export const getTaskDetail = (id) => {
return uni.$uv.http.get(`bst/task/${id}`, {
custom: {
auth: true // 启用 token 认证
}
});
};
/**
* 提交任务
* @param {Object} params 请求参数
* @param {string} params.id 任务ID
* @param {string} params.submitAttaches 附件, 逗号分隔的URL字符串
* @param {string} params.submitRemark 备注
* @returns {Promise} 返回提交结果
*/
export const submitTask = ({ id, submitAttaches, submitRemark }) => {
return uni.$uv.http.put('/bst/task/submit', {
id: id,
submitAttaches: submitAttaches || '',
submitRemark: submitRemark || ''
}, {
custom: {
auth: true // 启用 token 认证
}
});
};
2025-11-13 16:33:00 +08:00
/**
* 申请任务延期发起审核
* @param {Object} payload 请求数据
* @param {string|number} payload.bstId 任务ID
* @param {string} payload.bstType 审核类型
* @param {string} payload.createRemark 申请说明
* @param {string} payload.data 业务数据JSON字符串
* @returns {Promise} 返回接口响应
*/
export const applyTaskDelay = (payload) => {
return uni.$uv.http.post('/bst/verify', payload, {
custom: {
auth: true
}
});
};
2025-11-14 15:28:48 +08:00
/**
* 创建任务
* @param {Object} payload 任务数据
* @returns {Promise} 请求结果
*/
export const createTask = (payload) => {
return uni.$uv.http.post('/bst/task', payload, {
custom: {
auth: true,
catch: true // 允许在 catch 中处理错误
2025-11-14 15:28:48 +08:00
}
});
};
2025-11-24 09:18:45 +08:00
/**
* 取消任务
* @param {Object} params 请求参数
* @param {string} params.id 任务ID
* @param {string} params.cancelRemark 取消备注
* @returns {Promise} 返回取消结果
*/
export const cancelTask = ({ id, cancelRemark }) => {
return uni.$uv.http.put('/bst/task/cancel', {
id: id,
cancelRemark: cancelRemark || ''
}, {
custom: {
auth: true, // 启用 token 认证
catch: true
}
});
};
2025-11-14 15:28:48 +08:00
/**
* 获取全部项目列表
* @returns {Promise<Array>} 项目列表
*/
export const getProjectListAll = () => {
return uni.$uv.http.get('/bst/project/listAll', {
custom: {
auth: true
}
});
};