106 lines
2.8 KiB
JavaScript
106 lines
2.8 KiB
JavaScript
/**
|
||
* 操作日志工具
|
||
* 所有操作必须有操作日志
|
||
*/
|
||
import { addOperationLog } from './outpatientNumber'
|
||
|
||
/**
|
||
* 记录操作日志
|
||
* @param {Object} params
|
||
* @param {string} params.operation - 操作类型(新增/修改/删除/查询)
|
||
* @param {string} params.details - 操作详情
|
||
* @param {boolean} params.success - 操作是否成功
|
||
* @param {string} params.errorMessage - 错误信息
|
||
* @param {Object} params.userInfo - 用户信息
|
||
*/
|
||
export async function logOperation({ operation, details, success, errorMessage, userInfo }) {
|
||
try {
|
||
const logData = {
|
||
operation,
|
||
details,
|
||
success,
|
||
errorMessage: errorMessage || null,
|
||
timestamp: new Date().toISOString(),
|
||
userId: userInfo?.id || null,
|
||
userName: userInfo?.name || null,
|
||
}
|
||
|
||
// 控制台输出(便于调试)
|
||
console.log('[门诊号码管理] 操作日志:', logData)
|
||
|
||
// 调用后端接口记录日志
|
||
try {
|
||
await addOperationLog(logData)
|
||
} catch (apiError) {
|
||
console.warn('[门诊号码管理] 日志接口调用失败,仅记录到控制台')
|
||
}
|
||
} catch (error) {
|
||
console.error('[门诊号码管理] 记录日志失败:', error)
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 记录查询操作
|
||
*/
|
||
export function logQuery(recordCount, userInfo) {
|
||
return logOperation({
|
||
operation: '查询',
|
||
details: `查询门诊号码段列表,共 ${recordCount} 条记录`,
|
||
success: true,
|
||
userInfo
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 记录新增操作
|
||
*/
|
||
export function logCreate(record, success, errorMessage, userInfo) {
|
||
const details = success
|
||
? `新增门诊号码段:${record.startNo} - ${record.endNo}(操作员:${record.operatorName})`
|
||
: `尝试新增门诊号码段:${record.startNo} - ${record.endNo},失败原因:${errorMessage}`
|
||
|
||
return logOperation({
|
||
operation: '新增',
|
||
details,
|
||
success,
|
||
errorMessage,
|
||
userInfo
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 记录修改操作
|
||
*/
|
||
export function logUpdate(record, success, errorMessage, userInfo) {
|
||
const details = success
|
||
? `修改门诊号码段:${record.startNo} - ${record.endNo}(ID:${record.id})`
|
||
: `尝试修改门诊号码段 ID:${record.id},失败原因:${errorMessage}`
|
||
|
||
return logOperation({
|
||
operation: '修改',
|
||
details,
|
||
success,
|
||
errorMessage,
|
||
userInfo
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 记录删除操作
|
||
*/
|
||
export function logDelete(records, success, errorMessage, userInfo) {
|
||
const recordsInfo = records.map(r => `${r.startNo}-${r.endNo}`).join('、')
|
||
const details = success
|
||
? `删除门诊号码段(共 ${records.length} 条):${recordsInfo}`
|
||
: `尝试删除门诊号码段(共 ${records.length} 条),失败原因:${errorMessage}`
|
||
|
||
return logOperation({
|
||
operation: '删除',
|
||
details,
|
||
success,
|
||
errorMessage,
|
||
userInfo
|
||
})
|
||
}
|
||
|