weaver-e10-builder 1.5.14 → 1.5.16

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.
Files changed (156) hide show
  1. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  2. package/dist/commands/form-add-detail-table.js +37 -17
  3. package/dist/commands/form-add-detail-table.js.map +1 -1
  4. package/dist/commands/form-list-custom.d.ts +5 -0
  5. package/dist/commands/form-list-custom.d.ts.map +1 -0
  6. package/dist/commands/form-list-custom.js +24 -0
  7. package/dist/commands/form-list-custom.js.map +1 -0
  8. package/dist/commands/form-list-search-group.d.ts.map +1 -1
  9. package/dist/commands/form-list-search-group.js +101 -7
  10. package/dist/commands/form-list-search-group.js.map +1 -1
  11. package/dist/commands/form-list.d.ts.map +1 -1
  12. package/dist/commands/form-list.js +45 -1
  13. package/dist/commands/form-list.js.map +1 -1
  14. package/dist/commands/form-permission.d.ts.map +1 -1
  15. package/dist/commands/form-permission.js +10 -8
  16. package/dist/commands/form-permission.js.map +1 -1
  17. package/dist/commands/form.d.ts.map +1 -1
  18. package/dist/commands/form.js +54 -5
  19. package/dist/commands/form.js.map +1 -1
  20. package/dist/commands/menu.d.ts.map +1 -1
  21. package/dist/commands/menu.js +98 -1
  22. package/dist/commands/menu.js.map +1 -1
  23. package/dist/commands/report-cell.d.ts +3 -0
  24. package/dist/commands/report-cell.d.ts.map +1 -0
  25. package/dist/commands/report-cell.js +365 -0
  26. package/dist/commands/report-cell.js.map +1 -0
  27. package/dist/commands/wf-form.d.ts +2 -0
  28. package/dist/commands/wf-form.d.ts.map +1 -1
  29. package/dist/commands/wf-form.js +10 -9
  30. package/dist/commands/wf-form.js.map +1 -1
  31. package/dist/commands/workflow-base-command.d.ts +4 -0
  32. package/dist/commands/workflow-base-command.d.ts.map +1 -0
  33. package/dist/commands/workflow-base-command.js +6 -0
  34. package/dist/commands/workflow-base-command.js.map +1 -0
  35. package/dist/commands/workflow-base-settings.d.ts.map +1 -1
  36. package/dist/commands/workflow-base-settings.js +4 -1
  37. package/dist/commands/workflow-base-settings.js.map +1 -1
  38. package/dist/commands/workflow-basic-info.d.ts +5 -0
  39. package/dist/commands/workflow-basic-info.d.ts.map +1 -0
  40. package/dist/commands/workflow-basic-info.js +47 -0
  41. package/dist/commands/workflow-basic-info.js.map +1 -0
  42. package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
  43. package/dist/commands/workflow-create-workflow.js +49 -83
  44. package/dist/commands/workflow-create-workflow.js.map +1 -1
  45. package/dist/commands/workflow-function-settings.d.ts +3 -0
  46. package/dist/commands/workflow-function-settings.d.ts.map +1 -0
  47. package/dist/commands/workflow-function-settings.js +48 -0
  48. package/dist/commands/workflow-function-settings.js.map +1 -0
  49. package/dist/commands/workflow-setting.d.ts.map +1 -1
  50. package/dist/commands/workflow-setting.js +137 -406
  51. package/dist/commands/workflow-setting.js.map +1 -1
  52. package/dist/commands/workflow.d.ts.map +1 -1
  53. package/dist/commands/workflow.js +19 -37
  54. package/dist/commands/workflow.js.map +1 -1
  55. package/dist/index.js +4 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/services/form-field-build.d.ts +13 -0
  58. package/dist/services/form-field-build.d.ts.map +1 -1
  59. package/dist/services/form-field-build.js +18 -0
  60. package/dist/services/form-field-build.js.map +1 -1
  61. package/dist/services/form-field-dataset.d.ts +101 -0
  62. package/dist/services/form-field-dataset.d.ts.map +1 -0
  63. package/dist/services/form-field-dataset.js +180 -0
  64. package/dist/services/form-field-dataset.js.map +1 -0
  65. package/dist/services/form-field-template.d.ts +15 -10
  66. package/dist/services/form-field-template.d.ts.map +1 -1
  67. package/dist/services/form-field-template.js +30 -15
  68. package/dist/services/form-field-template.js.map +1 -1
  69. package/dist/services/form-layout-insert.d.ts +22 -0
  70. package/dist/services/form-layout-insert.d.ts.map +1 -1
  71. package/dist/services/form-layout-insert.js +88 -8
  72. package/dist/services/form-layout-insert.js.map +1 -1
  73. package/dist/services/form-list-search-custom.d.ts +25 -0
  74. package/dist/services/form-list-search-custom.d.ts.map +1 -0
  75. package/dist/services/form-list-search-custom.js +98 -0
  76. package/dist/services/form-list-search-custom.js.map +1 -0
  77. package/dist/services/form-list-search-group.d.ts +36 -2
  78. package/dist/services/form-list-search-group.d.ts.map +1 -1
  79. package/dist/services/form-list-search-group.js +89 -10
  80. package/dist/services/form-list-search-group.js.map +1 -1
  81. package/dist/services/form-list-search.d.ts +1 -0
  82. package/dist/services/form-list-search.d.ts.map +1 -1
  83. package/dist/services/form-list-search.js +5 -2
  84. package/dist/services/form-list-search.js.map +1 -1
  85. package/dist/services/form-permission-archive.d.ts +15 -2
  86. package/dist/services/form-permission-archive.d.ts.map +1 -1
  87. package/dist/services/form-permission-archive.js +22 -3
  88. package/dist/services/form-permission-archive.js.map +1 -1
  89. package/dist/services/form-physical-table.d.ts +17 -0
  90. package/dist/services/form-physical-table.d.ts.map +1 -1
  91. package/dist/services/form-physical-table.js +19 -0
  92. package/dist/services/form-physical-table.js.map +1 -1
  93. package/dist/services/form-sub-detail.d.ts +11 -0
  94. package/dist/services/form-sub-detail.d.ts.map +1 -1
  95. package/dist/services/form-sub-detail.js +23 -0
  96. package/dist/services/form-sub-detail.js.map +1 -1
  97. package/dist/services/menu-catalog.d.ts +11 -0
  98. package/dist/services/menu-catalog.d.ts.map +1 -1
  99. package/dist/services/menu-catalog.js +32 -0
  100. package/dist/services/menu-catalog.js.map +1 -1
  101. package/dist/services/report/cell-edit.d.ts +53 -0
  102. package/dist/services/report/cell-edit.d.ts.map +1 -0
  103. package/dist/services/report/cell-edit.js +137 -0
  104. package/dist/services/report/cell-edit.js.map +1 -0
  105. package/dist/services/report/cell-event.d.ts +28 -0
  106. package/dist/services/report/cell-event.d.ts.map +1 -0
  107. package/dist/services/report/cell-event.js +71 -0
  108. package/dist/services/report/cell-event.js.map +1 -0
  109. package/dist/services/report/cell-filter.d.ts +46 -0
  110. package/dist/services/report/cell-filter.d.ts.map +1 -0
  111. package/dist/services/report/cell-filter.js +153 -0
  112. package/dist/services/report/cell-filter.js.map +1 -0
  113. package/dist/services/workflow-basic-info.d.ts +27 -0
  114. package/dist/services/workflow-basic-info.d.ts.map +1 -0
  115. package/dist/services/workflow-basic-info.js +170 -0
  116. package/dist/services/workflow-basic-info.js.map +1 -0
  117. package/dist/services/workflow-function-management.d.ts +1 -1
  118. package/dist/services/workflow-function-settings.d.ts +32 -0
  119. package/dist/services/workflow-function-settings.d.ts.map +1 -0
  120. package/dist/services/workflow-function-settings.js +199 -0
  121. package/dist/services/workflow-function-settings.js.map +1 -0
  122. package/dist/services/workflow-sign-file-settings.d.ts +16 -0
  123. package/dist/services/workflow-sign-file-settings.d.ts.map +1 -0
  124. package/dist/services/workflow-sign-file-settings.js +80 -0
  125. package/dist/services/workflow-sign-file-settings.js.map +1 -0
  126. package/dist/services/workflow-submit-confirm.d.ts +14 -0
  127. package/dist/services/workflow-submit-confirm.d.ts.map +1 -0
  128. package/dist/services/workflow-submit-confirm.js +29 -0
  129. package/dist/services/workflow-submit-confirm.js.map +1 -0
  130. package/dist/services/workflow-tab-config.d.ts +3 -3
  131. package/dist/services/workflow-tab-config.d.ts.map +1 -1
  132. package/dist/services/workflow-tab-config.js +14 -12
  133. package/dist/services/workflow-tab-config.js.map +1 -1
  134. package/dist/services/workflow-tabs-editor.d.ts +28 -0
  135. package/dist/services/workflow-tabs-editor.d.ts.map +1 -0
  136. package/dist/services/workflow-tabs-editor.js +130 -0
  137. package/dist/services/workflow-tabs-editor.js.map +1 -0
  138. package/dist/services/workflow-watermark-template.d.ts +8 -0
  139. package/dist/services/workflow-watermark-template.d.ts.map +1 -0
  140. package/dist/services/workflow-watermark-template.js +78 -0
  141. package/dist/services/workflow-watermark-template.js.map +1 -0
  142. package/package.json +1 -1
  143. package/skill-docs/SKILL.md +4 -4
  144. package/skill-docs/_catalog.md +106 -104
  145. package/skill-docs/references/common/ref-cli-commands.md +696 -689
  146. package/skill-docs/references/form/guide-form-archive-permission.md +5 -2
  147. package/skill-docs/references/form/guide-form-layout-incremental.md +6 -4
  148. package/skill-docs/references/form/guide-form-view.md +423 -374
  149. package/skill-docs/references/form/ref-form-fields.md +1 -1
  150. package/skill-docs/references/report/cross-dataset-filter-guide.md +33 -19
  151. package/skill-docs/references/report/event-hreflink-guide.md +30 -0
  152. package/skill-docs/references/report/ref-report-commands.md +14 -0
  153. package/skill-docs/references/report/report-designer-feature-map.md +2 -2
  154. package/skill-docs/references/workflow/guide-base-auth-share-remind.md +126 -126
  155. package/skill-docs/references/workflow/guide-function-settings.md +112 -0
  156. package/skill-docs/references/workflow/guide-workflow.md +87 -8
