添加项目文件。

This commit is contained in:
2023-03-13 15:00:34 +08:00
parent 42bf06ca3e
commit 1d73df3235
1205 changed files with 185078 additions and 0 deletions

View File

@@ -0,0 +1,271 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成详细配置参数.
/// </summary>
[SuppressSniffer]
public class CodeGenConfigModel
{
/// <summary>
/// 名称.
/// </summary>
public string FullName { get; set; }
/// <summary>
/// 业务名.
/// </summary>
public string BusName { get; set; }
/// <summary>
/// 命名空间.
/// </summary>
public string NameSpace { get; set; }
/// <summary>
/// 类型名称.
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 主键.
/// </summary>
public string PrimaryKey { get; set; }
/// <summary>
/// 主键(首字母小写).
/// </summary>
public string LowerPrimaryKey => string.IsNullOrWhiteSpace(PrimaryKey) ? null : PrimaryKey.Substring(0, 1).ToLower() + PrimaryKey[1..];
/// <summary>
/// 原始主键.
/// </summary>
public string OriginalPrimaryKey { get; set; }
/// <summary>
/// 主键策略.
/// </summary>
public int PrimaryKeyPolicy { get; set; }
/// <summary>
/// 主表.
/// </summary>
public string MainTable { get; set; }
/// <summary>
/// 原本名称.
/// </summary>
public string OriginalMainTableName { get; set; }
/// <summary>
/// 主表(首字母小写).
/// </summary>
public string LowerMainTable => string.IsNullOrWhiteSpace(MainTable) ? null : MainTable.Substring(0, 1).ToLower() + MainTable[1..];
/// <summary>
/// 服务列表.
/// </summary>
public List<string> ServiceList { get; set; }
/// <summary>
/// 列表分页.
/// </summary>
public bool hasPage { get; set; }
/// <summary>
/// 功能列表.
/// </summary>
public List<CodeGenFunctionModel> Function { get; set; }
/// <summary>
/// 表字段.
/// </summary>
public List<TableColumnConfigModel> TableField { get; set; }
/// <summary>
/// 表关系.
/// </summary>
public List<CodeGenTableRelationsModel> TableRelations { get; set; }
/// <summary>
/// 默认排序.
/// </summary>
public string DefaultSidx { get; set; }
/// <summary>
/// 是否存在单据规则控件.
/// </summary>
public bool IsBillRule { get; set; }
/// <summary>
/// 是否导出.
/// </summary>
public bool IsExport { get; set; }
/// <summary>
/// 是否批量删除.
/// </summary>
public bool IsBatchRemove { get; set; }
/// <summary>
/// 是否有上传控件.
/// </summary>
public bool IsUpload { get; set; }
/// <summary>
/// 是否存在关系.
/// </summary>
public bool IsTableRelations { get; set; }
/// <summary>
/// 是否要生成对象映射.
/// </summary>
public bool IsMapper { get; set; }
/// <summary>
/// 是否主表.
/// </summary>
public bool IsMainTable { get; set; }
/// <summary>
/// 是否副表.
/// </summary>
public bool IsAuxiliaryTable { get; set; }
/// <summary>
/// 数据库连接ID.
/// </summary>
public string DbLinkId { get; set; }
/// <summary>
/// 生成表单ID.
/// </summary>
public string FormId { get; set; }
/// <summary>
/// 页面类型1、纯表单2、表单加列表3、表单列表工作流.
/// </summary>
public int WebType { get; set; }
/// <summary>
/// 页面类型1-Web设计,2-App设计,3-流程表单,4-Web表单,5-App表单.
/// </summary>
public int Type { get; set; }
/// <summary>
/// 是否开启流程.
/// </summary>
public bool EnableFlow { get; set; }
/// <summary>
/// 模板编码.
/// </summary>
public string EnCode { get; set; }
/// <summary>
/// 是否开启数据权限.
/// </summary>
public bool UseDataPermission { get; set; }
/// <summary>
/// 查询类型为等于的控件数量.
/// </summary>
public int SearchControlNum { get; set; }
/// <summary>
/// 表关系模型.
/// </summary>
public List<CodeGenTableRelationsModel> AuxiliaryTable { get; set; }
/// <summary>
/// 导出字段.
/// </summary>
public string ExportField { get; set; }
/// <summary>
/// 联表数量.
/// </summary>
public int LeagueTableCount { get; set; }
/// <summary>
/// 是否数据转换.
/// </summary>
public bool IsConversion { get; set; }
/// <summary>
/// 是否更新.
/// </summary>
public bool IsUpdate { get; set; }
/// <summary>
/// 是否存在子表数据转换.
/// </summary>
public bool IsChildConversion { get; set; }
/// <summary>
/// 开启高级查询.
/// </summary>
public bool HasSuperQuery { get; set; }
/// <summary>
/// 是否唯一.
/// </summary>
public bool IsUnique { get; set; }
/// <summary>
/// 并发锁.
/// </summary>
public bool ConcurrencyLock { get; set; }
/// <summary>
/// 是否行内编辑.
/// </summary>
public bool IsInlineEditor { get; set; }
/// <summary>
/// 是否展示子表字段.
/// </summary>
public bool IsShowSubTableField { get; set; }
/// <summary>
/// 列表数据类型
/// 1-常规列表,2-左侧树+列表,3-分组表格,4-行内编辑.
/// </summary>
public int IndexDataType { get; set; }
/// <summary>
/// 分组字段名..
/// </summary>
public string GroupField { get; set; }
/// <summary>
/// 分组显示字段名..
/// </summary>
public string GroupShowField { get; set; }
/// <summary>
/// 是否导入数据.
/// </summary>
public bool IsImportData { get; set; }
/// <summary>
/// 导入数据类型.
/// </summary>
public string ImportDataType { get; set; }
/// <summary>
/// 是否存在系统控件.
/// </summary>
public bool IsSystemControl { get; set; }
/// <summary>
/// 需解析的控件类型 JnpfKeyConst @@ 需解析的字段集合(以,隔开).
/// </summary>
public List<string[]> ParsJnpfKeyConstList { get; set; }
/// <summary>
/// 需解析的控件类型 JnpfKeyConst @@ 需解析的字段集合(以,隔开)详情页 (行内编辑的时候特殊处理).
/// </summary>
public List<string[]> ParsJnpfKeyConstListDetails { get; set; }
}

