备份:大改造前的完整版本 - 修复合同细节/付款节点/文件上传/施工管理/项目保存等BUG

This commit is contained in:
root
2026-05-15 12:02:24 +08:00
parent 1cad1e438d
commit fad28741bd
6157 changed files with 5147 additions and 877912 deletions
+10 -10
View File
@@ -47,7 +47,7 @@ router.get('/', async (req, res) => {
res.json({ success: true, data: result.rows, count: result.rows.length });
} catch (error) {
console.error('获取商品失败:', error);
res.status(500).json({ success: false, message: '获取商品失败', error: error.message });
res.status(500).json({ success: false, message: '获取商品失败' });
}
});
@@ -67,7 +67,7 @@ router.get('/template', (req, res) => {
res.send(buffer);
} catch (error) {
console.error('生成模板失败:', error);
res.status(500).json({ success: false, message: '生成模板失败', error: error.message });
res.status(500).json({ success: false, message: '生成模板失败' });
}
});
@@ -111,13 +111,13 @@ router.post('/batch-import', multer().single('file'), async (req, res) => {
);
imported.push({ row: i + 2, name: row['商品名称'], id: result.rows[0].id });
} catch (error) {
errors.push({ row: i + 2, name: row['商品名称'], error: error.message });
errors.push({ row: i + 2, name: row['商品名称'] });
}
}
res.json({ success: true, message: `导入完成,成功 ${imported.length} 条,失败 ${errors.length}`, imported, errors });
} catch (error) {
console.error('批量导入商品失败:', error);
res.status(500).json({ success: false, message: '批量导入商品失败', error: error.message });
res.status(500).json({ success: false, message: '批量导入商品失败' });
}
});
@@ -153,13 +153,13 @@ router.post('/import', multer().single('file'), async (req, res) => {
);
imported.push({ row: i + 2, name: row['商品名称'], id: result.rows[0].id });
} catch (error) {
errors.push({ row: i + 2, name: row['商品名称'], error: error.message });
errors.push({ row: i + 2, name: row['商品名称'] });
}
}
res.json({ success: true, message: `导入完成,成功 ${imported.length} 条,失败 ${errors.length}`, imported, errors });
} catch (error) {
console.error('导入商品失败:', error);
res.status(500).json({ success: false, message: '导入商品失败', error: error.message });
res.status(500).json({ success: false, message: '导入商品失败' });
}
});
@@ -177,7 +177,7 @@ router.get('/:id', async (req, res) => {
res.json({ success: true, data: result.rows[0] });
} catch (error) {
console.error('获取商品失败:', error);
res.status(500).json({ success: false, message: '获取商品失败', error: error.message });
res.status(500).json({ success: false, message: '获取商品失败' });
}
});
@@ -197,7 +197,7 @@ router.post('/', async (req, res) => {
res.json({ success: true, data: result.rows[0], message: '创建成功' });
} catch (error) {
console.error('创建商品失败:', error);
res.status(500).json({ success: false, message: '创建商品失败', error: error.message });
res.status(500).json({ success: false, message: '创建商品失败' });
}
});
@@ -234,7 +234,7 @@ router.put('/:id', async (req, res) => {
res.json({ success: true, data: result.rows[0], message: '更新成功' });
} catch (error) {
console.error('更新商品失败:', error);
res.status(500).json({ success: false, message: '更新商品失败', error: error.message });
res.status(500).json({ success: false, message: '更新商品失败' });
}
});
@@ -246,7 +246,7 @@ router.delete('/:id', async (req, res) => {
res.json({ success: true, message: '删除成功' });
} catch (error) {
console.error('删除商品失败:', error);
res.status(500).json({ success: false, message: '删除商品失败', error: error.message });
res.status(500).json({ success: false, message: '删除商品失败' });
}
});