weaver-e10-builder 1.5.12 → 1.5.13
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/designer-common.d.ts.map +1 -1
- package/dist/commands/designer-common.js +91 -0
- package/dist/commands/designer-common.js.map +1 -1
- package/dist/commands/form-add-detail-table.d.ts.map +1 -1
- package/dist/commands/form-add-detail-table.js +97 -1
- package/dist/commands/form-add-detail-table.js.map +1 -1
- package/dist/commands/form-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +21 -4
- package/dist/commands/form-formula.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +333 -25
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +18 -4
- package/dist/commands/workflow.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts +5 -0
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +88 -34
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/filter_rules.d.ts.map +1 -1
- package/dist/services/actionflow/filter_rules.js +9 -8
- package/dist/services/actionflow/filter_rules.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +2 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +34 -15
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +3 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +25 -13
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/form-linkage-condition.d.ts +15 -0
- package/dist/services/form-linkage-condition.d.ts.map +1 -1
- package/dist/services/form-linkage-condition.js +19 -10
- package/dist/services/form-linkage-condition.js.map +1 -1
- package/dist/services/form-sub-detail.d.ts +25 -0
- package/dist/services/form-sub-detail.d.ts.map +1 -1
- package/dist/services/form-sub-detail.js +64 -0
- package/dist/services/form-sub-detail.js.map +1 -1
- package/dist/services/workflow-operator.d.ts +12 -5
- package/dist/services/workflow-operator.d.ts.map +1 -1
- package/dist/services/workflow-operator.js +41 -16
- package/dist/services/workflow-operator.js.map +1 -1
- package/package.json +1 -1
- package/skill-docs/SKILL.md +37 -173
- package/skill-docs/_catalog.md +3 -1
- package/skill-docs/references/coding/guide-page-code.md +2 -0
- package/skill-docs/references/coding/ref-compile-rules.md +2 -0
- package/skill-docs/references/common/capability-boundaries.md +15 -0
- package/skill-docs/references/common/guide-install.md +44 -0
- package/skill-docs/references/common/guide-plan-template.md +167 -167
- package/skill-docs/references/common/map.md +9 -0
- package/skill-docs/references/common/ref-cli-commands.md +650 -648
- package/skill-docs/references/form/guide-field-linkage.md +56 -14
- package/skill-docs/references/form/guide-form-formula-functions.md +354 -343
- package/skill-docs/references/form/guide-form-linkage.md +56 -66
- package/skill-docs/references/workflow/guide-workflow.md +1 -1
|
@@ -8,7 +8,7 @@ import fs from 'node:fs';
|
|
|
8
8
|
import { get, getCompiler, getNodePost } from './components/index.js';
|
|
9
9
|
import { buildEsbFormDataDto, buildEsbFormField } from './components/form_data_builder.js';
|
|
10
10
|
import { findInMetadata, getTargetFormFields, getWorkflowDetailNames, getTargetDetailFields, getWorkflowDetailFields, getWorkflowFieldIds, workflowFieldId, getWorkflowContextFields, getWorkflowContextFieldsByKey } from './runtime_metadata.js';
|
|
11
|
-
import { buildPersonFormula, buildAssignBean, attachEsbAssign, resolveEnumConstant, resolveParamKey, resolveSourceFieldLabel, resolveSourceFieldType, normalizeConstantAssignment, lookupTargetFieldMeta, formulaFixedForAssignSwitch, formulaSystemVar, formulaContext, assignFlatContextDirect, getFormulaFn, formulaFunction,
|
|
11
|
+
import { buildPersonFormula, buildAssignBean, attachEsbAssign, resolveEnumConstant, resolveParamKey, resolveSourceFieldLabel, resolveSourceFieldType, normalizeConstantAssignment, lookupTargetFieldMeta, formulaFixedForAssignSwitch, formulaSystemVar, formulaContext, assignFlatContextDirect, getFormulaFn, formulaFunction, contextTableNameForRoot, normalizeContextParamKey, resolveFormSettingBasisParentName, contextMetaForReference, resolvedContextRoot, protocolParamKey, } from './formula_service.js';
|
|
12
12
|
import { buildFormulaReference, buildUpdateFieldCondition } from './components/action_eb_update_compiler.js';
|
|
13
13
|
import { resolveCustomTriggerDtoId } from './custom_trigger_context.js';
|
|
14
14
|
import { resolveSystemParameter, isDateSystemParameter } from './system_params.js';
|
|
@@ -318,11 +318,16 @@ function handleSpecial(draftKey, special, val, result, meta, appId, idx, eventId
|
|
|
318
318
|
result.requestName = buildFormulaReference(val, { meta, appId, eventId, componentType });
|
|
319
319
|
}
|
|
320
320
|
else {
|
|
321
|
+
const contextRoot = String(val._resolvedContext?.tablePrimaryKey || meta?._context_table_primary_key || '').trim();
|
|
322
|
+
if (!contextRoot) {
|
|
323
|
+
throw new Error(`ApproveCreate.requestName 上下文 '${String(val.key ?? val.value ?? '')}' 缺少实时上下文 tablePrimaryKey,拒绝猜测上下文根`);
|
|
324
|
+
}
|
|
321
325
|
const wfId = String(meta?._workflow_id || '');
|
|
322
326
|
const rqKey = resolveParamKey(wfId, String(val.key ?? val.value ?? ''));
|
|
323
327
|
result.requestName = formulaContext('', rqKey, {
|
|
324
328
|
name: String(val.label || ''),
|
|
325
329
|
frontId: val._resolvedContext?.fieldId || val.frontId || val.fieldId,
|
|
330
|
+
meta: { ...meta, _context_table_primary_key: contextRoot },
|
|
326
331
|
});
|
|
327
332
|
attachEsbAssign(result.requestName, meta, String(eventId || ''));
|
|
328
333
|
}
|
|
@@ -364,7 +369,7 @@ function handleBasisValue(val, result, meta, appId, eventId) {
|
|
|
364
369
|
if (keyIndex[arrKey] && !keyIndex[bvKey])
|
|
365
370
|
bvKey = arrKey;
|
|
366
371
|
}
|
|
367
|
-
const basisRoot = resolvedContextRoot(resolved, sourceComponent
|
|
372
|
+
const basisRoot = resolvedContextRoot(resolved, sourceComponent);
|
|
368
373
|
bvKey = protocolParamKey(sourceComponent === 'CustomTrigger' ? normalizeContextParamKey(bvKey, sourceComponent) : bvKey, basisRoot, sourceComponent);
|
|
369
374
|
if (bvKey) {
|
|
370
375
|
const idx = bvKey.lastIndexOf('.');
|
|
@@ -1110,11 +1115,18 @@ function conditionFormulaType(right, shape, sourceId) {
|
|
|
1110
1115
|
const key = String(raw || '').replace(/^(FormData|ApprovalData)\./, '');
|
|
1111
1116
|
if (!key)
|
|
1112
1117
|
throw new Error('Condition 动态右值必须提供 paramKey/key/value 或完整 formula');
|
|
1118
|
+
const componentType = String(right?.componentType || right?.comType || right?._resolvedContext?.componentType || 'ApproveTrigger');
|
|
1119
|
+
const contextRoot = String(right?._resolvedContext?.tablePrimaryKey || right?.tablePrimaryKey || '').trim();
|
|
1120
|
+
if (!contextRoot && componentType !== 'CustomTrigger') {
|
|
1121
|
+
throw new Error(`Condition 右值 '${key}' 缺少 getComponentContext 返回的 tablePrimaryKey,拒绝猜测上下文根`);
|
|
1122
|
+
}
|
|
1113
1123
|
const bean = formulaContext(String(right?.source || right?.comId || sourceId), key, {
|
|
1114
1124
|
name: String(right?.label || right?.name || key),
|
|
1115
1125
|
fieldType: shape.formulaType,
|
|
1116
|
-
componentType
|
|
1126
|
+
componentType,
|
|
1117
1127
|
frontId: right?._resolvedContext?.fieldId || right?._resolvedContext?.rawField?.id || right?.frontId || right?.fieldId,
|
|
1128
|
+
meta: contextRoot ? { _context_table_primary_key: contextRoot } : undefined,
|
|
1129
|
+
requireResolvedRoot: true,
|
|
1118
1130
|
});
|
|
1119
1131
|
bean.businessId = String(right?.businessId || bean.businessId || '0');
|
|
1120
1132
|
return bean;
|
|
@@ -1176,19 +1188,19 @@ function buildSingleConditionDetail(condition, sourceId, meta = null) {
|
|
|
1176
1188
|
comType = 'EnquiryForm';
|
|
1177
1189
|
}
|
|
1178
1190
|
else if (rawField) {
|
|
1191
|
+
const contextRoot = String(rawField.tablePrimaryKey || rawField.contextGroup || '').trim();
|
|
1192
|
+
if (!contextRoot) {
|
|
1193
|
+
throw new Error(`Condition.left.key='${requestedFieldKey}' 的实时上下文缺少 tablePrimaryKey,拒绝猜测 ApprovalData/FormData`);
|
|
1194
|
+
}
|
|
1179
1195
|
paramKeyId = String(rawField.paramKey);
|
|
1180
|
-
valueId =
|
|
1196
|
+
valueId = `${contextRoot}.${paramKeyId}`;
|
|
1181
1197
|
comType = 'ApproveTrigger';
|
|
1182
1198
|
}
|
|
1183
1199
|
else if (fieldId && workflowId && fieldId !== fieldKey) {
|
|
1184
|
-
|
|
1185
|
-
valueId = `FormData.${workflowId}.${fieldId}`;
|
|
1186
|
-
comType = 'ApproveTrigger';
|
|
1200
|
+
throw new Error(`Condition.left.key='${requestedFieldKey}' 未返回实时上下文分组,拒绝猜测 FormData`);
|
|
1187
1201
|
}
|
|
1188
1202
|
else {
|
|
1189
|
-
|
|
1190
|
-
valueId = fieldKey ? `FormData.${fieldKey}` : '';
|
|
1191
|
-
comType = 'EbGetDataById';
|
|
1203
|
+
throw new Error(`Condition.left.key='${requestedFieldKey}' 未返回实时上下文分组,拒绝猜测 FormData`);
|
|
1192
1204
|
}
|
|
1193
1205
|
const upstreamWId = meta && typeof meta === 'object' ? String(meta._upstream_w_id || '') : '';
|
|
1194
1206
|
const contextWId = isEnquiryCount ? String(sourceId) : (upstreamWId || String(sourceId));
|
|
@@ -1208,8 +1220,8 @@ function buildSingleConditionDetail(condition, sourceId, meta = null) {
|
|
|
1208
1220
|
selectType: '-1', id: customFieldId, source: contextWId, type: '3', value: valueId,
|
|
1209
1221
|
config: {
|
|
1210
1222
|
paramKey: paramKeyId, isMultCom: false, comType, parentComId: '0',
|
|
1211
|
-
fieldInfo: { paramKey: paramKeyId, tablePrimaryKey: rawField ?
|
|
1212
|
-
tableName: rawField ? '流程数据' : '表单数据', paramType: shape.formulaType, parentName: contextDisplayName, multName: '', multKey: '',
|
|
1223
|
+
fieldInfo: { paramKey: paramKeyId, tablePrimaryKey: rawField ? String(rawField.tablePrimaryKey || rawField.contextGroup) : '' },
|
|
1224
|
+
tableName: rawField ? String(rawField.tableName || (String(rawField.tablePrimaryKey || rawField.contextGroup) === 'ApprovalData' ? '流程数据' : '表单数据')) : '', paramType: shape.formulaType, parentName: contextDisplayName, multName: '', multKey: '',
|
|
1213
1225
|
multTypeObj: { allName: contextDisplayName, currentName: contextDisplayName, currentParamKey: valueId, allParamKey: valueId },
|
|
1214
1226
|
comId: contextWId, newParentName: contextDisplayName,
|
|
1215
1227
|
},
|
|
@@ -1341,7 +1353,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
|
|
|
1341
1353
|
const sourceMeta = contextMetaForReference(meta, bvVal, sourceComponent);
|
|
1342
1354
|
let bvKey = String(bvVal.paramKey || bvVal.key || resolved.paramKey || '').trim();
|
|
1343
1355
|
const isCustomTriggerSource = sourceComponent === 'CustomTrigger';
|
|
1344
|
-
const basisContextRoot = resolvedContextRoot(resolved, sourceComponent
|
|
1356
|
+
const basisContextRoot = resolvedContextRoot(resolved, sourceComponent);
|
|
1345
1357
|
const basisTableName = String(resolved.tableName || contextTableNameForRoot(basisContextRoot));
|
|
1346
1358
|
bvKey = protocolParamKey(isCustomTriggerSource ? normalizeContextParamKey(bvKey, 'CustomTrigger') : bvKey, basisContextRoot, sourceComponent);
|
|
1347
1359
|
if (bvKey && !bvKey.includes('[]')) {
|