weaver-e10-builder 1.2.3 → 1.2.5
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/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +12 -25
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/designer-css.d.ts +15 -0
- package/dist/commands/designer-css.d.ts.map +1 -0
- package/dist/commands/designer-css.js +205 -0
- package/dist/commands/designer-css.js.map +1 -0
- package/dist/commands/form-field-lang.d.ts.map +1 -1
- package/dist/commands/form-field-lang.js +4 -39
- package/dist/commands/form-field-lang.js.map +1 -1
- package/dist/commands/form-layout-init.d.ts.map +1 -1
- package/dist/commands/form-layout-init.js +15 -10
- package/dist/commands/form-layout-init.js.map +1 -1
- package/dist/commands/form-layout.js +24 -21
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +181 -0
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form-validate.d.ts.map +1 -1
- package/dist/commands/form-validate.js +11 -3
- package/dist/commands/form-validate.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +76 -19
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +170 -23
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts +1 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +44 -13
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
- package/dist/commands/workflow-node-assign-flow.js +1 -2
- package/dist/commands/workflow-node-assign-flow.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +147 -2
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-odoc.d.ts.map +1 -1
- package/dist/commands/workflow-odoc.js +56 -56
- package/dist/commands/workflow-odoc.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +77 -1
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +36 -80
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/client.d.ts +14 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +28 -12
- package/dist/core/client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/command_output.d.ts +7 -0
- package/dist/services/actionflow/command_output.d.ts.map +1 -1
- package/dist/services/actionflow/command_output.js +46 -0
- package/dist/services/actionflow/command_output.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.js +14 -4
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.js +23 -8
- package/dist/services/actionflow/components/action_eb_update.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 +239 -6
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
- package/dist/services/actionflow/components/custom_set_form.js +65 -0
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
- package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
- package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +7 -10
- package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +1 -1
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +6 -1
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +13 -6
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/context_provider.d.ts.map +1 -1
- package/dist/services/actionflow/context_provider.js +3 -2
- package/dist/services/actionflow/context_provider.js.map +1 -1
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +1 -1
- package/dist/services/actionflow/dynamic_resources.js.map +1 -1
- package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
- package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
- package/dist/services/actionflow/ebuilder_source.js +78 -0
- package/dist/services/actionflow/ebuilder_source.js.map +1 -0
- package/dist/services/actionflow/form_source.d.ts +51 -10
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +173 -29
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +4 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +46 -22
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +6 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +211 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +83 -15
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/designer-css.d.ts +89 -0
- package/dist/services/designer-css.d.ts.map +1 -0
- package/dist/services/designer-css.js +163 -0
- package/dist/services/designer-css.js.map +1 -0
- package/dist/services/dom-structure.d.ts +42 -0
- package/dist/services/dom-structure.d.ts.map +1 -0
- package/dist/services/dom-structure.js +251 -0
- package/dist/services/dom-structure.js.map +1 -0
- package/dist/services/form-field-patch.d.ts +22 -0
- package/dist/services/form-field-patch.d.ts.map +1 -1
- package/dist/services/form-field-patch.js +29 -0
- package/dist/services/form-field-patch.js.map +1 -1
- package/dist/services/form-i18n-label.d.ts +48 -0
- package/dist/services/form-i18n-label.d.ts.map +1 -0
- package/dist/services/form-i18n-label.js +91 -0
- package/dist/services/form-i18n-label.js.map +1 -0
- package/dist/services/form-style-template.d.ts +6 -2
- package/dist/services/form-style-template.d.ts.map +1 -1
- package/dist/services/form-style-template.js +8 -4
- package/dist/services/form-style-template.js.map +1 -1
- package/dist/services/menu-catalog.d.ts +84 -0
- package/dist/services/menu-catalog.d.ts.map +1 -0
- package/dist/services/menu-catalog.js +183 -0
- package/dist/services/menu-catalog.js.map +1 -0
- package/dist/services/workflow-add-step.d.ts +45 -0
- package/dist/services/workflow-add-step.d.ts.map +1 -0
- package/dist/services/workflow-add-step.js +122 -0
- package/dist/services/workflow-add-step.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts +1 -6
- package/dist/services/workflow-assign-flow.d.ts.map +1 -1
- package/dist/services/workflow-assign-flow.js +3 -8
- package/dist/services/workflow-assign-flow.js.map +1 -1
- package/dist/services/workflow-drawback.d.ts +19 -0
- package/dist/services/workflow-drawback.d.ts.map +1 -0
- package/dist/services/workflow-drawback.js +59 -0
- package/dist/services/workflow-drawback.js.map +1 -0
- package/dist/services/workflow-links.d.ts +51 -0
- package/dist/services/workflow-links.d.ts.map +1 -0
- package/dist/services/workflow-links.js +162 -0
- package/dist/services/workflow-links.js.map +1 -0
- package/dist/services/workflow-node-layout.d.ts +45 -4
- package/dist/services/workflow-node-layout.d.ts.map +1 -1
- package/dist/services/workflow-node-layout.js +142 -41
- package/dist/services/workflow-node-layout.js.map +1 -1
- package/dist/services/workflow-odoc-setting.d.ts +43 -0
- package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
- package/dist/services/workflow-odoc-setting.js +100 -0
- package/dist/services/workflow-odoc-setting.js.map +1 -0
- package/dist/services/workflow-tab-config.d.ts +54 -0
- package/dist/services/workflow-tab-config.d.ts.map +1 -0
- package/dist/services/workflow-tab-config.js +137 -0
- package/dist/services/workflow-tab-config.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +48 -48
- package/skill-docs/SKILL.md +7 -7
- package/skill-docs/_catalog.md +2 -0
- package/skill-docs/actionflows/SKILL.md +2 -0
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +38 -1
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
- package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +1 -1
- package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +16 -11
- package/skill-docs/assets/dom-structure/Bar.json +341 -0
- package/skill-docs/assets/dom-structure/BarStack.json +341 -0
- package/skill-docs/assets/dom-structure/Bubble.json +323 -0
- package/skill-docs/assets/dom-structure/Calendar.json +515 -0
- package/skill-docs/assets/dom-structure/Circular.json +337 -0
- package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
- package/skill-docs/assets/dom-structure/Comment.json +617 -0
- package/skill-docs/assets/dom-structure/CountDown.json +755 -0
- package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
- package/skill-docs/assets/dom-structure/EbButton.json +387 -0
- package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
- package/skill-docs/assets/dom-structure/Gauge.json +282 -0
- package/skill-docs/assets/dom-structure/HBar.json +336 -0
- package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
- package/skill-docs/assets/dom-structure/Line.json +341 -0
- package/skill-docs/assets/dom-structure/NList.json +712 -0
- package/skill-docs/assets/dom-structure/NavBar.json +274 -0
- package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
- package/skill-docs/assets/dom-structure/NewTab.json +606 -0
- package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
- package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
- package/skill-docs/assets/dom-structure/Picture.json +209 -0
- package/skill-docs/assets/dom-structure/Pie.json +338 -0
- package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
- package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
- package/skill-docs/assets/dom-structure/Slide.json +489 -0
- package/skill-docs/assets/dom-structure/Treemap.json +324 -0
- package/skill-docs/references/common/guide-plan-template.md +1 -1
- package/skill-docs/references/common/ref-cli-commands.md +21 -13
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
- package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
- package/skill-docs/references/form/guide-create-form.md +1 -1
- package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
- package/skill-docs/references/form/guide-form-linkage.md +28 -2
- package/skill-docs/references/menu/system-menus.md +12 -0
- package/skill-docs/references/workflow/guide-workflow-odoc.md +22 -2
- package/skill-docs/references/workflow/guide-workflow.md +18 -3
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工作流详情页页签设置(流程设置 → 基础设置 → 详情页页签设置)。
|
|
3
|
+
*
|
|
4
|
+
* **读接口只在带上 `global=false` 时才通** —— 不带这个参数直接 500「系统错误」,
|
|
5
|
+
* 而接口库文档里没有这个参数(文档只记录了写接口)。2026-09-22 对照浏览器报文补上。
|
|
6
|
+
*
|
|
7
|
+
* 又一处**读写形状不对称**(今天第四次):
|
|
8
|
+
*
|
|
9
|
+
* | | GET 回读 | POST 要求 |
|
|
10
|
+
* |---|---|---|
|
|
11
|
+
* | 集合键 | `tabList` | `list` |
|
|
12
|
+
* | 各开关 | `true/false` | `1/0` |
|
|
13
|
+
* | `orderId` | `1..8`(显示序) | `10,20,30…`(**×10**,给自定义页签留插空) |
|
|
14
|
+
* | `isGlobal` | 无 | `0` |
|
|
15
|
+
*
|
|
16
|
+
* 页签集合**随流程类型变**:EB 流程只有流程表单/流程图/流程状态/共享/主流程/子流程/平行流程/外部流程;
|
|
17
|
+
* 「正文」只在公文流程(`bridgeService=odoc`)上出现,「关联事项」另有开关。
|
|
18
|
+
* 所以这里一律按读回来的清单工作,不写死页签表 —— 出现什么就配什么。
|
|
19
|
+
*/
|
|
20
|
+
const BASE = '/api/bs/workflow/pathdef';
|
|
21
|
+
const asBool = (v) => v === true || v === 1 || v === '1';
|
|
22
|
+
function toTab(raw) {
|
|
23
|
+
return {
|
|
24
|
+
id: String(raw?.id ?? ''),
|
|
25
|
+
tabName: String(raw?.tabName ?? ''),
|
|
26
|
+
flowPageTabId: Number(raw?.flowPageTabId ?? -1),
|
|
27
|
+
flowPageTabType: String(raw?.flowPageTabType ?? '0'),
|
|
28
|
+
customName: String(raw?.customName ?? ''),
|
|
29
|
+
showInPc: asBool(raw?.showInPc),
|
|
30
|
+
showInMobile: asBool(raw?.showInMobile),
|
|
31
|
+
showInMobileMenu: asBool(raw?.showInMobileMenu),
|
|
32
|
+
defOpen: asBool(raw?.defOpen),
|
|
33
|
+
orderId: Number(raw?.orderId ?? 0),
|
|
34
|
+
raw,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** 展示名:有自定义名用自定义名 */
|
|
38
|
+
export function tabLabel(t) {
|
|
39
|
+
return t.customName || t.tabName || String(t.flowPageTabId);
|
|
40
|
+
}
|
|
41
|
+
export async function getTabConfig(client, baseUrl, workflowId) {
|
|
42
|
+
const res = await client.get(`${baseUrl}${BASE}/pathSet/tabconfig/getTabConfigFormData?workflowId=${workflowId}&global=false`);
|
|
43
|
+
if (res?.code !== 200 || !res?.status) {
|
|
44
|
+
throw new Error(`读取详情页页签失败: ${res?.msg || '未知错误'}(该接口必须带 global=false)`);
|
|
45
|
+
}
|
|
46
|
+
const list = res?.data?.tabList;
|
|
47
|
+
if (!Array.isArray(list))
|
|
48
|
+
throw new Error('详情页页签返回结构异常(缺 tabList)');
|
|
49
|
+
return list.map(toTab);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 按名称或类型码找页签。
|
|
53
|
+
*
|
|
54
|
+
* 同一批页签的名字不会重复,但名字可能撞车(自定义名与内置名相同),
|
|
55
|
+
* 按顺序优先取**类型码**命中的 —— 与节点菜单同一套策略。
|
|
56
|
+
*/
|
|
57
|
+
export function findTab(tabs, ref) {
|
|
58
|
+
const s = String(ref);
|
|
59
|
+
const n = Number(s);
|
|
60
|
+
return tabs.find((t) => t.id === s)
|
|
61
|
+
|| (Number.isInteger(n) ? tabs.find((t) => t.flowPageTabId === n) : undefined)
|
|
62
|
+
|| tabs.find((t) => t.tabName === s)
|
|
63
|
+
|| tabs.find((t) => t.customName === s);
|
|
64
|
+
}
|
|
65
|
+
export function tabNames(tabs) {
|
|
66
|
+
return tabs.map((t) => `${tabLabel(t)}(${t.flowPageTabId})`);
|
|
67
|
+
}
|
|
68
|
+
/** 应用改动。返回新的页签表与**真正变了的** id(供调用方决定要不要发请求)。 */
|
|
69
|
+
export function applyTabPatch(tabs, patch) {
|
|
70
|
+
const next = tabs.map((t) => ({ ...t }));
|
|
71
|
+
const before = new Map(next.map((t) => [t.id, JSON.stringify({ p: t.showInPc, m: t.showInMobile, mm: t.showInMobileMenu, d: t.defOpen })]));
|
|
72
|
+
const resolve = (ref, where) => {
|
|
73
|
+
const hit = findTab(next, ref);
|
|
74
|
+
if (!hit)
|
|
75
|
+
throw new Error(`${where} 里找不到页签「${ref}」。可用: ${tabNames(next).join('、')}`);
|
|
76
|
+
return hit;
|
|
77
|
+
};
|
|
78
|
+
/** 一组「只显示这些」 */
|
|
79
|
+
const applyOnly = (refs, where, get, set) => {
|
|
80
|
+
const named = new Set();
|
|
81
|
+
for (const ref of refs)
|
|
82
|
+
named.add(resolve(ref, where));
|
|
83
|
+
for (const t of next)
|
|
84
|
+
set(t, named.has(t));
|
|
85
|
+
};
|
|
86
|
+
if (patch.only !== undefined)
|
|
87
|
+
applyOnly(patch.only, '--only', (t) => t.showInPc, (t, v) => { t.showInPc = v; });
|
|
88
|
+
if (patch.mobile !== undefined)
|
|
89
|
+
applyOnly(patch.mobile, '--mobile', (t) => t.showInMobile, (t, v) => { t.showInMobile = v; });
|
|
90
|
+
if (patch.mobileMenu !== undefined)
|
|
91
|
+
applyOnly(patch.mobileMenu, '--mobile-menu', (t) => t.showInMobileMenu, (t, v) => { t.showInMobileMenu = v; });
|
|
92
|
+
for (const ref of patch.show || [])
|
|
93
|
+
resolve(ref, '--show').showInPc = true;
|
|
94
|
+
for (const ref of patch.hide || [])
|
|
95
|
+
resolve(ref, '--hide').showInPc = false;
|
|
96
|
+
if (patch.defaultOpen !== undefined) {
|
|
97
|
+
const target = resolve(patch.defaultOpen, '--default-open');
|
|
98
|
+
for (const t of next)
|
|
99
|
+
t.defOpen = t === target;
|
|
100
|
+
}
|
|
101
|
+
const changed = [];
|
|
102
|
+
for (const t of next) {
|
|
103
|
+
const after = JSON.stringify({ p: t.showInPc, m: t.showInMobile, mm: t.showInMobileMenu, d: t.defOpen });
|
|
104
|
+
if (before.get(t.id) !== after)
|
|
105
|
+
changed.push(t.id);
|
|
106
|
+
}
|
|
107
|
+
return { next, changed };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 保存。**必须提交完整列表** —— 只发变化行会把没带上的页签覆盖没。
|
|
111
|
+
*
|
|
112
|
+
* 从包装字段重建报文:GET 回来是布尔、写出去要数字;`orderId` 要 ×10
|
|
113
|
+
* (GET 给显示序 1..8,存储用的是 10,20,… 给自定义页签留插空)。
|
|
114
|
+
*/
|
|
115
|
+
export async function saveTabConfig(client, baseUrl, workflowId, tabs) {
|
|
116
|
+
const list = tabs.map((t) => ({
|
|
117
|
+
...t.raw,
|
|
118
|
+
id: t.id,
|
|
119
|
+
tabName: t.tabName,
|
|
120
|
+
flowPageTabId: t.flowPageTabId,
|
|
121
|
+
flowPageTabType: t.flowPageTabType,
|
|
122
|
+
customName: t.customName,
|
|
123
|
+
showInPc: t.showInPc ? 1 : 0,
|
|
124
|
+
showInMobile: t.showInMobile ? 1 : 0,
|
|
125
|
+
showInMobileMenu: t.showInMobileMenu ? 1 : 0,
|
|
126
|
+
defOpen: t.defOpen ? 1 : 0,
|
|
127
|
+
orderId: Math.round(t.orderId * 10),
|
|
128
|
+
isGlobal: 0,
|
|
129
|
+
}));
|
|
130
|
+
const res = await client.post(`${baseUrl}${BASE}/pathSet/tabconfig/saveTabConfigData`, {
|
|
131
|
+
list, workflowId, global: false,
|
|
132
|
+
});
|
|
133
|
+
if (res?.code !== 200 || res?.status === false) {
|
|
134
|
+
throw new Error(`保存详情页页签失败: ${res?.msg || '未知错误'}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=workflow-tab-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tab-config.js","sourceRoot":"","sources":["../../src/services/workflow-tab-config.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -17,12 +17,16 @@ export interface Employee {
|
|
|
17
17
|
department: string;
|
|
18
18
|
mobile: string;
|
|
19
19
|
}
|
|
20
|
-
/** Menu item */
|
|
20
|
+
/** Menu item(`menu list --json` 的输出契约)。菜单是棵树,故带层级信息。 */
|
|
21
21
|
export interface MenuItem {
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
pageType: string;
|
|
25
25
|
url: string;
|
|
26
|
+
/** 父菜单 id(顶层为 "0")。 */
|
|
27
|
+
parentId: string;
|
|
28
|
+
/** 层级,顶层为 0。 */
|
|
29
|
+
depth: number;
|
|
26
30
|
}
|
|
27
31
|
/** Ecode file/directory entry */
|
|
28
32
|
export interface EcodeEntry {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4BAA4B;AAC5B,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,yBAAyB;AACzB,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
package/package.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "weaver-e10-builder",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "Eteams/Ebuilder CLI — 泛微 OA 命令行工具",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist",
|
|
8
|
-
"ecodecmd",
|
|
9
|
-
"skill-docs"
|
|
10
|
-
],
|
|
11
|
-
"bin": {
|
|
12
|
-
"e10-cli": "./dist/index.js",
|
|
13
|
-
"ecodecmd": "./ecodecmd/src/index.js"
|
|
14
|
-
},
|
|
15
|
-
"scripts": {
|
|
16
|
-
"dev": "tsx src/index.ts",
|
|
17
|
-
"build": "tsc",
|
|
18
|
-
"postinstall": "node ./dist/postinstall.js",
|
|
19
|
-
"pack:all": "node scripts/pack-editions.mjs",
|
|
20
|
-
"sync:docs": "node scripts/sync-skill-docs.mjs",
|
|
21
|
-
"start": "node dist/index.js",
|
|
22
|
-
"test": "tsx --test \"test/**/*.test.ts\""
|
|
23
|
-
},
|
|
24
|
-
"dependencies": {
|
|
25
|
-
"@napi-rs/keyring": "^1.3.0",
|
|
26
|
-
"archiver": "^5.3.1",
|
|
27
|
-
"axios": "^1.3.4",
|
|
28
|
-
"chalk": "^5.0.1",
|
|
29
|
-
"chokidar": "^3.5.3",
|
|
30
|
-
"commander": "^13.0.0",
|
|
31
|
-
"debug": "^4.3.4",
|
|
32
|
-
"fs-extra": "^10.1.0",
|
|
33
|
-
"js-base64": "^3.7.2",
|
|
34
|
-
"mammoth": "^1.12.0",
|
|
35
|
-
"minimist": "^1.2.6",
|
|
36
|
-
"node-html-markdown": "^2.0.0",
|
|
37
|
-
"request": "^2.88.2",
|
|
38
|
-
"sql.js": "^1.11.0",
|
|
39
|
-
"tiny-pinyin": "^1.3.2",
|
|
40
|
-
"xlsx": "^0.18.5"
|
|
41
|
-
},
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"@types/node": "^22.0.0",
|
|
44
|
-
"@types/sql.js": "^1.4.11",
|
|
45
|
-
"tsx": "^4.19.0",
|
|
46
|
-
"typescript": "^5.6.0"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "weaver-e10-builder",
|
|
3
|
+
"version": "1.2.5",
|
|
4
|
+
"description": "Eteams/Ebuilder CLI — 泛微 OA 命令行工具",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist",
|
|
8
|
+
"ecodecmd",
|
|
9
|
+
"skill-docs"
|
|
10
|
+
],
|
|
11
|
+
"bin": {
|
|
12
|
+
"e10-cli": "./dist/index.js",
|
|
13
|
+
"ecodecmd": "./ecodecmd/src/index.js"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"dev": "tsx src/index.ts",
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"postinstall": "node ./dist/postinstall.js",
|
|
19
|
+
"pack:all": "node scripts/pack-editions.mjs",
|
|
20
|
+
"sync:docs": "node scripts/sync-skill-docs.mjs",
|
|
21
|
+
"start": "node dist/index.js",
|
|
22
|
+
"test": "tsx --test \"test/**/*.test.ts\""
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@napi-rs/keyring": "^1.3.0",
|
|
26
|
+
"archiver": "^5.3.1",
|
|
27
|
+
"axios": "^1.3.4",
|
|
28
|
+
"chalk": "^5.0.1",
|
|
29
|
+
"chokidar": "^3.5.3",
|
|
30
|
+
"commander": "^13.0.0",
|
|
31
|
+
"debug": "^4.3.4",
|
|
32
|
+
"fs-extra": "^10.1.0",
|
|
33
|
+
"js-base64": "^3.7.2",
|
|
34
|
+
"mammoth": "^1.12.0",
|
|
35
|
+
"minimist": "^1.2.6",
|
|
36
|
+
"node-html-markdown": "^2.0.0",
|
|
37
|
+
"request": "^2.88.2",
|
|
38
|
+
"sql.js": "^1.11.0",
|
|
39
|
+
"tiny-pinyin": "^1.3.2",
|
|
40
|
+
"xlsx": "^0.18.5"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/node": "^22.0.0",
|
|
44
|
+
"@types/sql.js": "^1.4.11",
|
|
45
|
+
"tsx": "^4.19.0",
|
|
46
|
+
"typescript": "^5.6.0"
|
|
47
|
+
}
|
|
48
|
+
}
|
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.2.
|
|
6
|
-
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.2.
|
|
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.2.
|
|
5
|
+
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.2.5
|
|
6
|
+
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.2.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.2.5.
|
|
8
8
|
category: coding
|
|
9
|
-
version: 1.2.
|
|
9
|
+
version: 1.2.5
|
|
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.2.
|
|
18
|
+
本 skill 需与 CLI **版本匹配**(当前对应 CLI `1.2.5`)。版本不一致时命令/文档/选项可能对不上——升级前先对齐:
|
|
19
19
|
|
|
20
20
|
```shell
|
|
21
21
|
e10-cli --version # 查 CLI 版本,应与上方 description 标注一致
|
|
@@ -162,7 +162,7 @@ npx -y skills add ./weaver-e10-builder.zip --skill -y
|
|
|
162
162
|
| 节点校验、提交校验、node validate、智能审批规则、字面值校验、禁止提交 | `references/common/ref-cli-commands.md` |
|
|
163
163
|
| 分支条件、出口条件、条件JSON、save-condition、连线条件 | `references/workflow/guide-workflow-condition.md` |
|
|
164
164
|
| 动作流、跨表单、写入台账、ActionEbAdd/ActionEbUpdate/ActionEbDelete、提交事件、数据来源、requestId、按流程定位、回写数据ID、HTTP/HTTPS、DML/数仓、自定义事件、内置 MQ | `references/workflow/guide-workflow-action.md`(动作流生成走 `e10-cli actionflow generate`;`workflow action` 仅查/清/删/禁用;本表字段赋值走 `save-action`;复杂组件契约按需读取 `actionflows/SKILL.md` 及其 `references/components/`) |
|
|
165
|
-
|
|
|
165
|
+
| 菜单、导航、左侧菜单、系统页面、待办、已办、流程监控、菜单改名、重命名菜单 | `references/menu/system-menus.md` |
|
|
166
166
|
| 角色、角色管理、权限、成员 | `references/common/ref-cli-commands.md` |
|
|
167
167
|
| 新页面、导出、路由、entry.js、asyncImport | `references/coding/guide-page-export.md`(前端代码) |
|
|
168
168
|
| 写页面、页面代码、React编码、组件、entry.js模板 | `references/coding/guide-page-code.md`(前端代码) |
|
|
@@ -200,7 +200,7 @@ npx -y skills add ./weaver-e10-builder.zip --skill -y
|
|
|
200
200
|
| 流程设置、提交确认、签字意见、批量操作、setting | `references/common/ref-cli-commands.md` |
|
|
201
201
|
| 流程存档、定时触发、高级设置、advanced | `references/common/ref-cli-commands.md` |
|
|
202
202
|
| 编译、build、compile、代码质量检查、check、skill 文档、skill sync/copy/root | `references/common/ref-cli-commands.md` |
|
|
203
|
-
| 页面设计器、配置式页面、仪表盘、看板页、designer、page create、comp-add、工厂模板、factory、组件模板、页面布局、designer layout/save、页面版本、version revert、发布页面菜单、publish-menu | `references/ebuilder-designer/guide-designer.md`(布局层);组件配置见 `guide-designer-components.md
|
|
203
|
+
| 页面设计器、配置式页面、仪表盘、看板页、designer、page create、comp-add、工厂模板、factory、组件模板、页面布局、designer layout/save、页面版本、version revert、发布页面菜单、publish-menu、**自定义CSS、组件样式、改样式、选择器、DOM结构、样式不生效、designer css、designer dom** | `references/ebuilder-designer/guide-designer.md`(布局层);组件配置见 `guide-designer-components.md`,**自定义 CSS 与 DOM 结构索引见 `guide-designer-css.md`**,工厂模板见 `guide-designer-factory.md`,版本见 `guide-designer-version.md`,命令速查见 `references/common/ref-cli-commands.md`「页面 & 设计器」节 |
|
|
204
204
|
| HRM、矩阵、条件矩阵、matrix、映射表 | `references/hrm/guide-matrix.md` |
|
|
205
205
|
| 报表、设计器报表、EDC 报表、report build、新建报表、数据集、报表列、报表查询条件、报表权限、报表快照、report | `references/report/guide-report-build.md`(建表主干);改已有报表见 `guide-report-modify.md`,查询条件见 `guide-report-query.md`,命令速查见 `ref-report-commands.md`;踩坑先扫 `ref-report-pitfalls.md` |
|
|
206
206
|
| 报表多数据源、跨数据集、跨表关联、主从报表、两个表单合成一张报表、父格筛选、subordination、leftFilterField、render 渲染回读 | `references/report/guide-report-multisource.md`(spec 写法 + 区域/入口格 + 双保存与关预聚合 + 验证) |
|
package/skill-docs/_catalog.md
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
| 报表条件格式、数据条、图标集 | `references/report/condition-format-guide.md` |
|
|
39
39
|
| 新页面、导出、路由、entry.js、regOvProps、regReactChildren、asyncImport、publicUrl、Suspense | `references/coding/guide-page-export.md`(前端代码) |
|
|
40
40
|
| 写页面、页面代码、React编码、组件、entry.js模板 | `references/coding/guide-page-code.md`(前端代码) |
|
|
41
|
+
| 页面设计器、配置式页面、仪表盘、看板页、designer、page create、comp-add、工厂模板、factory、组件模板、页面布局、designer layout/save、页面版本、version revert、发布页面菜单、publish-menu、自定义CSS、组件样式、选择器、DOM结构、样式不生效 | `references/ebuilder-designer/guide-designer.md`(布局层主干)· `guide-designer-components.md`(组件 config)· `guide-designer-factory.md`(工厂模板)· `guide-designer-version.md`(版本)· `guide-designer-css.md`(自定义 CSS 与 DOM 结构索引) |
|
|
41
42
|
|
|
42
43
|
## Reference(参考手册)
|
|
43
44
|
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
|---------------|---------|
|
|
46
47
|
| CLI、命令、打包、build、import、创建应用、创建表单、菜单、project、form create、app create、matrix | `references/common/ref-cli-commands.md` |
|
|
47
48
|
| 接口文档导入、Postman、系统接口、连接器接口、createSystemInterfaceByAi、接口批量创建 | `references/esb-interface/guide-import.md` |
|
|
49
|
+
| 系统菜单、内置菜单、挂系统页面到菜单、menuUrl、pageType、工作流菜单、独立页面菜单、菜单改名、menu rename、重命名菜单、找不到菜单 | `references/menu/system-menus.md` |
|
|
48
50
|
| 编译、语法、报错、不支持、babel、打包、var、const、let、es2015、stage-2 | `references/coding/ref-compile-rules.md`(前端代码) |
|
|
49
51
|
|
|
50
52
|
## Components(组件文档)
|
|
@@ -34,6 +34,8 @@ 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
|
- e-builder(**已知表名时首选**):`e10-cli actionflow form-search '{"keyword":"<表名>"}'` 一次拿到表单 `objId` 与它所属的业务应用 `appId`。服务端是**子串模糊匹配**,同名表跨多个应用很常见(返回体里的 `完全同名` 即同名条数)—— **多于一条时必须按 `appName` 收窄再取**,不得自行挑一个:`'{"keyword":"<表名>","appName":"<应用名>"}'`。`keyword` 传 `objId` 则是精确命中,可用来由 id 反查所属应用。
|
|
37
|
+
- **`appName` 走服务端过滤**(不是本地二次筛):应用名精确唯一才用;**同名多命中或查无此名会直接报错并列出候选**,此时改用 `appId` 指定,不要换个近似名重试。
|
|
38
|
+
- **返回体 `total` 是服务端在该筛选下的命中总数,`hits` 可能只是其中一部分。** 默认最多返回 100 条,超出时 `truncated: true` 并给出 `omitted`(未返回条数)。**`truncated` 为真时绝不能判定「表单不存在」** —— 先按 `appName` 收窄,确需全部再传 `{"max":0}`(条数大时用 `--out <file>` 落盘)。判断是否唯一命中以 `唯一命中` 字段为准,不要自己数 `hits` 长度。
|
|
37
39
|
- e-builder(**只知道应用、要浏览全表**):`e10-cli actionflow form-applications` → `form-list` → `form-fields`。`form-applications` 返回的业务应用 `id` 用于下一步:`e10-cli actionflow form-list '{"groupId":"<业务应用ID>"}'`;这里必须是 `groupId`,不能传 `appId`。表单字段查询才使用 `{"tableId":"<表单ID>","appId":"<业务应用ID>"}`。
|
|
38
40
|
- 人员:`e10-cli actionflow recipient-search`。
|
|
39
41
|
- 人员入职/更新字段:`e10-cli actionflow hrm-onboarding-fields`。
|
|
@@ -33,11 +33,40 @@
|
|
|
33
33
|
|
|
34
34
|
`targetForm`、人员和字段 ID 必须来自当前租户。动态来源只能使用本次触发器的真实 `paramKey`。
|
|
35
35
|
|
|
36
|
+
`params.setting` 不是前端回读的 `EsbFormDataDto`。语义计划中不要直接复制前端的 `setting.main/detail`;主表使用 `mapping`、`constants`、`formula` 或旧格式赋值数组,明细使用 `detail` 语义项。CLI 会把这些语义项编译为后端 `EbuilderActionDTO.setting`,其核心结构是:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"main": {
|
|
41
|
+
"<目标主表字段ID>": {
|
|
42
|
+
"formFieldKey": "",
|
|
43
|
+
"value": {
|
|
44
|
+
"assign": "<FormulaBean>",
|
|
45
|
+
"fieldType": "<目标字段componentKey/type>",
|
|
46
|
+
"switchType": "assign|fixvalue|sub",
|
|
47
|
+
"assignType": "",
|
|
48
|
+
"multiSelect": false
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"detail": [
|
|
53
|
+
{
|
|
54
|
+
"detailTableId": "<目标明细表ID>",
|
|
55
|
+
"basisValue": "<来源明细表 FormulaBean>",
|
|
56
|
+
"data": { "<目标明细字段ID>": { "formFieldKey": "", "value": { "assign": "<FormulaBean>" } } },
|
|
57
|
+
"deleteFields": []
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"dataDrWithCalc": false,
|
|
61
|
+
"deleteMainFields": []
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
36
65
|
赋值值可以是固定值、上下文、动作流变量、租户常量或函数/公式;变量/常量必须先按 `references/dynamic_resources.md` 使用真实 ID 或顶层定义解析,不能把名称直接当作固定文本。
|
|
37
66
|
|
|
38
67
|
## 最小计划
|
|
39
68
|
|
|
40
|
-
`targetForm`、`person`,以及至少一项 `mapping`、`constants`、`formula` 或 `setting
|
|
69
|
+
`targetForm`、`person`,以及至少一项 `mapping`、`constants`、`formula` 或 `setting`。`setting` 仅表示旧格式赋值数组,不表示上述平台 DTO。
|
|
41
70
|
|
|
42
71
|
操作人选择:需求明确指定某人时才传该人的真实 Browser 对象并显示为固定值;需求未指定时传 `{"type":"role"}`,生成当前人 `{userid}` 动态值。不得为了补必填项从人员列表任意挑一个人。
|
|
43
72
|
|
|
@@ -45,6 +74,14 @@
|
|
|
45
74
|
|
|
46
75
|
若流程触发器上下文中存在 `requestId`,而目标表恰有唯一一个未赋值的流程关联 Browser 字段(如“来源流程”或“关联流程”),CLI 会把它自动映射为当前流程实例 ID,并在结果的 `autoMappings` 中列出。显式映射、固定值、公式和旧 `setting` 始终优先,不会被覆盖;字段不唯一或类型不是流程关联字段时不猜测。
|
|
47
76
|
|
|
77
|
+
### 明细表规则
|
|
78
|
+
|
|
79
|
+
新增明细时,前端 `DetailForm` 以 `basisValue` 决定新增行数;没有依据值时会清空动态赋值。因此只要 `detail` 中配置了 `mapping`、`constants` 或 `formula`,就必须同时提供真实的 `basisValue`,通常写成上游明细列表字段并带 `[]`。CLI 不接受没有依据值的明细字段映射。
|
|
80
|
+
|
|
81
|
+
`ActionEbAdd` 的 `ActionEbDlg` 未开启明细操作策略选择器,明细策略固定为新增。`detail` 不接受 `operateType`、`updateType`、`updateFieldCondition`、`updatePolicy` 或 `rowId`;这些字段会被 CLI 拒绝,明细更新/删除应改用 `ActionEbUpdate`(删除全部等特殊场景也不要伪造为新增)。编译结果不会写入前端不存在的 `operateType:"insert"`,只保存 `detailTableId`、`basisValue`、`data` 和 `deleteFields`。
|
|
82
|
+
|
|
83
|
+
新增组件的 `person` 按前端结构保存为 type=8 容器,容器内再放当前用户 type=9 或固定人员 type=1 的子 FormulaBean;CLI 会自动补齐该容器。
|
|
84
|
+
|
|
48
85
|
## 动态来源选择与查询结果引用
|
|
49
86
|
|
|
50
87
|
- AI 应按需求和已生成上游节点的真实上下文选择来源:流程触发字段、前序动作输出、当次循环、系统变量、固定值或查询结果均可;**不得默认把所有映射绑定到流程触发,也不得默认插入查询节点**。
|
|
@@ -18,6 +18,48 @@
|
|
|
18
18
|
|
|
19
19
|
`targetForm`、`person`、更新赋值,以及与 `opType` 对应的定位参数。
|
|
20
20
|
|
|
21
|
+
## 三种更新模式
|
|
22
|
+
|
|
23
|
+
- `opType:"updateData"`:必须配置 `filterCondition`,仅按条件更新;不支持 `basisValue`,也不能同时配置 `updateId` 或 `updateFieldCondition`。
|
|
24
|
+
- `opType:"id"`:必须配置 `updateId`。不填写 `basisValue` 时按数据 ID 更新单条数据;填写真实上游明细依据值后,按依据值批量更新。
|
|
25
|
+
- `opType:"fieldUpdate"`:必须配置 `updateFieldCondition` 和 `updatePolicy`。不填写 `basisValue` 时按字段匹配更新单条数据;填写真实上游明细依据值后,按依据值批量更新。
|
|
26
|
+
|
|
27
|
+
`basisValue` 只是 `id` 和 `fieldUpdate` 的批量开关,不能用于条件筛选更新。CLI 会在编译前校验这些组合,避免把一个模式的定位参数静默带入另一个模式。
|
|
28
|
+
|
|
29
|
+
### 明细表策略
|
|
30
|
+
|
|
31
|
+
更新组件的 `ActionEbDlg` 会为每张明细表单独保存策略。`detail` 每项至少包含 `detailTableId`,可使用以下结构:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"detailTableId": "<目标明细表ID>",
|
|
36
|
+
"operateType": "update",
|
|
37
|
+
"basisValue": {"paramKey": "<来源明细paramKey>[]", "label": "<来源明细表>"},
|
|
38
|
+
"updateType": "fields",
|
|
39
|
+
"updateFieldCondition": {
|
|
40
|
+
"updateField": [
|
|
41
|
+
{"fieldKey": "<匹配字段ID>", "assign": {"kind": "context", "paramKey": "<来源字段>"}}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"updatePolicy": "ALL",
|
|
45
|
+
"mapping": {"<来源字段>": "<目标明细字段ID>"},
|
|
46
|
+
"constants": {"<目标明细字段ID>": "<固定值>"},
|
|
47
|
+
"formula": {},
|
|
48
|
+
"deleteFields": []
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`operateType` 与前端枚举一致:`default`、`add`、`update`、`updateAdd`、`cover`、`delete`。
|
|
53
|
+
|
|
54
|
+
- `add`/`cover`:用于按依据值新增或覆盖明细;有字段赋值时需要 `basisValue`。
|
|
55
|
+
- `update`/`updateAdd`:必须有 `basisValue` 和至少一个字段赋值;`updateType` 只能是 `fields` 或 `rowId`。`fields` 必须提供 `updateFieldCondition.updateField`,`rowId` 必须提供 `rowId`。
|
|
56
|
+
- `delete`:`updateType` 可为 `fields`、`rowId` 或 `deleteAll`。前两者需要 `basisValue` 和对应条件,`deleteAll` 不需要依据值且不配置字段赋值。
|
|
57
|
+
- `updatePolicy` 仅用于 `update`/`updateAdd`,可选 `ALL`、`FIRST`、`LAST`、`ZERO`、`EXCEPTION`。
|
|
58
|
+
|
|
59
|
+
当 `operateType` 为 `update` 或 `updateAdd` 且 `updateType` 为 `fields` 时,`updateFieldCondition.updateField[].fieldKey` 是专门用于匹配的条件字段,不能同时出现在 `mapping`、`constants` 或 `formula` 的目标字段中。编译后的 `EsbDetailForm.data` 与 `EsbDetailForm.updateFieldCondition` 对同一字段只能保留一份;主表的 `updateFieldCondition` 与 `setting.main` 也遵循同样规则。按 `rowId` 更新时不能再配置 `updateFieldCondition`。
|
|
60
|
+
|
|
61
|
+
`rowId` 使用动态赋值对象,例如 `{"kind":"context","paramKey":"<来源明细ID>","label":"明细数据ID"}`;CLI 会将它包装为后端 `EsbDetailForm.rowId` 的 `FieldValue`。`deleteFields` 仍表示清除字段配置,不表示删除明细行;删除明细行必须使用 `operateType:"delete"`。
|
|
62
|
+
|
|
21
63
|
## filterCondition 格式(opType=updateData 定位条件)
|
|
22
64
|
|
|
23
65
|
**以 `references/condition_rules.md` 为准**:`{"field":{"id":"<目标字段id>","label":"<字段名>"},"operator":"eq","right":{...}}`。`field` 是 `{id,label}` 对象、`operator` 用英文操作符(`eq/neq/gt/lt/gte/lte/contains/uncontains/empty/nempty`)、右值键用 `right`。**勿用**废弃的 `value` 别名 / `=` / 裸字符串 `field`,否则编译报「左侧字段 id 不在目标表单实时字段列表中」。
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 先查询
|
|
8
8
|
|
|
9
|
-
1. 用 `form-search '{"keyword":"<表名>"}'` 按表名直接拿到表单 `objId` 与所属业务应用 `appId`(同名表多于一条时按 `appName`
|
|
9
|
+
1. 用 `form-search '{"keyword":"<表名>"}'` 按表名直接拿到表单 `objId` 与所属业务应用 `appId`(同名表多于一条时按 `appName` 收窄,应用名同名多命中或查无会直接报错并给候选,改用 `appId`);只知道应用时用 `form-applications` → `form-list`。返回体 `truncated: true` 表示还有命中未返回,**据此判定表单不存在是错的**,应按 `appName` 收窄或传 `{"max":0}`。
|
|
10
10
|
2. 用 `e10-cli actionflow form-buttons '{"tableId":"<表单ID>","appId":"<应用ID>"}'` 读取真实按钮 ID、名称与启用状态。
|
|
11
11
|
|
|
12
12
|
不要按按钮名称猜测 ID,也不要创建按钮作为生成动作流的隐含步骤。
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
不要把 `Output` 写入 `actions`。`reminderMsgFormula` 与 `basisValue` 支持固定值、上下文、系统变量、变量、常量、查询结果和函数/公式;`jumpUrl` 在前端只允许固定文本。`fixedData`、`customOutputData` 属于平台原生高级输出结构,必须使用真实回读结构,不能猜测。
|
|
14
14
|
|
|
15
|
+
如果自定义触发动作流需要配置终止参数,在 `finalOutput.params.customParamSetting` 中使用同一套 `CustSetFormDto` 结构,`formType` 改为 `output`,新建时 `customId` 传空字符串,`deleteTableIds` 传空数组,`appId` 由编译器注入当前动作流应用 ID,关联 ID 由后端保存方法生成。
|
|
16
|
+
|
|
15
17
|
## 最小计划
|
|
16
18
|
|
|
17
19
|
```json
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
## 参数
|
|
8
8
|
|
|
9
|
-
唯一必填参数是 `customData
|
|
9
|
+
唯一必填参数是 `customData`,新建时必须按后端 `CustSetFormDto` 组装。顶层字段为 `customId`、`formType`、`businessModule`、`tableList`、`deleteTableIds` 和 `appId`:`customId` 必须传空字符串,由 `CustSetFormService#saveCustSetForm` 生成组件关联 ID;`formType` 为 `input`;`deleteTableIds` 新建传空数组;`appId` 由编译器注入当前动作流应用 ID。不要使用旧的 `tables`/`SETTING` 结构。
|
|
10
|
+
|
|
11
|
+
`tableList` 的主表需要 `id`、`formId`、`showName`、`isMain: true`、`orderNum` 和 `fields`;明细表需要 `id`、`showName`、`isMain: false`、`orderNum` 和 `fields`,不设置 `formId`。字段需要 `id`、`paramName`、`showName`、`paramType`、`isRequired`、`fieldComments`。缺少 ID 时由编译器生成;字段 `paramName` 不能为空。
|
|
10
12
|
|
|
11
13
|
```json
|
|
12
14
|
{
|
|
@@ -14,32 +16,35 @@
|
|
|
14
16
|
"type": "CustomTrigger",
|
|
15
17
|
"params": {
|
|
16
18
|
"customData": {
|
|
17
|
-
"customId": "
|
|
19
|
+
"customId": "",
|
|
18
20
|
"formType": "input",
|
|
19
|
-
"businessModule": "
|
|
21
|
+
"businessModule": "",
|
|
20
22
|
"tableList": [{
|
|
21
|
-
"id": "
|
|
22
|
-
"
|
|
23
|
+
"id": "<可选,缺失时生成>",
|
|
24
|
+
"formId": "<主表可选,缺失时生成>",
|
|
25
|
+
"showName": "",
|
|
23
26
|
"isMain": true,
|
|
24
27
|
"orderNum": 0,
|
|
25
28
|
"fields": [{
|
|
26
|
-
"id": "
|
|
29
|
+
"id": "<可选,缺失时生成>",
|
|
27
30
|
"paramName": "payload",
|
|
28
|
-
"showName": "
|
|
31
|
+
"showName": "",
|
|
29
32
|
"paramType": "string",
|
|
30
|
-
"isRequired":
|
|
33
|
+
"isRequired": false,
|
|
34
|
+
"fieldComments": ""
|
|
31
35
|
}]
|
|
32
|
-
}]
|
|
36
|
+
}],
|
|
37
|
+
"deleteTableIds": []
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
```
|
|
38
43
|
|
|
39
|
-
|
|
44
|
+
自定义参数的字段定义是业务特定的。根据需求新建时可以直接提供 `tableList` 和字段;`tableList` 或其中的 `fields` 为空时,设计器“输入参数设置”就是空白。已有组件的更新场景如需保留平台生成的 `customId`,应使用平台回读 DTO,不要把更新 DTO 当作新建 DTO。
|
|
40
45
|
|
|
41
46
|
根触发器图标不是 `Icon-custom-trigger`,编译器统一保存为 `Icon-N-Triggerrul`。
|
|
42
47
|
|
|
43
48
|
## 上下文
|
|
44
49
|
|
|
45
|
-
|
|
50
|
+
触发后业务字段上下文根为 `SelectParams`,可引用 `SelectParams.<主表/明细表路径>`;同时可使用平台提供的 `FormField`、`SettingInfo`、`accessId` 和 `monitorId`。不要将自定义触发字段编译为 `FormData`。
|