weaver-e10-builder 1.6.9 → 1.6.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-data.d.ts.map +1 -1
- package/dist/commands/form-data.js +4 -1
- package/dist/commands/form-data.js.map +1 -1
- package/dist/services/action-detail.d.ts.map +1 -1
- package/dist/services/action-detail.js +1 -17
- package/dist/services/action-detail.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +6 -2
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +1 -1
- package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
- package/dist/services/actionflow/components/dml_execute.js +1 -1
- package/dist/services/actionflow/components/dml_execute.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +1 -2
- package/dist/services/actionflow/components/document_actions.js.map +1 -1
- package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -1
- package/dist/services/actionflow/components/eb_get_data_by_id.js +2 -2
- package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -1
- package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
- package/dist/services/actionflow/components/form_data_builder.js +18 -10
- package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
- package/dist/services/actionflow/components/hrm_actions.js +0 -1
- package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
- package/dist/services/actionflow/components/webhook_trigger.js +3 -3
- package/dist/services/actionflow/components/webhook_trigger.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +3 -2
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/filter_rules.d.ts.map +1 -1
- package/dist/services/actionflow/filter_rules.js +15 -13
- package/dist/services/actionflow/filter_rules.js.map +1 -1
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +59 -11
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +4 -1
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/option_field_types.d.ts +5 -0
- package/dist/services/actionflow/option_field_types.d.ts.map +1 -0
- package/dist/services/actionflow/option_field_types.js +20 -0
- package/dist/services/actionflow/option_field_types.js.map +1 -0
- package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
- package/dist/services/actionflow/param_group_dto.js +7 -3
- 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 +42 -18
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/webhook_source.d.ts.map +1 -1
- package/dist/services/actionflow/webhook_source.js +9 -4
- package/dist/services/actionflow/webhook_source.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +11 -8
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/package.json +1 -1
- package/skill-docs/SKILL.md +4 -4
- package/skill-docs/actionflows/SKILL.md +1 -0
- package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +2 -2
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +2 -0
- package/skill-docs/actionflows/references/components/trigger/WebHookTrigger.md +19 -1
- package/skill-docs/references/coding/guide-form-crud.md +2 -0
- package/skill-docs/references/coding/guide-page-code.md +13 -0
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.6.
|
|
6
|
-
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.6.
|
|
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.6.
|
|
5
|
+
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.6.10
|
|
6
|
+
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.6.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.6.10.
|
|
8
8
|
category: coding
|
|
9
|
-
version: 1.6.
|
|
9
|
+
version: 1.6.10
|
|
10
10
|
author: 泛微网络科技股份有限公司
|
|
11
11
|
auto: true
|
|
12
12
|
---
|
|
@@ -34,6 +34,7 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
|
|
|
34
34
|
- 流程:`e10-cli actionflow workflow-browser-list` / `workflow-search` / `workflow-nodes`。
|
|
35
35
|
- 流程动态字段:`e10-cli actionflow workflow-context-fields`。默认每页 20 条;按需求字段名先传 `query`(例如 `{"workflowId":"<id>","query":"数据ID"}`),只使用本次返回的 `fields[].paramKey`。完整响应过大时用 `--out context.json` 落盘,禁止依赖终端截断后的片段。
|
|
36
36
|
- 其他组件动态字段:`e10-cli actionflow component-context-fields '{"componentType":"<组件类型>","currentApplication":"<当前动作流ID;新建传0>","eventNodeId":"<上游节点ID>","params":{...},"query":"<字段名或关键词>"}'`。该命令会先解析数据源 Browser,再查询 `showDataSourceFields` 匹配实际可选输出字段,随后编译组件上下文并调用 `getComponentContext`。`EnquiryForm`、`TimeBatchTrigger`、`DateTrigger` 都适用。**必须在写入任何动态赋值前查询来源组件**;只允许从本次 `getComponentContext` 结果选择 `fields[].paramKey`,接口未返回的字段必须先查明该组件是否有受支持的依据值/循环语义,否则停止该映射,不得凭字段名、约定根节点或历史经验补造。
|
|
37
|
+
- 数据源名称通过 Browser 模糊搜索:只有一个候选时使用该候选;多个候选时展示名称、所属应用和 ID,让用户选择。拿到选择的 ID 后重新解析;数据源 ID 和 `type/sourceType` 均使用接口返回值。
|
|
37
38
|
- 计划按执行顺序构造时,先查询触发器,再逐个查询会提供动态数据的上游动作;每一步都用该组件本次真实参数(尤其数据源、目标表和选中的字段)查询。下游映射只能选择已查询来源返回的字段。`generate` 的预检是最后一道校验,不可代替生成前的字段发现。
|
|
38
39
|
- e-builder(**已知表名时首选**):`e10-cli actionflow form-search '{"keyword":"<表名>"}'` 一次拿到表单 `objId` 与它所属的业务应用 `appId`。服务端是**子串模糊匹配**,同名表跨多个应用很常见(返回体里的 `完全同名` 即同名条数)—— **多于一条时必须按 `appName` 收窄再取**,不得自行挑一个:`'{"keyword":"<表名>","appName":"<应用名>"}'`。`keyword` 传 `objId` 则是精确命中,可用来由 id 反查所属应用。
|
|
39
40
|
- **`appName` 走服务端过滤**(不是本地二次筛):应用名精确唯一才用;**同名多命中或查无此名会直接报错并列出候选**,此时改用 `appId` 指定,不要换个近似名重试。
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
关键结构(与旧结论不同,已修正):
|
|
56
56
|
|
|
57
57
|
1. **EnquiryForm 节点(首动作)**:
|
|
58
|
-
- `dataSource.type
|
|
58
|
+
- 此历史样本的 `dataSource.type` 是 `LOGIC`;生成时必须使用当前 Browser 返回的真实 `type/sourceType`,不能据样本推断。查询服务组是 `weaver-ebuilder-form-service`。
|
|
59
59
|
- `queryFields[].id = "id"`(简写,不是 `{表id}[].id`);`fieldGroup = { name: 表名, id: 表id }`
|
|
60
60
|
- 筛选:`filterInput.datas[].conditions.value` 用流程上下文 type=3(`ApprovalData.{wfId}.requestId`)
|
|
61
61
|
- 首动作 **不需要 sources**(undefined),ActionEbAdd 的 sources 指向 EnquiryForm 节点 wId
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
|
|
69
69
|
3. 其余明细字段仍用依据值下级 type=10 直连(paramKey `{wfId}.{明细表id}[].{子字段id}`,source=event 节点 id)。
|
|
70
70
|
|
|
71
|
-
4. 挂接注意:EnquiryForm
|
|
71
|
+
4. 挂接注意:EnquiryForm 作为**流程首动作**保存成功,首动作不要补 sources。数据源类型以当前接口实际返回为准。
|
|
72
72
|
|
|
73
73
|
计划中引用该结果时,必须显式写 `kind:"query_result"`,不能把它写成普通流程字段。例如:
|
|
74
74
|
|
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
|
|
44
44
|
自定义参数的字段定义是业务特定的。根据需求新建时可以直接提供 `tableList` 和字段;`tableList` 或其中的 `fields` 为空时,设计器“输入参数设置”就是空白。已有组件的更新场景如需保留平台生成的 `customId`,应使用平台回读 DTO,不要把更新 DTO 当作新建 DTO。
|
|
45
45
|
|
|
46
|
+
需求中的每张明细表都在 `tableList` 中单独配置一个 `isMain: false` 的表,并将该表的明细字段放入它自己的 `fields`。多张明细表分别配置;不要把它们的字段合并到一张表或主表。明细表在运行时表示可重复的对象列表,后续新增目标明细时先查询 `getComponentContext`,再从返回结果选择对应明细表作为依据值,选择该表的下级字段进行映射。
|
|
47
|
+
|
|
46
48
|
根触发器图标不是 `Icon-custom-trigger`,编译器统一保存为 `Icon-N-Triggerrul`。
|
|
47
49
|
|
|
48
50
|
## 上下文
|
|
@@ -60,7 +60,25 @@
|
|
|
60
60
|
|
|
61
61
|
Webhook 请求运行时由平台解析为三个上下文分组:`Params`、`Header`、`Body`。动作参数中的上下文引用使用完整路径,例如 `Params.orderId`、`Header.Authorization`、`Body.customer.name`;不要把它们写成 `FormData.*`。
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
### 请求中的明细表
|
|
64
|
+
|
|
65
|
+
需求中有明细表时,每张明细表对应 Body 中一个 JSON 对象数组。参数设置里,数组父参数使用 `paramType: "json"`、`arrs: true`;每个明细字段作为子参数,通过 `parentId` 指向所属数组。多张明细表分别配置,允许不同数组包含同名子字段。例如:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"name": "Body",
|
|
70
|
+
"tableData": [
|
|
71
|
+
{ "id": "devices", "paramName": "devices", "showName": "设备明细", "paramType": "json", "arrs": true },
|
|
72
|
+
{ "id": "deviceName", "parentId": "devices", "paramName": "name", "showName": "设备名称", "paramType": "string" },
|
|
73
|
+
{ "id": "materials", "paramName": "materials", "showName": "材料明细", "paramType": "json", "arrs": true },
|
|
74
|
+
{ "id": "materialName", "parentId": "materials", "paramName": "name", "showName": "材料名称", "paramType": "string" }
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
上例对应请求 `{"devices":[{"name":"设备A"}],"materials":[{"name":"材料A"}]}`。配置新增明细时,先调用 `getComponentContext`,使用返回的数组字段作为对应目标明细的依据值,使用该数组下级字段映射目标明细字段;参数路径、字段 ID 和上下文根以接口返回值为准。不得混用不同数组的子字段。
|
|
80
|
+
|
|
81
|
+
`authAppIds` 是 WebHook 触发器的认证应用列表,必须明确指定一个应用。可传应用 ID 或 `authAppNames: ["普通应用-wull"]`;生成前 CLI 调用 `openApplicationBrowser` 匹配并回填 `{ "id": <应用ID>, "content": "<应用名称>" }`。未指定或匹配不到时停止生成。
|
|
64
82
|
|
|
65
83
|
## 终止节点响应
|
|
66
84
|
|
|
@@ -4,6 +4,8 @@ Ebuilder 项目没有后端,页面通过读写 Ebuilder 表单完成增删改
|
|
|
4
4
|
|
|
5
5
|
> 表单元数据用 `e10-cli form read <objId> --app-id <appId> --out fields.json` 导出。字段 ID 以导出结果为准,不要自己编。
|
|
6
6
|
|
|
7
|
+
> `formClient` 只管**表单和明细表**的数据。人员、部门、组织、文档这些平台域数据不在这里,也不要用它去查:选人和上传用 `@weapp/ui` 的 `Browser` / `Upload`,它们自带数据层。组件选中的值在写进表单字段时才交给 `formClient`,见 `guide-page-code.md` 第六节。
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## 一、先准备字段常量
|
|
@@ -223,6 +223,19 @@ export default function Items() {
|
|
|
223
223
|
|
|
224
224
|
文本框、数字、日期、下拉框用原生 HTML,不要为了用组件而用组件。原型还原优先用原生 HTML + 原型 CSS,平台组件只用于人员/部门选择、上传、文件预览等必须能力。
|
|
225
225
|
|
|
226
|
+
### 组件自带的数据,不要再自己查
|
|
227
|
+
|
|
228
|
+
`Browser`(人员 / 部门 / 组织)、`Upload`、`FilePreview` 自带数据层:搜索、选择、回显都由组件去请求平台对应的组织、人员、文档接口。页面不要再自己调这些接口,也不要用 `formClient` 去查 —— 组织、人员、文档不属于表单数据,换了通道也拿不到同一份权限口径。
|
|
229
|
+
|
|
230
|
+
分工是单向的:
|
|
231
|
+
|
|
232
|
+
| 环节 | 归谁 |
|
|
233
|
+
|---|---|
|
|
234
|
+
| 选人 / 选部门 / 选组织、上传、预览 | 组件 |
|
|
235
|
+
| 把选中的值写进表单字段、再读回来 | `formClient` |
|
|
236
|
+
|
|
237
|
+
组件的 `value` 与 `onChange` 都是 `[{ id, name }]`。`onChange` 拿到后只把 `id` 写进 `values`(多值逗号串);回显用行里的 `items[字段ID]`,见 `guide-edit-backfill.md`。
|
|
238
|
+
|
|
226
239
|
---
|
|
227
240
|
|
|
228
241
|
## 七、平台硬规则
|