weaver-e10-builder 1.0.2-beta
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/README.md +200 -0
- package/dist/commands/app.d.ts +3 -0
- package/dist/commands/app.d.ts.map +1 -0
- package/dist/commands/app.js +305 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +386 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check.d.ts +3 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +106 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/compile.d.ts +3 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/compile.js +134 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/docx.d.ts +3 -0
- package/dist/commands/docx.d.ts.map +1 -0
- package/dist/commands/docx.js +54 -0
- package/dist/commands/docx.js.map +1 -0
- package/dist/commands/form-button.d.ts +3 -0
- package/dist/commands/form-button.d.ts.map +1 -0
- package/dist/commands/form-button.js +441 -0
- package/dist/commands/form-button.js.map +1 -0
- package/dist/commands/form-data.d.ts +3 -0
- package/dist/commands/form-data.d.ts.map +1 -0
- package/dist/commands/form-data.js +197 -0
- package/dist/commands/form-data.js.map +1 -0
- package/dist/commands/form-ebuilder-columns.d.ts +3 -0
- package/dist/commands/form-ebuilder-columns.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-columns.js +118 -0
- package/dist/commands/form-ebuilder-columns.js.map +1 -0
- package/dist/commands/form-ebuilder-filter.d.ts +3 -0
- package/dist/commands/form-ebuilder-filter.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-filter.js +135 -0
- package/dist/commands/form-ebuilder-filter.js.map +1 -0
- package/dist/commands/form-ebuilder-scope.d.ts +3 -0
- package/dist/commands/form-ebuilder-scope.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-scope.js +321 -0
- package/dist/commands/form-ebuilder-scope.js.map +1 -0
- package/dist/commands/form-ebuilder-search.d.ts +3 -0
- package/dist/commands/form-ebuilder-search.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-search.js +252 -0
- package/dist/commands/form-ebuilder-search.js.map +1 -0
- package/dist/commands/form-formula.d.ts +12 -0
- package/dist/commands/form-formula.d.ts.map +1 -0
- package/dist/commands/form-formula.js +252 -0
- package/dist/commands/form-formula.js.map +1 -0
- package/dist/commands/form-layout-init.d.ts +15 -0
- package/dist/commands/form-layout-init.d.ts.map +1 -0
- package/dist/commands/form-layout-init.js +162 -0
- package/dist/commands/form-layout-init.js.map +1 -0
- package/dist/commands/form-layout.d.ts +3 -0
- package/dist/commands/form-layout.d.ts.map +1 -0
- package/dist/commands/form-layout.js +236 -0
- package/dist/commands/form-layout.js.map +1 -0
- package/dist/commands/form-list-click.d.ts +3 -0
- package/dist/commands/form-list-click.d.ts.map +1 -0
- package/dist/commands/form-list-click.js +154 -0
- package/dist/commands/form-list-click.js.map +1 -0
- package/dist/commands/form-list-event.d.ts +3 -0
- package/dist/commands/form-list-event.d.ts.map +1 -0
- package/dist/commands/form-list-event.js +203 -0
- package/dist/commands/form-list-event.js.map +1 -0
- package/dist/commands/form-list-filter.d.ts +9 -0
- package/dist/commands/form-list-filter.d.ts.map +1 -0
- package/dist/commands/form-list-filter.js +107 -0
- package/dist/commands/form-list-filter.js.map +1 -0
- package/dist/commands/form-list-group.d.ts +11 -0
- package/dist/commands/form-list-group.d.ts.map +1 -0
- package/dist/commands/form-list-group.js +100 -0
- package/dist/commands/form-list-group.js.map +1 -0
- package/dist/commands/form-list-permission.d.ts +3 -0
- package/dist/commands/form-list-permission.d.ts.map +1 -0
- package/dist/commands/form-list-permission.js +127 -0
- package/dist/commands/form-list-permission.js.map +1 -0
- package/dist/commands/form-list-search-group.d.ts +3 -0
- package/dist/commands/form-list-search-group.d.ts.map +1 -0
- package/dist/commands/form-list-search-group.js +132 -0
- package/dist/commands/form-list-search-group.js.map +1 -0
- package/dist/commands/form-list-stats.d.ts +11 -0
- package/dist/commands/form-list-stats.d.ts.map +1 -0
- package/dist/commands/form-list-stats.js +139 -0
- package/dist/commands/form-list-stats.js.map +1 -0
- package/dist/commands/form-list-unit.d.ts +3 -0
- package/dist/commands/form-list-unit.d.ts.map +1 -0
- package/dist/commands/form-list-unit.js +95 -0
- package/dist/commands/form-list-unit.js.map +1 -0
- package/dist/commands/form-list-utils.d.ts +32 -0
- package/dist/commands/form-list-utils.d.ts.map +1 -0
- package/dist/commands/form-list-utils.js +76 -0
- package/dist/commands/form-list-utils.js.map +1 -0
- package/dist/commands/form-list.d.ts +3 -0
- package/dist/commands/form-list.d.ts.map +1 -0
- package/dist/commands/form-list.js +624 -0
- package/dist/commands/form-list.js.map +1 -0
- package/dist/commands/form-permission.d.ts +3 -0
- package/dist/commands/form-permission.d.ts.map +1 -0
- package/dist/commands/form-permission.js +193 -0
- package/dist/commands/form-permission.js.map +1 -0
- package/dist/commands/form-relate.d.ts +14 -0
- package/dist/commands/form-relate.d.ts.map +1 -0
- package/dist/commands/form-relate.js +140 -0
- package/dist/commands/form-relate.js.map +1 -0
- package/dist/commands/form-serial-mark.d.ts +18 -0
- package/dist/commands/form-serial-mark.d.ts.map +1 -0
- package/dist/commands/form-serial-mark.js +167 -0
- package/dist/commands/form-serial-mark.js.map +1 -0
- package/dist/commands/form-table-view.d.ts +3 -0
- package/dist/commands/form-table-view.d.ts.map +1 -0
- package/dist/commands/form-table-view.js +217 -0
- package/dist/commands/form-table-view.js.map +1 -0
- package/dist/commands/form-validate.d.ts +3 -0
- package/dist/commands/form-validate.d.ts.map +1 -0
- package/dist/commands/form-validate.js +122 -0
- package/dist/commands/form-validate.js.map +1 -0
- package/dist/commands/form-view-permission.d.ts +3 -0
- package/dist/commands/form-view-permission.d.ts.map +1 -0
- package/dist/commands/form-view-permission.js +86 -0
- package/dist/commands/form-view-permission.js.map +1 -0
- package/dist/commands/form-view.d.ts +3 -0
- package/dist/commands/form-view.d.ts.map +1 -0
- package/dist/commands/form-view.js +145 -0
- package/dist/commands/form-view.js.map +1 -0
- package/dist/commands/form.d.ts +3 -0
- package/dist/commands/form.d.ts.map +1 -0
- package/dist/commands/form.js +2467 -0
- package/dist/commands/form.js.map +1 -0
- package/dist/commands/icon.d.ts +3 -0
- package/dist/commands/icon.d.ts.map +1 -0
- package/dist/commands/icon.js +82 -0
- package/dist/commands/icon.js.map +1 -0
- package/dist/commands/matrix.d.ts +3 -0
- package/dist/commands/matrix.d.ts.map +1 -0
- package/dist/commands/matrix.js +587 -0
- package/dist/commands/matrix.js.map +1 -0
- package/dist/commands/menu-permission.d.ts +3 -0
- package/dist/commands/menu-permission.d.ts.map +1 -0
- package/dist/commands/menu-permission.js +188 -0
- package/dist/commands/menu-permission.js.map +1 -0
- package/dist/commands/menu.d.ts +16 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +269 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +345 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/role.d.ts +3 -0
- package/dist/commands/role.d.ts.map +1 -0
- package/dist/commands/role.js +224 -0
- package/dist/commands/role.js.map +1 -0
- package/dist/commands/user.d.ts +3 -0
- package/dist/commands/user.d.ts.map +1 -0
- package/dist/commands/user.js +49 -0
- package/dist/commands/user.js.map +1 -0
- package/dist/commands/workflow-action.d.ts +3 -0
- package/dist/commands/workflow-action.d.ts.map +1 -0
- package/dist/commands/workflow-action.js +1821 -0
- package/dist/commands/workflow-action.js.map +1 -0
- package/dist/commands/workflow-advanced.d.ts +3 -0
- package/dist/commands/workflow-advanced.d.ts.map +1 -0
- package/dist/commands/workflow-advanced.js +290 -0
- package/dist/commands/workflow-advanced.js.map +1 -0
- package/dist/commands/workflow-condition.d.ts +7 -0
- package/dist/commands/workflow-condition.d.ts.map +1 -0
- package/dist/commands/workflow-condition.js +562 -0
- package/dist/commands/workflow-condition.js.map +1 -0
- package/dist/commands/workflow-message.d.ts +3 -0
- package/dist/commands/workflow-message.d.ts.map +1 -0
- package/dist/commands/workflow-message.js +399 -0
- package/dist/commands/workflow-message.js.map +1 -0
- package/dist/commands/workflow-node-overtime.d.ts +3 -0
- package/dist/commands/workflow-node-overtime.d.ts.map +1 -0
- package/dist/commands/workflow-node-overtime.js +150 -0
- package/dist/commands/workflow-node-overtime.js.map +1 -0
- package/dist/commands/workflow-node-reject.d.ts +3 -0
- package/dist/commands/workflow-node-reject.d.ts.map +1 -0
- package/dist/commands/workflow-node-reject.js +115 -0
- package/dist/commands/workflow-node-reject.js.map +1 -0
- package/dist/commands/workflow-node-sign.d.ts +15 -0
- package/dist/commands/workflow-node-sign.d.ts.map +1 -0
- package/dist/commands/workflow-node-sign.js +100 -0
- package/dist/commands/workflow-node-sign.js.map +1 -0
- package/dist/commands/workflow-node-validate.d.ts +16 -0
- package/dist/commands/workflow-node-validate.d.ts.map +1 -0
- package/dist/commands/workflow-node-validate.js +169 -0
- package/dist/commands/workflow-node-validate.js.map +1 -0
- package/dist/commands/workflow-node.d.ts +3 -0
- package/dist/commands/workflow-node.d.ts.map +1 -0
- package/dist/commands/workflow-node.js +347 -0
- package/dist/commands/workflow-node.js.map +1 -0
- package/dist/commands/workflow-numbering.d.ts +17 -0
- package/dist/commands/workflow-numbering.d.ts.map +1 -0
- package/dist/commands/workflow-numbering.js +191 -0
- package/dist/commands/workflow-numbering.js.map +1 -0
- package/dist/commands/workflow-plan-range.d.ts +3 -0
- package/dist/commands/workflow-plan-range.d.ts.map +1 -0
- package/dist/commands/workflow-plan-range.js +116 -0
- package/dist/commands/workflow-plan-range.js.map +1 -0
- package/dist/commands/workflow-setting.d.ts +3 -0
- package/dist/commands/workflow-setting.d.ts.map +1 -0
- package/dist/commands/workflow-setting.js +440 -0
- package/dist/commands/workflow-setting.js.map +1 -0
- package/dist/commands/workflow-title.d.ts +14 -0
- package/dist/commands/workflow-title.d.ts.map +1 -0
- package/dist/commands/workflow-title.js +106 -0
- package/dist/commands/workflow-title.js.map +1 -0
- package/dist/commands/workflow.d.ts +26 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +2359 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/core/auth.d.ts +36 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +351 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/client.d.ts +27 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +100 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/crypto.d.ts +11 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +102 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/core/edition.d.ts +4 -0
- package/dist/core/edition.d.ts.map +1 -0
- package/dist/core/edition.js +19 -0
- package/dist/core/edition.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +118 -0
- package/dist/index.js.map +1 -0
- package/dist/services/action-detail.d.ts +112 -0
- package/dist/services/action-detail.d.ts.map +1 -0
- package/dist/services/action-detail.js +443 -0
- package/dist/services/action-detail.js.map +1 -0
- package/dist/services/condition-rules.d.ts +45 -0
- package/dist/services/condition-rules.d.ts.map +1 -0
- package/dist/services/condition-rules.js +207 -0
- package/dist/services/condition-rules.js.map +1 -0
- package/dist/services/form-create.d.ts +102 -0
- package/dist/services/form-create.d.ts.map +1 -0
- package/dist/services/form-create.js +835 -0
- package/dist/services/form-create.js.map +1 -0
- package/dist/services/form-ebuilder-filter.d.ts +60 -0
- package/dist/services/form-ebuilder-filter.d.ts.map +1 -0
- package/dist/services/form-ebuilder-filter.js +562 -0
- package/dist/services/form-ebuilder-filter.js.map +1 -0
- package/dist/services/form-table-view.d.ts +117 -0
- package/dist/services/form-table-view.d.ts.map +1 -0
- package/dist/services/form-table-view.js +882 -0
- package/dist/services/form-table-view.js.map +1 -0
- package/dist/services/form-view-permission.d.ts +30 -0
- package/dist/services/form-view-permission.d.ts.map +1 -0
- package/dist/services/form-view-permission.js +208 -0
- package/dist/services/form-view-permission.js.map +1 -0
- package/dist/services/form-view.d.ts +41 -0
- package/dist/services/form-view.d.ts.map +1 -0
- package/dist/services/form-view.js +334 -0
- package/dist/services/form-view.js.map +1 -0
- package/dist/services/formula-detail.d.ts +31 -0
- package/dist/services/formula-detail.d.ts.map +1 -0
- package/dist/services/formula-detail.js +66 -0
- package/dist/services/formula-detail.js.map +1 -0
- package/dist/services/rich-types.d.ts +35 -0
- package/dist/services/rich-types.d.ts.map +1 -0
- package/dist/services/rich-types.js +105 -0
- package/dist/services/rich-types.js.map +1 -0
- package/dist/services/workflow-layout.d.ts +118 -0
- package/dist/services/workflow-layout.d.ts.map +1 -0
- package/dist/services/workflow-layout.js +279 -0
- package/dist/services/workflow-layout.js.map +1 -0
- package/dist/services/workflow-operator.d.ts +36 -0
- package/dist/services/workflow-operator.d.ts.map +1 -0
- package/dist/services/workflow-operator.js +65 -0
- package/dist/services/workflow-operator.js.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/column-name.d.ts +13 -0
- package/dist/utils/column-name.d.ts.map +1 -0
- package/dist/utils/column-name.js +45 -0
- package/dist/utils/column-name.js.map +1 -0
- package/ecodecmd/package.json +27 -0
- package/ecodecmd/src/build.js +709 -0
- package/ecodecmd/src/compile.js +81 -0
- package/ecodecmd/src/index.js +48 -0
- package/ecodecmd/src/init.js +73 -0
- package/ecodecmd/src/lib/@babel/plugin-proposal-object-rest-spread@7.5.5/index.js +1795 -0
- package/ecodecmd/src/lib/@babel/plugin-proposal-optional-chaining@7.6.0/index.js +135 -0
- package/ecodecmd/src/lib/@babel/preset-env-standalone@7.5.5/babel-preset-env.js +76043 -0
- package/ecodecmd/src/lib/@babel/standalone@7.5.5/babel.js +90802 -0
- package/ecodecmd/src/lib/exec.js +77 -0
- package/ecodecmd/src/loaddep.js +154 -0
- package/ecodecmd/src/util/compress.js +58 -0
- package/ecodecmd/src/util/crypto-util.js +19 -0
- package/ecodecmd/src/util/index.js +153 -0
- package/ecodecmd/src/util/snowflake.js +144 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-formula.d.ts","sourceRoot":"","sources":["../../src/commands/form-formula.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;;;;GAQG;AAEH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAmPpF"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { buildFormulaParameters } from '../services/formula-detail.js';
|
|
4
|
+
/**
|
|
5
|
+
* Form formula — 表单字段函数公式。
|
|
6
|
+
*
|
|
7
|
+
* APIs (captured from browser):
|
|
8
|
+
* POST /api/excel/formula/save — 创建/更新公式
|
|
9
|
+
* POST /api/excel/formula/library/saveSourceForm — 绑定公式到字段
|
|
10
|
+
* POST /api/excel/formula/search/temp/list — 查询公式列表
|
|
11
|
+
* POST /api/excel/formula/funcList — 函数目录
|
|
12
|
+
*/
|
|
13
|
+
export function registerFormFormulaCommands(formCmd, program) {
|
|
14
|
+
const fml = formCmd.command('formula').description('字段函数公式管理');
|
|
15
|
+
// ─── SET ───────────────────────────────────────────────
|
|
16
|
+
fml.command('set')
|
|
17
|
+
.description('给字段绑定计算公式')
|
|
18
|
+
.argument('<objId>', '表单 objId')
|
|
19
|
+
.argument('<appId>', '应用 ID')
|
|
20
|
+
.requiredOption('--expression <expr>', '公式表达式,支持 "{主表.字段}" 与 "{明细表名.字段}",如 "DAYS({行程明细.行程开始时间},{行程明细.行程结束时间})"')
|
|
21
|
+
.requiredOption('--target <fieldId>', '目标字段 ID(公式结果写入此字段)')
|
|
22
|
+
.option('--name <name>', '公式名称(默认自动生成)')
|
|
23
|
+
.option('--return-type <type>', '返回类型: Number / String / Date', 'Number')
|
|
24
|
+
.action(async (objId, appId, cmdOpts) => {
|
|
25
|
+
const opts = program.opts();
|
|
26
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
27
|
+
if (!auth)
|
|
28
|
+
process.exit(1);
|
|
29
|
+
const client = new ApiClient(auth);
|
|
30
|
+
const baseUrl = auth.getBaseUrl();
|
|
31
|
+
// 1. Get formId
|
|
32
|
+
const formList = await client.get(`${baseUrl}/api/bs/ebuilder/form/obj/getList/${appId}?apid=${appId}`, { ebbusinessid: appId });
|
|
33
|
+
const formInfo = (formList?.data || []).find((f) => f.id === objId || f.objId === objId);
|
|
34
|
+
const formId = formInfo?.formId || '';
|
|
35
|
+
if (!formId) {
|
|
36
|
+
console.error('无法获取 formId,请确认 objId 和 appId 正确');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
// 2-4. 解析引用并构建参数(支持 {主表.x} 与 {明细表名.x},明细带 sFormId/sFormName)
|
|
40
|
+
const parsed = await buildFormulaParameters(client, baseUrl, objId, appId, formId, cmdOpts.expression);
|
|
41
|
+
if (parsed.errors.length > 0) {
|
|
42
|
+
for (const e of parsed.errors)
|
|
43
|
+
console.error(` ❌ ${e}`);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
const parameters = parsed.parameters;
|
|
47
|
+
const refNames = parsed.refNames;
|
|
48
|
+
// 5. 目标字段即 exceptIds(绑定失败时 saveSourceForm 会报错兜底)
|
|
49
|
+
const exceptIds = cmdOpts.target;
|
|
50
|
+
// 6. Save formula
|
|
51
|
+
const formulaName = cmdOpts.name || `公式_${Date.now()}`;
|
|
52
|
+
const savePayload = {
|
|
53
|
+
expressSql: cmdOpts.expression,
|
|
54
|
+
name: formulaName,
|
|
55
|
+
parameters,
|
|
56
|
+
returnType: cmdOpts.returnType,
|
|
57
|
+
validateType: 'normal',
|
|
58
|
+
referenceType: 'assign',
|
|
59
|
+
extendParam: JSON.stringify({ exceptIds, createType: 'once' }),
|
|
60
|
+
formulaId: null,
|
|
61
|
+
dataSources: [],
|
|
62
|
+
formulaType: 'normal',
|
|
63
|
+
mainDataSource: [null],
|
|
64
|
+
tempVariableList: [],
|
|
65
|
+
nameAuto: false,
|
|
66
|
+
module: 'ebuilderform',
|
|
67
|
+
multiFuncSepType: 1,
|
|
68
|
+
};
|
|
69
|
+
const saveRes = await client.post(`${baseUrl}/api/excel/formula/save`, savePayload);
|
|
70
|
+
if (!saveRes?.resultJson?.excute) {
|
|
71
|
+
console.error(`公式保存失败: ${saveRes?.resultJson?.error || saveRes?.msg || '未知错误'}`);
|
|
72
|
+
if (saveRes?.resultJson?.error) {
|
|
73
|
+
const hint = saveRes.resultJson.error.includes('数字')
|
|
74
|
+
? '\n提示: 请确保表达式中引用的字段为数字类型(Number/Money),且 return-type 为 Number'
|
|
75
|
+
: '';
|
|
76
|
+
console.error(hint);
|
|
77
|
+
}
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
const expressId = saveRes.resultJson.id;
|
|
81
|
+
console.error(`公式已创建: ${expressId} (${saveRes.resultJson.formula})`);
|
|
82
|
+
// 7. 绑定公式到目标字段——浏览器实测两步:
|
|
83
|
+
// a) saveFormFieldNew 重存该字段,jsonObj 带 ffExpress(字段↔公式关联)
|
|
84
|
+
// b) saveSourceForm 注册公式源(sourceForms + filter.fieldId 指明目标字段)
|
|
85
|
+
// 只做 b) 字段不会显示公式结果("公式没绑上")。
|
|
86
|
+
try {
|
|
87
|
+
const gf = await client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/getFormField`, {
|
|
88
|
+
module: 'ebuilderform',
|
|
89
|
+
formTableField: { formField: { id: cmdOpts.target, form: { id: formId } } },
|
|
90
|
+
}, { ebbusinessid: formId });
|
|
91
|
+
const cur = gf?.data || {};
|
|
92
|
+
if (!cur?.fieldId) {
|
|
93
|
+
console.error(` ⚠ 未读到目标字段 ${cmdOpts.target},公式已创建但未绑定`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const bindJson = { ...cur, ffExpress: { id: expressId, name: formulaName } };
|
|
97
|
+
await client.post(`${baseUrl}/api/ebuilder/form/form/field/manage/saveFormFieldNew?apid=${appId}`, {
|
|
98
|
+
formId, module: 'ebuilderform',
|
|
99
|
+
customParam: { appId, objId },
|
|
100
|
+
jsonObj: JSON.stringify(bindJson),
|
|
101
|
+
}, { ebbusinessid: formId });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch { /* ffExpress 重存失败不阻断,saveSourceForm 仍执行 */ }
|
|
105
|
+
const bindRes = await client.post(`${baseUrl}/api/excel/formula/library/saveSourceForm`, {
|
|
106
|
+
sourceForms: [{ id: formId, module: 'ebuilderform' }],
|
|
107
|
+
expressId,
|
|
108
|
+
filter: { fieldId: cmdOpts.target },
|
|
109
|
+
});
|
|
110
|
+
if (bindRes?.code === 200 || bindRes?.status === true || Object.keys(bindRes || {}).length === 0) {
|
|
111
|
+
const msg = opts.json
|
|
112
|
+
? JSON.stringify({ success: true, expressId, formula: saveRes.resultJson.formula, targetField: cmdOpts.target })
|
|
113
|
+
: `公式已绑定到字段 ${cmdOpts.target}`;
|
|
114
|
+
console.log(msg);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
console.error(`公式绑定失败: ${bindRes?.msg || '未知错误'}(公式已创建 expressId=${expressId},但未绑定到字段)`);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
// ─── GET ────────────────────────────────────────────────
|
|
122
|
+
fml.command('get')
|
|
123
|
+
.description('查看公式详情')
|
|
124
|
+
.argument('<formulaId>', '公式 ID (expressId)')
|
|
125
|
+
.action(async (formulaId) => {
|
|
126
|
+
const opts = program.opts();
|
|
127
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
128
|
+
if (!auth)
|
|
129
|
+
process.exit(1);
|
|
130
|
+
const client = new ApiClient(auth);
|
|
131
|
+
const baseUrl = auth.getBaseUrl();
|
|
132
|
+
const res = await client.post(`${baseUrl}/api/excel/formula/detail`, { formulaId });
|
|
133
|
+
const data = res?.resultJson?.data;
|
|
134
|
+
if (!data || !res?.resultJson?.excute) {
|
|
135
|
+
console.error(`查询失败: ${res?.resultJson?.error || res?.msg || '未找到公式'}`);
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
if (opts.json) {
|
|
139
|
+
console.log(JSON.stringify(data, null, 2));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.log(`公式 ID: ${data.id}`);
|
|
143
|
+
console.log(`名称: ${data.name}`);
|
|
144
|
+
console.log(`表达式: ${data.expressSql || '-'}`);
|
|
145
|
+
console.log(`返回类型: ${data.returnType || '-'}`);
|
|
146
|
+
console.log(`参数 (${(data.parameters || []).length}):`);
|
|
147
|
+
for (const p of (data.parameters || [])) {
|
|
148
|
+
console.log(` ${p.fieldId} ${p.title || p.name} [${p.properKey}]`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
// ─── LIST ───────────────────────────────────────────────
|
|
153
|
+
fml.command('list')
|
|
154
|
+
.description('列出表单的所有公式')
|
|
155
|
+
.argument('<objId>', '表单 objId')
|
|
156
|
+
.argument('<appId>', '应用 ID')
|
|
157
|
+
.action(async (objId, appId) => {
|
|
158
|
+
const opts = program.opts();
|
|
159
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
160
|
+
if (!auth)
|
|
161
|
+
process.exit(1);
|
|
162
|
+
const client = new ApiClient(auth);
|
|
163
|
+
const baseUrl = auth.getBaseUrl();
|
|
164
|
+
const formList = await client.get(`${baseUrl}/api/bs/ebuilder/form/obj/getList/${appId}?apid=${appId}`, { ebbusinessid: appId });
|
|
165
|
+
const formInfo = (formList?.data || []).find((f) => f.id === objId);
|
|
166
|
+
const formId = formInfo?.formId || '';
|
|
167
|
+
if (!formId) {
|
|
168
|
+
console.error('无法获取 formId');
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
const searchRes = await client.post(`${baseUrl}/api/excel/formula/library/search`, {
|
|
172
|
+
sourceForms: [{ id: formId, module: 'ebuilderform' }],
|
|
173
|
+
});
|
|
174
|
+
const allFormulas = searchRes?.page?.result || [];
|
|
175
|
+
const formulas = allFormulas.filter((f) => {
|
|
176
|
+
try {
|
|
177
|
+
const param = JSON.parse(f.parameter || '{}');
|
|
178
|
+
const vars = JSON.parse(param.formulavars || '[]');
|
|
179
|
+
return vars.some((v) => v.formId === formId);
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
if (opts.json) {
|
|
186
|
+
console.log(JSON.stringify(formulas, null, 2));
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
console.log(`共 ${formulas.length} 个公式 (全租户 ${allFormulas.length} 个):`);
|
|
190
|
+
for (const f of formulas) {
|
|
191
|
+
// Fetch detail for each formula to get expressSql
|
|
192
|
+
let expressSql = '';
|
|
193
|
+
let returnType = f.returnType || '';
|
|
194
|
+
try {
|
|
195
|
+
const detail = await client.post(`${baseUrl}/api/excel/formula/detail`, { formulaId: f.id });
|
|
196
|
+
const d = detail?.resultJson?.data;
|
|
197
|
+
if (d) {
|
|
198
|
+
expressSql = d.expressSql || '';
|
|
199
|
+
returnType = d.returnType || returnType;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch { }
|
|
203
|
+
console.log(` [${f.id}] ${f.name}`);
|
|
204
|
+
console.log(` 公式: ${expressSql || f.formula || '-'}`);
|
|
205
|
+
console.log(` 返回: ${returnType}`);
|
|
206
|
+
console.log(` 创建: ${new Date(f.addTime).toISOString().split('T')[0]}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
// ─── FUNCTIONS ──────────────────────────────────────────
|
|
211
|
+
fml.command('functions')
|
|
212
|
+
.description('查看可用的函数列表')
|
|
213
|
+
.option('--category <name>', '按分类名或中文名过滤')
|
|
214
|
+
.action(async (cmdOpts) => {
|
|
215
|
+
const opts = program.opts();
|
|
216
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
217
|
+
if (!auth)
|
|
218
|
+
process.exit(1);
|
|
219
|
+
const client = new ApiClient(auth);
|
|
220
|
+
const baseUrl = auth.getBaseUrl();
|
|
221
|
+
const res = await client.post(`${baseUrl}/api/excel/formula/funcList`, {
|
|
222
|
+
extendParam: JSON.stringify({ createType: 'once' }),
|
|
223
|
+
});
|
|
224
|
+
const categories = res?.data || [];
|
|
225
|
+
if (opts.json) {
|
|
226
|
+
console.log(JSON.stringify(categories, null, 2));
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
for (const cat of categories) {
|
|
230
|
+
const catName = cat.chineseName || cat.name || '未分类';
|
|
231
|
+
if (cmdOpts.category && !catName.includes(cmdOpts.category) && catName !== cmdOpts.category)
|
|
232
|
+
continue;
|
|
233
|
+
const children = cat.children || [];
|
|
234
|
+
console.log(`\n📁 ${catName} (${children.length})`);
|
|
235
|
+
for (const fn of children) {
|
|
236
|
+
console.log(` ${fn.name.padEnd(20)} ${fn.chineseName || ''} → ${fn.returnType || '?'}`);
|
|
237
|
+
if (fn.formatString)
|
|
238
|
+
console.log(` ${fn.formatString}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
function safeParse(s) {
|
|
245
|
+
try {
|
|
246
|
+
return JSON.parse(s);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
return {};
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=form-formula.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-formula.js","sourceRoot":"","sources":["../../src/commands/form-formula.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Built-in form layout style templates (PC/EXCEL). name → id.
|
|
4
|
+
* Stable list — see references/form/style-templates.md.
|
|
5
|
+
*/
|
|
6
|
+
export declare const STYLE_TEMPLATES: Record<string, string>;
|
|
7
|
+
/** Resolve a style template by name or raw id. Defaults to 标准版(007). */
|
|
8
|
+
export declare function resolveStyleTemplate(input?: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Register `form layout init` as a subcommand of the existing `layout` command
|
|
11
|
+
* (added without touching form-layout.ts). Initializes/rebuilds a form layout via
|
|
12
|
+
* initLayout: pick a style template + override field readOnly/required/disableEdit/singleRow.
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerFormLayoutInitCommands(form: Command, program: Command): void;
|
|
15
|
+
//# sourceMappingURL=form-layout-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-layout-init.d.ts","sourceRoot":"","sources":["../../src/commands/form-layout-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqBlD,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAoCD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAoFpF"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { normalizeDetailTableChildren } from '../services/form-create.js';
|
|
4
|
+
/**
|
|
5
|
+
* Built-in form layout style templates (PC/EXCEL). name → id.
|
|
6
|
+
* Stable list — see references/form/style-templates.md.
|
|
7
|
+
*/
|
|
8
|
+
export const STYLE_TEMPLATES = {
|
|
9
|
+
'标准版': '700000000000000007',
|
|
10
|
+
'表格版': '700000000000000008',
|
|
11
|
+
'紧凑版': '700000000000000009',
|
|
12
|
+
'轻便版': '700000000000000010',
|
|
13
|
+
'靛青线条': '830421425497325568',
|
|
14
|
+
'简约深蓝': '830662158415355904',
|
|
15
|
+
'极简淡蓝': '830714355284320256',
|
|
16
|
+
'现代简约': '830718787623460864',
|
|
17
|
+
'商务淡蓝': '830722618751066113',
|
|
18
|
+
'极简白': '830743788745531393',
|
|
19
|
+
'极简灰': '830749075757998081',
|
|
20
|
+
'清新蓝绿': '830751622581329920',
|
|
21
|
+
'淡蓝水晶': '830764108161785857',
|
|
22
|
+
'银光浅灰': '830765800429674496',
|
|
23
|
+
'暗夜流光': '831747419499700225',
|
|
24
|
+
'公文样式': '831759140499447809',
|
|
25
|
+
'淡雅丁香': '831897833480421377',
|
|
26
|
+
'商务蓝': '917557790734188546',
|
|
27
|
+
'碧海蓝天': '933871446777094145',
|
|
28
|
+
'青蓝冰水': '1000599952745676801',
|
|
29
|
+
};
|
|
30
|
+
/** Resolve a style template by name or raw id. Defaults to 标准版(007). */
|
|
31
|
+
export function resolveStyleTemplate(input) {
|
|
32
|
+
if (!input)
|
|
33
|
+
return STYLE_TEMPLATES['标准版'];
|
|
34
|
+
if (STYLE_TEMPLATES[input])
|
|
35
|
+
return STYLE_TEMPLATES[input];
|
|
36
|
+
if (/^\d+$/.test(input))
|
|
37
|
+
return input;
|
|
38
|
+
throw new Error(`未知样式模板: ${input}。可用: ${Object.keys(STYLE_TEMPLATES).join(', ')}(或直接传 id)`);
|
|
39
|
+
}
|
|
40
|
+
async function resolveFormId(client, baseUrl, appId, objId) {
|
|
41
|
+
const formList = await client.get(`${baseUrl}/api/bs/ebuilder/form/obj/getList/${appId}?apid=${appId}`, { ebbusinessid: appId });
|
|
42
|
+
const formInfo = (formList?.data || []).find((f) => String(f.id) === String(objId));
|
|
43
|
+
const formId = formInfo?.formId || '';
|
|
44
|
+
if (!formId) {
|
|
45
|
+
console.error(`无法获取 formId,请确认 appId=${appId} objId=${objId}`);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
return formId;
|
|
49
|
+
}
|
|
50
|
+
async function getLayoutMeta(client, baseUrl, formId, viewId) {
|
|
51
|
+
const payload = {
|
|
52
|
+
formId, module: 'ebuilderform', customParam: {}, formTableIdList: [],
|
|
53
|
+
designerParam: { onlyLayout: false, convert: false }, form: { id: formId },
|
|
54
|
+
};
|
|
55
|
+
if (viewId)
|
|
56
|
+
payload.layoutMultiId = viewId;
|
|
57
|
+
const res = await client.post(`${baseUrl}/api/ebuilder/form/builder/getFormLayout`, payload, { ebbusinessid: formId });
|
|
58
|
+
if (res?.code !== 200 || !res?.status) {
|
|
59
|
+
console.error(`获取布局失败: ${res?.msg || '未知错误'}`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
const fl = res.data?.formLayout || {};
|
|
63
|
+
const flm = res.data?.formLayoutMultiple || {};
|
|
64
|
+
return {
|
|
65
|
+
layoutId: fl.id || viewId || '',
|
|
66
|
+
layoutMultiId: flm.id || viewId || '',
|
|
67
|
+
layoutName: flm.name || '',
|
|
68
|
+
layoutType: flm.layoutType || 'EXCEL',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Register `form layout init` as a subcommand of the existing `layout` command
|
|
73
|
+
* (added without touching form-layout.ts). Initializes/rebuilds a form layout via
|
|
74
|
+
* initLayout: pick a style template + override field readOnly/required/disableEdit/singleRow.
|
|
75
|
+
*/
|
|
76
|
+
export function registerFormLayoutInitCommands(form, program) {
|
|
77
|
+
const layoutCmd = form.commands.find((c) => c.name() === 'layout');
|
|
78
|
+
if (!layoutCmd) {
|
|
79
|
+
console.error('[form-layout-init] 未找到 layout 命令,请确保 registerFormLayoutCommands 已注册');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
layoutCmd.command('init')
|
|
83
|
+
.description('初始化/重建表单布局(initLayout):选样式模板 + 设字段 readOnly/required/disableEdit/singleRow')
|
|
84
|
+
.argument('<objId>', '表单 objId')
|
|
85
|
+
.argument('<appId>', '应用 ID')
|
|
86
|
+
.option('--view-id <id>', '指定视图/布局 ID(不传重建默认布局)')
|
|
87
|
+
.option('--style-template <name|id>', '样式模板(名或 id,默认"标准版",见 form/style-templates.md)')
|
|
88
|
+
.option('--read-only', '字段只读(默认保留已有设置)')
|
|
89
|
+
.option('--required', '字段必填(默认保留已有设置)')
|
|
90
|
+
.option('--disable-edit', '禁止手工编辑(默认保留)')
|
|
91
|
+
.option('--single-row', '独占一行显示(默认保留)')
|
|
92
|
+
.option('--generate-collapse', '生成折叠分组')
|
|
93
|
+
.action(async (objId, appId, cmdOpts) => {
|
|
94
|
+
const opts = program.opts();
|
|
95
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
96
|
+
if (!auth)
|
|
97
|
+
process.exit(1);
|
|
98
|
+
const client = new ApiClient(auth);
|
|
99
|
+
const baseUrl = auth.getBaseUrl();
|
|
100
|
+
const formId = await resolveFormId(client, baseUrl, appId, objId);
|
|
101
|
+
const ebb = { ebbusinessid: formId };
|
|
102
|
+
// 1. getFormLayout → layoutId / layoutMultiId / name / layoutType
|
|
103
|
+
const meta = await getLayoutMeta(client, baseUrl, formId, cmdOpts.viewId);
|
|
104
|
+
if (!meta.layoutId) {
|
|
105
|
+
console.error('无法获取 layoutId');
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
// 2. getConfig → configs. Default PRESERVES each field's existing
|
|
109
|
+
// readOnly/required/disableEdit/singleRow from getConfig; flags force the
|
|
110
|
+
// value on ALL business fields when explicitly passed.
|
|
111
|
+
const cfgRes = await client.post(`${baseUrl}/api/ebuilder/form/form/view/relate/getConfig`, {
|
|
112
|
+
formId, module: 'ebuilderform', apiModule: 'ebuilder/form',
|
|
113
|
+
layoutId: meta.layoutId, customParam: { terminal: '', objId: formId },
|
|
114
|
+
initMode: 5, groupFieldIds: [], designerParam: { sourceModule: 'ebuilderform' },
|
|
115
|
+
}, ebb);
|
|
116
|
+
const configs = normalizeDetailTableChildren((cfgRes?.data?.configs || []).map((c) => {
|
|
117
|
+
const isBusiness = !c.system;
|
|
118
|
+
const out = { ...c, display: c.system ? c.display : true, show: c.system ? c.show : true };
|
|
119
|
+
if (isBusiness) {
|
|
120
|
+
if (cmdOpts.readOnly !== undefined)
|
|
121
|
+
out.readOnly = cmdOpts.readOnly;
|
|
122
|
+
if (cmdOpts.required !== undefined)
|
|
123
|
+
out.required = cmdOpts.required;
|
|
124
|
+
if (cmdOpts.disableEdit !== undefined)
|
|
125
|
+
out.disableEdit = cmdOpts.disableEdit;
|
|
126
|
+
if (cmdOpts.singleRow !== undefined)
|
|
127
|
+
out.singleRow = cmdOpts.singleRow;
|
|
128
|
+
}
|
|
129
|
+
return out;
|
|
130
|
+
}));
|
|
131
|
+
// 3. initLayout — 默认模板按布局类型:流式(FLOW)用 820000000000000001,表格(EXCEL)用 008(表格版)
|
|
132
|
+
const styleTemplateId = cmdOpts.styleTemplate
|
|
133
|
+
? resolveStyleTemplate(cmdOpts.styleTemplate)
|
|
134
|
+
: (meta.layoutType === 'FLOW' ? '820000000000000001' : '700000000000000008');
|
|
135
|
+
const initRes = await client.post(`${baseUrl}/api/ebuilder/form/form/view/relate/initLayout?apid=${encodeURIComponent(appId)}`, {
|
|
136
|
+
formId, module: 'ebuilderform', apiModule: 'ebuilder/form',
|
|
137
|
+
layoutId: meta.layoutId, generateCollapse: cmdOpts.generateCollapse === true,
|
|
138
|
+
styleTemplateId, styleTemplateType: 1,
|
|
139
|
+
configs, addLayout: false, ecodeType: ['js', 'css'],
|
|
140
|
+
initMode: '1', customParam: { terminal: '', objId: formId },
|
|
141
|
+
formLayoutMultiple: { isSys: true, id: meta.layoutMultiId, name: meta.layoutName, terminalType: 'PC', layoutType: meta.layoutType },
|
|
142
|
+
designerParam: { onlyLayout: false },
|
|
143
|
+
}, ebb);
|
|
144
|
+
if (initRes?.code !== 200 || !initRes?.status) {
|
|
145
|
+
console.error(`初始化布局失败: ${initRes?.msg || '未知错误'}`);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
const comps = initRes?.data?.pageLayouts?.[0]?.comps || initRes?.data?.formLayout?.pageLayouts?.[0]?.comps || [];
|
|
149
|
+
const overrides = [];
|
|
150
|
+
if (cmdOpts.readOnly !== undefined)
|
|
151
|
+
overrides.push(`readOnly=${cmdOpts.readOnly}`);
|
|
152
|
+
if (cmdOpts.required !== undefined)
|
|
153
|
+
overrides.push(`required=${cmdOpts.required}`);
|
|
154
|
+
if (cmdOpts.disableEdit !== undefined)
|
|
155
|
+
overrides.push(`disableEdit=${cmdOpts.disableEdit}`);
|
|
156
|
+
if (cmdOpts.singleRow !== undefined)
|
|
157
|
+
overrides.push(`singleRow=${cmdOpts.singleRow}`);
|
|
158
|
+
console.log(`布局已初始化: 模板=${cmdOpts.styleTemplate || '标准版'}(${styleTemplateId}) 视图=${cmdOpts.viewId || '默认'} 组件=${comps.length}`);
|
|
159
|
+
console.log(` 字段覆盖: ${overrides.length ? overrides.join(', ') : '保留已有设置'}`);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=form-layout-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-layout-init.js","sourceRoot":"","sources":["../../src/commands/form-layout-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../src/commands/form-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAwNhF"}
|