FieldPathTreeNodeDto.cs
2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using Rcs.Domain.Enums;
namespace Rcs.Application.DTOs
{
/// <summary>
/// 字段路径树节点 DTO
/// 用于动作参数来源路径的多级下拉框数据源
/// @author zzy
/// </summary>
public class FieldPathTreeNodeDto
{
/// <summary>
/// 字段名称(代码标识)
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 字段显示名称(中文描述)
/// </summary>
public string DisplayName { get; set; } = string.Empty;
/// <summary>
/// 字段类型(string/int/double/bool/enum/object/array)
/// </summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// 完整路径(点分隔,如:RobotId、RobotCode、State.BatteryLevel)
/// </summary>
public string Path { get; set; } = string.Empty;
/// <summary>
/// 是否有子节点(用于前端判断是否可展开)
/// </summary>
public bool HasChildren { get; set; }
/// <summary>
/// 子节点列表(懒加载时可为空)
/// </summary>
public List<FieldPathTreeNodeDto>? Children { get; set; }
/// <summary>
/// 枚举类型的可选值(当 Type 为 enum 时填充)
/// </summary>
public List<EnumValueDto>? EnumValues { get; set; }
}
/// <summary>
/// 枚举值 DTO
/// @author zzy
/// </summary>
public class EnumValueDto
{
/// <summary>
/// 枚举值
/// </summary>
public int Value { get; set; }
/// <summary>
/// 枚举显示名称
/// </summary>
public string DisplayName { get; set; } = string.Empty;
/// <summary>
/// 枚举名称(代码标识)
/// </summary>
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 字段路径树根节点响应 DTO
/// @author zzy
/// </summary>
public class FieldPathTreeResponseDto
{
/// <summary>
/// 来源类型
/// </summary>
public ParameterSourceType SourceType { get; set; }
/// <summary>
/// 根节点列表
/// </summary>
public List<FieldPathTreeNodeDto> RootNodes { get; set; } = new();
}
}