Files
yunrui_asset/backend/models/DeviceField.js
T
zhang1106 8ac528356e feat(设备字段): 添加系统字段保护机制
为设备字段添加isSystem属性标记系统字段,防止误删核心字段
后端添加字段删除前的系统字段检查
前端在管理界面标记并禁用系统字段的删除操作
更新导入模板生成逻辑以适配动态字段配置
优化设备导入功能,支持字段名称变更
2026-02-04 17:10:58 +08:00

55 lines
1.1 KiB
JavaScript

const { DataTypes } = require('sequelize');
const { sequelize } = require('../db');
const DeviceField = sequelize.define('DeviceField', {
fieldId: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
},
fieldName: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
displayName: {
type: DataTypes.STRING,
allowNull: false
},
fieldType: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: 'string'
},
required: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
},
options: {
type: DataTypes.JSON,
allowNull: true
},
order: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
visible: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: true
},
isSystem: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false,
comment: '是否为系统字段,系统字段不可删除'
}
}, {
tableName: 'deviceFields',
timestamps: true
});
module.exports = DeviceField;