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 {
// 真正的必填字段列表(与前端表单一致
// 注意:设备ID由系统自动生成,型号/功率/购买日期/保修到期已改为非必填
const trulyRequiredFields = [
'设备名称', '设备类型', '序列号',
'所在机房名称', '所在机柜名称', '位置(U)', '高度(U)', '状态'
];
// 动态构建必填字段列表(从数据库配置读取,保持与字段管理页面同步
const trulyRequiredFields = [];
deviceFields.forEach(field => {
// 跳过设备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 = [];