View File

@@ -0,0 +1,25 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成常规表单选项配置控件配置.
/// </summary>
[SuppressSniffer]
public class CodeGenConvFormPropsControlDesign
{
/// <summary>
/// 列名.
/// </summary>
public string Name { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerName => string.IsNullOrWhiteSpace(Name) ? null : Name.Substring(0, 1).ToLower() + Name[1..];
/// <summary>
/// 选项配置.
/// </summary>
public PropsBeanModel Props { get; set; }
}

View File

@@ -0,0 +1,101 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成常规Index列表控件Options设计.
/// </summary>
[SuppressSniffer]
public class CodeGenConvIndexListControlOptionDesign
{
/// <summary>
/// 列名.
/// </summary>
public string Name { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerName => string.IsNullOrWhiteSpace(Name) ? null : Name.Substring(0, 1).ToLower() + Name[1..];
/// <summary>
/// Options名称.
/// </summary>
public string OptionsName { get; set; }
/// <summary>
/// 数据类型.
/// </summary>
public string DataType { get; set; }
/// <summary>
/// jnpf控件key.
/// </summary>
public string jnpfKey { get; set; }
/// <summary>
/// 内容.
/// </summary>
public string Content { get; set; }
/// <summary>
/// 标题.
/// </summary>
public string Title { get; set; }
/// <summary>
/// 字典类型.
/// </summary>
public string DictionaryType { get; set; }
/// <summary>
/// 是否静态数据.
/// </summary>
public bool IsStatic { get; set; }
/// <summary>
/// 是否Props.
/// </summary>
public bool IsProps { get; set; }
/// <summary>
/// 选项配置.
/// </summary>
public string Props { get; set; }
/// <summary>
/// 查询选项配置.
/// </summary>
public string QueryProps { get; set; }
/// <summary>
/// 是否展示在列表页.
/// </summary>
public bool IsIndex { get; set; }
/// <summary>
/// 是否子表控件.
/// </summary>
public bool IsChildren { get; set; }
/// <summary>
/// 是否联动重复
/// 目前用于子表联动控件Options.
/// </summary>
public bool IsLinkedRepeat { get; set; }
/// <summary>
/// 是否被联动(反).
/// </summary>
public bool IsLinked { get; set; }
/// <summary>
/// 是否联动(正).
/// </summary>
public bool IsLinkage { get; set; }
/// <summary>
/// 模板json.
/// </summary>
public string TemplateJson { get; set; }
}

View File

@@ -0,0 +1,30 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成前端配置模型.
/// </summary>
[SuppressSniffer]
public class CodeGenFrontendConfigModel
{
/// <summary>
/// 表单ref.
/// </summary>
public string FormRef { get; set; }
/// <summary>
/// 表单Model.
/// </summary>
public string FromModel { get; set; }
/// <summary>
/// 表单宽度.
/// </summary>
public string LabelWidth { get; set; }
/// <summary>
/// 表单位置.
/// </summary>
public string LabelPosition { get; set; }
}

View File

@@ -0,0 +1,25 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成功能模型.
/// </summary>
[SuppressSniffer]
public class CodeGenFunctionModel
{
/// <summary>
/// 名称.
/// </summary>
public string FullName { get; set; }
/// <summary>
/// 是否接口.
/// </summary>
public bool IsInterface { get; set; }
/// <summary>
/// 排序.
/// </summary>
public int orderBy { get; set; }
}

View File

@@ -0,0 +1,145 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成表关系模型.
/// </summary>
[SuppressSniffer]
public class CodeGenTableRelationsModel
{
/// <summary>
/// 功能名称.
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 功能名称(首字母小写).
/// </summary>
public string LowerClassName => string.IsNullOrWhiteSpace(ClassName) ? null : ClassName.Substring(0, 1).ToLower() + ClassName[1..];
/// <summary>
/// 表名.
/// </summary>
public string TableName { get; set; }
/// <summary>
/// 关联主表.
/// </summary>
public string RelationTable { get; set; }
/// <summary>
/// 原始表名称.
/// </summary>
public string OriginalTableName { get; set; }
/// <summary>
/// 控件绑定模型.
/// </summary>
public string ControlModel { get; set; }
/// <summary>
/// 表名(首字母小写).
/// </summary>
public string LowerTableName => string.IsNullOrWhiteSpace(TableName) ? null : TableName.Substring(0, 1).ToLower() + TableName[1..];
/// <summary>
/// 主键.
/// </summary>
public string PrimaryKey { get; set; }
/// <summary>
/// 主键(首字母小写).
/// </summary>
public string LowerPrimaryKey => string.IsNullOrWhiteSpace(PrimaryKey) ? null : PrimaryKey.Substring(0, 1).ToLower() + PrimaryKey[1..];
/// <summary>
/// 表描述.
/// </summary>
public string TableComment { get; set; }
/// <summary>
/// 控件内表描述.
/// </summary>
public string ControlTableComment { get; set; }
/// <summary>
/// 外键字段.
/// </summary>
public string TableField { get; set; }
/// <summary>
/// 原始外键字段.
/// </summary>
public string OriginalTableField { get; set; }
/// <summary>
/// 关联主键.
/// </summary>
public string RelationField { get; set; }
/// <summary>
/// 原始关联主键.
/// </summary>
public string OriginalRelationField { get; set; }
/// <summary>
/// 关联主键.
/// </summary>
public string LowerRelationField => string.IsNullOrWhiteSpace(RelationField) ? null : RelationField.Substring(0, 1).ToLower() + RelationField[1..];
/// <summary>
/// 子表控件配置.
/// </summary>
public List<TableColumnConfigModel> ChilderColumnConfigList { get; set; }
/// <summary>
/// 子表有限字段长度.
/// </summary>
public int ChilderColumnConfigListCount { get; set; }
/// <summary>
/// 编号.
/// </summary>
public int TableNo { get; set; }
/// <summary>
/// 是否查询条件.
/// </summary>
public bool IsQueryWhether { get; set; }
/// <summary>
/// 是否显示字段.
/// </summary>
public bool IsShowField { get; set; }
/// <summary>
/// 是否唯一.
/// </summary>
public bool IsUnique { get; set; }
/// <summary>
/// 是否数据转换.
/// </summary>
public bool IsConversion { get; set; }
/// <summary>
/// 是否详情数据转换.
/// </summary>
public bool IsDetailConversion { get; set; }
/// <summary>
/// 是否导入数据.
/// </summary>
public bool IsImportData { get; set; }
/// <summary>
/// 是否系统控件.
/// </summary>
public bool IsSystemControl { get; set; }
/// <summary>
/// 是否更新.
/// </summary>
public bool IsUpdate { get; set; }
}

View File

@@ -0,0 +1,651 @@
using JNPF.Common.Const;
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 表单控件设计模型.
/// </summary>
[SuppressSniffer]
public class FormControlDesignModel
{
/// <summary>
/// 控件名称.
/// </summary>
public string Name { get; set; }
/// <summary>
/// 首字母小写控件.
/// </summary>
public string LowerName => string.IsNullOrWhiteSpace(Name) ? null : Name.Substring(0, 1).ToLower() + Name[1..];
/// <summary>
/// 原名称.
/// </summary>
public string OriginalName { get; set; }
/// <summary>
/// jnpfKey.
/// </summary>
public string jnpfKey { get; set; }
/// <summary>
/// 控件宽度.
/// </summary>
public int Span { get; set; }
/// <summary>
/// 槽.
/// </summary>
public int Gutter { get; set; }
/// <summary>
/// 是否显示子表标题.
/// </summary>
public bool ShowTitle { get; set; }
/// <summary>
/// 标题名.
/// </summary>
public string Label { get; set; }
/// <summary>
/// 子表名称.
/// </summary>
public string ChildTableName { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerChildTableName => string.IsNullOrWhiteSpace(ChildTableName) ? null : ChildTableName.Substring(0, 1).ToLower() + ChildTableName[1..];
/// <summary>
/// 样式.
/// </summary>
public string Style { get; set; }
/// <summary>
/// 占位提示.
/// </summary>
public string Placeholder { get; set; }
/// <summary>
/// 是否可清除.
/// </summary>
public string Clearable { get; set; }
/// <summary>
/// 是否只读.
/// </summary>
public string Readonly { get; set; }
/// <summary>
/// 是否必填.
/// </summary>
public string Required { get; set; }
/// <summary>
/// 是否必填.
/// </summary>
public bool required { get; set; }
/// <summary>
/// 是否必填.
/// </summary>
public string IsRequired => string.Format(":required='requiredList.{0}'", LowerName);
/// <summary>
/// 是否禁用.
/// </summary>
public string Disabled { get; set; }
/// <summary>
/// PC端表单权限.
/// </summary>
public string IsDisabled { get; set; }
/// <summary>
/// 是否显示输入字数统计.
/// </summary>
public string ShowWordLimit { get; set; }
/// <summary>
/// 显示绑定值的格式.
/// </summary>
public string Format { get; set; }
/// <summary>
/// 实际绑定值的格式.
/// </summary>
public string ValueFormat { get; set; }
/// <summary>
/// 类型.
/// </summary>
public string Type { get; set; }
/// <summary>
/// 自适应内容高度.
/// </summary>
public string AutoSize { get; set; }
/// <summary>
/// 是否多选.
/// </summary>
public string Multiple { get; set; }
/// <summary>
/// 规格.
/// </summary>
public string Size { get; set; }
/// <summary>
/// 选项配置.
/// </summary>
public PropsBeanModel Props { get; set; }
/// <summary>
/// 控件名.
/// </summary>
public string Tag { get; set; }
/// <summary>
/// 设置阴影显示时机.
/// </summary>
public string Shadow { get; set; }
/// <summary>
/// 文案的位置.
/// </summary>
public string Contentposition { get; set; }
/// <summary>
/// 默认.
/// </summary>
public string Default { get; set; }
/// <summary>
/// 分组标题的内容.
/// </summary>
public string Content { get; set; }
/// <summary>
/// 文本样式.
/// </summary>
public object TextStyle { get; set; }
/// <summary>
/// 默认值.
/// </summary>
public object DefaultValue { get; set; }
/// <summary>
/// 是否为时间范围选择,仅对<see cref="el-time-picker"/>有效.
/// </summary>
public string IsRange { get; set; }
/// <summary>
/// 选项样式.
/// </summary>
public string OptionType { get; set; }
/// <summary>
/// 前图标.
/// </summary>
public string PrefixIcon { get; set; }
/// <summary>
/// 后图标.
/// </summary>
public string SuffixIcon { get; set; }
/// <summary>
/// 最大长度.
/// </summary>
public string MaxLength { get; set; }
/// <summary>
/// 计数器步长.
/// </summary>
public string Step { get; set; }
/// <summary>
/// 是否只能输入 step 的倍数.
/// </summary>
public string StepStrictly { get; set; }
/// <summary>
/// 控制按钮位置.
/// </summary>
public string ControlsPosition { get; set; }
/// <summary>
/// 是否显示中文大写.
/// </summary>
public string ShowChinese { get; set; }
/// <summary>
/// 是否显示密码.
/// </summary>
public string ShowPassword { get; set; }
/// <summary>
/// 是否可搜索.
/// </summary>
public string Filterable { get; set; }
/// <summary>
/// 输入框中是否显示选中值的完整路径.
/// </summary>
public string ShowAllLevels { get; set; }
/// <summary>
/// 选项分隔符.
/// </summary>
public string Separator { get; set; }
/// <summary>
/// 选择范围时的分隔符.
/// </summary>
public string RangeSeparator { get; set; }
/// <summary>
/// 范围选择时开始日期/时间的占位内容.
/// </summary>
public string StartPlaceholder { get; set; }
/// <summary>
/// 范围选择时结束日期/时间的占位内容.
/// </summary>
public string EndPlaceholder { get; set; }
/// <summary>
/// 当前时间日期选择器特有的选项.
/// </summary>
public string PickerOptions { get; set; }
/// <summary>
/// 配置选项.
/// </summary>
public string Options { get; set; }
/// <summary>
/// 最大值.
/// </summary>
public string Max { get; set; }
/// <summary>
/// 最小值.
/// </summary>
public string Min { get; set; }
/// <summary>
/// 是否允许半选.
/// </summary>
public string AllowHalf { get; set; }
/// <summary>
/// 是否显示子表标题.
/// </summary>
public bool ShowText { get; set; }
/// <summary>
/// 是否显示文本.
/// </summary>
public string ShowTexts { get; set; }
/// <summary>
/// 是否显示分数.
/// </summary>
public string ShowScore { get; set; }
/// <summary>
/// 是否支持透明度选择.
/// </summary>
public string ShowAlpha { get; set; }
/// <summary>
/// 颜色的格式.
/// </summary>
public string ColorFormat { get; set; }
/// <summary>
/// switch 打开时的文字描述.
/// </summary>
public string ActiveText { get; set; }
/// <summary>
/// switch 关闭时的文字描述.
/// </summary>
public string InactiveText { get; set; }
/// <summary>
/// switch 打开时的背景色.
/// </summary>
public string ActiveColor { get; set; }
/// <summary>
/// switch 关闭时的背景色.
/// </summary>
public string InactiveColor { get; set; }
/// <summary>
/// switch 打开时的值.
/// </summary>
public string IsSwitch { get; set; }
/// <summary>
/// 是否显示间断点.
/// </summary>
public string ShowStops { get; set; }
/// <summary>
/// 是否为范围选择
/// 滑块.
/// </summary>
public string Range { get; set; }
/// <summary>
/// 可接受上传类型.
/// </summary>
public string Accept { get; set; }
/// <summary>
/// 是否显示上传提示.
/// </summary>
public string ShowTip { get; set; }
/// <summary>
/// 文件大小.
/// </summary>
public string FileSize { get; set; }
/// <summary>
/// 文件大小单位.
/// </summary>
public string SizeUnit { get; set; }
/// <summary>
/// 最大上传个数.
/// </summary>
public string Limit { get; set; }
/// <summary>
/// 上传按钮文本.
/// </summary>
public string ButtonText { get; set; }
/// <summary>
/// 等级.
/// </summary>
public string Level { get; set; }
/// <summary>
/// 动作文本.
/// </summary>
public string ActionText { get; set; }
/// <summary>
/// 是否隐藏.
/// </summary>
public string NoShow { get; set; }
/// <summary>
/// v-model.
/// </summary>
public string vModel { get; set; }
/// <summary>
/// .
/// </summary>
public string Prepend { get; set; }
/// <summary>
/// .
/// </summary>
public string Append { get; set; }
/// <summary>
/// .
/// </summary>
public string Accordion { get; set; }
/// <summary>
/// 标题.
/// </summary>
public string Title { get; set; }
/// <summary>
/// .
/// </summary>
public string Active { get; set; }
/// <summary>
/// .
/// </summary>
public string MainProps { get; set; }
/// <summary>
/// .
/// </summary>
public string TabPosition { get; set; }
/// <summary>
/// App max属性.
/// </summary>
public int Count { get; set; }
/// <summary>
/// 列宽度.
/// </summary>
public string ColumnWidth { get; set; }
/// <summary>
/// 模块ID.
/// </summary>
public string ModelId { get; set; }
/// <summary>
/// 远端接口ID.
/// </summary>
public string InterfaceId { get; set; }
/// <summary>
/// 显示字段.
/// </summary>
public string RelationField { get; set; }
/// <summary>
/// 存储字段.
/// </summary>
public string PropsValue { get; set; }
/// <summary>
/// .
/// </summary>
public string ColumnOptions { get; set; }
/// <summary>
/// 是否分页.
/// </summary>
public string HasPage { get; set; }
/// <summary>
/// 页数.
/// </summary>
public string PageSize { get; set; }
/// <summary>
/// 精度.
/// </summary>
public string Precision { get; set; }
/// <summary>
/// 系统控件 - 所属组织 属性 - 显示内容
/// all :显示组织, last 显示部门.
/// </summary>
public string ShowLevel { get; set; }
/// <summary>
/// 对齐方式.
/// </summary>
public string Align { get; set; }
/// <summary>
/// 边框.
/// </summary>
public string Border { get; set; }
/// <summary>
/// 标题宽度.
/// </summary>
public int LabelWidth { get; set; }
/// <summary>
/// 是否开启合计.
/// </summary>
public bool ShowSummary { get; set; }
/// <summary>
/// 弹窗类型.
/// </summary>
public string PopupType { get; set; }
/// <summary>
/// 弹窗标题.
/// </summary>
public string PopupTitle { get; set; }
/// <summary>
/// 弹窗宽度.
/// </summary>
public string PopupWidth { get; set; }
/// <summary>
/// .
/// </summary>
public string ShowField { get; set; }
/// <summary>
/// .
/// </summary>
public string Field { get; set; }
/// <summary>
/// 链接地址.
/// </summary>
public string Href { get; set; }
/// <summary>
/// 内外链.
/// </summary>
public string Target { get; set; }
/// <summary>
/// 是否显示图标.
/// </summary>
public string ShowIcon { get; set; }
/// <summary>
/// 选择类型.
/// </summary>
public string SelectType { get; set; }
/// <summary>
/// 是否自定义选择.
/// </summary>
public bool IsCustomSelect => jnpfKey.Equals(JnpfKeyConst.USERSELECT) || jnpfKey.Equals(JnpfKeyConst.USERSSELECT) || jnpfKey.Equals(JnpfKeyConst.DEPSELECT) || jnpfKey.Equals(JnpfKeyConst.POSSELECT) ? (SelectType == "all" ? false : true) : false;
/// <summary>
/// 可选部门.
/// </summary>
public string AbleDepIds { get; set; }
/// <summary>
/// 可选岗位.
/// </summary>
public string AblePosIds { get; set; }
/// <summary>
/// 可选用户.
/// </summary>
public string AbleUserIds { get; set; }
/// <summary>
/// 可选角色.
/// </summary>
public string AbleRoleIds { get; set; }
/// <summary>
/// 可选分组.
/// </summary>
public string AbleGroupIds { get; set; }
/// <summary>
/// 多选用户组件.
/// </summary>
public string AbleIds { get; set; }
/// <summary>
/// 控件子项.
/// </summary>
public ICollection<FormControlDesignModel> Children { get; set; }
/// <summary>
/// 子表添加类型
/// 0-常规添加,1-数据传递.
/// </summary>
public int AddType { get; set; }
/// <summary>
/// 行内编辑使用
/// 宽度.
/// </summary>
public int? IndexWidth { get; set; }
/// <summary>
/// 行内编辑使用
/// 对齐方式.
/// </summary>
public string IndexAlign { get; set; }
/// <summary>
/// 是否行内编辑.
/// </summary>
public bool IsInlineEditor { get; set; }
/// <summary>
/// 是否排序.
/// </summary>
public bool IsSort { get; set; }
/// <summary>
/// 控件属性类型 1:展示数据2:存储数据.
/// </summary>
public int IsStorage { get; set; }
/// <summary>
/// 用户选择控件 关联字段关联属性ableRelationIds="dataForm.depSelect".
/// </summary>
public string UserRelationAttr { get; set; }
/// <summary>
/// 是否被联动控件(反).
/// </summary>
public bool IsLinked { get; set; }
/// <summary>
/// 是否子表联动控件(正).
/// </summary>
public bool IsLinkage { get; set; }
/// <summary>
/// 远端数据模板JSON.
/// </summary>
public string TemplateJson { get; set; }
/// <summary>
/// 是否关联表单.
/// </summary>
public bool IsRelationForm { get; set; }
}

View File

@@ -0,0 +1,141 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成表单列模型.
/// </summary>
[SuppressSniffer]
public class FormScriptDesignModel
{
/// <summary>
/// 列名.
/// </summary>
public string Name { get; set; }
/// <summary>
/// 原始列名.
/// </summary>
public string OriginalName { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerName => string.IsNullOrWhiteSpace(Name) ? null : Name.Substring(0, 1).ToLower() + Name[1..];
/// <summary>
/// 标签类型.
/// </summary>
public string jnpfKey { get; set; }
/// <summary>
/// 数据类型.
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 字典类型.
/// </summary>
public string DictionaryType { get; set; }
/// <summary>
/// 时间格式化.
/// </summary>
public string Format { get; set; }
/// <summary>
/// 多选标记.
/// </summary>
public bool Multiple { get; set; }
/// <summary>
/// 自动生成规则.
/// </summary>
public string BillRule { get; set; }
/// <summary>
/// 必填.
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 验证规则.
/// </summary>
public List<RegListModel> RegList { get; set; }
/// <summary>
/// 提示时机.
/// </summary>
public string Trigger { get; set; }
/// <summary>
/// 提示语.
/// </summary>
public string Placeholder { get; set; }
/// <summary>
/// 范围.
/// </summary>
public bool Range { get; set; }
/// <summary>
/// 默认值.
/// </summary>
public object DefaultValue { get; set; }
/// <summary>
/// 子控件列表.
/// </summary>
public List<FormScriptDesignModel> ChildrenList { get; set; }
/// <summary>
/// 是否开启合计.
/// </summary>
public bool ShowSummary { get; set; }
/// <summary>
/// 合计数组.
/// </summary>
public string SummaryField { get; set; }
/// <summary>
/// 是否合计.
/// </summary>
public bool IsSummary { get; set; }
/// <summary>
/// 是否数据传递.
/// </summary>
public bool IsDataTransfer { get; set; }
/// <summary>
/// 数据传递表配置.
/// </summary>
public string AddTableConf { get; set; }
/// <summary>
/// 子表添加类型
/// 0-常规添加,1-数据传递.
/// </summary>
public int AddType { get; set; }
/// <summary>
/// 是否行内编辑.
/// </summary>
public bool IsInlineEditor { get; set; }
/// <summary>
/// 是否被联动(反).
/// </summary>
public bool IsLinked { get; set; }
/// <summary>
/// 是否联动(正).
/// </summary>
public bool IsLinkage { get; set; }
/// <summary>
/// 联动反向关系.
/// </summary>
public List<LinkageConfig> LinkageRelationship { get; set; } = new List<LinkageConfig>();
}

View File

@@ -0,0 +1,342 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 前端生成配置模型.
/// </summary>
[SuppressSniffer]
public class FrontEndGenConfigModel
{
/// <summary>
/// 命名空间.
/// </summary>
public string NameSpace { get; set; }
/// <summary>
/// 类型名称.
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 表单.
/// </summary>
public string FormRef { get; set; }
/// <summary>
/// 表单模型.
/// </summary>
public string FormModel { get; set; }
/// <summary>
/// 尺寸.
/// </summary>
public string Size { get; set; }
/// <summary>
/// 布局方式-文本定位.
/// </summary>
public string LabelPosition { get; set; }
/// <summary>
/// 布局方式-文本宽度.
/// </summary>
public int LabelWidth { get; set; }
/// <summary>
/// 表单规则.
/// </summary>
public string FormRules { get; set; }
/// <summary>
/// 列表布局
/// 1-普通列表,2-左侧树形+普通表格,3-分组表格,4-行内编辑.
/// </summary>
public int Type { get; set; }
/// <summary>
/// 左侧树绑定字段.
/// </summary>
public string TreeRelation { get; set; }
/// <summary>
/// 左侧树标题.
/// </summary>
public string TreeTitle { get; set; }
/// <summary>
/// 左侧树数据源绑定字段.
/// </summary>
public string TreePropsValue { get; set; }
/// <summary>
/// 左侧树数据来源.
/// </summary>
public string TreeDataSource { get; set; }
/// <summary>
/// 树数据字典.
/// </summary>
public string TreeDictionary { get; set; }
/// <summary>
/// 数据接口.
/// </summary>
public string TreePropsUrl { get; set; }
/// <summary>
/// 子级字段.
/// </summary>
public string TreePropsChildren { get; set; }
/// <summary>
/// 显示字段.
/// </summary>
public string TreePropsLabel { get; set; }
/// <summary>
/// 左侧树是否存在查询内.
/// </summary>
public bool IsExistQuery { get; set; }
/// <summary>
/// 是否分页.
/// </summary>
public bool HasPage { get; set; }
/// <summary>
/// 表单列表.
/// </summary>
public List<FormScriptDesignModel> FormList { get; set; }
/// <summary>
/// 弹窗类型.
/// </summary>
public string PopupType { get; set; }
/// <summary>
/// 主键.
/// </summary>
public string PrimaryKey { get; set; }
/// <summary>
/// 表单主键.
/// </summary>
public string FormPrimaryKey { get; set; }
/// <summary>
/// 查询列设计.
/// </summary>
public List<IndexSearchFieldDesignModel> SearchColumnDesign { get; set; }
/// <summary>
/// 头部按钮设计.
/// </summary>
public List<IndexButtonDesign> TopButtonDesign { get; set; }
/// <summary>
/// 头部按钮设计.
/// </summary>
public List<IndexButtonDesign> ColumnButtonDesign { get; set; }
/// <summary>
/// 列表设计.
/// </summary>
public List<IndexColumnDesign> ColumnDesign { get; set; }
/// <summary>
/// 列表主表控件Option.
/// </summary>
public List<CodeGenConvIndexListControlOptionDesign> OptionsList { get; set; }
/// <summary>
/// 表单全部控件.
/// </summary>
public List<FormControlDesignModel> FormAllContols { get; set; }
/// <summary>
/// 是否有批量删除.
/// </summary>
public bool IsBatchRemoveDel { get; set; }
/// <summary>
/// 是否有导出.
/// </summary>
public bool IsDownload { get; set; }
/// <summary>
/// 是否有删除.
/// </summary>
public bool IsRemoveDel { get; set; }
/// <summary>
/// 是否有详情.
/// </summary>
public bool IsDetail { get; set; }
/// <summary>
/// 是否有编辑.
/// </summary>
public bool IsEdit { get; set; }
/// <summary>
/// 是否有排序.
/// </summary>
public bool IsSort { get; set; }
/// <summary>
/// 是否有新增.
/// </summary>
public bool IsAdd { get; set; }
/// <summary>
/// 是否有导入.
/// </summary>
public bool IsUpload { get; set; }
/// <summary>
/// 是否开启按钮权限.
/// </summary>
public bool UseBtnPermission { get; set; }
/// <summary>
/// 是否开启列表权限.
/// </summary>
public bool UseColumnPermission { get; set; }
/// <summary>
/// 是否开启表单权限.
/// </summary>
public bool UseFormPermission { get; set; }
/// <summary>
/// 提交按钮文本.
/// </summary>
public string CancelButtonText { get; set; }
/// <summary>
/// 确认按钮文本.
/// </summary>
public string ConfirmButtonText { get; set; }
/// <summary>
/// 普通弹窗表单宽度.
/// </summary>
public string GeneralWidth { get; set; }
/// <summary>
/// 全屏弹窗表单宽度.
/// </summary>
public string FullScreenWidth { get; set; }
/// <summary>
/// drawer宽度.
/// </summary>
public string DrawerWidth { get; set; }
/// <summary>
/// 表单样式.
/// </summary>
public string FormStyle { get; set; }
/// <summary>
/// 是否合计.
/// </summary>
public bool IsSummary { get; set; }
/// <summary>
/// 分页大小.
/// </summary>
public int PageSize { get; set; }
/// <summary>
/// 排序方式.
/// </summary>
public string Sort { get; set; }
/// <summary>
/// 是否开启打印.
/// </summary>
public bool HasPrintBtn { get; set; }
/// <summary>
/// 打印按钮文本.
/// </summary>
public string PrintButtonText { get; set; }
/// <summary>
/// 打印模板ID.
/// </summary>
public string PrintId { get; set; }
/// <summary>
/// 是否子表数据传递.
/// </summary>
public bool IsChildDataTransfer { get; set; }
/// <summary>
/// 是否子表查询.
/// </summary>
public bool IsChildTableQuery { get; set; }
/// <summary>
/// 是否子表显示.
/// </summary>
public bool IsChildTableShow { get; set; }
/// <summary>
/// 是否列展示字段.
/// </summary>
public string ColumnList { get; set; }
/// <summary>
/// 高级查询.
/// </summary>
public bool HasSuperQuery { get; set; }
/// <summary>
/// 列选项.
/// </summary>
public string ColumnOptions { get; set; }
/// <summary>
/// 是否行内编辑.
/// </summary>
public bool IsInlineEditor { get; set; }
/// <summary>
/// 列表类型.
/// </summary>
public int IndexDataType { get; set; }
/// <summary>
/// 分组字段名.
/// </summary>
public string GroupField { get; set; }
/// <summary>
/// 分组显示字段名..
/// </summary>
public string GroupShowField { get; set; }
/// <summary>
/// 自增长策略.
/// </summary>
public int PrimaryKeyPolicy { get; set; }
/// <summary>
/// 是否关联表单.
/// </summary>
public bool IsRelationForm { get; set; }
/// <summary>
/// 子表样式
/// 1-分组展示,2-折叠展示.
/// </summary>
public int ChildTableStyle { get; set; }
/// <summary>
/// 是否冻结.
/// </summary>
public bool IsFixed { get; set; }
}

View File

@@ -0,0 +1,45 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成常规Index列表页面头部按钮配置.
/// </summary>
[SuppressSniffer]
public class IndexButtonDesign
{
/// <summary>
/// 按钮类型.
/// </summary>
public string @Type { get; set; }
/// <summary>
/// 图标.
/// </summary>
public string Icon { get; set; }
/// <summary>
/// 方法.
/// </summary>
public string Method { get; set; }
/// <summary>
/// 按钮值.
/// </summary>
public string Value { get; set; }
/// <summary>
/// 按钮文本.
/// </summary>
public string Label { get; set; }
/// <summary>
/// 是否禁用.
/// </summary>
public string Disabled { get; set; }
/// <summary>
/// 是否详情.
/// </summary>
public bool IsDetail { get; set; }
}

View File

@@ -0,0 +1,80 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成常规Index列表列设计.
/// </summary>
[SuppressSniffer]
public class IndexColumnDesign
{
/// <summary>
/// 表名称.
/// </summary>
public string TableName { get; set; }
/// <summary>
/// 控件名称.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Options名称.
/// </summary>
public string OptionsName { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerName { get; set; }
/// <summary>
/// 控件Key.
/// </summary>
public string jnpfKey { get; set; }
/// <summary>
/// 文本.
/// </summary>
public string Label { get; set; }
/// <summary>
/// 宽度.
/// </summary>
public string Width { get; set; }
/// <summary>
/// Align.
/// </summary>
public string Align { get; set; }
/// <summary>
/// 是否自动转换.
/// </summary>
public bool IsAutomatic { get; set; }
/// <summary>
/// 时间格式化.
/// </summary>
public string Format { get; set; }
/// <summary>
/// 是否排序.
/// </summary>
public string IsSort { get; set; }
/// <summary>
/// 是否子表.
/// </summary>
public bool IsChildTable { get; set; }
/// <summary>
/// 固定.
/// </summary>
public string Fixed { get; set; }
/// <summary>
/// 子表配置.
/// </summary>
public List<IndexColumnDesign> ChildTableDesigns { get; set; }
}

View File

@@ -0,0 +1,130 @@
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 代码生成Index查询列设计.
/// </summary>
[SuppressSniffer]
public class IndexSearchFieldDesignModel
{
/// <summary>
/// 真实名字.
/// </summary>
public string OriginalName { get; set; }
/// <summary>
/// 列名.
/// </summary>
public string Name { get; set; }
/// <summary>
/// 首字母小写列名.
/// </summary>
public string LowerName { get; set; }
/// <summary>
/// 控件名.
/// </summary>
public string Tag { get; set; }
/// <summary>
/// 可清除的.
/// </summary>
public string Clearable { get; set; }
/// <summary>
/// 时间格式化.
/// </summary>
public string Format { get; set; }
/// <summary>
/// 类型.
/// </summary>
public string @Type { get; set; }
/// <summary>
/// 时间输出类型.
/// </summary>
public string ValueFormat { get; set; }
/// <summary>
/// 数据类型.
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 标题名.
/// </summary>
public string Label { get; set; }
/// <summary>
/// 查询控件Key.
/// </summary>
public string QueryControlsKey { get; set; }
/// <summary>
/// 选项配置.
/// </summary>
public PropsBeanModel Props { get; set; }
/// <summary>
/// 序号.
/// </summary>
public int Index { get; set; }
/// <summary>
/// 输入框中是否显示选中值的完整路径.
/// </summary>
public string ShowAllLevels { get; set; }
/// <summary>
/// 等级.
/// </summary>
public int Level { get; set; }
/// <summary>
/// 是否子查询.
/// </summary>
public bool IsChildQuery { get; set; }
/// <summary>
/// 选择类型.
/// </summary>
public string SelectType { get; set; }
/// <summary>
/// 是否自定义选择.
/// </summary>
public bool IsCustomSelect => SelectType == "all" ? false : true;
/// <summary>
/// 可选部门.
/// </summary>
public string AbleDepIds { get; set; }
/// <summary>
/// 可选岗位.
/// </summary>
public string AblePosIds { get; set; }
/// <summary>
/// 可选用户.
/// </summary>
public string AbleUserIds { get; set; }
/// <summary>
/// 可选角色.
/// </summary>
public string AbleRoleIds { get; set; }
/// <summary>
/// 可选分组.
/// </summary>
public string AbleGroupIds { get; set; }
/// <summary>
/// 可选分组.
/// </summary>
public string AbleIds { get; set; }
}

View File

@@ -0,0 +1,261 @@
using JNPF.Common.Models;
using JNPF.DependencyInjection;
namespace JNPF.VisualDev.Engine.Model.CodeGen;
/// <summary>
/// 数据库表列.
/// </summary>
[SuppressSniffer]
public class TableColumnConfigModel
{
#region
/// <summary>
/// 功能名称.
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 功能名称(首字母小写).
/// </summary>
public string LowerClassName => string.IsNullOrWhiteSpace(ClassName) ? null : ClassName.Substring(0, 1).ToLower() + ClassName[1..];
/// <summary>
/// 字段名-大写(剔除"F_","f_").
/// </summary>
public string ColumnName { get; set; }
/// <summary>
/// 数据库字段名(首字母小写).
/// </summary>
public string LowerColumnName => string.IsNullOrWhiteSpace(ColumnName) ? null : ColumnName.Substring(0, 1).ToLower() + ColumnName[1..];
/// <summary>
/// 原本名称.
/// </summary>
public string OriginalColumnName { get; set; }
/// <summary>
/// 控件标题.
/// </summary>
public string ControlLabel { get; set; }
/// <summary>
/// 数据库中类型.
/// </summary>
public string DataType { get; set; }
/// <summary>
/// .NET字段类型.
/// </summary>
public string NetType { get; set; }
/// <summary>
/// 字段描述.
/// </summary>
public string ColumnComment { get; set; }
/// <summary>
/// 是否是查询条件.
/// </summary>
public bool QueryWhether { get; set; }
/// <summary>
/// 查询方式
/// 1-等于,2-模糊,3-范围.
/// </summary>
public int QueryType { get; set; }
/// <summary>
/// 是否展示.
/// </summary>
public bool IsShow { get; set; }
/// <summary>
/// 是否多选.
/// </summary>
public bool IsMultiple { get; set; }
/// <summary>
/// 是否主键.
/// </summary>
public bool PrimaryKey { get; set; }
/// <summary>
/// 是否外键字段.
/// </summary>
public bool ForeignKeyField { get; set; }
/// <summary>
/// 控件Key.
/// </summary>
public string jnpfKey { get; set; }
/// <summary>
/// 控件Key
/// 用途:数据转换时 字段名+控件key 单驼峰命名规则.
/// </summary>
public string upperJnpfKey => string.IsNullOrWhiteSpace(jnpfKey) ? null : jnpfKey.Substring(0, 1).ToUpper() + jnpfKey[1..];
/// <summary>
/// 单据规则.
/// </summary>
public string Rule { get; set; }
/// <summary>
/// 表名称.
/// </summary>
public string TableName { get; set; }
/// <summary>
/// 格式化表名称
/// 子表或者副表使用.
/// </summary>
public string FormatTableName { get; set; }
/// <summary>
/// 格式化表名称
/// 子表或者副表使用.
/// </summary>
public string LowerFormatTableName => string.IsNullOrWhiteSpace(FormatTableName) ? null : FormatTableName.Substring(0, 1).ToLower() + FormatTableName[1..];
/// <summary>
/// 是否yyyy-MM-dd HH:mm:ss.
/// </summary>
public bool IsDateTime { get; set; }
/// <summary>
/// 时间格式化.
/// </summary>
public string Format { get; set; }
/// <summary>
/// 开关控件 属性 - 开启展示值.
/// </summary>
public string ActiveTxt { get; set; }
/// <summary>
/// 开关控件 属性 - 关闭展示值.
/// </summary>
public string InactiveTxt { get; set; }
/// <summary>
/// 静态数据JSON.
/// </summary>
public List<StaticDataModel> StaticData { get; set; }
/// <summary>
/// 控件数据来源
/// 部分控件的数据源
/// 例如 静态数据,数据字段,远端数据.
/// </summary>
public string ControlsDataType { get; set; }
/// <summary>
/// 数据来源ID.
/// </summary>
public string propsUrl { get; set; }
/// <summary>
/// 指定选项的值为选项对象的某个属性值.
/// </summary>
public string Label { get; set; }
/// <summary>
/// 是否转换数据.
/// </summary>
public bool IsConversion { get; set; }
/// <summary>
/// 是否详情转换数据.
/// </summary>
public bool IsDetailConversion { get; set; }
/// <summary>
/// 是否系统控件.
/// </summary>
public bool IsSystemControl { get; set; }
/// <summary>
/// 是否唯一.
/// </summary>
public bool IsUnique { get; set; }
/// <summary>
/// 是否更新.
/// </summary>
public bool IsUpdate { get; set; }
#endregion
#region 使
/// <summary>
/// 是否副表.
/// </summary>
public bool IsAuxiliary { get; set; }
/// <summary>
/// 表编号
/// 子表或者副表使用.
/// </summary>
public int TableNo { get; set; }
#endregion
#region 使
/// <summary>
/// 子表控件Key.
/// </summary>
public string ChildControlKey { get; set; }
#endregion
#region
/// <summary>
/// 导出配置.
/// </summary>
public CodeGenFieldsModel ImportConfig { get; set; }
/// <summary>
/// 是否导入字段.
/// </summary>
public bool IsImportField { get; set; }
/// <summary>
/// 指定选项标签为选项对象的某个属性值.
/// </summary>
public string Value { get; set; }
/// <summary>
/// 指定选项的子选项为选项对象的某个属性值.
/// </summary>
public string Children { get; set; }
/// <summary>
/// 选项分隔符.
/// </summary>
public string Separator { get; set; }
#endregion
/// <summary>
/// 联表编号
/// 后续会被遗弃.
/// </summary>
public string LeagueTableNo { get; set; }
/// <summary>
/// 需解析的控件类型 JnpfKeyConst @@ 需解析的字段集合(以,隔开).
/// </summary>
public List<string[]> ParsJnpfKeyConstList { get; set; }
/// <summary>
/// 需解析的控件类型 JnpfKeyConst @@ 需解析的字段集合(以,隔开)(行内编辑 特殊处理).
/// </summary>
public List<string[]> ParsJnpfKeyConstListDetails { get; set; }
}