weaver-e10-builder 1.6.10 → 1.6.11
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/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 +1066 -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/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-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/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/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/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/ecodecmd/src/build.js +36 -12
- package/package.json +1 -1
- package/skill-docs/SKILL.md +4 -4
- package/skill-docs/_catalog.md +10 -1
- package/skill-docs/references/coding/guide-page-code.md +95 -0
- package/skill-docs/references/components/ref-component-common.md +98 -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 +59 -0
- package/skill-docs/references/report/event-hreflink-guide.md +53 -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 +145 -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-workflow.md +6 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# 分页分组报表 · 案例解析(SKILL A0.15 · 场景 E)
|
|
2
|
+
|
|
3
|
+
> 案例(官方 demo「产品信息统计_标题重复/页内合计/条件预警」)五个特性 → 机制 → CLI 落点全解析。
|
|
4
|
+
> 固化:2026-10-29。已固化项走 `build spec` / 场景 B;待验证项如实标注,不冒充已验证。
|
|
5
|
+
|
|
6
|
+
## 一、案例结构(截图解析)
|
|
7
|
+
|
|
8
|
+
- **表头行**:序号 | 产品名称 | 单价 | 库存量 | 订购量 | 订购金额(整行 Const)
|
|
9
|
+
- **分组标题带**:`产品类别:` + 类别名称字段(如「饮料」)—— 该行**随类别扩展动态重复**(特性①)
|
|
10
|
+
- **明细带**:序号(分组式编号)+ 产品名称/单价/库存量/订购量/订购金额 —— 每类别下展开其产品(特性②)
|
|
11
|
+
- **页内合计带**:每页底部「页内合计:」+ 金额汇总(8287.5)(特性④)
|
|
12
|
+
- 每页固定 10 行明细(特性③);条件预警两处(特性⑤)
|
|
13
|
+
|
|
14
|
+
## 二、特性 → 机制 → CLI 落点
|
|
15
|
+
|
|
16
|
+
| # | 特性 | 机制(workbook 层) | CLI 落点 | 状态 |
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
| ① | 动态重复标题行 | 分组标题带整行(Const「产品类别:」+ 类别 Field 格)左父格绑**类别字段格** → 随类别扩展整块复制(= 段落块机制的多带版) | 多带结构走 `buildWorkbookFromFields` 重建路径(rebuild);声明式待固化 | ✅ 机制已验证(场景A 同源) |
|
|
19
|
+
| ② | 分组式编号(类别→产品两层) | 类别 Field 格 = 扩展根(`isActiveParent:true`);明细带全部格左父格**跨带绑类别格**;序号列 = `SequenceNumber`(场景 B,**禁公式生号**) | `columns[].cellType:"seq"`(明细带)+ 跨带父格链 | ✅ |
|
|
20
|
+
| ③ | 页内固定行数 | `pageSetting.pagination:true` + `pageRowCount:N`(每页行数) | **`build spec` 的 `layout.pageRowCount:N`**(本次固化,saveReportWithCacheConfig 通道) | ✅ 已固化 |
|
|
21
|
+
| ④ | 页内汇总统计 | 每页底部合计带 Formula(=SUM(明细带));**「页内」语义**(随分页逐页汇总)依赖平台渲染 | 公式四件套(BUILD-46/49)落 Formula 格可做;**页内逐页汇总是否原生支持待设计器确认** | ⚠️ 待验证 |
|
|
22
|
+
| ⑤ | 条件预警(单元格级) | `conditionRule.highlightDatas`(greater + foreColor 红) | **`columns[].rule:{"highlight":{"op":">","value1":"1000","foreColor":"#FF0000"}}`** | ✅ 已有 |
|
|
23
|
+
|
|
24
|
+
**条件预警边界**:demo 中「库存量<订购量 → 整行白底高亮」是**跨格对比 + 行级**条件格式;
|
|
25
|
+
现 CLI `rule` 只支持**格级**(当前格 vs 常量)。跨格/行级 `conditionType` 待设计器确认后固化(同页内合计)。
|
|
26
|
+
|
|
27
|
+
## 三、已固化用法
|
|
28
|
+
|
|
29
|
+
### 3.1 每页固定行数(build spec)
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"appId": "...", "name": "产品信息统计", "form": "产品信息",
|
|
34
|
+
"layout": { "title": "产品信息统计表", "freezeRows": 1, "pageRowCount": 10 },
|
|
35
|
+
"columns": [
|
|
36
|
+
{ "title": "序号", "cellType": "seq", "width": 60 },
|
|
37
|
+
{ "title": "产品名称", "field": "产品名称", "width": 140 },
|
|
38
|
+
{ "title": "单价", "field": "单价", "format": "value" },
|
|
39
|
+
{ "title": "库存量", "field": "库存量", "format": "int" },
|
|
40
|
+
{ "title": "订购量", "field": "订购量", "format": "int" },
|
|
41
|
+
{ "title": "订购金额", "field": "订购金额", "format": "value",
|
|
42
|
+
"rule": { "highlight": { "op": ">", "value1": "1000", "foreColor": "#FF0000", "bold": true } } }
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- `pageRowCount>0` → 落库自动追加 `saveReportWithCacheConfig`(`pagination:true` + `pageRowCount`);
|
|
48
|
+
失败 exitCode=2 并打 `saveReportWithCacheConfig FAIL`。
|
|
49
|
+
- 回读:`GET allPageSetting` 或设计器「页面 → 打印与分页」核对每页行数。
|
|
50
|
+
- 「不足 10 行补空白行」是平台渲染行为,**验证项**(与 cell-limit 渲染守卫无冲突,pageRowCount 仅分页尺寸)。
|
|
51
|
+
|
|
52
|
+
### 3.2 分组式编号
|
|
53
|
+
|
|
54
|
+
明细带序号列一律 `cellType:"seq"`(场景 B);类别格为扩展根;**禁止公式生号**。
|
|
55
|
+
|
|
56
|
+
## 四、搭建提示语句(用户照此提需求)
|
|
57
|
+
|
|
58
|
+
> 搭一张分页分组报表(appId <appId>,数据源 <表名>):分组标题带「产品类别:+类别」(随类别动态重复);
|
|
59
|
+
> 明细带:序号(分组式编号 seq)+ 产品名称/单价/库存量/订购量/订购金额;每页固定 <N> 行(layout.pageRowCount);
|
|
60
|
+
> 订购金额 >1000 红色高亮(rule highlight);库存量<订购量整行预警与页内合计属设计器确认项,先按格级高亮+合计带公式落库。
|
|
61
|
+
> 用 `e10-cli report build spec` 落库,回读验收格数/父格链/条件格式/pageSetting。
|
|
62
|
+
|
|
63
|
+
## 五、关联
|
|
64
|
+
|
|
65
|
+
- 场景 B(自增序号)/ 场景 A(多带父格)`branch-scene-guide.md` · `expansion-block-parent-config-guide.md`
|
|
66
|
+
- 公式格四件套 `formula-cell-api-guide.md`(合计带 Formula 必读)
|
|
67
|
+
- 条件格式 `condition-format-guide.md` · 分页 `designer-blank-prevention-guide.md`(scrollPage/pageRowCount)
|
|
68
|
+
- 卡片段落版式 `card-report-guide.md` §3.1(标题行随块复制同源机制)
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
3. 结合已规划的报表字段(displayType、customFilterField)运行检测脚本
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
|
|
31
|
+
e10-cli report py preagg --fields-json <fields.json> [--layout-json <report_fields.json>]
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
---
|
|
@@ -59,12 +59,12 @@ python e10-cli report py preagg --fields-json <fields.json> [--layout-json <repo
|
|
|
59
59
|
|
|
60
60
|
```json
|
|
61
61
|
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
"0": {
|
|
63
|
+
"rowHeader": 0,
|
|
64
|
+
"colHeader": 0,
|
|
65
|
+
"gridLine": 0,
|
|
66
|
+
"sheetConfig": "{\"dataPreAgg\":false,\"simpleList\":false}"
|
|
67
|
+
}
|
|
68
68
|
}
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -74,27 +74,38 @@ python e10-cli report py preagg --fields-json <fields.json> [--layout-json <repo
|
|
|
74
74
|
|
|
75
75
|
```json
|
|
76
76
|
"sheetProps": {
|
|
77
|
-
|
|
77
|
+
"sheetConfig": "{\"dataPreAgg\":false,\"simpleList\":false}"
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
### 4.3 脚本辅助
|
|
82
82
|
|
|
83
|
-
`
|
|
83
|
+
`e10-cli report py preagg` 输出:
|
|
84
84
|
|
|
85
85
|
```json
|
|
86
86
|
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
"dataPreAgg": false,
|
|
88
|
+
"reasons": ["字段[备注] usage=list 不支持预聚合", "…"],
|
|
89
|
+
"sheetConfig": "{\"dataPreAgg\":false,\"simpleList\":false}"
|
|
90
90
|
}
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
---
|
|
94
94
|
|
|
95
|
+
### 4.4 已验证写入路径(★ 2026-09-15 验证 · 交叉表/含公式格报表适用)
|
|
96
|
+
|
|
97
|
+
`sheetConfig` 实际落点是 **workbook 的 `sheet.tag.sheetConfig`**(服务端 `sheetProps.sheetConfig` 回读)。对已有报表(尤其含 Formula 格):
|
|
98
|
+
|
|
99
|
+
1. `getReportDevInfo` 取 `fields[]`(全键)+ `sheetProps[0]`
|
|
100
|
+
2. 反向重建 workbook:格子用构建态完整结构(typeName/editorType/subordination,Formula 格 cell 级带 `formula` 键),sheet 骨架按 `e10-cli report fix table-name` 的 18 键形态(theme/selections/colHeaderData/rowHeaderData 等一个不少),`tag.sheetConfig = {dataPreAgg:false, simpleList:false}`
|
|
101
|
+
3. 保存走与 build spec 同通道:`saveReportDevInfo` form(`designKey:''` + gzip base64)——勿走 fix 门禁授权路径
|
|
102
|
+
4. 回读确认:fields 数不变、Formula 格数不变、`sheetProps.sheetConfig` 含 `"dataPreAgg":false`
|
|
103
|
+
|
|
104
|
+
验证:23 格(Formula 10)692ms 落库全存活,合并/父格不变,verify self 0 错 0 警。
|
|
105
|
+
|
|
95
106
|
## 五、Agent 流程嵌入
|
|
96
107
|
|
|
97
|
-
1. 获取字段元数据 → 运行 `
|
|
108
|
+
1. 获取字段元数据 → 运行 `e10-cli report py preagg`
|
|
98
109
|
2. 若 `dataPreAgg=false`,在 save 载荷中写入 `sheetConfig`,并在 HTML 手册 `tips` 中注明「已关闭数据预聚合:原因…」
|
|
99
110
|
3. 保存后 `getReportDevInfo` / 设计器「页面 → 解析优化」确认开关状态
|
|
100
111
|
|