// 模拟捐献确认API
|
const confirmationData = {
|
rows: [
|
{
|
id: 1,
|
caseNo: 'QJ202312001',
|
donorName: '张某某',
|
gender: '0',
|
age: '45',
|
diagnosis: '重型颅脑损伤',
|
hospitalName: '北京市第一人民医院',
|
confirmationStatus: '0',
|
confirmationTime: '',
|
assignee: '王医生',
|
coordinator1: '协调员A',
|
coordinator2: '协调员B',
|
familyRemark: ''
|
},
|
{
|
id: 2,
|
caseNo: 'QJ202312002',
|
donorName: '李某某',
|
gender: '1',
|
age: '32',
|
diagnosis: '脑出血',
|
hospitalName: '上海市中心医院',
|
confirmationStatus: '1',
|
confirmationTime: '2023-12-01 14:30:00',
|
assignee: '李医生',
|
coordinator1: '协调员C',
|
coordinator2: '协调员D',
|
familyRemark: '家属同意捐献,已签署相关文件'
|
},
|
{
|
id: 3,
|
caseNo: 'QJ202312003',
|
donorName: '王某某',
|
gender: '0',
|
age: '58',
|
diagnosis: '心脏骤停后脑损伤',
|
hospitalName: '广州市人民医院',
|
confirmationStatus: '2',
|
confirmationTime: '2023-12-02 10:15:00',
|
assignee: '张医生',
|
coordinator1: '协调员E',
|
coordinator2: '协调员F',
|
familyRemark: '家属经考虑后决定不同意捐献'
|
}
|
],
|
total: 3
|
};
|
|
// 获取捐献确认列表
|
export function listConfirmation(params) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
const { pageNum, pageSize, donorName, hospitalName, confirmationStatus } = params;
|
let filteredData = confirmationData.rows;
|
|
// 模拟筛选
|
if (donorName) {
|
filteredData = filteredData.filter(item =>
|
item.donorName.includes(donorName)
|
);
|
}
|
|
if (hospitalName) {
|
filteredData = filteredData.filter(item =>
|
item.hospitalName.includes(hospitalName)
|
);
|
}
|
|
if (confirmationStatus) {
|
filteredData = filteredData.filter(item =>
|
item.confirmationStatus === confirmationStatus
|
);
|
}
|
|
const start = (pageNum - 1) * pageSize;
|
const end = start + pageSize;
|
const pageData = filteredData.slice(start, end);
|
|
resolve({
|
code: 200,
|
data: {
|
rows: pageData,
|
total: filteredData.length
|
}
|
});
|
}, 500);
|
});
|
}
|
|
// 获取捐献确认详情
|
export function getConfirmationDetail(id) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
const detail = confirmationData.rows.find(item => item.id == id);
|
resolve({
|
code: 200,
|
data: detail || {}
|
});
|
}, 300);
|
});
|
}
|
|
// 更新捐献确认信息
|
export function updateConfirmation(data) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
const index = confirmationData.rows.findIndex(item => item.id === data.id);
|
if (index !== -1) {
|
confirmationData.rows[index] = { ...confirmationData.rows[index], ...data };
|
}
|
resolve({ code: 200, message: '更新成功' });
|
}, 300);
|
});
|
}
|
// 更新捐献确认信息
|
export function updateDeathJudgment(data) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
const index = confirmationData.rows.findIndex(item => item.id === data.id);
|
if (index !== -1) {
|
confirmationData.rows[index] = { ...confirmationData.rows[index], ...data };
|
}
|
resolve({ code: 200, message: '更新成功' });
|
}, 300);
|
});
|
}
|
// 删除捐献确认
|
export function delConfirmation(ids) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
confirmationData.rows = confirmationData.rows.filter(
|
item => !ids.includes(item.id)
|
);
|
confirmationData.total = confirmationData.rows.length;
|
resolve({ code: 200, message: '删除成功' });
|
}, 300);
|
});
|
}
|
|
// 导出捐献确认数据
|
export function exportConfirmation(params) {
|
return new Promise((resolve) => {
|
setTimeout(() => {
|
resolve({
|
code: 200,
|
data: {
|
downloadUrl: '/download/confirmation_export.xlsx'
|
},
|
message: '导出成功'
|
});
|
}, 1000);
|
});
|
}
|
// 附件相关API接口
|
export const attachmentApi = {
|
// 获取案例附件列表
|
getAttachments(caseId) {
|
return request.get(`/api/attachments/case/${caseId}`);
|
},
|
|
// 上传附件
|
uploadAttachment(data) {
|
const formData = new FormData();
|
formData.append('file', data.file);
|
formData.append('caseId', data.caseId);
|
formData.append('type', data.type);
|
return request.post('/api/attachments/upload', formData, {
|
headers: { 'Content-Type': 'multipart/form-data' }
|
});
|
},
|
|
// 删除附件
|
deleteAttachment(attachmentId) {
|
return request.delete(`/api/attachments/${attachmentId}`);
|
},
|
|
// 批量保存附件信息
|
saveAttachments(attachments) {
|
return request.post('/api/attachments/batch-save', attachments);
|
}
|
};
|