refactor(设备导入): 动态构建必填字段列表以保持与数据库配置同步

This commit is contained in:
zhang1106
2026-02-06 16:09:57 +08:00
parent b5b9ea3e03
commit aa5ab5fc17
+21 -6
View File
@@ -528,12 +528,27 @@ router.post('/import', async (req, res) => {
}); });
try { try {
// 真正的必填字段列表(与前端表单一致 // 动态构建必填字段列表(从数据库配置读取,保持与字段管理页面同步
// 注意:设备ID由系统自动生成,型号/功率/购买日期/保修到期已改为非必填 const trulyRequiredFields = [];
const trulyRequiredFields = [
'设备名称', '设备类型', '序列号', deviceFields.forEach(field => {
'所在机房名称', '所在机柜名称', '位置(U)', '高度(U)', '状态' // 跳过设备ID(系统生成)
]; if (field.fieldName === 'deviceId') return;
// 机柜字段特殊处理:拆分为机房名称+机柜名称
if (field.fieldName === 'rackId') {
if (field.required) {
trulyRequiredFields.push('所在机房名称');
trulyRequiredFields.push('所在机柜名称');
}
return;
}
// 其他字段根据数据库配置
if (field.required) {
trulyRequiredFields.push(field.displayName);
}
});
// 验证必填字段 // 验证必填字段
const missingFields = []; const missingFields = [];