| | |
| | | /** |
| | | * 获取流程任务进行时长 |
| | | * GET /api/v1/process/record/task-time |
| | | * @param {Object} params - 查询参数 |
| | | * @param {string} params.mediation_id - AI调解反馈ID |
| | | * @param {string} params.node_id - 节点ID |
| | | * @param {string} mediation_id - AI调解反馈ID |
| | | * @param {string} node_id - 节点ID |
| | | * @returns {Promise} 任务进行时长 |
| | | * @returns {Promise<Object>} 返回对象包含startTime和duration |
| | | * @returns {Promise<Object>.data.startTime} 任务开始时间字符串 |
| | | * @returns {Promise<Object>.data.duration} 持续时间字符串 |
| | | */ |
| | | static getTaskTime(params = {}) { |
| | | return request.get('/api/v1/process/record/task-time', params); |
| | | static getTaskTime(mediation_id, node_id) { |
| | | return request.get('/api/v1/process/record/task-time', { mediation_id, node_id }); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {Object} params - 查询参数 |
| | | * @param {string} params.caseTypeFirst - 案件一级分类 |
| | | * @param {string} params.platform_code - 外部平台编号 |
| | | * @param {string} params.authorization - 授权token |
| | | * @returns {Promise} 调解时间线数据 |
| | | */ |
| | | static getMediationTimeline(caseId, params = {}) { |
| | | return request.get(`/api/v1/mediation-timeline/v2/case/${caseId}`, params); |
| | | const { authorization, ...queryParams } = params; |
| | | queryParams.authorization = authorization; |
| | | const config = authorization ? { headers: { Authorization: authorization } } : {}; |
| | | return request.get(`/api/v1/mediation-timeline/v2/case/${caseId}`, queryParams, config); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {string} params.caseTypeFirst - 案件一级分类 |
| | | * @param {string} params.platformCode - 外部平台编号 |
| | | * @param {string} params.caseId - 案件ID |
| | | * @param {string} params.authorization - 授权token |
| | | * @returns {Promise} 流程节点列表 |
| | | */ |
| | | static getProcessNodes(params = {}) { |
| | | return request.get('/api/v1/process/node', params); |
| | | const { authorization, ...queryParams } = params; |
| | | const config = authorization ? { headers: { Authorization: authorization } } : {}; |
| | | return request.get('/api/v1/process/node', queryParams, config); |
| | | } |
| | | |
| | | |
| | |
| | | * @param {Object} params - 查询参数 |
| | | * @param {string} params.caseTypeFirst - 案件一级分类 |
| | | * @param {string} params.platform_code - 外部平台编号 |
| | | * @param {string} params.authorization - 授权token(来自URL的auth_token) |
| | | * @returns {Promise} 完整流程信息 |
| | | */ |
| | | static async getCaseProcessInfo(caseId, params = {}) { |
| | | try { |
| | | console.log('Getting case process info...', caseId, params); |
| | | // 参数名转换:platform_code -> platformCode |
| | | const nodeParams = { |
| | | caseTypeFirst: params.caseTypeFirst, |
| | | platformCode: params.platform_code, |
| | | caseId |
| | | caseId, |
| | | authorization: params.authorization |
| | | }; |
| | | |
| | | // 提取authorization用于子请求 |
| | | const { authorization, ...timelineParams } = params; |
| | | console.log('Timeline params:', timelineParams); |
| | | timelineParams.authorization = authorization; |
| | | // 并行获取时间线和流程节点 |
| | | const promises = [ |
| | | this.getMediationTimeline(caseId, params), |
| | | this.getProcessNodes(nodeParams) |
| | | this.getMediationTimeline(caseId, { ...timelineParams, authorization }), |
| | | this.getProcessNodes({ ...nodeParams, authorization }) |
| | | ]; |
| | | |
| | | const results = await Promise.all(promises); |
| | | |
| | | console.log('Timeline result:', results[0]); |
| | | console.log('Nodes result:', results[1]); |
| | | |
| | | // nodes接口返回 { nodeList: [...] },需提取 nodeList 数组 |
| | | const nodesRaw = results[1].data; |
| | | const nodes = nodesRaw?.nodeList || (Array.isArray(nodesRaw) ? nodesRaw : []); |
| | | |
| | | return { |
| | | timeline: results[0].data || {}, |
| | | nodes: results[1].data || {} |
| | | nodes |
| | | }; |
| | | } catch (error) { |
| | | return Promise.reject(error); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 人工接管API |
| | | * PUT /api/v1/mediation-timeline/v2/case/{caseId}/takeover |
| | | * @param {string} caseId - 案件ID |
| | | * @param {Object} data - 请求数据 |
| | | * @param {string} data.userName - 当前用户名 |
| | | * @returns {Promise} 接管结果 |
| | | */ |
| | | static takeover(caseId, data) { |
| | | return request.put(`/api/v1/mediation-timeline/v2/case/${caseId}/takeover`, data); |
| | | } |
| | | |
| | | } |
| | | |
| | | export default ProcessAPIService; |