weaver-e10-builder 1.5.15 → 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.
- package/dist/commands/form-add-detail-table.d.ts.map +1 -1
- package/dist/commands/form-add-detail-table.js +37 -17
- package/dist/commands/form-add-detail-table.js.map +1 -1
- package/dist/commands/form-list-custom.d.ts +5 -0
- package/dist/commands/form-list-custom.d.ts.map +1 -0
- package/dist/commands/form-list-custom.js +24 -0
- package/dist/commands/form-list-custom.js.map +1 -0
- package/dist/commands/form-list-search-group.d.ts.map +1 -1
- package/dist/commands/form-list-search-group.js +101 -7
- package/dist/commands/form-list-search-group.js.map +1 -1
- package/dist/commands/form-list.d.ts.map +1 -1
- package/dist/commands/form-list.js +45 -1
- package/dist/commands/form-list.js.map +1 -1
- package/dist/commands/form-permission.d.ts.map +1 -1
- package/dist/commands/form-permission.js +10 -8
- package/dist/commands/form-permission.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +54 -5
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +98 -1
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/report-cell.d.ts +3 -0
- package/dist/commands/report-cell.d.ts.map +1 -0
- package/dist/commands/report-cell.js +365 -0
- package/dist/commands/report-cell.js.map +1 -0
- package/dist/commands/wf-form.d.ts +2 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +10 -9
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-base-command.js +1 -1
- package/dist/commands/workflow-base-command.js.map +1 -1
- package/dist/commands/workflow-basic-info.d.ts +5 -0
- package/dist/commands/workflow-basic-info.d.ts.map +1 -0
- package/dist/commands/workflow-basic-info.js +47 -0
- package/dist/commands/workflow-basic-info.js.map +1 -0
- package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
- package/dist/commands/workflow-create-workflow.js +49 -83
- package/dist/commands/workflow-create-workflow.js.map +1 -1
- package/dist/commands/workflow-function-settings.d.ts.map +1 -1
- package/dist/commands/workflow-function-settings.js +3 -2
- package/dist/commands/workflow-function-settings.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +19 -37
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/services/form-field-build.d.ts +13 -0
- package/dist/services/form-field-build.d.ts.map +1 -1
- package/dist/services/form-field-build.js +18 -0
- package/dist/services/form-field-build.js.map +1 -1
- package/dist/services/form-field-dataset.d.ts +101 -0
- package/dist/services/form-field-dataset.d.ts.map +1 -0
- package/dist/services/form-field-dataset.js +180 -0
- package/dist/services/form-field-dataset.js.map +1 -0
- package/dist/services/form-field-template.d.ts +15 -10
- package/dist/services/form-field-template.d.ts.map +1 -1
- package/dist/services/form-field-template.js +30 -15
- package/dist/services/form-field-template.js.map +1 -1
- package/dist/services/form-layout-insert.d.ts +22 -0
- package/dist/services/form-layout-insert.d.ts.map +1 -1
- package/dist/services/form-layout-insert.js +88 -8
- package/dist/services/form-layout-insert.js.map +1 -1
- package/dist/services/form-list-search-custom.d.ts +25 -0
- package/dist/services/form-list-search-custom.d.ts.map +1 -0
- package/dist/services/form-list-search-custom.js +98 -0
- package/dist/services/form-list-search-custom.js.map +1 -0
- package/dist/services/form-list-search-group.d.ts +36 -2
- package/dist/services/form-list-search-group.d.ts.map +1 -1
- package/dist/services/form-list-search-group.js +89 -10
- package/dist/services/form-list-search-group.js.map +1 -1
- package/dist/services/form-list-search.d.ts +1 -0
- package/dist/services/form-list-search.d.ts.map +1 -1
- package/dist/services/form-list-search.js +5 -2
- package/dist/services/form-list-search.js.map +1 -1
- package/dist/services/form-permission-archive.d.ts +15 -2
- package/dist/services/form-permission-archive.d.ts.map +1 -1
- package/dist/services/form-permission-archive.js +22 -3
- package/dist/services/form-permission-archive.js.map +1 -1
- package/dist/services/form-physical-table.d.ts +17 -0
- package/dist/services/form-physical-table.d.ts.map +1 -1
- package/dist/services/form-physical-table.js +19 -0
- package/dist/services/form-physical-table.js.map +1 -1
- package/dist/services/form-sub-detail.d.ts +11 -0
- package/dist/services/form-sub-detail.d.ts.map +1 -1
- package/dist/services/form-sub-detail.js +23 -0
- package/dist/services/form-sub-detail.js.map +1 -1
- package/dist/services/menu-catalog.d.ts +11 -0
- package/dist/services/menu-catalog.d.ts.map +1 -1
- package/dist/services/menu-catalog.js +32 -0
- package/dist/services/menu-catalog.js.map +1 -1
- package/dist/services/report/cell-edit.d.ts +53 -0
- package/dist/services/report/cell-edit.d.ts.map +1 -0
- package/dist/services/report/cell-edit.js +137 -0
- package/dist/services/report/cell-edit.js.map +1 -0
- package/dist/services/report/cell-event.d.ts +28 -0
- package/dist/services/report/cell-event.d.ts.map +1 -0
- package/dist/services/report/cell-event.js +71 -0
- package/dist/services/report/cell-event.js.map +1 -0
- package/dist/services/report/cell-filter.d.ts +46 -0
- package/dist/services/report/cell-filter.d.ts.map +1 -0
- package/dist/services/report/cell-filter.js +153 -0
- package/dist/services/report/cell-filter.js.map +1 -0
- package/dist/services/workflow-basic-info.d.ts +27 -0
- package/dist/services/workflow-basic-info.d.ts.map +1 -0
- package/dist/services/workflow-basic-info.js +170 -0
- package/dist/services/workflow-basic-info.js.map +1 -0
- package/dist/services/workflow-function-management.d.ts +1 -1
- package/dist/services/workflow-function-settings.d.ts +1 -0
- package/dist/services/workflow-function-settings.d.ts.map +1 -1
- package/dist/services/workflow-function-settings.js +10 -2
- package/dist/services/workflow-function-settings.js.map +1 -1
- package/dist/services/workflow-watermark-template.d.ts +8 -0
- package/dist/services/workflow-watermark-template.d.ts.map +1 -0
- package/dist/services/workflow-watermark-template.js +78 -0
- package/dist/services/workflow-watermark-template.js.map +1 -0
- package/package.json +1 -1
- package/skill-docs/SKILL.md +4 -4
- package/skill-docs/references/common/ref-cli-commands.md +696 -695
- package/skill-docs/references/form/guide-form-archive-permission.md +5 -2
- package/skill-docs/references/form/guide-form-layout-incremental.md +6 -4
- package/skill-docs/references/form/guide-form-view.md +423 -374
- package/skill-docs/references/form/ref-form-fields.md +1 -1
- package/skill-docs/references/report/cross-dataset-filter-guide.md +33 -19
- package/skill-docs/references/report/event-hreflink-guide.md +30 -0
- package/skill-docs/references/report/ref-report-commands.md +14 -0
- package/skill-docs/references/report/report-designer-feature-map.md +2 -2
- package/skill-docs/references/workflow/guide-function-settings.md +112 -55
- package/skill-docs/references/workflow/guide-workflow.md +632 -630
|
@@ -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":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,yFAOrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,8KAGlB,CAAC;AAEX,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAWtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAM,GAAG,QAAQ,EAAE,CAsBhF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAMnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAMtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAcnH;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAC1D,MAAM,GAAG,SAAS,CASpB;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAE5E;AAED,+BAA+B;AAC/B,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAW/F;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI1G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAClE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMrB;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,QAAQ,EAAE,CAOrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BzG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,GAAG,EAAE,CAUnC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAwB/E;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,EAAE,CASzG;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAE1D;AAED,kBAAkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAErD"}
|
|
@@ -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":"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"}
|
|
@@ -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
|