WXL
2025-12-29 2431480f5859ef40dfdf0eb19e1ba6ddebbd9ef2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
// src/api/mockAssessmentApi.js
import { assessmentListData, assessmentDetailData, mockDelay } from './assessmentData.js'
 
// 模拟评估列表API
export const listAssessment = async (queryParams) => {
  await mockDelay(800)
 
  console.log('Mock API: 获取评估列表', queryParams)
 
  // 模拟筛选逻辑
  let data = assessmentListData.data.rows
 
  if (queryParams.donorName) {
    data = data.filter(item => item.donorName.includes(queryParams.donorName))
  }
 
  if (queryParams.hospitalName) {
    data = data.filter(item => item.hospitalName.includes(queryParams.hospitalName))
  }
 
  if (queryParams.assessmentStatus) {
    data = data.filter(item => item.assessmentStatus === queryParams.assessmentStatus)
  }
 
  // 模拟分页
  const pageNum = queryParams.pageNum || 1
  const pageSize = queryParams.pageSize || 10
  const startIndex = (pageNum - 1) * pageSize
  const endIndex = startIndex + pageSize
  const pagedData = data.slice(startIndex, endIndex)
 
  return {
    code: 200,
    message: 'success',
    data: {
      total: data.length,
      rows: pagedData
    }
  }
}
 
// 模拟评估详情API
export const getAssessment = (assessmentId) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      const mockData = {
        code: 200,
        data: {
          caseInfo: {
            caseNo: 'CASE20241219001',
            donorName: '张三',
            gender: '0',
            age: 45,
            bloodType: 'A',
            idCardNo: '330102197812123456',
            diagnosis: '脑外伤导致脑死亡',
            hospitalName: '浙江大学医学院附属第一医院',
            doctorName: '李主任',
            applyTime: '2024-12-19 09:30:00',
            assessmentType: '1',
            assessmentStatus: '1'
          },
          organAssessments: [
            {
              organType: 'heart',
              department: '心脏外科',
              assessor: '王医生',
              assessmentStatus: '1',
              functionStatus: '1',
              assessmentOpinion: '心脏功能正常,符合捐献条件',
              assessmentTime: '2024-12-19 10:30:00',
              attachments: [
                {
                  id: 'file001',
                  fileName: '心脏超声报告.pdf',
                  fileType: 'pdf',
                  fileSize: 2048000,
                  fileUrl: '/api/files/heart-ultrasound.pdf',
                  uploadTime: '2024-12-19 10:25:00'
                },
                {
                  id: 'file002',
                  fileName: '心电图.jpg',
                  fileType: 'jpg',
                  fileSize: 1024000,
                  fileUrl: '/api/files/ecg.jpg',
                  uploadTime: '2024-12-19 10:20:00'
                }
              ]
            },
            {
              organType: 'liver',
              department: '肝胆外科',
              assessor: '赵医生',
              assessmentStatus: '1',
              functionStatus: '2',
              assessmentOpinion: '肝功能轻度异常,需进一步评估',
              assessmentTime: '2024-12-19 11:15:00',
              attachments: [
                {
                  id: 'file003',
                  fileName: '肝脏CT报告.pdf',
                  fileType: 'pdf',
                  fileSize: 3096000,
                  fileUrl: '/api/files/liver-ct.pdf',
                  uploadTime: '2024-12-19 11:10:00'
                }
              ]
            },
            {
              organType: 'kidney',
              department: '肾内科',
              assessor: '钱医生',
              assessmentStatus: '0',
              functionStatus: '',
              assessmentOpinion: '',
              assessmentTime: '',
              attachments: []
            }
          ]
        }
      };
      resolve(mockData);
    }, 500);
  });
};
 
// 模拟器官评估更新API
export const updateOrganAssessment = async (organData) => {
  await mockDelay(300)
 
  console.log('Mock API: 更新器官评估', organData)
 
  return {
    code: 200,
    message: '器官评估更新成功',
    data: organData
  }
}
 
// 模拟完成评估API
export const completeAssessment = async (id) => {
  await mockDelay(500)
 
  console.log('Mock API: 完成评估', id)
 
  return {
    code: 200,
    message: '评估完成确认成功',
    data: {
      assessmentId: id,
      completeTime: new Date().toISOString()
    }
  }
}
 
// 模拟删除评估API
export const delAssessment = async (ids) => {
  await mockDelay(400)
 
  console.log('Mock API: 删除评估', ids)
 
  return {
    code: 200,
    message: '删除成功',
    data: ids
  }
}
 
// 模拟导出评估API
export const exportAssessment = async (queryParams) => {
  await mockDelay(1000)
 
  console.log('Mock API: 导出评估', queryParams)
 
  // 模拟文件下载
  return {
    code: 200,
    message: '导出成功',
    data: {
      downloadUrl: '/mock/export/assessment.xlsx',
      fileSize: '2.5MB'
    }
  }
}