2025-11-07 11:18:43 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 任务相关 API
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取任务列表
|
|
|
|
|
|
* @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-07 11:18:43 +08:00
|
|
|
|
* @returns {Promise} 返回任务列表
|
|
|
|
|
|
*/
|
2025-11-13 09:48:26 +08:00
|
|
|
|
export const getTaskList = ({ownerId, overdue, statusList, expireTimeStart, expireTimeEnd, pageNum, pageSize }) => {
|
2025-11-07 11:18:43 +08:00
|
|
|
|
const queryParams = [];
|
|
|
|
|
|
if (overdue !== undefined) {
|
|
|
|
|
|
queryParams.push(`overdue=${overdue}`);
|
|
|
|
|
|
}
|
2025-11-13 09:48:26 +08:00
|
|
|
|
if (ownerId !== undefined && ownerId !== '') {
|
2025-11-12 17:43:07 +08:00
|
|
|
|
queryParams.push(`ownerId=${ownerId}`);
|
|
|
|
|
|
}
|
2025-11-07 11:18:43 +08:00
|
|
|
|
if (statusList !== undefined && Array.isArray(statusList) && statusList.length > 0) {
|
|
|
|
|
|
// 将数组转换为逗号分隔的字符串,例如 [4] => "4" 或 [1,2,3] => "1,2,3"
|
|
|
|
|
|
queryParams.push(`statusList=${statusList.join(',')}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (expireTimeStart !== undefined && expireTimeStart !== null && expireTimeStart !== '') {
|
|
|
|
|
|
queryParams.push(`expireTimeStart=${encodeURIComponent(expireTimeStart)}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (expireTimeEnd !== undefined && expireTimeEnd !== null && expireTimeEnd !== '') {
|
|
|
|
|
|
queryParams.push(`expireTimeEnd=${encodeURIComponent(expireTimeEnd)}`);
|
|
|
|
|
|
}
|
2025-11-13 09:48:26 +08:00
|
|
|
|
// 添加分页参数
|
|
|
|
|
|
if (pageNum !== undefined) {
|
|
|
|
|
|
queryParams.push(`pageNum=${pageNum}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (pageSize !== undefined) {
|
|
|
|
|
|
queryParams.push(`pageSize=${pageSize}`);
|
|
|
|
|
|
}
|
2025-11-07 11:18:43 +08:00
|
|
|
|
const queryString = queryParams.length > 0 ? `?${queryParams.join('&')}` : '';
|
|
|
|
|
|
|
|
|
|
|
|
return uni.$uv.http.get(`bst/task/list${queryString}`, {
|
|
|
|
|
|
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: {
|
2025-11-17 09:22:06 +08:00
|
|
|
|
auth: true,
|
|
|
|
|
|
catch: true // 允许在 catch 中处理错误
|
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
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
};
|
|
|
|
|
|
|