@@ -1 +1 @@
1
- {"version":3,"file":"menu-catalog.d.ts","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-catalog.d.ts","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
@@ -162,12 +162,44 @@ export function siblingMenus(nodes, parentId) {
162
162
  export function siblingIndex(nodes, node) {
163
163
  return siblingMenus(nodes, node.parentId).findIndex((n) => n.id === node.id);
164
164
  }
165
+ /**
166
+ * `candidateId` 是否就是 `rootId` 本身,或在它的子树里。
167
+ * 移动菜单前用它拦住「移到自身 / 自己的子菜单下」这种会成环的请求。
168
+ */
169
+ export function isMenuInSubtree(nodes, rootId, candidateId) {
170
+ if (String(rootId) === String(candidateId))
171
+ return true;
172
+ const byId = new Map(nodes.map((n) => [n.id, n]));
173
+ let current = byId.get(String(candidateId));
174
+ const seen = new Set();
175
+ while (current && !seen.has(current.id)) {
176
+ if (String(current.parentId) === String(rootId))
177
+ return true;
178
+ seen.add(current.id);
179
+ current = byId.get(String(current.parentId));
180
+ }
181
+ return false;
182
+ }
165
183
  /** 调整已有菜单顺序的写报文:以原名重建 navigation,只换 `showOrder`。 */
166
184
  export function buildOrderNavigation(node, showOrder, appId) {
167
185
  const nav = buildRenameNavigation(node, node.name, appId);
168
186
  nav.showOrder = Number(showOrder);
169
187
  return nav;
170
188
  }
189
+ /**
190
+ * 移动已有菜单的写报文:同样以原名重建 navigation,只换父级 `pid`(可选 `showOrder`)。
191
+ *
192
+ * 写侧认的是 `pid`;读侧另一种桶用 `parentId`,记录里本来有哪个就一起改哪个。
193
+ */
194
+ export function buildMoveNavigation(node, parentId, appId, showOrder) {
195
+ const nav = buildRenameNavigation(node, node.name, appId);
196
+ nav.pid = String(parentId);
197
+ if ('parentId' in nav)
198
+ nav.parentId = String(parentId);
199
+ if (showOrder !== undefined)
200
+ nav.showOrder = Number(showOrder);
201
+ return nav;
202
+ }
171
203
  /** 按名称模糊找候选(用于「找不到」时给提示)。 */
172
204
  export function similarMenus(nodes, query, limit = 10) {
173
205
  const q = String(query ?? '').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"menu-catalog.js","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-catalog.js","sourceRoot":"","sources":["../../src/services/menu-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * 单元格级配置写入(筛选 / 事件链接)。
3
+ *
4
+ * 统一走「读 devInfo → 改字段与 workbook 里的 cellType → 双保存 → 回读比对」:
5
+ * - `getReportDevInfo` 返回的 `fields[]` 里,`customFilterField` / `dataFilterField` /
6
+ * `pcHreflink` 等是**顶层 JSON 串**;workbook 里同一份数据在 `style.cellType` 上。
7
+ * - 平台以 workbook 为落库源,解析后同步到 fields 表,所以两边都要改。
8
+ * - `saveReportDevInfo` 遇到 `designKey` 过期会**返回 code=200**、`data` 是一句
9
+ * 「您当前的数据不是最新的,请重新打开获取最新的数据!」。不识别这句话就会把
10
+ * 一次失败的保存当成成功 —— 这里识别后自动重读一次再写。
11
+ */
12
+ import type { ReportHttp } from './http.js';
13
+ export interface CellRef {
14
+ /** 行号(0-based,与 `fields[].x` 一致)。 */
15
+ x: number;
16
+ /** 列号(0-based,与 `fields[].y` 一致)。 */
17
+ y: number;
18
+ }
19
+ export interface CellEditContext {
20
+ http: ReportHttp;
21
+ appId: string;
22
+ reportId: string;
23
+ }
24
+ export interface ApplyCellEditOptions extends CellEditContext, CellRef {
25
+ /** 在字段记录(深拷贝)上做修改;拿不到 workbook 时由它重建。 */
26
+ patchFields: (fields: any[]) => void;
27
+ /** 在 workbook 单元格的 `style.cellType` 上做修改;线上 workbook 有内容时用它。 */
28
+ patchCellType: (cellType: any) => void;
29
+ /** 回读校验:对读回后的字段记录做断言,返回错误文案数组(空 = 通过)。 */
30
+ verify?: (field: any) => string[];
31
+ }
32
+ export interface ApplyCellEditResult {
33
+ fields: any[];
34
+ cell: any;
35
+ workbookSource: 'online' | 'fields';
36
+ }
37
+ /** `"1,0"` / `"1:0"` → `{x:1,y:0}`。 */
38
+ export declare function parseCellRef(input: string): CellRef;
39
+ export declare function cloneDeep<T>(v: T): T;
40
+ export declare function findCell(fields: any[], ref: CellRef): any;
41
+ /** 字段记录 → 平台三段式 fieldKey(`{dataSetId}.{sourceId}.{fieldName}`)。 */
42
+ export declare function fieldKeyOfCell(cell: any): string;
43
+ /** 保存返回的「设计数据已过期」是 code=200,只能看 data 文案。 */
44
+ export declare function isStaleDesignKey(res: any): boolean;
45
+ /**
46
+ * 应用一次单元格编辑并落库。
47
+ *
48
+ * `designKey` 过期时自动重读一次再写(只重试一次,避免并发编辑时无限覆盖别人的改动)。
49
+ */
50
+ export declare function applyCellEdit(http: ReportHttp, opts: ApplyCellEditOptions): Promise<ApplyCellEditResult>;
51
+ /** fields 记录里的 JSON 串字段 → 数组(空/坏值一律 [])。 */
52
+ export declare function jsonArrayOf(value: unknown): any[];
53
+ //# sourceMappingURL=cell-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-edit.d.ts","sourceRoot":"","sources":["../../../src/services/report/cell-edit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAU5C,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe,EAAE,OAAO;IACpE,yCAAyC;IACzC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrC,gEAAgE;IAChE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEpC;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,CAUzD;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAQhD;AAgBD,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGlD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAwE9B;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE,CASjD"}
@@ -0,0 +1,137 @@
1
+ import { getBaseInfo, getReportDevInfo, saveReportDevInfo, saveReportWithCacheConfig, } from './reports.js';
2
+ import { listDatasets } from './dataset.js';
3
+ import { buildWorkbookFromFields, countWorkbookCells } from './safe-save.js';
4
+ /** `"1,0"` / `"1:0"` → `{x:1,y:0}`。 */
5
+ export function parseCellRef(input) {
6
+ const m = String(input ?? '').trim().match(/^(\d+)\s*[,:,]\s*(\d+)$/);
7
+ if (!m)
8
+ throw new Error(`--cell 要写成「行,列」(如 1,0),收到「${input}」`);
9
+ return { x: Number(m[1]), y: Number(m[2]) };
10
+ }
11
+ export function cloneDeep(v) {
12
+ return JSON.parse(JSON.stringify(v));
13
+ }
14
+ export function findCell(fields, ref) {
15
+ const hit = (fields || []).find((f) => Number(f.x) === Number(ref.x) && Number(f.y) === Number(ref.y));
16
+ if (!hit) {
17
+ throw new Error(`单元格 (${ref.x},${ref.y}) 上没有字段记录;请先用 \`report read <报表ID> --json\` 确认坐标(x=行,y=列)`);
18
+ }
19
+ return hit;
20
+ }
21
+ /** 字段记录 → 平台三段式 fieldKey(`{dataSetId}.{sourceId}.{fieldName}`)。 */
22
+ export function fieldKeyOfCell(cell) {
23
+ const ds = String(cell?.dataSetId ?? '');
24
+ const src = String(cell?.nameIndex ?? '');
25
+ const name = String(cell?.name ?? '');
26
+ if (!ds || !src || !name) {
27
+ throw new Error('该单元格缺少 dataSetId / nameIndex / name,无法拼 fieldKey(不是数据字段格?)');
28
+ }
29
+ return `${ds}.${src}.${name}`;
30
+ }
31
+ /** 把 workbook 里对应坐标的 cellType 找出来改掉;返回是否命中。 */
32
+ function patchWorkbookCell(workbook, ref, patch) {
33
+ let hit = false;
34
+ for (const sheet of Object.values(workbook?.sheets || {})) {
35
+ const row = sheet?.data?.dataTable?.[String(ref.x)];
36
+ const cell = row && row[String(ref.y)];
37
+ if (cell?.style?.cellType) {
38
+ patch(cell.style.cellType);
39
+ hit = true;
40
+ }
41
+ }
42
+ return hit;
43
+ }
44
+ /** 保存返回的「设计数据已过期」是 code=200,只能看 data 文案。 */
45
+ export function isStaleDesignKey(res) {
46
+ const data = res?.data;
47
+ return typeof data === 'string' && /不是最新|重新打开/.test(data);
48
+ }
49
+ /**
50
+ * 应用一次单元格编辑并落库。
51
+ *
52
+ * `designKey` 过期时自动重读一次再写(只重试一次,避免并发编辑时无限覆盖别人的改动)。
53
+ */
54
+ export async function applyCellEdit(http, opts) {
55
+ let lastStale = false;
56
+ for (let attempt = 0; attempt < 2; attempt++) {
57
+ const base = await getBaseInfo(http, opts.reportId);
58
+ const dev = await getReportDevInfo(http, opts.reportId);
59
+ const fields = cloneDeep(dev.fields || []);
60
+ findCell(fields, opts); // 坐标不存在就当当场报错,不写半个格子
61
+ opts.patchFields(fields);
62
+ let workbookSource = 'fields';
63
+ let workbook;
64
+ if (countWorkbookCells(dev.workbookProps) > 0) {
65
+ const online = cloneDeep(dev.workbookProps);
66
+ if (patchWorkbookCell(online, opts, opts.patchCellType)) {
67
+ workbook = online;
68
+ workbookSource = 'online';
69
+ }
70
+ }
71
+ if (!workbook) {
72
+ // 线上 workbook 为空:用字段记录重建(平台解析后仍会回写 fields 表)
73
+ workbook = buildWorkbookFromFields(fields, (dev.sheetProps && dev.sheetProps[0]) || {});
74
+ }
75
+ const name = String(base.name || '');
76
+ const groupId = String(base.groupId ?? '0');
77
+ const nameLabelId = String(base.nameLabelId ?? '-1');
78
+ const saveRes = await saveReportDevInfo(http, {
79
+ appId: opts.appId,
80
+ reportId: opts.reportId,
81
+ name,
82
+ workbook,
83
+ designKey: String(dev.designKey || ''),
84
+ groupId,
85
+ nameLabelId,
86
+ });
87
+ if (isStaleDesignKey(saveRes)) {
88
+ lastStale = true;
89
+ if (attempt === 0)
90
+ continue; // 重新读一次 designKey 再来
91
+ throw new Error('报表设计数据已被其他页面改动(designKey 过期),重读一次后仍未通过;请关闭其他设计器页面后重试');
92
+ }
93
+ lastStale = false;
94
+ // 第二步带缓存保存是可选步骤:部分私有化环境没有该路由
95
+ try {
96
+ const datasets = await listDatasets(http, opts.reportId, opts.appId);
97
+ await saveReportWithCacheConfig(http, {
98
+ appId: opts.appId,
99
+ reportId: opts.reportId,
100
+ name,
101
+ workbook,
102
+ datasets,
103
+ groupId,
104
+ });
105
+ }
106
+ catch {
107
+ /* 降级为可选:dev 保存已经成功 */
108
+ }
109
+ const after = await getReportDevInfo(http, opts.reportId);
110
+ const afterFields = after.fields || [];
111
+ const cell = findCell(afterFields, opts);
112
+ if (opts.verify) {
113
+ const errors = opts.verify(cell);
114
+ if (errors.length) {
115
+ throw new Error(`保存后回读不一致:\n - ${errors.join('\n - ')}`);
116
+ }
117
+ }
118
+ return { fields: afterFields, cell, workbookSource };
119
+ }
120
+ // 理论到不了;保留兜底,避免 TS 认为可能 undefined
121
+ throw new Error(lastStale ? '设计数据过期,保存未生效' : '保存未生效');
122
+ }
123
+ /** fields 记录里的 JSON 串字段 → 数组(空/坏值一律 [])。 */
124
+ export function jsonArrayOf(value) {
125
+ if (Array.isArray(value))
126
+ return value;
127
+ if (value == null || value === '')
128
+ return [];
129
+ try {
130
+ const parsed = JSON.parse(String(value));
131
+ return Array.isArray(parsed) ? parsed : [];
132
+ }
133
+ catch {
134
+ return [];
135
+ }
136
+ }
137
+ //# sourceMappingURL=cell-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-edit.js","sourceRoot":"","sources":["../../../src/services/report/cell-edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 单元格事件(「事件」Tab):PC链接地址 / H5链接地址 / 打开方式。
3
+ *
4
+ * 落库键(设计器抓包,2026-10):
5
+ * - `pcHreflink` —— PC 端点击地址(可含 `{坐标}` / `{searchfield001}` / `$ds.field$`)
6
+ * - `h5Hreflink` —— 移动端地址,有值时覆盖 PC
7
+ * - `openType` —— `blank`(弹出页)/ `self`(当前页)/ `jsscript`(执行 js 代码)
8
+ *
9
+ * 运行时平台会把带链接的单元格换成 `BlankHerflinkCellType` / `SelfHerflinkCellType` /
10
+ * `JSScriptHerflinkCellType`,点击才可跳转;字段记录与 workbook `style.cellType`
11
+ * 两边都要写(平台解析后同步回 fields)。
12
+ */
13
+ export declare const OPEN_TYPE_LABELS: Record<string, string>;
14
+ export declare function resolveOpenType(input: unknown): string;
15
+ /** 全角符号会让运行时点不开(历史事故),写入前直接拦下。 */
16
+ export declare function assertAsciiPunctuation(link: string, flag: string): void;
17
+ /** 校验一条链接配置:空链接直接拒绝,js 代码不做 URL 校验。 */
18
+ export declare function validateCellLink(link: string, openType: string, flag: string): void;
19
+ export interface CellEventInfo {
20
+ pcHreflink: string;
21
+ h5Hreflink: string;
22
+ openType: string;
23
+ }
24
+ /** 回读字段记录上的事件三件套。 */
25
+ export declare function readCellEvents(cell: any): CellEventInfo;
26
+ /** `blank` / `self` / `jsscript` → 中文(列表输出)。 */
27
+ export declare function openTypeLabel(value: string): string;
28
+ //# sourceMappingURL=cell-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-event.d.ts","sourceRoot":"","sources":["../../../src/services/report/cell-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAInD,CAAC;AAQF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtD;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAUvE;AAED,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMnF;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAqB;AACrB,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAMvD;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * 单元格事件(「事件」Tab):PC链接地址 / H5链接地址 / 打开方式。
3
+ *
4
+ * 落库键(设计器抓包,2026-10):
5
+ * - `pcHreflink` —— PC 端点击地址(可含 `{坐标}` / `{searchfield001}` / `$ds.field$`)
6
+ * - `h5Hreflink` —— 移动端地址,有值时覆盖 PC
7
+ * - `openType` —— `blank`(弹出页)/ `self`(当前页)/ `jsscript`(执行 js 代码)
8
+ *
9
+ * 运行时平台会把带链接的单元格换成 `BlankHerflinkCellType` / `SelfHerflinkCellType` /
10
+ * `JSScriptHerflinkCellType`,点击才可跳转;字段记录与 workbook `style.cellType`
11
+ * 两边都要写(平台解析后同步回 fields)。
12
+ */
13
+ export const OPEN_TYPE_LABELS = {
14
+ blank: '弹出页',
15
+ self: '当前页',
16
+ jsscript: '执行js代码',
17
+ };
18
+ const OPEN_TYPE_ALIASES = {
19
+ 弹出页: 'blank', 新窗口: 'blank', 新页面: 'blank',
20
+ 当前页: 'self', 同页: 'self', 本页: 'self',
21
+ 执行js代码: 'jsscript', 执行js: 'jsscript', jsscript: 'jsscript', js: 'jsscript',
22
+ };
23
+ export function resolveOpenType(input) {
24
+ const raw = String(input ?? '').trim();
25
+ if (!raw)
26
+ return 'blank';
27
+ const lower = raw.toLowerCase();
28
+ if (['blank', 'self', 'jsscript'].includes(lower))
29
+ return lower;
30
+ const hit = OPEN_TYPE_ALIASES[raw] || OPEN_TYPE_ALIASES[lower];
31
+ if (hit)
32
+ return hit;
33
+ throw new Error(`不认识的打开方式「${raw}」。可用:弹出页 / 当前页 / 执行js代码(blank / self / jsscript)`);
34
+ }
35
+ /** 全角符号会让运行时点不开(历史事故),写入前直接拦下。 */
36
+ export function assertAsciiPunctuation(link, flag) {
37
+ const bad = [];
38
+ if (link.includes('?'))
39
+ bad.push('全角「?」');
40
+ if (link.includes('&'))
41
+ bad.push('全角「&」');
42
+ if (link.includes('='))
43
+ bad.push('全角「=」');
44
+ if (bad.length) {
45
+ throw new Error(`${flag} 里含${bad.join('、')},运行时点击会无反应;请换成半角的 ? & =`);
46
+ }
47
+ }
48
+ /** 校验一条链接配置:空链接直接拒绝,js 代码不做 URL 校验。 */
49
+ export function validateCellLink(link, openType, flag) {
50
+ const s = String(link ?? '').trim();
51
+ if (!s)
52
+ throw new Error(`${flag} 不能为空`);
53
+ assertAsciiPunctuation(s, flag);
54
+ if (openType === 'jsscript')
55
+ return;
56
+ if (/^\{\{/.test(s))
57
+ throw new Error(`${flag} 看起来是未替换的模板「${s.slice(0, 24)}」`);
58
+ }
59
+ /** 回读字段记录上的事件三件套。 */
60
+ export function readCellEvents(cell) {
61
+ return {
62
+ pcHreflink: String(cell?.pcHreflink ?? ''),
63
+ h5Hreflink: String(cell?.h5Hreflink ?? ''),
64
+ openType: String(cell?.openType ?? 'blank') || 'blank',
65
+ };
66
+ }
67
+ /** `blank` / `self` / `jsscript` → 中文(列表输出)。 */
68
+ export function openTypeLabel(value) {
69
+ return OPEN_TYPE_LABELS[value] || value;
70
+ }
71
+ //# sourceMappingURL=cell-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-event.js","sourceRoot":"","sources":["../../../src/services/report/cell-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IAChD,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;IACxC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU;CAC3E,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,kDAAkD,CAAC,CAAC;AACrF,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,IAAY;IAC/D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CACpD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAY;IAC3E,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IACxC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO;IACpC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAQD,qBAAqB;AACrB,MAAM,UAAU,cAAc,CAAC,IAAS;IACtC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;QAC1C,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,OAAO;KACvD,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * 单元格筛选:自定义筛选(customFilterField)与结果筛选(dataFilterField)。
3
+ *
4
+ * 落库形状以设计器抓包为准(2026-10,mulinquan):
5
+ * ```json
6
+ * [{ "index": 1,
7
+ * "currentField": "{dataSetId}.{sourceId}.{fieldName}",
8
+ * "type": "Equals",
9
+ * "value": ["1"] }]
10
+ * ```
11
+ * - **不带 `id`**(旧文档里 `id=currentField` 也能被平台接受,但设计器回写不带)
12
+ * - 选项类字段的 `value` 是**选项 valueKey 数组**;文本/数字是字符串
13
+ * - 结果筛选的 `currentField` 是枚举(`Before` / `Last` / `Odd` / `Even` / `Designates`)
14
+ */
15
+ import type { ReportHttp } from './http.js';
16
+ export type FilterKind = 'custom' | 'result';
17
+ /** 自定义筛选算子:平台 TitleCase 枚举。 */
18
+ export declare const CUSTOM_FILTER_OPS: Record<string, string>;
19
+ /** 结果筛选算子(UI「结果筛选」下拉)。 */
20
+ export declare const RESULT_FILTER_OPS: Record<string, string>;
21
+ /** 中文 / 英文 / 简写 → 平台枚举。 */
22
+ export declare function resolveFilterOp(kind: FilterKind, input: unknown): string;
23
+ /** 选项类字段:值要换成 valueKey 数组。 */
24
+ export declare function isOptionField(meta: any): boolean;
25
+ /** 值输入:逗号/中文逗号/分号分隔都行。 */
26
+ export declare function splitValues(raw: unknown): string[];
27
+ /** 选项名 / valueKey / 选项 id → valueKey;认不出就报错并列出可选值。 */
28
+ export declare function resolveOptionValueKey(meta: any, input: string): string;
29
+ /** 取某数据集的权威字段清单(用于解析选项 / 字段显示名)。 */
30
+ export declare function loadDatasetFields(http: ReportHttp, datasetId: string, reportId: string, appId: string): Promise<any[]>;
31
+ /** 在一个数据集的字段清单里按显示名 / 技术名找字段。 */
32
+ export declare function resolveDatasetField(fields: any[], input: string): any;
33
+ /** 自定义筛选的一条条件。 */
34
+ export declare function buildCustomFilterEntry(fieldKey: string, type: string, value: string | string[], index?: number): any;
35
+ /** 结果筛选的一条条件。 */
36
+ export declare function buildResultFilterEntry(type: string, value: string, index?: number): any;
37
+ /** 回读:把字段记录上的四种筛选都拆出来。 */
38
+ export declare function readCellFilters(cell: any): {
39
+ custom: any[];
40
+ result: any[];
41
+ left: any[];
42
+ top: any[];
43
+ };
44
+ /** 条件 → 人话(列表输出用)。 */
45
+ export declare function describeFilter(condition: any, fieldText?: (key: string) => string): string;
46
+ //# sourceMappingURL=cell-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-filter.d.ts","sourceRoot":"","sources":["../../../src/services/report/cell-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASpD,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIpD,CAAC;AAqBF,2BAA2B;AAC3B,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CA+BxE;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAKhD;AAED,0BAA0B;AAC1B,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAKlD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CActE;AAED,oCAAoC;AACpC,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GACnE,OAAO,CAAC,GAAG,EAAE,CAAC,CAMhB;AAED,iCAAiC;AACjC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAkBrE;AAED,kBAAkB;AAClB,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,SAAI,GAClE,GAAG,CAQL;AAED,iBAAiB;AACjB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,GAAG,CAElF;AAED,0BAA0B;AAC1B,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG;IAC1C,MAAM,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,GAAG,EAAE,GAAG,EAAE,CAAC;CACvD,CAOA;AAED,sBAAsB;AACtB,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAS1F"}
@@ -0,0 +1,153 @@
1
+ import { fieldsKeyOf } from './dataset.js';
2
+ import { jsonArrayOf } from './cell-edit.js';
3
+ /** 自定义筛选算子:平台 TitleCase 枚举。 */
4
+ export const CUSTOM_FILTER_OPS = {
5
+ 等于: 'Equals', 不等于: 'NotEquals',
6
+ 大于: 'Greater', 大于或等于: 'GreaterOrEquals',
7
+ 小于: 'Less', 小于或等于: 'LessOrEquals',
8
+ 开头是: 'StartsWith', 开头不是: 'NotStartsWith',
9
+ 结尾是: 'EndsWith', 结尾不是: 'NotEndsWith',
10
+ 包含: 'Contain', 不包含: 'NotContain',
11
+ 属于: 'Include', 不属于: 'NotInclude',
12
+ 为空: 'Null', 不为空: 'NotNull',
13
+ };
14
+ /** 结果筛选算子(UI「结果筛选」下拉)。 */
15
+ export const RESULT_FILTER_OPS = {
16
+ 前多少个: 'Before', 前几个: 'Before',
17
+ 后多少个: 'Last', 后几个: 'Last',
18
+ 奇数: 'Odd', 偶数: 'Even', 特定: 'Designates',
19
+ };
20
+ const OP_ALIASES = {
21
+ eq: 'Equals', equals: 'Equals',
22
+ ne: 'NotEquals', neq: 'NotEquals', notequals: 'NotEquals',
23
+ gt: 'Greater', greater: 'Greater',
24
+ ge: 'GreaterOrEquals', gte: 'GreaterOrEquals', greaterorequals: 'GreaterOrEquals',
25
+ lt: 'Less', less: 'Less',
26
+ le: 'LessOrEquals', lte: 'LessOrEquals', lessorequals: 'LessOrEquals',
27
+ startswith: 'StartsWith', notstartswith: 'NotStartsWith',
28
+ endswith: 'EndsWith', notendswith: 'NotEndsWith',
29
+ contain: 'Contain', contains: 'Contain', notcontain: 'NotContain', notcontains: 'NotContain',
30
+ include: 'Include', notinclude: 'NotInclude',
31
+ null: 'Null', empty: 'Null',
32
+ notnull: 'NotNull', nempty: 'NotNull',
33
+ before: 'Before', last: 'Last', odd: 'Odd', even: 'Even', designates: 'Designates',
34
+ };
35
+ const CUSTOM_SET = new Set(Object.values(CUSTOM_FILTER_OPS));
36
+ const RESULT_SET = new Set(Object.values(RESULT_FILTER_OPS));
37
+ /** 中文 / 英文 / 简写 → 平台枚举。 */
38
+ export function resolveFilterOp(kind, input) {
39
+ const raw = String(input ?? '').trim();
40
+ if (!raw)
41
+ throw new Error('--op 不能为空');
42
+ const direct = CUSTOM_FILTER_OPS[raw] || RESULT_FILTER_OPS[raw];
43
+ if (direct) {
44
+ if (kind === 'custom' && !CUSTOM_SET.has(direct)) {
45
+ throw new Error(`「${raw}」是结果筛选算子,不能用于 --kind custom`);
46
+ }
47
+ if (kind === 'result' && !RESULT_SET.has(direct)) {
48
+ throw new Error(`「${raw}」是自定义筛选算子,不能用于 --kind result`);
49
+ }
50
+ return direct;
51
+ }
52
+ const alias = OP_ALIASES[raw.toLowerCase().replace(/[\s_-]/g, '')];
53
+ if (alias) {
54
+ if (kind === 'custom' && !CUSTOM_SET.has(alias)) {
55
+ throw new Error(`算子「${raw}」只用于结果筛选(--kind result)`);
56
+ }
57
+ if (kind === 'result' && !RESULT_SET.has(alias)) {
58
+ throw new Error(`算子「${raw}」只用于自定义筛选(--kind custom)`);
59
+ }
60
+ return alias;
61
+ }
62
+ if (kind === 'result') {
63
+ throw new Error(`不认识的结果筛选算子「${raw}」。可用:${Object.keys(RESULT_FILTER_OPS).join(' / ')}`);
64
+ }
65
+ throw new Error(`不认识的筛选算子「${raw}」。可用:${Object.keys(CUSTOM_FILTER_OPS).join(' / ')}`);
66
+ }
67
+ /** 选项类字段:值要换成 valueKey 数组。 */
68
+ export function isOptionField(meta) {
69
+ const t = String(meta?.config?.type || meta?.config?.componentKey || meta?.originField?.compType || meta?.compType || '');
70
+ return ['Select', 'SelectMultiple', 'RadioBox', 'CheckBox', 'Cascader'].includes(t);
71
+ }
72
+ /** 值输入:逗号/中文逗号/分号分隔都行。 */
73
+ export function splitValues(raw) {
74
+ return String(raw ?? '')
75
+ .split(/[,,;;]/)
76
+ .map((s) => s.trim())
77
+ .filter(Boolean);
78
+ }
79
+ /** 选项名 / valueKey / 选项 id → valueKey;认不出就报错并列出可选值。 */
80
+ export function resolveOptionValueKey(meta, input) {
81
+ const options = Array.isArray(meta?.config?.options) ? meta.config.options : [];
82
+ if (!options.length)
83
+ return input;
84
+ const hit = options.find((o) => String(o.valueKey ?? o.value ?? '') === input ||
85
+ String(o.name ?? '') === input ||
86
+ String(o.fieldId ?? '') === input);
87
+ if (hit)
88
+ return String(hit.valueKey ?? hit.value ?? hit.name);
89
+ throw new Error(`字段「${meta?.text || meta?.name}」没有选项「${input}」。可用:` +
90
+ options.map((o) => o.name).filter(Boolean).join(' / '));
91
+ }
92
+ /** 取某数据集的权威字段清单(用于解析选项 / 字段显示名)。 */
93
+ export async function loadDatasetFields(http, datasetId, reportId, appId) {
94
+ try {
95
+ return await fieldsKeyOf(http, datasetId, reportId, appId);
96
+ }
97
+ catch {
98
+ return [];
99
+ }
100
+ }
101
+ /** 在一个数据集的字段清单里按显示名 / 技术名找字段。 */
102
+ export function resolveDatasetField(fields, input) {
103
+ const raw = String(input ?? '').trim();
104
+ if (!raw)
105
+ throw new Error('字段名不能为空');
106
+ const exact = fields.filter((f) => String(f.text ?? '') === raw || String(f.name ?? '') === raw);
107
+ if (exact.length === 1)
108
+ return exact[0];
109
+ const fuzzy = fields.filter((f) => String(f.text ?? '').includes(raw) || String(f.name ?? '').includes(raw));
110
+ const pool = exact.length ? exact : fuzzy;
111
+ if (pool.length === 1)
112
+ return pool[0];
113
+ if (!pool.length) {
114
+ throw new Error(`数据集里没有字段「${raw}」。可用:` + fields.map((f) => f.text || f.name).filter(Boolean).join(' / '));
115
+ }
116
+ throw new Error(`字段「${raw}」命中多个:${pool.map((f) => f.text || f.name).join(' / ')},请写更精确的名称`);
117
+ }
118
+ /** 自定义筛选的一条条件。 */
119
+ export function buildCustomFilterEntry(fieldKey, type, value, index = 1) {
120
+ const entry = { index, currentField: fieldKey, type };
121
+ if (type === 'Null' || type === 'NotNull') {
122
+ entry.value = '';
123
+ }
124
+ else if (value !== undefined) {
125
+ entry.value = value;
126
+ }
127
+ return entry;
128
+ }
129
+ /** 结果筛选的一条条件。 */
130
+ export function buildResultFilterEntry(type, value, index = 1) {
131
+ return { index, currentField: type, value: value ?? '' };
132
+ }
133
+ /** 回读:把字段记录上的四种筛选都拆出来。 */
134
+ export function readCellFilters(cell) {
135
+ return {
136
+ custom: jsonArrayOf(cell?.customFilterField),
137
+ result: jsonArrayOf(cell?.dataFilterField),
138
+ left: jsonArrayOf(cell?.leftFilterField),
139
+ top: jsonArrayOf(cell?.topFilterField),
140
+ };
141
+ }
142
+ /** 条件 → 人话(列表输出用)。 */
143
+ export function describeFilter(condition, fieldText) {
144
+ const key = String(condition?.currentField ?? '');
145
+ const type = String(condition?.type ?? '');
146
+ const value = condition?.value;
147
+ const shown = Array.isArray(value) ? value.join(',') : String(value ?? '');
148
+ if (type === 'Null' || type === 'NotNull') {
149
+ return `${fieldText ? fieldText(key) : key} ${type === 'Null' ? '为空' : '不为空'}`;
150
+ }
151
+ return `${fieldText ? fieldText(key) : key} ${type} ${shown}`.trim();
152
+ }
153
+ //# sourceMappingURL=cell-filter.js.map