weaver-e10-builder 1.5.9 → 1.5.10
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/dist/commands/form-list-permission.d.ts.map +1 -1
- package/dist/commands/form-list-permission.js +2 -9
- package/dist/commands/form-list-permission.js.map +1 -1
- package/dist/commands/form-permission.d.ts.map +1 -1
- package/dist/commands/form-permission.js +378 -0
- package/dist/commands/form-permission.js.map +1 -1
- package/dist/commands/menu.d.ts +2 -2
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +46 -13
- package/dist/commands/menu.js.map +1 -1
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
- package/dist/services/actionflow/calendar_mapper.js +15 -10
- package/dist/services/actionflow/calendar_mapper.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.js +9 -7
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
- package/dist/services/actionflow/components/index.d.ts.map +1 -1
- package/dist/services/actionflow/components/index.js +2 -1
- package/dist/services/actionflow/components/index.js.map +1 -1
- package/dist/services/actionflow/components/inner_mq_listener.d.ts +6 -0
- package/dist/services/actionflow/components/inner_mq_listener.d.ts.map +1 -1
- package/dist/services/actionflow/components/inner_mq_listener.js +50 -2
- package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
- package/dist/services/actionflow/components/meeting_create.js +1 -1
- package/dist/services/actionflow/components/meeting_create.js.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.js +20 -19
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +3 -10
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/components/schedule_create.js +2 -2
- package/dist/services/actionflow/components/schedule_create.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +33 -16
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +47 -10
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.d.ts.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.js +1 -0
- package/dist/services/actionflow/custom_trigger_context.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +14 -9
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/machine_key.d.ts +13 -0
- package/dist/services/actionflow/machine_key.d.ts.map +1 -0
- package/dist/services/actionflow/machine_key.js +62 -0
- package/dist/services/actionflow/machine_key.js.map +1 -0
- package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
- package/dist/services/actionflow/param_group_dto.js +14 -5
- package/dist/services/actionflow/param_group_dto.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +9 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/form-permission-archive.d.ts +113 -0
- package/dist/services/form-permission-archive.d.ts.map +1 -0
- package/dist/services/form-permission-archive.js +359 -0
- package/dist/services/form-permission-archive.js.map +1 -0
- package/dist/services/menu-catalog.d.ts +13 -0
- package/dist/services/menu-catalog.d.ts.map +1 -1
- package/dist/services/menu-catalog.js +24 -0
- package/dist/services/menu-catalog.js.map +1 -1
- package/package.json +1 -1
- package/skill-docs/SKILL.md +5 -5
- package/skill-docs/_catalog.md +2 -1
- package/skill-docs/actionflows/SKILL.md +1 -0
- package/skill-docs/actionflows/references/components/logic/Output.md +1 -1
- package/skill-docs/actionflows/references/dynamic_capability_matrix.md +3 -3
- package/skill-docs/references/common/ref-cli-commands.md +5 -3
- package/skill-docs/references/form/guide-form-archive-permission.md +122 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 流程归档权限(`form permission archive`)。
|
|
3
|
+
*
|
|
4
|
+
* 与共享权限同一族端点,靠 body 区分:
|
|
5
|
+
* 读 GET form/permission/getRightList?objId&apid&belongId&tpaid&type=workflowRight&workflowId
|
|
6
|
+
* → data.rightList.workflowRightList(同级另有 layoutMap = 流程 id→流程名、existConflictConfigMap)
|
|
7
|
+
* 写 POST form/permission/addRight?objId&apid&tpaid body 为数组,每行 belong="workflow"
|
|
8
|
+
* 删 POST form/permission/deleteRight?objId&apid body { rightIds }
|
|
9
|
+
* 归档卡片 GET flow/archive/getArchivedCard?apid&workflowId → 0/1
|
|
10
|
+
* POST flow/archive/updateArchivedCard?apid body { workflowId, archivedCard, sourceType:"BACK" }
|
|
11
|
+
*
|
|
12
|
+
* 四类授权对象(由 codeType + orgType 区分):
|
|
13
|
+
* 通用对象 codeType=obj_data_admin orgType=<主体类型,如 employee>
|
|
14
|
+
* 创建人相关 codeType=obj_data_creator orgType=creatorRelated
|
|
15
|
+
* 字段相关 codeType=obj_data orgType=field_<字段类型> orgId=字段 id
|
|
16
|
+
* 矩阵相关 codeType=ebuilder_form orgType 同名 orgId=矩阵/EB 表单 id
|
|
17
|
+
*
|
|
18
|
+
* 归档权限码 rightType:5=归档查看 6=归档编辑 7=归档删除;
|
|
19
|
+
* 归档附件 fileRight:501=查看 502=下载 503=编辑(与共享权限的 401/402/403 不是一套)。
|
|
20
|
+
* 回读优先用平台返回的 `rightTypeKeys`(`data_archived_*`)解码 —— 它才是权威码表,
|
|
21
|
+
* 编号只是它在报文里的投影。
|
|
22
|
+
*/
|
|
23
|
+
export const ARCHIVE_TARGETS = {
|
|
24
|
+
general: '通用对象',
|
|
25
|
+
creator: '创建人相关',
|
|
26
|
+
field: '字段相关',
|
|
27
|
+
matrix: '矩阵相关',
|
|
28
|
+
};
|
|
29
|
+
export const ARCHIVE_TARGET_ALIASES = {
|
|
30
|
+
general: 'general', 通用: 'general', 通用对象: 'general',
|
|
31
|
+
creator: 'creator', 创建人: 'creator', 创建人相关: 'creator',
|
|
32
|
+
field: 'field', 字段: 'field', 字段相关: 'field',
|
|
33
|
+
matrix: 'matrix', 矩阵: 'matrix', 矩阵相关: 'matrix', ebuilder: 'matrix', ebuilder_form: 'matrix',
|
|
34
|
+
};
|
|
35
|
+
// ── 权限码 ────────────────────────────────────────────────
|
|
36
|
+
export const ARCHIVE_RIGHT_LABELS = {
|
|
37
|
+
'5': '归档查看',
|
|
38
|
+
'6': '归档编辑',
|
|
39
|
+
'7': '归档删除',
|
|
40
|
+
};
|
|
41
|
+
const ARCHIVE_RIGHT_ALIASES = {
|
|
42
|
+
'5': '5', view: '5', read: '5', data_archived_read: '5',
|
|
43
|
+
'6': '6', edit: '6', update: '6', data_archived_update: '6',
|
|
44
|
+
'7': '7', delete: '7', remove: '7', data_archived_delete: '7',
|
|
45
|
+
};
|
|
46
|
+
export const ARCHIVE_FILE_RIGHT_LABELS = {
|
|
47
|
+
'501': '归档附件查看',
|
|
48
|
+
'502': '归档附件下载',
|
|
49
|
+
'503': '归档附件编辑',
|
|
50
|
+
};
|
|
51
|
+
const ARCHIVE_FILE_RIGHT_ALIASES = {
|
|
52
|
+
'501': '501', view: '501', read: '501', data_archived_file_read: '501',
|
|
53
|
+
'502': '502', download: '502', data_archived_file_download: '502',
|
|
54
|
+
'503': '503', edit: '503', data_archived_file_edit: '503', data_archived_file_update: '503',
|
|
55
|
+
};
|
|
56
|
+
/** rightTypeKeys 里的 key → 归档权限码(平台回读时优先用它解码) */
|
|
57
|
+
const RIGHT_KEY_TO_CODE = {
|
|
58
|
+
data_archived_read: '5',
|
|
59
|
+
data_archived_update: '6',
|
|
60
|
+
data_archived_delete: '7',
|
|
61
|
+
};
|
|
62
|
+
function parseCodes(values, aliases, label) {
|
|
63
|
+
const tokens = values.flatMap((value) => String(value).split(',')).map((v) => v.trim().toLowerCase()).filter(Boolean);
|
|
64
|
+
const invalid = tokens.filter((v) => !aliases[v]);
|
|
65
|
+
if (invalid.length)
|
|
66
|
+
throw new Error(`${label}不支持: ${invalid.join(', ')}`);
|
|
67
|
+
return [...new Set(tokens.map((v) => aliases[v]))].sort((a, b) => Number(a) - Number(b)).join(',');
|
|
68
|
+
}
|
|
69
|
+
/** `--rights view,edit` / `5,6` → `"5,6"` */
|
|
70
|
+
export function parseArchiveRights(values) {
|
|
71
|
+
return parseCodes(values, ARCHIVE_RIGHT_ALIASES, '归档权限');
|
|
72
|
+
}
|
|
73
|
+
/** `--file-rights view,download` / `501,502` → `"501,502"` */
|
|
74
|
+
export function parseArchiveFileRights(values) {
|
|
75
|
+
return parseCodes(values, ARCHIVE_FILE_RIGHT_ALIASES, '归档附件权限');
|
|
76
|
+
}
|
|
77
|
+
export function archiveRightLabels(rightType) {
|
|
78
|
+
const codes = String(rightType ?? '').split(',').map((v) => v.trim()).filter(Boolean);
|
|
79
|
+
if (!codes.length)
|
|
80
|
+
return '';
|
|
81
|
+
return codes.map((code) => ARCHIVE_RIGHT_LABELS[code] || code).join('、');
|
|
82
|
+
}
|
|
83
|
+
// ── 授权主体类型 ──────────────────────────────────────────
|
|
84
|
+
/** 通用对象的主体类型(orgType → 平台回显名) */
|
|
85
|
+
export const ARCHIVE_ORG_TYPES = {
|
|
86
|
+
all: '所有人',
|
|
87
|
+
employee: '人员',
|
|
88
|
+
department: '部门',
|
|
89
|
+
company: '分部',
|
|
90
|
+
role: '角色',
|
|
91
|
+
group: '群组',
|
|
92
|
+
post: '岗位',
|
|
93
|
+
partTime: '兼职岗位',
|
|
94
|
+
grade: '职级',
|
|
95
|
+
external: '外部联系人',
|
|
96
|
+
externalAll: '所有外部联系人',
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* 「字段相关」:字段组件类型 → orgType(+ 平台回显的 orgTypeName)。
|
|
100
|
+
*
|
|
101
|
+
* ⚠ 只收录**能对上名字**的组件类型。字段相关的 orgType 是 `field_<类型>`,
|
|
102
|
+
* 但组件类型名与后缀不是一一对应(`SubCompany` → `field_company`),猜错会静默授错对象,
|
|
103
|
+
* 所以宁缺勿滥:查不到就报错,让调用方用 `--org-type field_xxx` 显式指定。
|
|
104
|
+
*/
|
|
105
|
+
export const FIELD_ORG_TYPES = {
|
|
106
|
+
Employee: { orgType: 'field_employee', label: '人员字段' },
|
|
107
|
+
Department: { orgType: 'field_department', label: '部门字段' },
|
|
108
|
+
SubCompany: { orgType: 'field_company', label: '分部字段' },
|
|
109
|
+
Post: { orgType: 'field_post', label: '岗位字段' },
|
|
110
|
+
EBuilder: { orgType: 'field_ebuilder', label: '关联ebuilder字段' },
|
|
111
|
+
Ebuilder: { orgType: 'field_ebuilder', label: '关联ebuilder字段' },
|
|
112
|
+
};
|
|
113
|
+
/** 平台认可的字段相关 orgType 全集(供 --org-type 显式指定时校验) */
|
|
114
|
+
export const FIELD_ORG_TYPE_LABELS = {
|
|
115
|
+
field_employee: '人员字段',
|
|
116
|
+
field_department: '部门字段',
|
|
117
|
+
field_company: '分部字段',
|
|
118
|
+
field_post: '岗位字段',
|
|
119
|
+
field_employee_condition: '人员范围选择字段',
|
|
120
|
+
field_employee_share_condition: '人力资源条件字段',
|
|
121
|
+
field_ebuilder: '关联ebuilder字段',
|
|
122
|
+
field_employee_organization: '人员组织多选',
|
|
123
|
+
};
|
|
124
|
+
export function resolveFieldOrgType(componentKey, fieldName) {
|
|
125
|
+
const key = String(componentKey ?? '');
|
|
126
|
+
const hit = FIELD_ORG_TYPES[key];
|
|
127
|
+
if (hit)
|
|
128
|
+
return hit;
|
|
129
|
+
throw new Error(`字段「${fieldName}」的组件类型 ${key || '(未知)'} 未收录,无法推断字段相关的授权类型;`
|
|
130
|
+
+ `请用 --org-type 显式指定(可选: ${Object.keys(FIELD_ORG_TYPE_LABELS).join(' / ')})`);
|
|
131
|
+
}
|
|
132
|
+
/** 生成 `temp_` + 32 位 hex(矩阵值映射的客户端临时 id,对齐设计器报文) */
|
|
133
|
+
export function tempRelationId() {
|
|
134
|
+
const hex = '0123456789abcdef';
|
|
135
|
+
let s = '';
|
|
136
|
+
for (let i = 0; i < 32; i++)
|
|
137
|
+
s += hex[Math.floor(Math.random() * 16)];
|
|
138
|
+
return `temp_${s}`;
|
|
139
|
+
}
|
|
140
|
+
/** 取值字段 → matrixValueRelation 报文串(`type:SELF` = 按当前用户匹配) */
|
|
141
|
+
export function buildMatrixValueRelation(values) {
|
|
142
|
+
if (!values.length)
|
|
143
|
+
throw new Error('矩阵相关至少要有一个取值字段');
|
|
144
|
+
return JSON.stringify(values.map((v) => ({
|
|
145
|
+
id: tempRelationId(),
|
|
146
|
+
valueId: String(v.valueId),
|
|
147
|
+
type: 'SELF',
|
|
148
|
+
valueName: v.valueName,
|
|
149
|
+
valueType: v.valueType,
|
|
150
|
+
})));
|
|
151
|
+
}
|
|
152
|
+
/** 从 `matrix2/config` 的 valueConfigList 取矩阵自己的值字段 */
|
|
153
|
+
export function matrixValueFields(matrixConfig) {
|
|
154
|
+
const list = matrixConfig?.valueConfigList ?? matrixConfig?.valueList;
|
|
155
|
+
if (!Array.isArray(list))
|
|
156
|
+
return [];
|
|
157
|
+
return list.map((v) => ({ valueId: String(v.id ?? ''), valueName: String(v.name ?? ''), valueType: String(v.type ?? '') }));
|
|
158
|
+
}
|
|
159
|
+
/** 构造 addRight 的一行。键集合按各类别的实际报文逐字对齐。 */
|
|
160
|
+
export function buildArchiveRow(input) {
|
|
161
|
+
const base = {
|
|
162
|
+
belong: 'workflow',
|
|
163
|
+
belongId: input.objId,
|
|
164
|
+
rightType: input.rightType,
|
|
165
|
+
layoutOrder: 0,
|
|
166
|
+
fileRightType: 'temporary',
|
|
167
|
+
...(input.fileRight ? { fileRight: input.fileRight } : {}),
|
|
168
|
+
isPcMobileSameLayout: '0',
|
|
169
|
+
refId: input.workflowId,
|
|
170
|
+
};
|
|
171
|
+
switch (input.target) {
|
|
172
|
+
case 'general':
|
|
173
|
+
return {
|
|
174
|
+
...base,
|
|
175
|
+
codeType: 'obj_data_admin',
|
|
176
|
+
orgType: input.orgType,
|
|
177
|
+
orgId: input.orgId ?? '',
|
|
178
|
+
orgName: input.orgName ?? '',
|
|
179
|
+
orgTypeName: input.orgTypeName ?? '',
|
|
180
|
+
creatorRelated: input.creatorRelated ?? '0',
|
|
181
|
+
orgVirtualType: '',
|
|
182
|
+
excludeObj: '',
|
|
183
|
+
exportDetails: 0,
|
|
184
|
+
conditionData: '',
|
|
185
|
+
};
|
|
186
|
+
case 'creator':
|
|
187
|
+
return {
|
|
188
|
+
...base,
|
|
189
|
+
codeType: 'obj_data_creator',
|
|
190
|
+
orgType: 'creatorRelated',
|
|
191
|
+
creatorRelated: input.creatorRelated ?? '0',
|
|
192
|
+
containExtra: '',
|
|
193
|
+
excludeObj: '',
|
|
194
|
+
conditionData: '',
|
|
195
|
+
exportDetails: 0,
|
|
196
|
+
};
|
|
197
|
+
case 'field':
|
|
198
|
+
return {
|
|
199
|
+
...base,
|
|
200
|
+
codeType: 'obj_data',
|
|
201
|
+
orgType: input.orgType,
|
|
202
|
+
orgId: input.orgId ?? '',
|
|
203
|
+
creatorRelated: input.creatorRelated ?? '0',
|
|
204
|
+
containExtra: input.containExtra ?? '',
|
|
205
|
+
excludeObj: '',
|
|
206
|
+
conditionData: '',
|
|
207
|
+
exportDetails: 0,
|
|
208
|
+
};
|
|
209
|
+
case 'matrix':
|
|
210
|
+
return {
|
|
211
|
+
...base,
|
|
212
|
+
codeType: input.orgType === 'matrix' ? 'matrix' : 'ebuilder_form',
|
|
213
|
+
orgType: input.orgType,
|
|
214
|
+
orgId: input.orgId ?? '',
|
|
215
|
+
orgName: input.orgName ?? '',
|
|
216
|
+
matrixValueRelation: input.matrixValueRelation ?? '',
|
|
217
|
+
matrixConditionData: input.matrixConditionData ?? '',
|
|
218
|
+
excludeObj: '',
|
|
219
|
+
conditionData: '',
|
|
220
|
+
exportDetails: 0,
|
|
221
|
+
};
|
|
222
|
+
default:
|
|
223
|
+
throw new Error(`未知的流程归档权限类别: ${input.target}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export function archiveTargetOf(row) {
|
|
227
|
+
const codeType = String(row?.codeType ?? '');
|
|
228
|
+
if (codeType === 'obj_data_creator')
|
|
229
|
+
return 'creator';
|
|
230
|
+
if (codeType === 'obj_data')
|
|
231
|
+
return 'field';
|
|
232
|
+
if (codeType === 'obj_data_admin')
|
|
233
|
+
return 'general';
|
|
234
|
+
if (codeType === 'matrix' || codeType === 'ebuilder_form')
|
|
235
|
+
return 'matrix';
|
|
236
|
+
// codeType 缺失时退回按 orgType 判(部分回读只给 orgType)
|
|
237
|
+
const orgType = String(row?.orgType ?? '');
|
|
238
|
+
if (orgType === 'creatorRelated')
|
|
239
|
+
return 'creator';
|
|
240
|
+
if (orgType.startsWith('field_'))
|
|
241
|
+
return 'field';
|
|
242
|
+
if (orgType === 'matrix' || orgType === 'ebuilder_form')
|
|
243
|
+
return 'matrix';
|
|
244
|
+
return 'general';
|
|
245
|
+
}
|
|
246
|
+
/** 回读优先用 rightTypeKeys(权威),没有才退回编号表 */
|
|
247
|
+
export function archiveRightLabelsOf(row) {
|
|
248
|
+
const keys = Array.isArray(row?.rightTypeKeys) ? row.rightTypeKeys : [];
|
|
249
|
+
const codes = keys.map((k) => RIGHT_KEY_TO_CODE[String(k)]).filter(Boolean);
|
|
250
|
+
if (codes.length)
|
|
251
|
+
return archiveRightLabels(codes.join(','));
|
|
252
|
+
return archiveRightLabels(row?.rightType);
|
|
253
|
+
}
|
|
254
|
+
export function normalizeArchiveRow(row) {
|
|
255
|
+
return {
|
|
256
|
+
id: String(row?.id ?? ''),
|
|
257
|
+
target: archiveTargetOf(row),
|
|
258
|
+
orgType: String(row?.orgType ?? ''),
|
|
259
|
+
orgName: String(row?.orgName ?? ''),
|
|
260
|
+
orgTypeName: String(row?.orgTypeName ?? ''),
|
|
261
|
+
rightType: String(row?.rightType ?? ''),
|
|
262
|
+
rightLabels: archiveRightLabelsOf(row),
|
|
263
|
+
fileRight: String(row?.fileRight ?? ''),
|
|
264
|
+
creatorRelated: String(row?.creatorRelated ?? ''),
|
|
265
|
+
matrixValueRelation: String(row?.matrixValueRelation ?? ''),
|
|
266
|
+
needsRebuild: Number(row?.isShowRebuild) === 2,
|
|
267
|
+
raw: row,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
function codes(value) {
|
|
271
|
+
return String(value ?? '').split(',').map((v) => v.trim()).filter(Boolean).sort();
|
|
272
|
+
}
|
|
273
|
+
function sameCodeSet(a, b) {
|
|
274
|
+
const x = codes(a);
|
|
275
|
+
const y = codes(b);
|
|
276
|
+
return x.length === y.length && x.every((v, i) => v === y[i]);
|
|
277
|
+
}
|
|
278
|
+
/** 键序无关的规范化:对象键排序,**数组顺序保留**(取值字段的先后是有意义的) */
|
|
279
|
+
function canonical(value) {
|
|
280
|
+
if (Array.isArray(value))
|
|
281
|
+
return value.map(canonical);
|
|
282
|
+
if (value && typeof value === 'object') {
|
|
283
|
+
return Object.fromEntries(Object.keys(value).sort().map((k) => [k, canonical(value[k])]));
|
|
284
|
+
}
|
|
285
|
+
return value;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* 取值字段映射的语义比较:
|
|
289
|
+
* `id` 是客户端生成的临时 id(无业务含义)→ 忽略;对象键序无关;
|
|
290
|
+
* **数组顺序保留**(取值字段的先后是有意义的)。
|
|
291
|
+
*/
|
|
292
|
+
function sameRelation(a, b) {
|
|
293
|
+
const norm = (v) => {
|
|
294
|
+
if (v === undefined || v === null || v === '')
|
|
295
|
+
return '';
|
|
296
|
+
let parsed = v;
|
|
297
|
+
if (typeof v === 'string') {
|
|
298
|
+
try {
|
|
299
|
+
parsed = JSON.parse(v);
|
|
300
|
+
}
|
|
301
|
+
catch {
|
|
302
|
+
return v;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
const shaped = (Array.isArray(parsed) ? parsed : [parsed]).map((item) => {
|
|
306
|
+
const { id: _tempId, ...rest } = item && typeof item === 'object' ? item : { value: item };
|
|
307
|
+
return canonical(rest);
|
|
308
|
+
});
|
|
309
|
+
return JSON.stringify(shaped);
|
|
310
|
+
};
|
|
311
|
+
return norm(a) === norm(b);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* 保存后逐键核对回读值。`orgTypeName` 只有在我们有权威预期标签时才硬校验
|
|
315
|
+
* (平台把标签写错 = 我们授错了对象,必须报错而不是静默放过)。
|
|
316
|
+
*/
|
|
317
|
+
export function verifyArchiveRow(saved, expected) {
|
|
318
|
+
const row = expected.row;
|
|
319
|
+
const mismatch = [];
|
|
320
|
+
const cmp = (label, got, want) => {
|
|
321
|
+
if (String(got ?? '') !== String(want ?? ''))
|
|
322
|
+
mismatch.push(`${label}: 期望 ${want},回读 ${got}`);
|
|
323
|
+
};
|
|
324
|
+
cmp('codeType', saved?.codeType, row.codeType);
|
|
325
|
+
cmp('orgType', saved?.orgType, row.orgType);
|
|
326
|
+
if (!sameCodeSet(saved?.rightType, row.rightType))
|
|
327
|
+
mismatch.push(`rightType: 期望 ${row.rightType},回读 ${saved?.rightType}`);
|
|
328
|
+
if (row.fileRight !== undefined && !sameCodeSet(saved?.fileRight, row.fileRight)) {
|
|
329
|
+
mismatch.push(`fileRight: 期望 ${row.fileRight},回读 ${saved?.fileRight}`);
|
|
330
|
+
}
|
|
331
|
+
if (row.creatorRelated !== undefined)
|
|
332
|
+
cmp('creatorRelated', saved?.creatorRelated, row.creatorRelated);
|
|
333
|
+
if (row.orgId !== undefined && row.orgType !== 'all')
|
|
334
|
+
cmp('orgId', saved?.orgId, row.orgId);
|
|
335
|
+
if (row.matrixValueRelation !== undefined && !sameRelation(saved?.matrixValueRelation, row.matrixValueRelation)) {
|
|
336
|
+
mismatch.push('matrixValueRelation 回读不一致');
|
|
337
|
+
}
|
|
338
|
+
if (expected.orgTypeLabel) {
|
|
339
|
+
const got = String(saved?.orgTypeName ?? '');
|
|
340
|
+
if (got !== expected.orgTypeLabel) {
|
|
341
|
+
mismatch.push(`orgTypeName: 期望 ${expected.orgTypeLabel},回读 ${got || '(空)'}`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (mismatch.length)
|
|
345
|
+
throw new Error(`流程归档权限保存后回读不一致 —— ${mismatch.join(';')}`);
|
|
346
|
+
}
|
|
347
|
+
/** 幂等去重键:同一授权对象 + 同一权限组合视为同一条 */
|
|
348
|
+
export function archiveRowKey(row) {
|
|
349
|
+
return [
|
|
350
|
+
row.codeType, row.orgType, row.orgId ?? '', row.creatorRelated ?? '',
|
|
351
|
+
codes(row.rightType).join('|'), codes(row.fileRight).join('|'),
|
|
352
|
+
row.matrixValueRelation ? String(row.matrixValueRelation) : '',
|
|
353
|
+
].join('');
|
|
354
|
+
}
|
|
355
|
+
/** 该行是否需要权限重构(字段相关这类计算型授权平台会置 2) */
|
|
356
|
+
export function needsRebuild(row) {
|
|
357
|
+
return Number(row?.isShowRebuild) === 2;
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=form-permission-archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-permission-archive.js","sourceRoot":"","sources":["../../src/services/form-permission-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,19 @@ export declare function pickMenuBucket(data: any): {
|
|
|
53
53
|
* (真实数据里同一个应用存在两条「合同门户页面」—— 调用方必须据此报歧义,不能擅自挑一条)。
|
|
54
54
|
*/
|
|
55
55
|
export declare function findMenus(nodes: MenuNode[], query: string): MenuNode[];
|
|
56
|
+
/**
|
|
57
|
+
* 从菜单树里定出**父菜单 id**(`--parent` 既收菜单 ID 也收名称)。
|
|
58
|
+
*
|
|
59
|
+
* 空串 / `0` = 顶级菜单。名称在同一应用内重复时**不取首条** —— 挂错父级事后很难发现,
|
|
60
|
+
* 这类歧义一律回可读的错误让调用方改用 ID。
|
|
61
|
+
*/
|
|
62
|
+
export declare function pickParentId(nodes: MenuNode[], spec: string): {
|
|
63
|
+
ok: true;
|
|
64
|
+
id: string;
|
|
65
|
+
} | {
|
|
66
|
+
ok: false;
|
|
67
|
+
msg: string;
|
|
68
|
+
};
|
|
56
69
|
/** 按名称模糊找候选(用于「找不到」时给提示)。 */
|
|
57
70
|
export declare function similarMenus(nodes: MenuNode[], query: string, limit?: number): MenuNode[];
|
|
58
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-catalog.d.ts","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,yFAOrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,8KAGlB,CAAC;AAEX,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAWtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAM,GAAG,QAAQ,EAAE,CAsBhF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAMnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAMtE;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,QAAQ,EAAE,CAOrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BzG;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAQzE;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAE1D;AAED,kBAAkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAErD"}
|
|
1
|
+
{"version":3,"file":"menu-catalog.d.ts","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,yFAOrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,8KAGlB,CAAC;AAEX,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAWtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAM,GAAG,QAAQ,EAAE,CAsBhF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAMnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAMtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAcnH;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,QAAQ,EAAE,CAOrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BzG;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAQzE;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAE1D;AAED,kBAAkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAErD"}
|
|
@@ -100,6 +100,30 @@ export function findMenus(nodes, query) {
|
|
|
100
100
|
return byId;
|
|
101
101
|
return nodes.filter((n) => n.name === q);
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* 从菜单树里定出**父菜单 id**(`--parent` 既收菜单 ID 也收名称)。
|
|
105
|
+
*
|
|
106
|
+
* 空串 / `0` = 顶级菜单。名称在同一应用内重复时**不取首条** —— 挂错父级事后很难发现,
|
|
107
|
+
* 这类歧义一律回可读的错误让调用方改用 ID。
|
|
108
|
+
*/
|
|
109
|
+
export function pickParentId(nodes, spec) {
|
|
110
|
+
const raw = String(spec ?? '').trim();
|
|
111
|
+
if (!raw || raw === '0')
|
|
112
|
+
return { ok: true, id: '0' };
|
|
113
|
+
const byId = nodes.filter((n) => n.id === raw);
|
|
114
|
+
if (byId.length)
|
|
115
|
+
return { ok: true, id: byId[0].id };
|
|
116
|
+
const byName = nodes.filter((n) => n.name === raw);
|
|
117
|
+
if (byName.length === 1)
|
|
118
|
+
return { ok: true, id: byName[0].id };
|
|
119
|
+
if (byName.length > 1) {
|
|
120
|
+
return {
|
|
121
|
+
ok: false,
|
|
122
|
+
msg: `父菜单名称「${raw}」在同一应用下有 ${byName.length} 条,无法确定,请改用菜单 ID: ${byName.map((n) => n.id).join(', ')}`,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return { ok: false, msg: `父菜单「${raw}」不存在(既不是菜单 ID,也不在菜单树里;顶级菜单写 --parent 0)` };
|
|
126
|
+
}
|
|
103
127
|
/** 按名称模糊找候选(用于「找不到」时给提示)。 */
|
|
104
128
|
export function similarMenus(nodes, query, limit = 10) {
|
|
105
129
|
const q = String(query ?? '').trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-catalog.js","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu-catalog.js","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill-docs/SKILL.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: weaver-e10-builder
|
|
3
3
|
display_name: 泛微E10智能搭建Skill
|
|
4
4
|
display_name_en: E10 Builder
|
|
5
|
-
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.5.
|
|
6
|
-
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.5.
|
|
7
|
-
description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.5.
|
|
5
|
+
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.5.10
|
|
6
|
+
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.5.10。
|
|
7
|
+
description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.5.10.
|
|
8
8
|
category: coding
|
|
9
|
-
version: 1.5.
|
|
9
|
+
version: 1.5.10
|
|
10
10
|
author: 泛微网络科技股份有限公司
|
|
11
11
|
auto: true
|
|
12
12
|
---
|
|
@@ -15,7 +15,7 @@ auto: true
|
|
|
15
15
|
|
|
16
16
|
## 安装与升级
|
|
17
17
|
|
|
18
|
-
本 skill 需与 CLI **版本匹配**(当前对应 CLI `1.5.
|
|
18
|
+
本 skill 需与 CLI **版本匹配**(当前对应 CLI `1.5.10`)。版本不一致时命令/文档/选项可能对不上——升级前先对齐:
|
|
19
19
|
|
|
20
20
|
```shell
|
|
21
21
|
e10-cli --version # 查 CLI 版本,应与上方 description 标注一致
|
package/skill-docs/_catalog.md
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
| 分类搜索、分类筛选、list-search-group、选项配置、日期粒度、选项排序 | `references/common/ref-cli-commands.md` |
|
|
26
26
|
| 表单消息提醒、数据变动提醒、form message、提醒对象、推送渠道、IM提醒 | `references/form/guide-form-message.md` |
|
|
27
27
|
| 表单数据读写、form data、写入数据、查询数据、删除数据 | `references/form/guide-form-data.md` |
|
|
28
|
+
| 流程归档权限、归档查看/编辑/删除、归档附件权限、form permission archive、创建人相关、字段相关、矩阵相关、归档卡片 | `references/form/guide-form-archive-permission.md` |
|
|
28
29
|
| 列表自定义文本列、富文本列、列里插入字段、form nlist、列表式视图 | `references/form/guide-list-custom-text.md` |
|
|
29
30
|
| 流程、审批、workflow、提交流程、flowpage、预填、URL传参、节点、操作者、审批人、连线 | `references/workflow/guide-workflow.md` |
|
|
30
31
|
| 流程绑的表、流程关联表单、workflow info、workflowId 查表单、formId 不是 objId | `references/common/ref-cli-commands.md`(`workflow info` 一行) |
|
|
@@ -55,7 +56,7 @@
|
|
|
55
56
|
| 应用发布、启用应用、停用应用、发布到前台、取消发布、应用发布信息、前台入口、应用名多语言、app enable/disable/publish/unpublish/publish-info、app lang | `references/app/guide-app-publish.md` |
|
|
56
57
|
| 完整实施方案、规划能力地图、资源依赖、需求映射、plan 前预检 | `references/common/map.md`,随后使用 `references/common/guide-plan-template.md` |
|
|
57
58
|
| 接口文档导入、Postman、系统接口、连接器接口、createSystemInterfaceByAi、接口批量创建 | `references/esb-interface/guide-import.md` |
|
|
58
|
-
| 系统菜单、内置菜单、挂系统页面到菜单、menuUrl、pageType、工作流菜单、独立页面菜单、菜单改名、menu rename
|
|
59
|
+
| 系统菜单、内置菜单、挂系统页面到菜单、menuUrl、pageType、工作流菜单、独立页面菜单、菜单改名、menu rename、重命名菜单、找不到菜单、二级菜单、子菜单、父菜单、菜单层级、menu add-table --parent、menu add-start --parent | `references/menu/system-menus.md` + `references/common/ref-cli-commands.md` |
|
|
59
60
|
| 编译、语法、报错、不支持、babel、打包、var、const、let、es2015、stage-2 | `references/coding/ref-compile-rules.md`(前端代码) |
|
|
60
61
|
|
|
61
62
|
## Components(组件文档)
|
|
@@ -49,6 +49,7 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
|
|
|
49
49
|
2. 只传 `component-describe` 声明的参数;固定值与动态值根据业务需求选择,不能为了动态而动态。
|
|
50
50
|
3. 语义 plan 的节点配置统一放在 `params`:`event.params`、`actions[*].params` 以及条件/循环内部节点的 `params`。`data` 仅属于平台回读/更新 DTO,不能出现在 `generate` 语义计划中;CLI 会在调用任何平台接口前拒绝该结构,并提示具体路径。
|
|
51
51
|
4. 中文 plan 写入当前工作区 `.actionflow-plans/`,以 `planFile` 传给 CLI;不在 Skill 目录写临时文件。CLI 不会自动删除 plan;确认 `valid=true`、`saved=true`、`readBackVerified=true` 后才允许手工清理。
|
|
52
|
+
4.1. 命名遵循“展示中文、机器字段 code 化”:动作流名称、节点显示名称、参数 `showName`/`label`、说明文字等面向用户的展示字段可以使用中文;`paramName`、`paramKey`、变量/常量引用名、请求编码、Topic/队列名、字段路径、公式引用键以及其他机器可读标识默认使用英文字母、数字和下划线,优先 lowerCamelCase 或 snake_case,不使用中文、空格或特殊字符。`type`、`kind`、`paramType`、枚举值等必须沿用组件契约中的 code;已从平台真实对象取得的 ID、名称、原生 DTO 字段和固定资源值不得擅自改写,只对 AI 新建的语义标识执行该规则。
|
|
52
53
|
5. 不把 `Output` 写入 `actions`。需要配置终止状态、提示或页面动作时使用顶层 `finalOutput.params`;提醒内容使用前端富文本组件对应的 `reminderContent`(`ContestSettingDTO`,动态片段放在 `formulaBeans`),不要使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。平台内部 FormulaBean 由 CLI 生成,只有组件契约明确要求前端原对象时才传原生 DTO。
|
|
53
54
|
5.1. 所有 CLI 生成或继续编译的 FormulaBean,只要包含 `frontId`,允许使用空串;非空时必须使用平台真实字段 ID 的纯数字字符串。`field_<数字>` 仅可在生成时规范化为 `<数字>`。禁止把字段名、paramKey 尾段、临时公式 ID 或其他包含字母/符号的值写入 `frontId`;非空值无法解析为纯数字时必须直接报错。
|
|
54
55
|
6. 定时组件优先使用平台原生频率:`rate=1` 一次、`2` 按小时、`3` 按日、`4` 按周、`5` 按月,并按需提供 `cycle`、`hour`、`day`、`week`、`atWeek`、`atWeekDetail` 或 `lastWeek`;只有明确选择 `rate=6` 时才传 `cornString`。图形化频率必须提供 `startTime`。
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## 不可猜测
|
|
12
12
|
|
|
13
|
-
不要把 `Output` 写入 `actions`。提醒内容必须使用前端富文本组件对应的 `ContestSettingDTO`,字段名是 `reminderContent`,不能再使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒配置,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。`basisValue`
|
|
13
|
+
不要把 `Output` 写入 `actions`。提醒内容必须使用前端富文本组件对应的 `ContestSettingDTO`,字段名是 `reminderContent`,不能再使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒配置,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。`basisValue` 与 `jumpUrl` 支持固定值、上下文、系统变量、变量、常量、查询结果和函数/公式;其中 `jumpUrl` 仅在 `pageAction=3` 时生效。`fixedData`、`customOutputData` 属于平台原生高级输出结构,必须使用真实回读结构,不能猜测。
|
|
14
14
|
|
|
15
15
|
`reminderContent` 支持两种输入:一是前端原生对象 `{id, content, formulaBeans, langSet}`;二是 CLI 语义模板 `{parts:[{type:"text",value:"..."},{type:"context",paramKey:"..."},{type:"system_variable",key:"{date}"},{type:"variable",id:"..."},{type:"constant",id:"..."}]}`。编译器会生成 Base64 内容和 `#{paramN}` 占位符,并将每个动态片段保存为 `formulaBeans[].value`。
|
|
16
16
|
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
| 消息模板 | `SendMessage.msgTitlev/msgContentv/picLink/msgPcLink/msgMobileLink` | 上下文、系统变量、变量、常量、函数/公式、查询结果 | 五个消息文本/链接字段统一保存为 `ContestSettingDTO`;正文占位符与独立绑定;接收人上下文仍保留为动态人员 FormulaBean |
|
|
16
16
|
| 消息接收人 | `SendMessage.receiver` | 当前用户、上游人员上下文、固定人员 | 动态人员使用真实上下文 `paramKey`,固定人员使用当前租户 Browser 对象 |
|
|
17
17
|
| 人员参数 | 表单数据动作、流程动作、文档动作、`HrmEmployeeUpdate`、`PersonnelOnboarding`、`AlterPersonStatus`、会议/日程中的人员属性 | 当前用户、上游人员上下文、动作流变量/常量/函数 | 不再强制走固定人员查询;动态引用保持人员 FormulaBean,固定人员仍要求真实 Browser 对象 |
|
|
18
|
-
| 会议和日程运行时字段 | `MeetingCreate`
|
|
18
|
+
| 会议和日程运行时字段 | `MeetingCreate` 的标题/密级/人员/关联标识,`ScheduleCreate` 的标题/时间/内容/其他地点/人员/日程类型/会议室 | 上下文、系统变量、变量、常量、函数/公式 | 后端 DTO 中的 FormulaBean 字段统一支持动态赋值;固定会议/日程资源仍保留 Browser 对象兼容 |
|
|
19
19
|
| 流程和文档运行时字段 | 流程实例 ID、标题、意见、公文正文 ID、关联数据 ID、时间、文档/附件 ID、布尔开关等 `formula_or_reference` 属性 | 固定值、上下文、系统变量、变量、常量、查询结果、函数/公式 | 统一经共享公式编译器生成 FormulaBean;固定流程定义、节点、目录 DTO 不在此列 |
|
|
20
|
-
| 循环参数 | `MultipleExecution.cycleTimes`、列表/明细来源 | 上下文、变量、常量、当前循环上下文 |
|
|
20
|
+
| 循环参数 | `MultipleExecution.cycleTimes`、`batchSizeData`、`pageCycleData`、列表/明细来源 | 上下文、变量、常量、当前循环上下文 | 后端 FormulaBean 字段统一支持动态赋值;固定批量大小继续校验 2-1000,分页标志继续校验布尔类型 |
|
|
21
21
|
| 条件右值 | `Condition` | 固定值、上下文、系统变量、变量、常量、函数 | 右值保留为公式树,不把动态字段名转成固定字符串 |
|
|
22
22
|
| 终止节点动态输出 | `finalOutput.params.reminderContent`、`basisValue` | 富文本 `ContestSettingDTO`;提醒内容支持文本、上下文、系统变量、变量、常量、查询结果、函数/公式 | 自动补充的 `Output` 节点保留高级设置,无需在 `actions` 中手写终止节点;旧 `reminderMsgFormula` 不再用于新生成 |
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
- 流程定义/流程节点/退回节点/干预节点:通常需要当前租户真实流程 Browser 对象或节点对象;只有 `requestId`、标题、意见等字段类属性按组件契约支持动态。
|
|
29
29
|
- 文档、目录、附件、共享权限、按钮、规则:固定对象需要当前租户真实 Browser/权限对象;如果组件说明或回读结构提供动态公式入口,必须单独实现该属性的编译器和回读校验。
|
|
30
|
-
- 会议、日程、HRM
|
|
30
|
+
- 会议、日程、HRM 选择器的结构化对象:固定值仍以各自前端 Browser 契约为准;只要后端字段声明为 `FormulaBean`,同时支持动态引用。`Output.jumpUrl` 的后端 DTO 是 `FormulaBean`,支持固定值和动态引用,且仅在 `pageAction=3` 时生效。
|
|
31
31
|
- 触发器配置、接口定义、连接器/资源/接口选择:这些是设计期平台资源,默认必须实时发现真实对象,不能把运行时上下文当成连接器或接口定义。
|
|
32
32
|
|
|
33
33
|
## 处理规则
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
| `e10-cli form delete <objId> <appId>` | 删除**整个表单**(不是字段;删字段用上面的 delete-field) |
|
|
77
77
|
| `e10-cli form permission data add <objId> <appId> --org-type <类型> [--org-id <id>] --rights <view/edit/delete...> [--file-rights <view/download...>]` | **表单数据权限**,`1/view=查看`、`2/edit=编辑`、`3/delete=删除`,可任意组合;附件 `401/view=查看`、`402/download=下载`。固定写入 `obj_data_admin` 并按新增权限 ID 回读。授权对象支持 all/role/department/company/employee/group/post;all 的 orgId 自动为 0 |
|
|
78
78
|
| `e10-cli form permission imp-exp <list\|add> <objId> <appId> ...` | **导入导出权限**(独立分类 `data_imp_exp`,⚠ 勿用 `data add` 加——共享权限只有 查看/编辑/删除 三种,导出/导入不在其中)。`list` 查看;`add --org-type <类型> [--org-id] --rights <export/import/delete-import...> [--update-import] [--export-details] [--export-attachment] [--export-field-range listShowField|all]`。`export=8`、`import=9`、`delete-import=93`(93 须与 import 同选,自动带更新导入);添加后按权限 ID 回读 `impRightList` 校验。删除同 `permission remove --right-id` |
|
|
79
|
+
| `e10-cli form permission archive <list\|add\|remove\|card> <objId> <appId> --workflow <workflowId>` | **流程归档权限**(归档后数据对谁可见/可改/可删,**按流程各一套**,与共享权限不同)。`add --target <general/creator/field/matrix>`:`general` 通用对象配 `--org-type`+`--org-id`;`creator` 创建人相关配 `--creator-related 0~7`;`field` 字段相关配 `--field <字段id或名>`(`--sub-form-id` 支持明细字段,未收录的字段类型需 `--org-type field_xxx` 显式指定);`matrix` 矩阵相关配 `--matrix`(真矩阵)或 `--eb-form`(e-Builder 表单)+ `--matrix-value`。权限码 `5/view` 归档查看、`6/edit` 归档编辑、`7/delete` 归档删除;归档附件另算 `501/view`、`502/download`、`503/edit`(**不是**共享权限的 401/402)。保存后按 ID 回读逐项核对;`card <workflowId> <appId> [--set 0\|1]` 读写归档卡片开关。详见 `form/guide-form-archive-permission.md` |
|
|
79
80
|
| `e10-cli form permission <list\|add\|remove\|rebuild> <objId> <appId>` | 权限通用管理及兼容入口。新建权限与数据权限分开;旧 `add --right-type` 保留兼容。`list` 查看全部分类;`remove --right-id <id[,id...]>` 删除一条或多条权限;添加后提示 `isShowRebuild=2` 时执行 `rebuild` |
|
|
80
81
|
| `e10-cli form list-view <objId> <appId>` | 查看台账/数据列表(获取 viewId 用于菜单配置) |
|
|
81
82
|
| `e10-cli form list-columns <objId> <appId> <listId> [--add <fieldId...>] [--remove <fieldId...>] [--set @columns.json] [--terminal pc/mobile] [--pc-only]` | 查看/批量设置台账显示列。增量追加、移除或整组指定顺序/列宽/格式;整组模式与增删互斥。支持主表和明细子字段,保留已有列未指定属性、事件及数据主键;一次保存并回读核对目标列和另一终端。详见 `references/form/guide-list-columns.md` |
|
|
@@ -360,9 +361,10 @@
|
|
|
360
361
|
|------|------|
|
|
361
362
|
| `e10-cli menu list <appId>` | 列出当前Ebuilder应用下的菜单。**递归展开嵌套菜单**(如「设置 → 个人设置 → 个人菜单设置」),列表即全量 —— 在这里没找到就是真没有,不必再怀疑被折叠 |
|
|
362
363
|
| `e10-cli menu rename <appId> <菜单ID或名称> <新名>` | 重命名已有菜单(含嵌套菜单)。名称在应用内重复时必须改用 ID,命令会列出候选让你选。平台系统菜单(回收站/设置等)不能改 |
|
|
363
|
-
| `e10-cli menu add <name> <path> <appId
|
|
364
|
-
| `e10-cli menu add-table <appId> <objId> [name]` | 给表单加**台账菜单**(VIEWPORT,指向数据列表页)。`form create --menu`
|
|
365
|
-
| `e10-cli menu add-start <appId> <formObjId> [name]` | 给流程绑定的表单加**发起菜单**(LAYOUT,指向表单新建页,点开触发流程)。`workflow create --menu`
|
|
364
|
+
| `e10-cli menu add <name> <path> <appId> [--parent <父菜单ID或名称>]` | 将页面加入左侧导航(LINK 类型,URL path)。ecode 页面 path 如 `/sp/custom/ecode/project-list`。**表单台账/流程发起菜单用下面两条专用命令**(VIEWPORT/LAYOUT 类型,非 URL)。`--parent` 挂到父菜单下做子菜单(缺省 `0`=顶级)。**建完会回读确认**并报出菜单 ID;回读不到就报错退出,不谎报成功 |
|
|
365
|
+
| `e10-cli menu add-table <appId> <objId> [name] [--parent <父菜单ID或名称>]` | 给表单加**台账菜单**(VIEWPORT,指向数据列表页)。`form create --menu` 才自动加(默认不加),此处用于事后补加。**`--parent` 挂到某个父菜单下做子菜单**(缺省 `0`=顶级;既收菜单 ID 也收名称,同名多条会报错并列 ID)。**建完回读确认**,并**核对层级** —— 只确认菜单存在不够,`pid` 没生效时菜单照样建出来、只是跑到顶级 |
|
|
366
|
+
| `e10-cli menu add-start <appId> <formObjId> [name] [--parent <父菜单ID或名称>]` | 给流程绑定的表单加**发起菜单**(LAYOUT,指向表单新建页,点开触发流程)。`workflow create --menu` 才自动加(默认不加)。`--parent` 同上(子菜单)。**建完回读确认**并核对层级 |
|
|
367
|
+
| ↳ 搭「父菜单 + 子菜单」 | 设计器里的二级菜单 = 先建父菜单(`menu add` 建 LINK,或已有菜单),再把台账/发起菜单用 `--parent <父菜单>` 挂上去。父菜单 ID 从 `menu list` 拿(输出就是完整菜单树) |
|
|
366
368
|
| `e10-cli menu permission list <appId> <menuId>` | 列菜单可见范围授权(**默认所有人**;无输出=全可见) |
|
|
367
369
|
| `e10-cli menu permission add <appId> <menuId> <目标> --type role\|dept\|user\|all` | 给菜单授权。默认语义:**加角色/人/部门后自动撤「所有人」→ 只有授权对象可见**;`--keep-all` 保留所有人;`--type all` 恢复"所有人可见" |
|
|
368
370
|
| `e10-cli menu permission remove <appId> <menuId> <目标> --type role\|dept\|user\|all` | 撤销菜单授权(撤销所有人用 `--type all`) |
|