diff --git a/backend/initDeviceFields.js b/backend/initDeviceFields.js index c10b676..b7a602c 100644 --- a/backend/initDeviceFields.js +++ b/backend/initDeviceFields.js @@ -143,39 +143,12 @@ const defaultDeviceFields = [ visible: true, isSystem: false }, - { - fieldName: 'owner', - displayName: '责任人', - fieldType: 'string', - required: false, - order: 15, - visible: true, - isSystem: false - }, - { - fieldName: 'department', - displayName: '所属部门', - fieldType: 'string', - required: false, - order: 16, - visible: true, - isSystem: false - }, - { - fieldName: 'assetId', - displayName: '资产编号', - fieldType: 'string', - required: false, - order: 17, - visible: true, - isSystem: false - }, { fieldName: 'brand', displayName: '品牌', fieldType: 'string', required: false, - order: 18, + order: 15, visible: true, isSystem: false } diff --git a/backend/routes/devices.js b/backend/routes/devices.js index 74a6faf..0476f63 100644 --- a/backend/routes/devices.js +++ b/backend/routes/devices.js @@ -524,13 +524,16 @@ router.post('/import', async (req, res) => { }); try { - // 动态获取必填字段配置(从数据库读取) - const requiredFieldConfigs = deviceFields.filter(field => field.required); - const requiredFieldNames = requiredFieldConfigs.map(field => field.displayName); + // 真正的必填字段列表(与前端表单一致) + // 注意:设备ID由系统自动生成,功率/购买日期/保修到期已改为非必填 + const trulyRequiredFields = [ + '设备名称', '设备类型', '型号', '序列号', + '所在机房名称', '所在机柜名称', '位置(U)', '高度(U)', '状态' + ]; // 验证必填字段 const missingFields = []; - for (const fieldName of requiredFieldNames) { + for (const fieldName of trulyRequiredFields) { const value = fieldValueMap[fieldName]; if (!value || (typeof value === 'string' && value.trim() === '')) { missingFields.push(fieldName);