weaver-e10-builder 1.6.10 → 1.6.12
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-browser-definition.d.ts.map +1 -1
- package/dist/commands/form-browser-definition.js +108 -7
- package/dist/commands/form-browser-definition.js.map +1 -1
- package/dist/commands/form-browser-scope-rules.d.ts +27 -0
- package/dist/commands/form-browser-scope-rules.d.ts.map +1 -0
- package/dist/commands/form-browser-scope-rules.js +141 -0
- package/dist/commands/form-browser-scope-rules.js.map +1 -0
- package/dist/commands/form-browser-scope-tree.d.ts +14 -0
- package/dist/commands/form-browser-scope-tree.d.ts.map +1 -0
- package/dist/commands/form-browser-scope-tree.js +115 -0
- package/dist/commands/form-browser-scope-tree.js.map +1 -0
- package/dist/commands/matrix-maintainer.d.ts +3 -0
- package/dist/commands/matrix-maintainer.d.ts.map +1 -0
- package/dist/commands/matrix-maintainer.js +117 -0
- package/dist/commands/matrix-maintainer.js.map +1 -0
- package/dist/commands/matrix.d.ts.map +1 -1
- package/dist/commands/matrix.js +2 -0
- package/dist/commands/matrix.js.map +1 -1
- package/dist/commands/report-admin.d.ts.map +1 -1
- package/dist/commands/report-admin.js +378 -2
- package/dist/commands/report-admin.js.map +1 -1
- package/dist/commands/report-validate.d.ts.map +1 -1
- package/dist/commands/report-validate.js +1102 -3
- package/dist/commands/report-validate.js.map +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +341 -3
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +354 -0
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/special.d.ts.map +1 -1
- package/dist/commands/special.js +67 -31
- package/dist/commands/special.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +1 -121
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-after-submit-comment.d.ts +3 -0
- package/dist/commands/workflow-after-submit-comment.d.ts.map +1 -0
- package/dist/commands/workflow-after-submit-comment.js +56 -0
- package/dist/commands/workflow-after-submit-comment.js.map +1 -0
- package/dist/commands/workflow-layout-components.d.ts +3 -0
- package/dist/commands/workflow-layout-components.d.ts.map +1 -0
- package/dist/commands/workflow-layout-components.js +36 -0
- package/dist/commands/workflow-layout-components.js.map +1 -0
- package/dist/commands/workflow-node-batch.d.ts +3 -0
- package/dist/commands/workflow-node-batch.d.ts.map +1 -0
- package/dist/commands/workflow-node-batch.js +136 -0
- package/dist/commands/workflow-node-batch.js.map +1 -0
- package/dist/commands/workflow-node-opinion.d.ts +3 -0
- package/dist/commands/workflow-node-opinion.d.ts.map +1 -0
- package/dist/commands/workflow-node-opinion.js +51 -0
- package/dist/commands/workflow-node-opinion.js.map +1 -0
- package/dist/commands/workflow-node-reject.js +1 -1
- package/dist/commands/workflow-node-reject.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +4 -3
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +2 -67
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
- package/dist/services/actionflow/components/send_message.js +8 -3
- package/dist/services/actionflow/components/send_message.js.map +1 -1
- package/dist/services/actionflow/context_preflight.js +1 -1
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +1 -0
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +107 -31
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +4 -1
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/form-layout-describe.d.ts.map +1 -1
- package/dist/services/form-layout-describe.js +3 -2
- package/dist/services/form-layout-describe.js.map +1 -1
- package/dist/services/form-layout-document.d.ts.map +1 -1
- package/dist/services/form-layout-document.js +2 -1
- package/dist/services/form-layout-document.js.map +1 -1
- package/dist/services/matrix-maintainer.d.ts +27 -0
- package/dist/services/matrix-maintainer.d.ts.map +1 -0
- package/dist/services/matrix-maintainer.js +142 -0
- package/dist/services/matrix-maintainer.js.map +1 -0
- package/dist/services/report/blueprint.d.ts +109 -0
- package/dist/services/report/blueprint.d.ts.map +1 -0
- package/dist/services/report/blueprint.js +322 -0
- package/dist/services/report/blueprint.js.map +1 -0
- package/dist/services/report/build.d.ts.map +1 -1
- package/dist/services/report/build.js +8 -3
- package/dist/services/report/build.js.map +1 -1
- package/dist/services/report/card.d.ts +65 -0
- package/dist/services/report/card.d.ts.map +1 -0
- package/dist/services/report/card.js +151 -0
- package/dist/services/report/card.js.map +1 -0
- package/dist/services/report/copy-health.d.ts +31 -0
- package/dist/services/report/copy-health.d.ts.map +1 -0
- package/dist/services/report/copy-health.js +87 -0
- package/dist/services/report/copy-health.js.map +1 -0
- package/dist/services/report/dataset-heal.d.ts +64 -0
- package/dist/services/report/dataset-heal.d.ts.map +1 -0
- package/dist/services/report/dataset-heal.js +89 -0
- package/dist/services/report/dataset-heal.js.map +1 -0
- package/dist/services/report/dataset-ids.d.ts +70 -0
- package/dist/services/report/dataset-ids.d.ts.map +1 -0
- package/dist/services/report/dataset-ids.js +149 -0
- package/dist/services/report/dataset-ids.js.map +1 -0
- package/dist/services/report/dataset.d.ts.map +1 -1
- package/dist/services/report/dataset.js +3 -1
- package/dist/services/report/dataset.js.map +1 -1
- package/dist/services/report/drill.d.ts +74 -0
- package/dist/services/report/drill.d.ts.map +1 -0
- package/dist/services/report/drill.js +259 -0
- package/dist/services/report/drill.js.map +1 -0
- package/dist/services/report/empty-dataset.d.ts +51 -0
- package/dist/services/report/empty-dataset.d.ts.map +1 -0
- package/dist/services/report/empty-dataset.js +213 -0
- package/dist/services/report/empty-dataset.js.map +1 -0
- package/dist/services/report/field-binding.d.ts +75 -0
- package/dist/services/report/field-binding.d.ts.map +1 -0
- package/dist/services/report/field-binding.js +160 -0
- package/dist/services/report/field-binding.js.map +1 -0
- package/dist/services/report/forms.d.ts +32 -0
- package/dist/services/report/forms.d.ts.map +1 -1
- package/dist/services/report/forms.js +90 -0
- package/dist/services/report/forms.js.map +1 -1
- package/dist/services/report/formula-parent.d.ts +25 -0
- package/dist/services/report/formula-parent.d.ts.map +1 -0
- package/dist/services/report/formula-parent.js +116 -0
- package/dist/services/report/formula-parent.js.map +1 -0
- package/dist/services/report/locate.d.ts +40 -0
- package/dist/services/report/locate.d.ts.map +1 -0
- package/dist/services/report/locate.js +122 -0
- package/dist/services/report/locate.js.map +1 -0
- package/dist/services/report/reports.d.ts +4 -0
- package/dist/services/report/reports.d.ts.map +1 -1
- package/dist/services/report/reports.js +4 -2
- package/dist/services/report/reports.js.map +1 -1
- package/dist/services/report/scene.d.ts +22 -0
- package/dist/services/report/scene.d.ts.map +1 -0
- package/dist/services/report/scene.js +145 -0
- package/dist/services/report/scene.js.map +1 -0
- package/dist/services/report/types.d.ts +28 -0
- package/dist/services/report/types.d.ts.map +1 -1
- package/dist/services/report/verify.d.ts +24 -0
- package/dist/services/report/verify.d.ts.map +1 -1
- package/dist/services/report/verify.js +115 -2
- package/dist/services/report/verify.js.map +1 -1
- package/dist/services/report/workbook.d.ts +12 -1
- package/dist/services/report/workbook.d.ts.map +1 -1
- package/dist/services/report/workbook.js +107 -8
- package/dist/services/report/workbook.js.map +1 -1
- package/dist/services/role-function-permission.d.ts +12 -0
- package/dist/services/role-function-permission.d.ts.map +1 -0
- package/dist/services/role-function-permission.js +46 -0
- package/dist/services/role-function-permission.js.map +1 -0
- package/dist/services/special-layout.d.ts +113 -0
- package/dist/services/special-layout.d.ts.map +1 -0
- package/dist/services/special-layout.js +178 -0
- package/dist/services/special-layout.js.map +1 -0
- package/dist/services/workflow-after-submit-comment.d.ts +20 -0
- package/dist/services/workflow-after-submit-comment.d.ts.map +1 -0
- package/dist/services/workflow-after-submit-comment.js +81 -0
- package/dist/services/workflow-after-submit-comment.js.map +1 -0
- package/dist/services/workflow-base-settings.d.ts +1 -10
- package/dist/services/workflow-base-settings.d.ts.map +1 -1
- package/dist/services/workflow-field-permission-route.d.ts +15 -41
- package/dist/services/workflow-field-permission-route.d.ts.map +1 -1
- package/dist/services/workflow-field-permission-route.js +23 -8
- package/dist/services/workflow-field-permission-route.js.map +1 -1
- package/dist/services/workflow-layout-components.d.ts +52 -0
- package/dist/services/workflow-layout-components.d.ts.map +1 -0
- package/dist/services/workflow-layout-components.js +66 -0
- package/dist/services/workflow-layout-components.js.map +1 -0
- package/dist/services/workflow-layout-draft.d.ts +49 -0
- package/dist/services/workflow-layout-draft.d.ts.map +1 -0
- package/dist/services/workflow-layout-draft.js +98 -0
- package/dist/services/workflow-layout-draft.js.map +1 -0
- package/dist/services/workflow-node-batch-spec.d.ts +122 -0
- package/dist/services/workflow-node-batch-spec.d.ts.map +1 -0
- package/dist/services/workflow-node-batch-spec.js +496 -0
- package/dist/services/workflow-node-batch-spec.js.map +1 -0
- package/dist/services/workflow-node-batch.d.ts +73 -0
- package/dist/services/workflow-node-batch.d.ts.map +1 -0
- package/dist/services/workflow-node-batch.js +328 -0
- package/dist/services/workflow-node-batch.js.map +1 -0
- package/dist/services/workflow-node-opinion-description.d.ts +12 -0
- package/dist/services/workflow-node-opinion-description.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-description.js +52 -0
- package/dist/services/workflow-node-opinion-description.js.map +1 -0
- package/dist/services/workflow-node-opinion-layout.d.ts +22 -0
- package/dist/services/workflow-node-opinion-layout.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-layout.js +113 -0
- package/dist/services/workflow-node-opinion-layout.js.map +1 -0
- package/dist/services/workflow-node-opinion-range.d.ts +21 -0
- package/dist/services/workflow-node-opinion-range.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-range.js +74 -0
- package/dist/services/workflow-node-opinion-range.js.map +1 -0
- package/dist/services/workflow-node-opinion.d.ts +43 -0
- package/dist/services/workflow-node-opinion.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion.js +198 -0
- package/dist/services/workflow-node-opinion.js.map +1 -0
- package/dist/services/workflow-opinion-settings.d.ts +14 -0
- package/dist/services/workflow-opinion-settings.d.ts.map +1 -1
- package/dist/services/workflow-opinion-settings.js +18 -2
- package/dist/services/workflow-opinion-settings.js.map +1 -1
- package/ecodecmd/src/build.js +36 -12
- package/package.json +1 -1
- package/skill-docs/SKILL.md +164 -162
- package/skill-docs/_catalog.md +13 -3
- package/skill-docs/actionflows/references/components/message/SendMessage.md +32 -30
- package/skill-docs/references/coding/guide-page-code.md +95 -0
- package/skill-docs/references/common/guide-plan-template.md +4 -1
- package/skill-docs/references/common/map.md +28 -4
- package/skill-docs/references/common/ref-cli-commands.md +14 -4
- package/skill-docs/references/components/ref-component-common.md +98 -0
- package/skill-docs/references/form/guide-browser-definition.md +2 -219
- package/skill-docs/references/form/guide-browser-scope.md +285 -0
- package/skill-docs/references/form/guide-create-form.md +1 -1
- package/skill-docs/references/hrm/guide-matrix.md +276 -245
- package/skill-docs/references/hrm/guide-role.md +77 -0
- package/skill-docs/references/report/add-dataset-registration-guide.md +44 -22
- package/skill-docs/references/report/advanced-crosstab-tree-guide.md +82 -0
- package/skill-docs/references/report/ai-report-workflow.md +100 -100
- package/skill-docs/references/report/api-auth-headers.md +129 -0
- package/skill-docs/references/report/api-report-build-fast-path.md +274 -275
- package/skill-docs/references/report/app-datasource-lookup-guide.md +230 -230
- package/skill-docs/references/report/branch-scene-guide.md +293 -0
- package/skill-docs/references/report/build-resilience-guide.md +99 -0
- package/skill-docs/references/report/card-report-guide.md +110 -0
- package/skill-docs/references/report/cell-config-echo-guide.md +44 -9
- package/skill-docs/references/report/cell-transform-guide.md +9 -9
- package/skill-docs/references/report/column-split-report-guide.md +96 -0
- package/skill-docs/references/report/condition-format-guide.md +49 -24
- package/skill-docs/references/report/cross-dataset-filter-guide.md +180 -69
- package/skill-docs/references/report/crosstab-raw-workbook-guide.md +265 -0
- package/skill-docs/references/report/dataset-query-filter-guide.md +231 -235
- package/skill-docs/references/report/dataset-sidebar-ops-guide.md +75 -34
- package/skill-docs/references/report/dataset-table-field-contract-guide.md +196 -46
- package/skill-docs/references/report/datasource-metadata-guide.md +128 -119
- package/skill-docs/references/report/datasource-selection-and-parent-filter-guide.md +183 -148
- package/skill-docs/references/report/date-range-query-reference.md +97 -102
- package/skill-docs/references/report/default-header-style-guide.md +8 -8
- package/skill-docs/references/report/designer-blank-prevention-guide.md +8 -8
- package/skill-docs/references/report/dossier-report-guide.md +69 -0
- package/skill-docs/references/report/drilldown-report-guide.md +75 -0
- package/skill-docs/references/report/event-hreflink-guide.md +55 -47
- package/skill-docs/references/report/expansion-block-parent-config-guide.md +208 -0
- package/skill-docs/references/report/failure-cleanup-and-nonblocking-guide.md +183 -0
- package/skill-docs/references/report/field-bind-exact-match-guide.md +208 -208
- package/skill-docs/references/report/financial-stats-report-guide.md +89 -0
- package/skill-docs/references/report/formula-cell-api-guide.md +325 -258
- package/skill-docs/references/report/golden-case-summary-sheet.md +200 -0
- package/skill-docs/references/report/guide-report-build.md +6 -1
- package/skill-docs/references/report/hidden-row-and-header-merge-guide.md +10 -10
- package/skill-docs/references/report/layout-showlocation-freeze-guide.md +39 -10
- package/skill-docs/references/report/multi-report-crosstab-casebook.md +263 -0
- package/skill-docs/references/report/paged-group-report-guide.md +68 -0
- package/skill-docs/references/report/preaggregate-auto-disable-guide.md +24 -13
- package/skill-docs/references/report/query-condition-api-guide.md +174 -125
- package/skill-docs/references/report/ref-report-commands.md +41 -3
- package/skill-docs/references/report/report-baseinfo-defaults-guide.md +117 -117
- package/skill-docs/references/report/report-building-guide.md +52 -52
- package/skill-docs/references/report/report-case-prompts.md +104 -0
- package/skill-docs/references/report/report-config-schema.md +281 -281
- package/skill-docs/references/report/report-create-modes-guide.md +73 -35
- package/skill-docs/references/report/report-data-model.md +131 -131
- package/skill-docs/references/report/report-delivery-contract.md +23 -3
- package/skill-docs/references/report/report-designer-feature-map.md +30 -35
- package/skill-docs/references/report/report-help-guide.md +304 -0
- package/skill-docs/references/report/report-internal-error-guide.md +71 -0
- package/skill-docs/references/report/report-knowledge-base.md +27 -27
- package/skill-docs/references/report/report-lifecycle-api-guide.md +126 -94
- package/skill-docs/references/report/report-list-page-ops-guide.md +54 -8
- package/skill-docs/references/report/report-permission-guide.md +99 -102
- package/skill-docs/references/report/report-requirement-analysis-template.md +93 -29
- package/skill-docs/references/report/report-self-check-guide.md +164 -164
- package/skill-docs/references/report/report-verification-discipline-guide.md +203 -0
- package/skill-docs/references/report/safe-partial-save-guide.md +151 -151
- package/skill-docs/references/report/shard-freeze-report-guide.md +97 -0
- package/skill-docs/references/report/snowflake-id-precision-guide.md +84 -84
- package/skill-docs/references/report/spec-build-schema.md +71 -71
- package/skill-docs/references/report/targeted-fix-guide.md +155 -97
- package/skill-docs/references/report/user-request-scope-only-guide.md +23 -4
- package/skill-docs/references/workflow/guide-after-submit-comment.md +58 -0
- package/skill-docs/references/workflow/guide-layout-components.md +26 -0
- package/skill-docs/references/workflow/guide-node-opinion.md +58 -0
- package/skill-docs/references/workflow/guide-workflow.md +49 -0
- package/skill-docs/references/form/guide-ebuilder-scope.md +0 -82
|
@@ -18,15 +18,41 @@
|
|
|
18
18
|
服务端分支(**互斥,模板优先**):
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
modelId > 0
|
|
21
|
+
modelId > 0 → 模版创建(copySheet)
|
|
22
22
|
else quicklyParam 非空 → 快速构建-列表式
|
|
23
|
-
else
|
|
23
|
+
else → 从空白创建(空 workbook + sheet)
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
**禁止混淆**:Skill 自带的 `assets/template-*-report.json` 是 **Agent 布局脚手架**,**不是**平台「模版创建」的 `getReportModels` 模板池。
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
+
## 〇.1 ★★ 建壳顺序(强制 · 注意点 BUILD-50)
|
|
31
|
+
|
|
32
|
+
`baseInfo` 只写 baseInfo 行;**`edc_report_dev` 记录由「设计器页首次加载」惰性创建**。故建壳后、
|
|
33
|
+
**addDataset 之前**,必须 GET 一次设计器页:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
create blank → POST baseInfo → ★ GET /sp/edc/report/design/<id> → addDataset → (remap) → save
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
| 步骤 | 说明 |
|
|
40
|
+
|------|------|
|
|
41
|
+
| `POST baseInfo` | 得到 `reportId` |
|
|
42
|
+
| **`GET /sp/edc/report/design/<reportId>?appId=<appId>`** | **初始化 dev 记录**(返回值是 HTML,可忽略)。构建层 / CLI 已内置 |
|
|
43
|
+
| `addDataset` | 见 `add-dataset-registration-guide.md` |
|
|
44
|
+
| `save` | 见 `report-internal-error-guide.md`(ENV-11 载荷矩阵 + R7/R8/R9 防御层) |
|
|
45
|
+
|
|
46
|
+
**后果**(缺这一步 / 顺序颠倒):
|
|
47
|
+
- 缺 GET → dev 记录没建起来 → 后续 `saveReportDevInfo` **落不进去**;
|
|
48
|
+
- **「先 save 后 addDataset」的壳会永久废掉** —— dev 与 baseInfo 状态不一致,无法修复,只能删表重建。
|
|
49
|
+
|
|
50
|
+
已内置:`e10-cli report build`(`e10-cli report build spec`)在 `baseInfo` 之后自动调 `initReportDev`;
|
|
51
|
+
`e10-cli report create blank` 同样自动执行;`e10-cli report card build` 新建分支同样。可用 `EB_SKIP_INIT_DEV=1` 跳过(仅定位)。
|
|
52
|
+
失败时**降级为告警不阻断**(环境差异兜底)。
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
30
56
|
## 一、共享入口
|
|
31
57
|
|
|
32
58
|
`POST /api/bs/edc/report/baseInfo`(`multipart/form-data`,`id=0` 新建)
|
|
@@ -70,6 +96,9 @@ e10-cli report create models
|
|
|
70
96
|
e10-cli report create template --app-id <appId> --name "新报表" --model-id <模板ID>
|
|
71
97
|
```
|
|
72
98
|
|
|
99
|
+
> 建表前会自动**精确查重**:同名已存在 → `exit 3` 且**不创建**(返回已有 reportId / 设计器地址)。
|
|
100
|
+
> 确需同名再建(用户明确要求)才加 `--allow-duplicate`。见 §五。
|
|
101
|
+
|
|
73
102
|
Python:
|
|
74
103
|
|
|
75
104
|
```python
|
|
@@ -89,39 +118,39 @@ rid, obj = client.create_from_model(name, model_id)
|
|
|
89
118
|
|
|
90
119
|
```json
|
|
91
120
|
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
"dataSetList": [
|
|
122
|
+
{
|
|
123
|
+
"id": "<临时UUID,与 showField[].dataSetId 一致>",
|
|
124
|
+
"sourceType": "1",
|
|
125
|
+
"sourceId": "<表单/数据源 ID>",
|
|
126
|
+
"sourceName": "表单名",
|
|
127
|
+
"sourceGroup": ""
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"showField": [
|
|
131
|
+
{
|
|
132
|
+
"dataSetId": "<同上临时UUID>",
|
|
133
|
+
"tableId": "...",
|
|
134
|
+
"name": "fieldKey",
|
|
135
|
+
"text": "显示名"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"fieldConfig": {
|
|
139
|
+
"<dataSetId>.<tableId>.<name>": {
|
|
140
|
+
"colName": "列标题",
|
|
141
|
+
"colWidth": "170",
|
|
142
|
+
"vAlign": "1",
|
|
143
|
+
"hAlign": "1",
|
|
144
|
+
"group": "0",
|
|
145
|
+
"hideCol": "0",
|
|
146
|
+
"lockCell": "0",
|
|
147
|
+
"textWrap": "0"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"theme": "-1",
|
|
151
|
+
"sheetIndex": 0,
|
|
152
|
+
"startRow": 0,
|
|
153
|
+
"startCol": 0
|
|
125
154
|
}
|
|
126
155
|
```
|
|
127
156
|
|
|
@@ -166,6 +195,15 @@ Python:`client.create_from_quickly_param(name, quickly_param_dict_or_str)`
|
|
|
166
195
|
|
|
167
196
|
## 五、禁令
|
|
168
197
|
|
|
198
|
+
- **★ 禁止重复建报表(强制 · 2026-10-09)**:建表前**必须精确查重**
|
|
199
|
+
(`spec_lib.findReportsByName(appId, name)` = `listAppReports` + 名称归一化比对);
|
|
200
|
+
同名已存在 → **不建新表**,把已有 `reportId` / 设计器地址交回,**`exit 3`**。
|
|
201
|
+
`build spec` 与 `create blank|template|quick` 均已内置该门禁(默认拒绝同名);
|
|
202
|
+
仅当用户**明确要求**才加 `--allow-duplicate`。
|
|
203
|
+
**禁止**为绕过查重而「先删旧表再建同名」(旧表可能已被使用 → 数据丢失风险)。注意点 **BUILD-40**。
|
|
204
|
+
- **★ 禁止空壳(强制)**:`blank` 只产出空报表 → 必须**同流程立刻填满**(`addDataset` → `saveReportDevInfo`),
|
|
205
|
+
失败/中止即 `lifecycle delete` 回收;正式搭表走 `e10-cli report build spec`(一条命令出表)。
|
|
206
|
+
自查:`e10-cli report cleanup shells --app-id <appId> --list`。
|
|
169
207
|
- 禁止同时依赖 `reportModel>0` 与 `quicklyParam` 指望「都生效」——服务端 **模板优先**,快速构建被跳过。
|
|
170
208
|
- 禁止把 `assets/template-list-report.json` 当成平台 `getReportModels` 模板去传 `reportModel`。
|
|
171
209
|
- 禁止未登录乱扫前端 bundle 猜参数;以本指南 + 源码 bean 为准。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# E-Builder 报表数据模型参考
|
|
2
2
|
|
|
3
|
-
> **冷启动禁止通读**:见 `
|
|
3
|
+
> **冷启动禁止通读**:见 `api-report-build-fast-path.md`。仅生成整包 ReportProps / 深分析时再读。
|
|
4
4
|
|
|
5
5
|
## 一、核心枚举类型
|
|
6
6
|
|
|
@@ -100,16 +100,16 @@
|
|
|
100
100
|
|
|
101
101
|
```typescript
|
|
102
102
|
interface ReportProps {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
103
|
+
config: {
|
|
104
|
+
fields: CellProps[]; // 字段列表
|
|
105
|
+
ds: SourceTableResult[]; // 数据源列表
|
|
106
|
+
sheetProps?: { // 工作表属性
|
|
107
|
+
rowHeights: Record<number, number>;
|
|
108
|
+
colWidths: Record<number, number>;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
name: string; // 报表名称
|
|
112
|
+
appId: string; // 应用ID
|
|
113
113
|
}
|
|
114
114
|
```
|
|
115
115
|
|
|
@@ -117,24 +117,24 @@ interface ReportProps {
|
|
|
117
117
|
|
|
118
118
|
```typescript
|
|
119
119
|
interface CellProps {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
120
|
+
cellType: CellTypeEnum; // 字段类型
|
|
121
|
+
displayType: DisplayTypeEnum; // 显示方式
|
|
122
|
+
expandType: ExpandTypeEnum; // 扩展方向
|
|
123
|
+
dataSet: string; // 数据集主键
|
|
124
|
+
field: string; // 字段主键
|
|
125
|
+
leftParent: CellParentValueType; // 左父格 [类型, x, y]
|
|
126
|
+
topParent: CellParentValueType; // 上父格 [类型, x, y]
|
|
127
|
+
groupType: GroupTypeEnum; // 分组类型
|
|
128
|
+
countType: CountTypeEnum; // 统计类型
|
|
129
|
+
orderType: OrderTypeEnum; // 排序方式
|
|
130
|
+
cellText: string; // 内容/显示文本
|
|
131
|
+
x: number; // 行号
|
|
132
|
+
y: number; // 列号
|
|
133
|
+
rowCount: number; // 所占行数
|
|
134
|
+
colCount: number; // 所占列数
|
|
135
|
+
style?: SpreadJSCellStyle; // 单元格样式
|
|
136
|
+
leftFilterField?: FilterFieldItem[]; // 左父格过滤
|
|
137
|
+
topFilterField?: FilterFieldItem[]; // 上父格过滤
|
|
138
138
|
}
|
|
139
139
|
```
|
|
140
140
|
|
|
@@ -142,19 +142,19 @@ interface CellProps {
|
|
|
142
142
|
|
|
143
143
|
```typescript
|
|
144
144
|
interface SpreadJSCellStyle {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
145
|
+
backColor?: string; // 背景颜色
|
|
146
|
+
foreColor?: string; // 字体颜色
|
|
147
|
+
hAlign?: number; // 水平对齐 (0=左, 1=居中, 2=右)
|
|
148
|
+
vAlign?: number; // 垂直对齐 (0=上, 1=居中, 2=下)
|
|
149
|
+
font?: string; // 字体 (如 "12px Arial")
|
|
150
|
+
formatter?: string; // 数字格式
|
|
151
|
+
borderLeft?: { color: string; style: number };
|
|
152
|
+
borderTop?: { color: string; style: number };
|
|
153
|
+
borderRight?: { color: string; style: number };
|
|
154
|
+
borderBottom?: { color: string; style: number };
|
|
155
|
+
textIndent?: number; // 缩进
|
|
156
|
+
wordWrap?: boolean; // 自动换行
|
|
157
|
+
textDecoration?: number; // 文本装饰 (0=无, 1=下划线, 2=删除线)
|
|
158
158
|
}
|
|
159
159
|
```
|
|
160
160
|
|
|
@@ -166,28 +166,28 @@ interface SpreadJSCellStyle {
|
|
|
166
166
|
|
|
167
167
|
// 父格过滤(跨数据源关联)
|
|
168
168
|
type ParentFilter = {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
parentField?: string; // 父格字段 fieldKey
|
|
170
|
+
currentField?: string; // 当前字段 fieldKey
|
|
171
|
+
type?: FilterOptionEnum; // 匹配关系(如 Equals)
|
|
172
|
+
id?: string; // 必须等于 currentField(设计器回显)
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
// 自定义过滤(单元格级)
|
|
176
176
|
type CustomFilter = {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
currentField?: string; // fieldKey
|
|
178
|
+
type?: FilterOptionEnum; // 平台枚举,禁止 eq/uncontains/empty/nempty
|
|
179
|
+
value?: string;
|
|
180
|
+
id?: string; // 必须等于 currentField
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
// 从属关系(VLOOKUP 映射,与 leftFilterField 配套)
|
|
184
|
-
type Subordination = [string, string];
|
|
184
|
+
type Subordination = [string, string]; // [父格fieldKey, 当前fieldKey]
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
// 数据行过滤
|
|
188
188
|
type DataFilter = {
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
currentField?: DataRowFilterType; // Before|Last|Odd|Even|Designates
|
|
190
|
+
value?: string;
|
|
191
191
|
}
|
|
192
192
|
```
|
|
193
193
|
|
|
@@ -218,17 +218,17 @@ type DataFilter = {
|
|
|
218
218
|
|
|
219
219
|
```java
|
|
220
220
|
class ReportAIDto {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
221
|
+
Long appId; // 所属应用ID
|
|
222
|
+
Long reportId; // 报表ID(更新时使用)
|
|
223
|
+
String reportName; // 报表名称
|
|
224
|
+
String formId; // 数据源表单ID
|
|
225
|
+
String formName; // 数据源表单名称
|
|
226
|
+
List<FieldAIDto> groupFields; // 分组字段(维度字段)
|
|
227
|
+
List<FieldAIDto> listFields; // 列表字段(不分组只展示)
|
|
228
|
+
List<FieldAIDto> targetFields; // 指标/度量字段(要聚合计算的字段)
|
|
229
|
+
String theme; // 报表主题/样式
|
|
230
|
+
List<FieldAIDto> queryFields; // 查询筛选字段
|
|
231
|
+
String version; // 版本标识("v2"表示直接创建)
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
@@ -236,9 +236,9 @@ class ReportAIDto {
|
|
|
236
236
|
|
|
237
237
|
```java
|
|
238
238
|
class FieldAIDto {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
String fieldName; // 字段显示名称(中文业务名)
|
|
240
|
+
String groupType; // 分组时间粒度(仅分组字段使用)
|
|
241
|
+
String countType; // 聚合计算类型(仅指标字段使用)
|
|
242
242
|
}
|
|
243
243
|
```
|
|
244
244
|
|
|
@@ -290,25 +290,25 @@ class FieldAIDto {
|
|
|
290
290
|
|
|
291
291
|
```typescript
|
|
292
292
|
interface StyleConfig {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
293
|
+
custom: boolean; // 是否自定义
|
|
294
|
+
theme: number | null; // 主题编号 (1-10)
|
|
295
|
+
alternateMode: 'row' | 'col'; // 交替方式
|
|
296
|
+
titleBg: string; // 标题背景色
|
|
297
|
+
alternateBg1: string; // 交替背景色1
|
|
298
|
+
alternateBg2: string; // 交替背景色2
|
|
299
|
+
titleStyle: {
|
|
300
|
+
fontSize: number;
|
|
301
|
+
color: string;
|
|
302
|
+
bold: boolean;
|
|
303
|
+
italic: boolean;
|
|
304
|
+
};
|
|
305
|
+
bodyStyle: {
|
|
306
|
+
fontSize: number;
|
|
307
|
+
color: string;
|
|
308
|
+
bold: boolean;
|
|
309
|
+
italic: boolean;
|
|
310
|
+
};
|
|
311
|
+
area: { row: number; col: number; rowCount: number; colCount: number } | null;
|
|
312
312
|
}
|
|
313
313
|
```
|
|
314
314
|
|
|
@@ -318,9 +318,9 @@ interface StyleConfig {
|
|
|
318
318
|
|
|
319
319
|
```typescript
|
|
320
320
|
interface ConditionRuleType {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
321
|
+
highlightDatas?: HightlightRuleType[]; // 高亮规则
|
|
322
|
+
lineDatas?: DataLineRuleType[]; // 数据条规则
|
|
323
|
+
iconDatas?: DataIconRuleType[]; // 图标集规则
|
|
324
324
|
}
|
|
325
325
|
```
|
|
326
326
|
|
|
@@ -328,18 +328,18 @@ interface ConditionRuleType {
|
|
|
328
328
|
|
|
329
329
|
```typescript
|
|
330
330
|
interface HightlightRuleType {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
331
|
+
index: number;
|
|
332
|
+
conditionType?: 'currCell' | 'otherCell';
|
|
333
|
+
relation?: HighlightRelationEnum; // equals/greater/less/interval/include/happenDate/sameValue 等
|
|
334
|
+
value1?: any;
|
|
335
|
+
value2?: any;
|
|
336
|
+
fontFamily?: string;
|
|
337
|
+
fontSize?: string;
|
|
338
|
+
bold?: boolean;
|
|
339
|
+
italic?: boolean;
|
|
340
|
+
underline?: boolean;
|
|
341
|
+
backColor?: string;
|
|
342
|
+
foreColor?: string;
|
|
343
343
|
}
|
|
344
344
|
```
|
|
345
345
|
|
|
@@ -347,14 +347,14 @@ interface HightlightRuleType {
|
|
|
347
347
|
|
|
348
348
|
```typescript
|
|
349
349
|
interface DataLineRuleType {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
350
|
+
index: number;
|
|
351
|
+
leftType: 'min' | 'custom';
|
|
352
|
+
leftValue?: number;
|
|
353
|
+
rightType: 'max' | 'custom';
|
|
354
|
+
rightValue?: number;
|
|
355
|
+
gradient?: 'gradient' | 'solid';
|
|
356
|
+
color?: string;
|
|
357
|
+
negativeFillColor?: string;
|
|
358
358
|
}
|
|
359
359
|
```
|
|
360
360
|
|
|
@@ -362,32 +362,32 @@ interface DataLineRuleType {
|
|
|
362
362
|
|
|
363
363
|
```typescript
|
|
364
364
|
interface IReportConditionItemType {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
365
|
+
uuid: string;
|
|
366
|
+
id: string;
|
|
367
|
+
text: string; // 条件名称
|
|
368
|
+
displayType: ReportConditionDisplayTypeEnum; // 显示类型
|
|
369
|
+
selectOptions: any[];
|
|
370
|
+
filterOptions: any[];
|
|
371
|
+
defaultValue: [string, string];
|
|
372
|
+
param: string;
|
|
373
|
+
filterType: 'default' | 'sql';
|
|
374
|
+
conditions: IReportConditionRel[]; // 条件关联
|
|
375
|
+
showOrder: number;
|
|
376
|
+
queryType?: 'filter' | 'advance';
|
|
377
377
|
}
|
|
378
378
|
|
|
379
379
|
// 查询条件显示类型
|
|
380
380
|
enum ReportConditionDisplayTypeEnum {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
381
|
+
text = 'text', // 文本
|
|
382
|
+
number = 'number', // 数字
|
|
383
|
+
select = 'select', // 下拉选择
|
|
384
|
+
cascader = 'cascader', // 级联
|
|
385
|
+
date = 'date', // 日期范围
|
|
386
|
+
singleDate = 'singleDate', // 单日期
|
|
387
|
+
eBuilder = 'eBuilder', // e-builder组件
|
|
388
|
+
browser = 'browser', // 浏览框
|
|
389
|
+
custom = 'custom', // 自定义
|
|
390
|
+
time = 'time' // 时间
|
|
391
391
|
}
|
|
392
392
|
```
|
|
393
393
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 报表搭建完成交付规范(强制)
|
|
2
2
|
|
|
3
|
-
> **冷启动**:开场只读 `
|
|
3
|
+
> **冷启动**:开场只读 `api-report-build-fast-path.md`;交链后禁止续跑(含 verify/HTML)。
|
|
4
4
|
> **适用范围**:凡通过本 Skill 完成「线上建表 / 布局落库」或「需求分析」的任务。
|
|
5
5
|
> **优先级**:高于 Agent 默认收尾习惯。
|
|
6
6
|
|
|
@@ -38,6 +38,26 @@
|
|
|
38
38
|
|
|
39
39
|
**禁止**为下列事项拖延或续跑:视觉比对、多轮 `getReportDevInfo`、SpreadJS 黑盒、HTML、verify、预聚合、需求分析、配置检测、「再确认一下」。
|
|
40
40
|
|
|
41
|
+
### 地址格式(硬规则 · 2026-09-15 用户强调 · 2026-10-29 收口为三道防线)
|
|
42
|
+
|
|
43
|
+
- **必须纯文本**给出完整设计器地址:`https://<host>/sp/edc/report/designer/<reportId>`
|
|
44
|
+
- ★ **`designer/` vs `design/` 一词之差(DELIVERY-3)**:
|
|
45
|
+
- `/sp/edc/report/designer/<reportId>` = **设计器页面**(给人打开、交付唯一正确形态);
|
|
46
|
+
- `/sp/edc/report/design/<id>` = **dev 记录初始化接口**(BUILD-50 建壳用的 GET,机器用,用户打不开)。
|
|
47
|
+
- **唯一构造器**:`spec_lib.designerUrlOf(reportId)` —— 所有交付出口一律走它,**禁止手拼**(协议按部署自动取 http/https;兼容旧双参 `designerUrlOf(host, reportId)`)。曾因误写 `/design/` 被用户截图质问。
|
|
48
|
+
- **交付前硬校验**:`spec_lib.assertDesignerUrl(url, reportId)` —— 非 `/designer/<reportId>` 形态或 reportId 不匹配 ⇒ **throw,宁失败不交假链**。
|
|
49
|
+
- ⚠ **`/sp/edc/report/design/<id>`(含 `?appId=…&type=1&from=management` 变体)是 BUILD-50 初始化 dev 记录的接口端点**,不是设计器页面地址,**禁止交付**(注意点 DELIVERY-5;`doctor scripts` 的 `designurl` 项把守)。
|
|
50
|
+
- **禁止**把 reportId / 地址放进 markdown 加粗、反引号或其它修饰中 —— 用户端曾原样渲染出 `**`,
|
|
51
|
+
被质疑「返回的报表id是个什么」。地址不可信 = 交付失败。
|
|
52
|
+
- reportId 与地址同段给出,不再单独罗列裸 ID 作为「地址」。
|
|
53
|
+
|
|
54
|
+
### 预聚合(建表阶段必做 · 不属交付后动作)
|
|
55
|
+
|
|
56
|
+
- 用户硬规则(多次强调):**表单中存在不支持预聚合的字段 → 必须关闭 dataPreAgg**。
|
|
57
|
+
- 执行时点:`addDataset` 后、落库前(`e10-cli report preagg check|disable --apply`),属搭建流程的一部分。
|
|
58
|
+
- 关闭验证:回读 `sheetProps.sheetConfig` 含 `"dataPreAgg":false`。
|
|
59
|
+
- 交付后**不再**因预聚合续跑(见上文「搭完即停」)。
|
|
60
|
+
|
|
41
61
|
### 与门禁
|
|
42
62
|
|
|
43
63
|
- **硬失败** → 不交假链;删空壳(`failure-cleanup-and-nonblocking-guide.md`)。
|
|
@@ -69,7 +89,7 @@
|
|
|
69
89
|
仅用户明确要求时:
|
|
70
90
|
|
|
71
91
|
```bash
|
|
72
|
-
python
|
|
92
|
+
python --config <guide_config.json> --output <输出路径>.html
|
|
73
93
|
```
|
|
74
94
|
|
|
75
95
|
建议:`outputs/<reportId>/《报表名称》·搭建配置指导.html`
|
|
@@ -96,6 +116,6 @@ python (未移植,需要时另议) --config <guide_config.json> --output <
|
|
|
96
116
|
## 五、相关文档
|
|
97
117
|
|
|
98
118
|
- `api-report-build-fast-path.md`
|
|
99
|
-
- `
|
|
119
|
+
- `api-report-build-fast-path.md`
|
|
100
120
|
- `report-requirement-analysis-template.md`(仅分析意图)
|
|
101
121
|
- `failure-cleanup-and-nonblocking-guide.md`
|