feat(asl): Week 2 Day 2 - Excel import with template download and intelligent dedup
Features: - feat: Excel template generation and download (with examples) - feat: Excel file parsing in memory (cloud-native, no disk write) - feat: Field validation (title + abstract required) - feat: Smart deduplication (DOI priority + Title fallback) - feat: Literature preview table with statistics - feat: Complete submission flow (create project + import literatures) Components: - feat: Create excelUtils.ts with full Excel processing toolkit - feat: Enhance TitleScreeningSettings page with upload/preview/submit - feat: Update API interface signatures and export unified aslApi object Dependencies: - chore: Add xlsx library for Excel file processing Ref: Week 2 Frontend Development - Day 2 Scope: ASL Module MVP - Title Abstract Screening Cloud-Native: Memory parsing, no file persistence
This commit is contained in:
@@ -20,3 +20,4 @@ if (data.length > 0) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -57,3 +57,4 @@ createTestUser();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -191,3 +191,4 @@ testAPI();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -131,3 +131,4 @@ if (passed === testCases.length) {
|
||||
console.log('='.repeat(60) + '\n');
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -375,3 +375,4 @@ main().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -113,3 +113,4 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -203,3 +203,4 @@ async function runTest() {
|
||||
runTest().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -97,3 +97,4 @@ async function main() {
|
||||
main().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user