114 lines
3.2 KiB
TypeScript
114 lines
3.2 KiB
TypeScript
/**
|
|
* Worker Books 工作簿模型表
|
|
*/
|
|
|
|
import { WorkerBookModel } from "./WorkerBook";
|
|
import { DataTypes, InferAttributes, Model, Sequelize } from "sequelize";
|
|
|
|
export class WorkerSheetModel extends Model {
|
|
declare worker_sheet_id?: string; /** 有默认值,非必传 */
|
|
declare gridKey: string;
|
|
declare name: string;
|
|
declare order?: number;
|
|
declare status?: number;
|
|
declare hide?: boolean;
|
|
declare row?: number;
|
|
declare column?: number;
|
|
declare color?: string;
|
|
declare defaultRowHeight?: number;
|
|
declare defaultColWidth?: number;
|
|
declare deleteFlag?: boolean; // 是否被删除
|
|
|
|
static registerModule(sequelize: Sequelize) {
|
|
WorkerSheetModel.init(
|
|
{
|
|
worker_sheet_id: {
|
|
type: DataTypes.STRING, // 类型
|
|
allowNull: false, // 非空
|
|
comment: "worker sheet id", // 描述
|
|
primaryKey: true, // 主键
|
|
defaultValue: DataTypes.UUIDV4, // 默认使用 uuid 作为 主键ID
|
|
},
|
|
gridKey: {
|
|
type: DataTypes.STRING, // 类型
|
|
allowNull: false, // 非空
|
|
comment: "外键:关联 workerbooks 的 gridKey", // 描述
|
|
// 外键
|
|
references: {
|
|
model: WorkerBookModel,
|
|
key: "gridKey",
|
|
},
|
|
},
|
|
name: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
comment: "工作表名称",
|
|
},
|
|
order: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "工作表下标序号",
|
|
defaultValue: 0,
|
|
},
|
|
status: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "工作表激活状态,仅有一个激活状态的工作表,其他工作表为 0",
|
|
defaultValue: 0,
|
|
},
|
|
hide: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
comment: "是否隐藏,0为不隐藏,1为隐藏",
|
|
defaultValue: false,
|
|
},
|
|
row: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "行数", // 描述
|
|
defaultValue: 30, // 默认值
|
|
},
|
|
column: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "列数", // 描述
|
|
defaultValue: 24, // 默认值
|
|
},
|
|
color: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
comment: "表格颜色", // 描述
|
|
defaultValue: "", // 默认值
|
|
},
|
|
defaultRowHeight: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "默认行高",
|
|
defaultValue: 20,
|
|
},
|
|
defaultColWidth: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: "默认列宽",
|
|
defaultValue: 80,
|
|
},
|
|
deleteFlag: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
comment: "是否被删除",
|
|
defaultValue: false,
|
|
},
|
|
|
|
// ... 更多字段,根据项目实际情况添加
|
|
},
|
|
{
|
|
sequelize, // 将模型与 Sequelize 实例关联
|
|
tableName: "workersheets", // 直接式提供数据库表名
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
// 导出类型
|
|
export type WorkerSheetModelType = InferAttributes<WorkerSheetModel>;
|