feat: allow editing manager field in cleaner table

- Add inline editing for manager column (Admin users can double-click to select from dropdown)
- Auto-assign current user as manager when User checks a material
- Defer database writes until 'Confirm Delete' button is clicked
- Add updateManager IPC handler and DAO method
- Update preload API with updateManager method
This commit is contained in:
Misaka_Company
2026-03-05 13:19:12 +08:00
parent 921ca15be6
commit ba64c27457
6 changed files with 205 additions and 7 deletions

View File

@@ -500,6 +500,30 @@ export function registerValidationHandlers(): void {
}
})
/**
* Update manager for a single material
*/
ipcMain.handle(
'materials:updateManager',
async (
_event,
request: { materialCode: string; managerName: string }
): Promise<{ success: boolean; error?: string }> => {
try {
const dao = new MaterialsToBeDeletedDAO()
return await dao.updateManager(request.materialCode, request.managerName)
} catch (error) {
log.error('Update manager error', {
error: error instanceof Error ? error.message : String(error)
})
return {
success: false,
error: error instanceof Error ? error.message : String(error)
}
}
}
)
/**
* Get materials by manager
*/