20260824225422

This commit is contained in:
oneao committed 2026-08-24 22:54:22 +08:00
1 parent 97aea665f9
commit 7421019ef2
6 files changed
+2210 -401

No files matched your search

@@ -67,6 +67,7 @@ BEGIN
b_keyfield varchar(50) NULL,
b_orderfield varchar(500) NULL,
b_delete_policy varchar(20) NULL,
b_edit_mode varchar(10) NULL,
b_canuse int NOT NULL CONSTRAINT DF_s_module_canuse DEFAULT (1),
b_xh int NOT NULL CONSTRAINT DF_s_module_xh DEFAULT (0),
b_bz nvarchar(1000) NULL,
@@ -78,6 +79,7 @@ BEGIN
CONSTRAINT UQ_s_module_code UNIQUE (b_code),
CONSTRAINT CK_s_module_type CHECK (b_module_type IN ('category','data','query')),
CONSTRAINT CK_s_module_delete_policy CHECK (b_delete_policy IS NULL OR b_delete_policy IN ('restrict','lifecycle','hard')),
CONSTRAINT CK_s_module_edit_mode CHECK (b_edit_mode IS NULL OR b_edit_mode IN ('form','table')),
CONSTRAINT CK_s_module_config CHECK (
(b_module_type = 'category' AND b_viewtable IS NULL AND b_savetable IS NULL AND b_keyfield IS NULL AND b_orderfield IS NULL AND b_delete_policy IS NULL)
OR (b_module_type = 'data' AND b_viewtable IS NOT NULL AND b_savetable IS NOT NULL AND b_keyfield IS NOT NULL AND b_delete_policy IS NOT NULL)
@@ -172,6 +174,7 @@ BEGIN
b_colspan int NOT NULL CONSTRAINT DF_s_field_edit_colspan DEFAULT (12),
b_height int NULL,
b_placeholder nvarchar(200) NULL,
b_width int NULL,
b_xh int NOT NULL CONSTRAINT DF_s_field_edit_xh DEFAULT (0),
CONSTRAINT PK_s_field_edit PRIMARY KEY (b_id),
CONSTRAINT UQ_s_field_edit_field UNIQUE (b_module_id, b_field_id),
@@ -0,0 +1,45 @@
/*
支持模块「编辑方式」:
1. s_module.b_edit_mode —— 数据模块的编辑形态:
form (主表):单条记录以表单形式编辑(配合 s_field_edit 的分组 / 栅格 / 占位符设计)
table (子表):作为子表以可编辑表格(grid)编辑(配合 s_field_edit 的列顺序 / 列宽设计)
每个 data 模块只能存在一种编辑方式,默认 form。
2. s_field_edit.b_width —— 子表(表格)模式下列的宽度(px),仅表格编辑方式使用。
可重复执行:列与约束均通过存在性判断避免重复。
*/
SET NOCOUNT ON;
-- 1. s_module.b_edit_mode
IF NOT EXISTS (
SELECT 1
FROM sys.columns
WHERE object_id = OBJECT_ID(N'dbo.s_module')
AND name = N'b_edit_mode'
)
BEGIN
ALTER TABLE dbo.s_module
ADD b_edit_mode varchar(10) NULL;
END;
IF NOT EXISTS (
SELECT 1
FROM sys.check_constraints
WHERE parent_object_id = OBJECT_ID(N'dbo.s_module')
AND name = N'CK_s_module_edit_mode'
)
BEGIN
ALTER TABLE dbo.s_module
ADD CONSTRAINT CK_s_module_edit_mode CHECK (b_edit_mode IS NULL OR b_edit_mode IN ('form', 'table'));
END;
-- 2. s_field_edit.b_width
IF NOT EXISTS (
SELECT 1
FROM sys.columns
WHERE object_id = OBJECT_ID(N'dbo.s_field_edit')
AND name = N'b_width'
)
BEGIN
ALTER TABLE dbo.s_field_edit
ADD b_width int NULL;
END;