From d760bcb09f1d1b373ffd417d322bc91a08c63b21 Mon Sep 17 00:00:00 2001
From: shimai <shimai@example.com>
Date: Mon, 09 Mar 2026 17:23:31 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/~chengmw/cloud-melody-front into test/shimai.huang/260309

---
 web-app/src/services/ProcessAPIService.js |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/web-app/src/services/ProcessAPIService.js b/web-app/src/services/ProcessAPIService.js
index c239a26..e71488f 100644
--- a/web-app/src/services/ProcessAPIService.js
+++ b/web-app/src/services/ProcessAPIService.js
@@ -21,13 +21,15 @@
   /**
    * 获取流程任务进行时长
    * 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 });
   }
 
   /**
@@ -67,6 +69,7 @@
    */
   static async getCaseProcessInfo(caseId, params = {}) {
     try {
+      console.log('Getting case process info...', caseId, params);
       // 参数名转换:platform_code -> platformCode
       const nodeParams = {
         caseTypeFirst: params.caseTypeFirst,
@@ -82,9 +85,16 @@
 
       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);
@@ -108,6 +118,18 @@
     }
   }
 
+  /**
+   * 人工接管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;
\ No newline at end of file

--
Gitblit v1.8.0