scaffold-engine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -0
- package/engine.project.example.json +23 -0
- package/package.json +49 -0
- package/scripts/postinstall.cjs +42 -0
- package/specs/catalogs/action-templates.yaml +189 -0
- package/specs/catalogs/child-templates.yaml +54 -0
- package/specs/catalogs/field-fragments.yaml +203 -0
- package/specs/catalogs/object-catalog.yaml +35 -0
- package/specs/catalogs/object-name-suggestions.yaml +30 -0
- package/specs/catalogs/object-templates.yaml +45 -0
- package/specs/catalogs/pattern-catalog.yaml +48 -0
- package/specs/catalogs/status-templates.yaml +16 -0
- package/specs/projects/crm-pilot/customer.yaml +122 -0
- package/specs/projects/crm-pilot/lead.from-nl.yaml +76 -0
- package/specs/projects/crm-pilot/lead.yaml +82 -0
- package/specs/projects/generated-from-nl/crm-customer.yaml +158 -0
- package/specs/projects/generated-from-nl/crm-lead.yaml +76 -0
- package/specs/projects/generated-from-nl/crm-opportunity.yaml +78 -0
- package/specs/projects/generated-from-nl/crm-quote.yaml +78 -0
- package/specs/projects/generated-from-nl/custom-documentLines.yaml +125 -0
- package/specs/projects/generated-from-nl/custom-treeEntity.yaml +78 -0
- package/specs/projects/generated-from-nl/erp-material-pattern-test.yaml +79 -0
- package/specs/projects/generated-from-nl/erp-material.yaml +78 -0
- package/specs/projects/generated-from-nl/hr-orgUnit.yaml +100 -0
- package/specs/projects/pattern-examples/document-lines-demo.yaml +125 -0
- package/specs/projects/pattern-examples/tree-entity-demo.yaml +79 -0
- package/specs/rules/business-model.schema.json +262 -0
- package/specs/rules/extension-boundaries.json +26 -0
- package/specs/rules/requirement-draft.schema.json +75 -0
- package/specs/rules/spec-governance.json +29 -0
- package/specs/templates/crm/customer.template.yaml +121 -0
- package/specs/templates/crm/lead.template.yaml +82 -0
- package/tools/analyze-requirement.cjs +950 -0
- package/tools/cli.cjs +59 -0
- package/tools/create-draft.cjs +18 -0
- package/tools/engine.cjs +47 -0
- package/tools/generate-draft.cjs +33 -0
- package/tools/generate-module.cjs +1218 -0
- package/tools/init-project.cjs +194 -0
- package/tools/lib/draft-toolkit.cjs +357 -0
- package/tools/lib/model-toolkit.cjs +482 -0
- package/tools/lib/pattern-renderers.cjs +166 -0
- package/tools/lib/renderers/detail-page-renderer.cjs +327 -0
- package/tools/lib/renderers/form-page-renderer.cjs +553 -0
- package/tools/lib/renderers/list-page-renderer.cjs +371 -0
- package/tools/lib/runtime-config.cjs +154 -0
- package/tools/patch-draft.cjs +57 -0
- package/tools/prompts/business-model-prompt.md +58 -0
- package/tools/run-requirement.cjs +672 -0
- package/tools/validate-draft.cjs +32 -0
- package/tools/validate-model.cjs +140 -0
- package/tools/verify-patterns.cjs +67 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: crm
|
|
3
|
+
object: opportunity
|
|
4
|
+
label: 商机
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
7
|
+
data:
|
|
8
|
+
table: crm_opportunity
|
|
9
|
+
fields:
|
|
10
|
+
- name: opportunityCode
|
|
11
|
+
label: 商机编号
|
|
12
|
+
type: string
|
|
13
|
+
required: true
|
|
14
|
+
unique: true
|
|
15
|
+
- name: opportunityName
|
|
16
|
+
label: 商机名称
|
|
17
|
+
type: string
|
|
18
|
+
required: true
|
|
19
|
+
- name: customerName
|
|
20
|
+
label: 客户名称
|
|
21
|
+
type: string
|
|
22
|
+
- name: ownerName
|
|
23
|
+
label: 负责人
|
|
24
|
+
type: string
|
|
25
|
+
- name: stage
|
|
26
|
+
label: 商机阶段
|
|
27
|
+
type: enum
|
|
28
|
+
options:
|
|
29
|
+
- new
|
|
30
|
+
- qualifying
|
|
31
|
+
- proposal
|
|
32
|
+
- won
|
|
33
|
+
- lost
|
|
34
|
+
default: new
|
|
35
|
+
- name: status
|
|
36
|
+
label: 状态
|
|
37
|
+
type: enum
|
|
38
|
+
options:
|
|
39
|
+
- draft
|
|
40
|
+
- active
|
|
41
|
+
- closed
|
|
42
|
+
default: draft
|
|
43
|
+
app:
|
|
44
|
+
actions:
|
|
45
|
+
- create
|
|
46
|
+
- update
|
|
47
|
+
- list
|
|
48
|
+
- detail
|
|
49
|
+
defaultStatus: draft
|
|
50
|
+
ui:
|
|
51
|
+
list:
|
|
52
|
+
columns:
|
|
53
|
+
- opportunityCode
|
|
54
|
+
- opportunityName
|
|
55
|
+
- customerName
|
|
56
|
+
- ownerName
|
|
57
|
+
- stage
|
|
58
|
+
- status
|
|
59
|
+
- createdAt
|
|
60
|
+
filters:
|
|
61
|
+
- opportunityCode
|
|
62
|
+
- opportunityName
|
|
63
|
+
- customerName
|
|
64
|
+
- stage
|
|
65
|
+
- status
|
|
66
|
+
form:
|
|
67
|
+
groups:
|
|
68
|
+
- title: 基本信息
|
|
69
|
+
fields:
|
|
70
|
+
- opportunityCode
|
|
71
|
+
- opportunityName
|
|
72
|
+
- customerName
|
|
73
|
+
- ownerName
|
|
74
|
+
- stage
|
|
75
|
+
- status
|
|
76
|
+
detail:
|
|
77
|
+
sections:
|
|
78
|
+
- basicInfo
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: crm
|
|
3
|
+
object: quote
|
|
4
|
+
label: 报价
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
7
|
+
data:
|
|
8
|
+
table: crm_quote
|
|
9
|
+
fields:
|
|
10
|
+
- name: quoteCode
|
|
11
|
+
label: 报价编号
|
|
12
|
+
type: string
|
|
13
|
+
required: true
|
|
14
|
+
unique: true
|
|
15
|
+
- name: quoteName
|
|
16
|
+
label: 报价名称
|
|
17
|
+
type: string
|
|
18
|
+
required: true
|
|
19
|
+
- name: customerName
|
|
20
|
+
label: 客户名称
|
|
21
|
+
type: string
|
|
22
|
+
- name: ownerName
|
|
23
|
+
label: 负责人
|
|
24
|
+
type: string
|
|
25
|
+
- name: stage
|
|
26
|
+
label: 报价阶段
|
|
27
|
+
type: enum
|
|
28
|
+
options:
|
|
29
|
+
- draft
|
|
30
|
+
- reviewing
|
|
31
|
+
- sent
|
|
32
|
+
- accepted
|
|
33
|
+
- rejected
|
|
34
|
+
default: draft
|
|
35
|
+
- name: status
|
|
36
|
+
label: 状态
|
|
37
|
+
type: enum
|
|
38
|
+
options:
|
|
39
|
+
- draft
|
|
40
|
+
- active
|
|
41
|
+
- closed
|
|
42
|
+
default: draft
|
|
43
|
+
app:
|
|
44
|
+
actions:
|
|
45
|
+
- create
|
|
46
|
+
- update
|
|
47
|
+
- list
|
|
48
|
+
- detail
|
|
49
|
+
defaultStatus: draft
|
|
50
|
+
ui:
|
|
51
|
+
list:
|
|
52
|
+
columns:
|
|
53
|
+
- quoteCode
|
|
54
|
+
- quoteName
|
|
55
|
+
- customerName
|
|
56
|
+
- ownerName
|
|
57
|
+
- stage
|
|
58
|
+
- status
|
|
59
|
+
- createdAt
|
|
60
|
+
filters:
|
|
61
|
+
- quoteCode
|
|
62
|
+
- quoteName
|
|
63
|
+
- customerName
|
|
64
|
+
- stage
|
|
65
|
+
- status
|
|
66
|
+
form:
|
|
67
|
+
groups:
|
|
68
|
+
- title: 基本信息
|
|
69
|
+
fields:
|
|
70
|
+
- quoteCode
|
|
71
|
+
- quoteName
|
|
72
|
+
- customerName
|
|
73
|
+
- ownerName
|
|
74
|
+
- stage
|
|
75
|
+
- status
|
|
76
|
+
detail:
|
|
77
|
+
sections:
|
|
78
|
+
- basicInfo
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: custom
|
|
3
|
+
object: documentLinesSample
|
|
4
|
+
label: 单据明细对象示例
|
|
5
|
+
pattern: documentLines
|
|
6
|
+
version: 0.1.0
|
|
7
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
8
|
+
data:
|
|
9
|
+
table: custom_document_lines_sample
|
|
10
|
+
fields:
|
|
11
|
+
- name: documentNo
|
|
12
|
+
label: 单据编号
|
|
13
|
+
type: string
|
|
14
|
+
required: true
|
|
15
|
+
unique: true
|
|
16
|
+
- name: documentTitle
|
|
17
|
+
label: 单据标题
|
|
18
|
+
type: string
|
|
19
|
+
required: true
|
|
20
|
+
- name: bizDate
|
|
21
|
+
label: 业务日期
|
|
22
|
+
type: date
|
|
23
|
+
required: true
|
|
24
|
+
- name: status
|
|
25
|
+
label: 状态
|
|
26
|
+
type: enum
|
|
27
|
+
options:
|
|
28
|
+
- draft
|
|
29
|
+
- active
|
|
30
|
+
- inactive
|
|
31
|
+
- blocked
|
|
32
|
+
default: draft
|
|
33
|
+
children:
|
|
34
|
+
- name: lines
|
|
35
|
+
label: 明细行
|
|
36
|
+
table: custom_document_lines_sample_line
|
|
37
|
+
foreignKey: documentId
|
|
38
|
+
fields:
|
|
39
|
+
- name: lineNo
|
|
40
|
+
label: 行号
|
|
41
|
+
type: string
|
|
42
|
+
required: true
|
|
43
|
+
- name: itemCode
|
|
44
|
+
label: 项目编码
|
|
45
|
+
type: string
|
|
46
|
+
required: true
|
|
47
|
+
- name: itemName
|
|
48
|
+
label: 项目名称
|
|
49
|
+
type: string
|
|
50
|
+
required: true
|
|
51
|
+
- name: quantity
|
|
52
|
+
label: 数量
|
|
53
|
+
type: number
|
|
54
|
+
required: true
|
|
55
|
+
- name: unitPrice
|
|
56
|
+
label: 单价
|
|
57
|
+
type: number
|
|
58
|
+
- name: amount
|
|
59
|
+
label: 金额
|
|
60
|
+
type: number
|
|
61
|
+
app:
|
|
62
|
+
actions:
|
|
63
|
+
- create
|
|
64
|
+
- update
|
|
65
|
+
- list
|
|
66
|
+
- detail
|
|
67
|
+
- submit
|
|
68
|
+
- approve
|
|
69
|
+
- reject
|
|
70
|
+
defaultStatus: draft
|
|
71
|
+
statusFlow:
|
|
72
|
+
enabled: true
|
|
73
|
+
states:
|
|
74
|
+
- draft
|
|
75
|
+
- submitted
|
|
76
|
+
- approved
|
|
77
|
+
- rejected
|
|
78
|
+
transitions:
|
|
79
|
+
- action: submit
|
|
80
|
+
from:
|
|
81
|
+
- draft
|
|
82
|
+
- rejected
|
|
83
|
+
to: submitted
|
|
84
|
+
- action: approve
|
|
85
|
+
from:
|
|
86
|
+
- submitted
|
|
87
|
+
to: approved
|
|
88
|
+
- action: reject
|
|
89
|
+
from:
|
|
90
|
+
- submitted
|
|
91
|
+
to: rejected
|
|
92
|
+
errorCodes:
|
|
93
|
+
- code: VALIDATION_FAILED
|
|
94
|
+
message: 输入校验失败
|
|
95
|
+
- code: RECORD_NOT_FOUND
|
|
96
|
+
message: 记录不存在
|
|
97
|
+
- code: DUPLICATE_KEY
|
|
98
|
+
message: 唯一键冲突
|
|
99
|
+
ui:
|
|
100
|
+
list:
|
|
101
|
+
columns:
|
|
102
|
+
- documentNo
|
|
103
|
+
- documentTitle
|
|
104
|
+
- bizDate
|
|
105
|
+
- status
|
|
106
|
+
- createdAt
|
|
107
|
+
filters:
|
|
108
|
+
- documentNo
|
|
109
|
+
- documentTitle
|
|
110
|
+
- bizDate
|
|
111
|
+
- status
|
|
112
|
+
form:
|
|
113
|
+
groups:
|
|
114
|
+
- title: 基本信息
|
|
115
|
+
fields:
|
|
116
|
+
- documentNo
|
|
117
|
+
- documentTitle
|
|
118
|
+
- bizDate
|
|
119
|
+
- status
|
|
120
|
+
- title: 明细行
|
|
121
|
+
childTable: lines
|
|
122
|
+
detail:
|
|
123
|
+
sections:
|
|
124
|
+
- basicInfo
|
|
125
|
+
- lines
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: custom
|
|
3
|
+
object: treeEntitySample
|
|
4
|
+
label: 树形对象示例
|
|
5
|
+
pattern: treeEntity
|
|
6
|
+
version: 0.1.0
|
|
7
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
8
|
+
data:
|
|
9
|
+
table: custom_tree_entity_sample
|
|
10
|
+
fields:
|
|
11
|
+
- name: categoryCode
|
|
12
|
+
label: 节点编码
|
|
13
|
+
type: string
|
|
14
|
+
required: true
|
|
15
|
+
unique: true
|
|
16
|
+
- name: categoryName
|
|
17
|
+
label: 节点名称
|
|
18
|
+
type: string
|
|
19
|
+
required: true
|
|
20
|
+
- name: parentId
|
|
21
|
+
label: 父节点ID
|
|
22
|
+
type: integer
|
|
23
|
+
- name: parentName
|
|
24
|
+
label: 父节点名称
|
|
25
|
+
type: string
|
|
26
|
+
- name: sortOrder
|
|
27
|
+
label: 排序号
|
|
28
|
+
type: integer
|
|
29
|
+
- name: status
|
|
30
|
+
label: 状态
|
|
31
|
+
type: enum
|
|
32
|
+
options:
|
|
33
|
+
- draft
|
|
34
|
+
- active
|
|
35
|
+
- inactive
|
|
36
|
+
- blocked
|
|
37
|
+
default: draft
|
|
38
|
+
app:
|
|
39
|
+
actions:
|
|
40
|
+
- create
|
|
41
|
+
- update
|
|
42
|
+
- list
|
|
43
|
+
- detail
|
|
44
|
+
defaultStatus: draft
|
|
45
|
+
errorCodes:
|
|
46
|
+
- code: VALIDATION_FAILED
|
|
47
|
+
message: 输入校验失败
|
|
48
|
+
- code: RECORD_NOT_FOUND
|
|
49
|
+
message: 记录不存在
|
|
50
|
+
- code: DUPLICATE_KEY
|
|
51
|
+
message: 唯一键冲突
|
|
52
|
+
ui:
|
|
53
|
+
list:
|
|
54
|
+
columns:
|
|
55
|
+
- categoryCode
|
|
56
|
+
- categoryName
|
|
57
|
+
- parentName
|
|
58
|
+
- sortOrder
|
|
59
|
+
- status
|
|
60
|
+
- createdAt
|
|
61
|
+
filters:
|
|
62
|
+
- categoryCode
|
|
63
|
+
- categoryName
|
|
64
|
+
- parentName
|
|
65
|
+
- status
|
|
66
|
+
form:
|
|
67
|
+
groups:
|
|
68
|
+
- title: 基本信息
|
|
69
|
+
fields:
|
|
70
|
+
- categoryCode
|
|
71
|
+
- categoryName
|
|
72
|
+
- parentId
|
|
73
|
+
- parentName
|
|
74
|
+
- sortOrder
|
|
75
|
+
- status
|
|
76
|
+
detail:
|
|
77
|
+
sections:
|
|
78
|
+
- basicInfo
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: erp
|
|
3
|
+
object: material
|
|
4
|
+
label: 物料
|
|
5
|
+
pattern: masterData
|
|
6
|
+
version: 0.1.0
|
|
7
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
8
|
+
data:
|
|
9
|
+
table: erp_material
|
|
10
|
+
fields:
|
|
11
|
+
- name: materialCode
|
|
12
|
+
label: 物料编码
|
|
13
|
+
type: string
|
|
14
|
+
required: true
|
|
15
|
+
unique: true
|
|
16
|
+
- name: materialName
|
|
17
|
+
label: 物料名称
|
|
18
|
+
type: string
|
|
19
|
+
required: true
|
|
20
|
+
- name: materialType
|
|
21
|
+
label: 物料类型
|
|
22
|
+
type: enum
|
|
23
|
+
options:
|
|
24
|
+
- ROH
|
|
25
|
+
- HALB
|
|
26
|
+
- FERT
|
|
27
|
+
- HIBE
|
|
28
|
+
- NLAG
|
|
29
|
+
default: FERT
|
|
30
|
+
- name: materialGroup
|
|
31
|
+
label: 物料组
|
|
32
|
+
type: string
|
|
33
|
+
- name: baseUnit
|
|
34
|
+
label: 基本计量单位
|
|
35
|
+
type: string
|
|
36
|
+
- name: status
|
|
37
|
+
label: 状态
|
|
38
|
+
type: enum
|
|
39
|
+
options:
|
|
40
|
+
- draft
|
|
41
|
+
- active
|
|
42
|
+
- inactive
|
|
43
|
+
- blocked
|
|
44
|
+
default: draft
|
|
45
|
+
app:
|
|
46
|
+
actions:
|
|
47
|
+
- create
|
|
48
|
+
- update
|
|
49
|
+
- list
|
|
50
|
+
- detail
|
|
51
|
+
defaultStatus: draft
|
|
52
|
+
ui:
|
|
53
|
+
list:
|
|
54
|
+
columns:
|
|
55
|
+
- materialCode
|
|
56
|
+
- materialName
|
|
57
|
+
- materialType
|
|
58
|
+
- materialGroup
|
|
59
|
+
- status
|
|
60
|
+
- createdAt
|
|
61
|
+
filters:
|
|
62
|
+
- materialCode
|
|
63
|
+
- materialName
|
|
64
|
+
- materialType
|
|
65
|
+
- materialGroup
|
|
66
|
+
- status
|
|
67
|
+
form:
|
|
68
|
+
groups:
|
|
69
|
+
- title: 基本信息
|
|
70
|
+
fields:
|
|
71
|
+
- materialCode
|
|
72
|
+
- materialName
|
|
73
|
+
- materialType
|
|
74
|
+
- materialGroup
|
|
75
|
+
- baseUnit
|
|
76
|
+
- status
|
|
77
|
+
detail:
|
|
78
|
+
sections:
|
|
79
|
+
- basicInfo
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: erp
|
|
3
|
+
object: material
|
|
4
|
+
label: 物料
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
7
|
+
data:
|
|
8
|
+
table: erp_material
|
|
9
|
+
fields:
|
|
10
|
+
- name: materialCode
|
|
11
|
+
label: 物料编码
|
|
12
|
+
type: string
|
|
13
|
+
required: true
|
|
14
|
+
unique: true
|
|
15
|
+
- name: materialName
|
|
16
|
+
label: 物料名称
|
|
17
|
+
type: string
|
|
18
|
+
required: true
|
|
19
|
+
- name: materialType
|
|
20
|
+
label: 物料类型
|
|
21
|
+
type: enum
|
|
22
|
+
options:
|
|
23
|
+
- ROH
|
|
24
|
+
- HALB
|
|
25
|
+
- FERT
|
|
26
|
+
- HIBE
|
|
27
|
+
- NLAG
|
|
28
|
+
default: FERT
|
|
29
|
+
- name: materialGroup
|
|
30
|
+
label: 物料组
|
|
31
|
+
type: string
|
|
32
|
+
- name: baseUnit
|
|
33
|
+
label: 基本计量单位
|
|
34
|
+
type: string
|
|
35
|
+
- name: status
|
|
36
|
+
label: 状态
|
|
37
|
+
type: enum
|
|
38
|
+
options:
|
|
39
|
+
- draft
|
|
40
|
+
- active
|
|
41
|
+
- inactive
|
|
42
|
+
- blocked
|
|
43
|
+
default: draft
|
|
44
|
+
app:
|
|
45
|
+
actions:
|
|
46
|
+
- create
|
|
47
|
+
- update
|
|
48
|
+
- list
|
|
49
|
+
- detail
|
|
50
|
+
defaultStatus: draft
|
|
51
|
+
ui:
|
|
52
|
+
list:
|
|
53
|
+
columns:
|
|
54
|
+
- materialCode
|
|
55
|
+
- materialName
|
|
56
|
+
- materialType
|
|
57
|
+
- materialGroup
|
|
58
|
+
- status
|
|
59
|
+
- createdAt
|
|
60
|
+
filters:
|
|
61
|
+
- materialCode
|
|
62
|
+
- materialName
|
|
63
|
+
- materialType
|
|
64
|
+
- materialGroup
|
|
65
|
+
- status
|
|
66
|
+
form:
|
|
67
|
+
groups:
|
|
68
|
+
- title: 基本信息
|
|
69
|
+
fields:
|
|
70
|
+
- materialCode
|
|
71
|
+
- materialName
|
|
72
|
+
- materialType
|
|
73
|
+
- materialGroup
|
|
74
|
+
- baseUnit
|
|
75
|
+
- status
|
|
76
|
+
detail:
|
|
77
|
+
sections:
|
|
78
|
+
- basicInfo
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
domain: hr
|
|
3
|
+
object: orgUnit
|
|
4
|
+
label: 组织单元
|
|
5
|
+
pattern: treeEntity
|
|
6
|
+
version: 0.1.0
|
|
7
|
+
description: 由 requirement:analyze 从自然语言需求推导出的候选业务模型。
|
|
8
|
+
data:
|
|
9
|
+
table: hr_org_unit
|
|
10
|
+
fields:
|
|
11
|
+
- name: categoryCode
|
|
12
|
+
label: 节点编码
|
|
13
|
+
type: string
|
|
14
|
+
required: true
|
|
15
|
+
unique: true
|
|
16
|
+
- name: categoryName
|
|
17
|
+
label: 节点名称
|
|
18
|
+
type: string
|
|
19
|
+
required: true
|
|
20
|
+
- name: parentId
|
|
21
|
+
label: 父节点ID
|
|
22
|
+
type: integer
|
|
23
|
+
- name: parentName
|
|
24
|
+
label: 父节点名称
|
|
25
|
+
type: string
|
|
26
|
+
- name: sortOrder
|
|
27
|
+
label: 排序号
|
|
28
|
+
type: integer
|
|
29
|
+
- name: status
|
|
30
|
+
label: 状态
|
|
31
|
+
type: enum
|
|
32
|
+
options:
|
|
33
|
+
- draft
|
|
34
|
+
- active
|
|
35
|
+
- inactive
|
|
36
|
+
- blocked
|
|
37
|
+
default: draft
|
|
38
|
+
app:
|
|
39
|
+
actions:
|
|
40
|
+
- create
|
|
41
|
+
- update
|
|
42
|
+
- list
|
|
43
|
+
- detail
|
|
44
|
+
defaultStatus: draft
|
|
45
|
+
responseContract:
|
|
46
|
+
envelope: standard
|
|
47
|
+
listSchema: pagedList
|
|
48
|
+
detailSchema: object
|
|
49
|
+
mutationSchema: object
|
|
50
|
+
permissionProfile:
|
|
51
|
+
mode: inherit
|
|
52
|
+
resourceScope: object
|
|
53
|
+
actionPolicies:
|
|
54
|
+
- action: create
|
|
55
|
+
permission: create
|
|
56
|
+
- action: update
|
|
57
|
+
permission: update
|
|
58
|
+
- action: list
|
|
59
|
+
permission: list
|
|
60
|
+
- action: detail
|
|
61
|
+
permission: detail
|
|
62
|
+
validationRules:
|
|
63
|
+
- name: uniqueCode
|
|
64
|
+
scope: service
|
|
65
|
+
rule: unique
|
|
66
|
+
message: 编码必须唯一
|
|
67
|
+
errorCodes:
|
|
68
|
+
- code: VALIDATION_FAILED
|
|
69
|
+
message: 输入校验失败
|
|
70
|
+
- code: RECORD_NOT_FOUND
|
|
71
|
+
message: 记录不存在
|
|
72
|
+
- code: DUPLICATE_KEY
|
|
73
|
+
message: 唯一键冲突
|
|
74
|
+
ui:
|
|
75
|
+
list:
|
|
76
|
+
columns:
|
|
77
|
+
- categoryCode
|
|
78
|
+
- categoryName
|
|
79
|
+
- parentName
|
|
80
|
+
- sortOrder
|
|
81
|
+
- status
|
|
82
|
+
- createdAt
|
|
83
|
+
filters:
|
|
84
|
+
- categoryCode
|
|
85
|
+
- categoryName
|
|
86
|
+
- parentName
|
|
87
|
+
- status
|
|
88
|
+
form:
|
|
89
|
+
groups:
|
|
90
|
+
- title: 基本信息
|
|
91
|
+
fields:
|
|
92
|
+
- categoryCode
|
|
93
|
+
- categoryName
|
|
94
|
+
- parentId
|
|
95
|
+
- parentName
|
|
96
|
+
- sortOrder
|
|
97
|
+
- status
|
|
98
|
+
detail:
|
|
99
|
+
sections:
|
|
100
|
+
- basicInfo
|