weaver-e10-builder 1.5.9 → 1.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +159 -8
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/designer-setters.d.ts.map +1 -1
- package/dist/commands/designer-setters.js +26 -4
- package/dist/commands/designer-setters.js.map +1 -1
- package/dist/commands/form-association-manage.d.ts.map +1 -1
- package/dist/commands/form-association-manage.js +3 -0
- package/dist/commands/form-association-manage.js.map +1 -1
- package/dist/commands/form-button-actions-cmd.d.ts +3 -0
- package/dist/commands/form-button-actions-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-actions-cmd.js +309 -0
- package/dist/commands/form-button-actions-cmd.js.map +1 -0
- package/dist/commands/form-button-permission-cmd.d.ts +3 -0
- package/dist/commands/form-button-permission-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-permission-cmd.js +132 -0
- package/dist/commands/form-button-permission-cmd.js.map +1 -0
- package/dist/commands/form-button-props-cmd.d.ts +3 -0
- package/dist/commands/form-button-props-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-props-cmd.js +236 -0
- package/dist/commands/form-button-props-cmd.js.map +1 -0
- package/dist/commands/form-button.d.ts.map +1 -1
- package/dist/commands/form-button.js +82 -55
- package/dist/commands/form-button.js.map +1 -1
- package/dist/commands/form-formula-linkage.d.ts.map +1 -1
- package/dist/commands/form-formula-linkage.js +154 -63
- package/dist/commands/form-formula-linkage.js.map +1 -1
- package/dist/commands/form-list-permission.d.ts.map +1 -1
- package/dist/commands/form-list-permission.js +31 -12
- package/dist/commands/form-list-permission.js.map +1 -1
- package/dist/commands/form-list-search-group.d.ts.map +1 -1
- package/dist/commands/form-list-search-group.js +66 -3
- package/dist/commands/form-list-search-group.js.map +1 -1
- package/dist/commands/form-list-utils.d.ts +14 -0
- package/dist/commands/form-list-utils.d.ts.map +1 -1
- package/dist/commands/form-list-utils.js +65 -4
- package/dist/commands/form-list-utils.js.map +1 -1
- package/dist/commands/form-message.d.ts.map +1 -1
- package/dist/commands/form-message.js +16 -4
- package/dist/commands/form-message.js.map +1 -1
- package/dist/commands/form-permission.d.ts +20 -0
- package/dist/commands/form-permission.d.ts.map +1 -1
- package/dist/commands/form-permission.js +442 -6
- package/dist/commands/form-permission.js.map +1 -1
- package/dist/commands/menu-permission.d.ts.map +1 -1
- package/dist/commands/menu-permission.js +6 -7
- package/dist/commands/menu-permission.js.map +1 -1
- package/dist/commands/menu.d.ts +2 -2
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +107 -51
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +56 -36
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-function-management.d.ts +5 -0
- package/dist/commands/workflow-function-management.d.ts.map +1 -0
- package/dist/commands/workflow-function-management.js +91 -0
- package/dist/commands/workflow-function-management.js.map +1 -0
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
- package/dist/commands/workflow-node-assign-flow.js +1 -0
- package/dist/commands/workflow-node-assign-flow.js.map +1 -1
- package/dist/commands/workflow-node-sign.d.ts +0 -12
- package/dist/commands/workflow-node-sign.d.ts.map +1 -1
- package/dist/commands/workflow-node-sign.js +31 -102
- package/dist/commands/workflow-node-sign.js.map +1 -1
- package/dist/commands/workflow-opinion-settings.d.ts +5 -0
- package/dist/commands/workflow-opinion-settings.d.ts.map +1 -0
- package/dist/commands/workflow-opinion-settings.js +51 -0
- package/dist/commands/workflow-opinion-settings.js.map +1 -0
- package/dist/commands/workflow-subprocess.d.ts.map +1 -1
- package/dist/commands/workflow-subprocess.js +370 -20
- package/dist/commands/workflow-subprocess.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +35 -61
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
- package/dist/services/actionflow/calendar_mapper.js +44 -13
- package/dist/services/actionflow/calendar_mapper.js.map +1 -1
- package/dist/services/actionflow/component_registry.d.ts.map +1 -1
- package/dist/services/actionflow/component_registry.js +6 -0
- package/dist/services/actionflow/component_registry.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.js +9 -7
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
- package/dist/services/actionflow/components/index.d.ts.map +1 -1
- package/dist/services/actionflow/components/index.js +2 -1
- package/dist/services/actionflow/components/index.js.map +1 -1
- package/dist/services/actionflow/components/inner_mq_listener.d.ts +6 -0
- package/dist/services/actionflow/components/inner_mq_listener.d.ts.map +1 -1
- package/dist/services/actionflow/components/inner_mq_listener.js +50 -2
- package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
- package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/meeting_create.js +6 -2
- package/dist/services/actionflow/components/meeting_create.js.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.js +20 -19
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +3 -10
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/components/schedule_create.js +2 -2
- package/dist/services/actionflow/components/schedule_create.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +48 -19
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +47 -10
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.d.ts.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.js +1 -0
- package/dist/services/actionflow/custom_trigger_context.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +7 -0
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +39 -9
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/machine_key.d.ts +13 -0
- package/dist/services/actionflow/machine_key.d.ts.map +1 -0
- package/dist/services/actionflow/machine_key.js +62 -0
- package/dist/services/actionflow/machine_key.js.map +1 -0
- package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
- package/dist/services/actionflow/param_group_dto.js +14 -5
- package/dist/services/actionflow/param_group_dto.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +9 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/app-publish.d.ts +25 -0
- package/dist/services/app-publish.d.ts.map +1 -1
- package/dist/services/app-publish.js +38 -0
- package/dist/services/app-publish.js.map +1 -1
- package/dist/services/app-range.d.ts +66 -0
- package/dist/services/app-range.d.ts.map +1 -0
- package/dist/services/app-range.js +137 -0
- package/dist/services/app-range.js.map +1 -0
- package/dist/services/form-association.d.ts +13 -0
- package/dist/services/form-association.d.ts.map +1 -1
- package/dist/services/form-association.js +42 -0
- package/dist/services/form-association.js.map +1 -1
- package/dist/services/form-button-action.d.ts +82 -0
- package/dist/services/form-button-action.d.ts.map +1 -1
- package/dist/services/form-button-action.js +194 -2
- package/dist/services/form-button-action.js.map +1 -1
- package/dist/services/form-button-condition.d.ts +45 -0
- package/dist/services/form-button-condition.d.ts.map +1 -0
- package/dist/services/form-button-condition.js +106 -0
- package/dist/services/form-button-condition.js.map +1 -0
- package/dist/services/form-button-context.d.ts +41 -0
- package/dist/services/form-button-context.d.ts.map +1 -0
- package/dist/services/form-button-context.js +54 -0
- package/dist/services/form-button-context.js.map +1 -0
- package/dist/services/form-button-logicflow.d.ts +30 -0
- package/dist/services/form-button-logicflow.d.ts.map +1 -0
- package/dist/services/form-button-logicflow.js +59 -0
- package/dist/services/form-button-logicflow.js.map +1 -0
- package/dist/services/form-button-org.d.ts +30 -0
- package/dist/services/form-button-org.d.ts.map +1 -0
- package/dist/services/form-button-org.js +80 -0
- package/dist/services/form-button-org.js.map +1 -0
- package/dist/services/form-button-permission.d.ts +65 -0
- package/dist/services/form-button-permission.d.ts.map +1 -0
- package/dist/services/form-button-permission.js +113 -0
- package/dist/services/form-button-permission.js.map +1 -0
- package/dist/services/form-button-position.d.ts +4 -18
- package/dist/services/form-button-position.d.ts.map +1 -1
- package/dist/services/form-button-position.js +4 -36
- package/dist/services/form-button-position.js.map +1 -1
- package/dist/services/form-button-props.d.ts +55 -0
- package/dist/services/form-button-props.d.ts.map +1 -0
- package/dist/services/form-button-props.js +90 -0
- package/dist/services/form-button-props.js.map +1 -0
- package/dist/services/form-button-save.d.ts +49 -0
- package/dist/services/form-button-save.d.ts.map +1 -0
- package/dist/services/form-button-save.js +54 -0
- package/dist/services/form-button-save.js.map +1 -0
- package/dist/services/form-formula-linkage.d.ts +116 -20
- package/dist/services/form-formula-linkage.d.ts.map +1 -1
- package/dist/services/form-formula-linkage.js +250 -38
- package/dist/services/form-formula-linkage.js.map +1 -1
- package/dist/services/form-list-search-group.d.ts +17 -2
- package/dist/services/form-list-search-group.d.ts.map +1 -1
- package/dist/services/form-list-search-group.js +29 -12
- package/dist/services/form-list-search-group.js.map +1 -1
- package/dist/services/form-list-search.d.ts.map +1 -1
- package/dist/services/form-list-search.js +4 -0
- package/dist/services/form-list-search.js.map +1 -1
- package/dist/services/form-list-stats.d.ts.map +1 -1
- package/dist/services/form-list-stats.js +9 -2
- package/dist/services/form-list-stats.js.map +1 -1
- package/dist/services/form-message.d.ts +26 -7
- package/dist/services/form-message.d.ts.map +1 -1
- package/dist/services/form-message.js +52 -5
- package/dist/services/form-message.js.map +1 -1
- package/dist/services/form-permission-archive.d.ts +121 -0
- package/dist/services/form-permission-archive.d.ts.map +1 -0
- package/dist/services/form-permission-archive.js +375 -0
- package/dist/services/form-permission-archive.js.map +1 -0
- package/dist/services/form-view-populate.d.ts.map +1 -1
- package/dist/services/form-view-populate.js +7 -0
- package/dist/services/form-view-populate.js.map +1 -1
- package/dist/services/icon-path.d.ts +70 -0
- package/dist/services/icon-path.d.ts.map +1 -0
- package/dist/services/icon-path.js +80 -0
- package/dist/services/icon-path.js.map +1 -0
- package/dist/services/matrix-condition.d.ts +161 -0
- package/dist/services/matrix-condition.d.ts.map +1 -0
- package/dist/services/matrix-condition.js +403 -0
- package/dist/services/matrix-condition.js.map +1 -0
- package/dist/services/menu-catalog.d.ts +46 -0
- package/dist/services/menu-catalog.d.ts.map +1 -1
- package/dist/services/menu-catalog.js +80 -0
- package/dist/services/menu-catalog.js.map +1 -1
- package/dist/services/permission-entity.d.ts +55 -0
- package/dist/services/permission-entity.d.ts.map +1 -0
- package/dist/services/permission-entity.js +79 -0
- package/dist/services/permission-entity.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts.map +1 -1
- package/dist/services/workflow-assign-flow.js.map +1 -1
- package/dist/services/workflow-function-management.d.ts +123 -0
- package/dist/services/workflow-function-management.d.ts.map +1 -0
- package/dist/services/workflow-function-management.js +425 -0
- package/dist/services/workflow-function-management.js.map +1 -0
- package/dist/services/workflow-matrix-rule.d.ts +34 -0
- package/dist/services/workflow-matrix-rule.d.ts.map +1 -0
- package/dist/services/workflow-matrix-rule.js +94 -0
- package/dist/services/workflow-matrix-rule.js.map +1 -0
- package/dist/services/workflow-opinion-settings.d.ts +67 -0
- package/dist/services/workflow-opinion-settings.d.ts.map +1 -0
- package/dist/services/workflow-opinion-settings.js +328 -0
- package/dist/services/workflow-opinion-settings.js.map +1 -0
- package/package.json +1 -1
- package/skill-docs/SKILL.md +5 -5
- package/skill-docs/_catalog.md +5 -1
- package/skill-docs/actionflows/SKILL.md +1 -0
- package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +2 -0
- package/skill-docs/actionflows/references/components/logic/Output.md +1 -1
- package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +1 -1
- package/skill-docs/actionflows/references/dynamic_capability_matrix.md +3 -3
- package/skill-docs/references/common/ref-cli-commands.md +63 -23
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +9 -0
- package/skill-docs/references/form/guide-form-archive-permission.md +175 -0
- package/skill-docs/references/form/guide-form-association.md +13 -0
- package/skill-docs/references/form/guide-form-button.md +87 -0
- package/skill-docs/references/form/guide-form-message.md +19 -2
- package/skill-docs/references/form/guide-form-view.md +23 -3
- package/skill-docs/references/form/guide-formula-linkage.md +42 -11
- package/skill-docs/references/workflow/guide-function-management.md +154 -0
- package/skill-docs/references/workflow/guide-opinion-settings.md +126 -0
- package/skill-docs/references/workflow/guide-workflow.md +22 -6
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type Client, type Config, type Form } from './workflow-function-management.js';
|
|
2
|
+
export declare const signFields: string[];
|
|
3
|
+
export declare const draftFields: string[];
|
|
4
|
+
export declare const widgetFields: string[];
|
|
5
|
+
export declare function booleanValue(v: any): boolean;
|
|
6
|
+
export declare function resultData(r: any, label: string): any;
|
|
7
|
+
export declare function settings(form: Form): Config;
|
|
8
|
+
export declare function verifySettings(expected: Config, actual: Config, fields: string[]): void;
|
|
9
|
+
/** Endpoint-specific snapshots; GET defaults, explicit patch, single POST, verified readback. */
|
|
10
|
+
export declare class OpinionSettings {
|
|
11
|
+
client: Client;
|
|
12
|
+
base: string;
|
|
13
|
+
constructor(client: Client, base: string);
|
|
14
|
+
get(path: string, query: Config): Promise<any>;
|
|
15
|
+
post(path: string, payload: Config): Promise<any>;
|
|
16
|
+
sign(workflowId: string, nodeId: string): Promise<Form>;
|
|
17
|
+
browserOptions(form: Form, field: string): Promise<Config[]>;
|
|
18
|
+
browserValues(form: Form, field: string, input: any): Promise<Config[]>;
|
|
19
|
+
patchForm(form: Form, patch: Config, allowed: string[]): Promise<Config>;
|
|
20
|
+
private wire;
|
|
21
|
+
saveSign(w: string, n: string, patch: Config): Promise<{
|
|
22
|
+
workflowId: string;
|
|
23
|
+
nodeId: string;
|
|
24
|
+
before: Config;
|
|
25
|
+
after: Config;
|
|
26
|
+
verified: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
forward(w: string, n: string): Promise<Config>;
|
|
29
|
+
saveForward(w: string, n: string, patch: Config): Promise<{
|
|
30
|
+
workflowId: string;
|
|
31
|
+
nodeId: string;
|
|
32
|
+
before: Config;
|
|
33
|
+
after: Config;
|
|
34
|
+
verified: boolean;
|
|
35
|
+
}>;
|
|
36
|
+
draft(w: string): Promise<Form>;
|
|
37
|
+
saveDraft(w: string, patch: Config): Promise<{
|
|
38
|
+
workflowId: string;
|
|
39
|
+
before: Config;
|
|
40
|
+
after: Config;
|
|
41
|
+
verified: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
widgets(w: string): Promise<Config[]>;
|
|
44
|
+
widget(w: string, widgetId: string): Promise<Form>;
|
|
45
|
+
saveWidget(w: string, widgetId: string, patch: Config): Promise<{
|
|
46
|
+
workflowId: string;
|
|
47
|
+
widgetId: string;
|
|
48
|
+
before: Config;
|
|
49
|
+
after: Config;
|
|
50
|
+
verified: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
content(w: string): Promise<any>;
|
|
53
|
+
saveContent(w: string, patch: Config): Promise<{
|
|
54
|
+
workflowId: string;
|
|
55
|
+
before: any;
|
|
56
|
+
after: any;
|
|
57
|
+
verified: boolean;
|
|
58
|
+
}>;
|
|
59
|
+
style(w: string): Promise<any>;
|
|
60
|
+
saveStyle(w: string, patch: Config): Promise<{
|
|
61
|
+
workflowId: string;
|
|
62
|
+
before: any;
|
|
63
|
+
after: any;
|
|
64
|
+
verified: boolean;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=workflow-opinion-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-opinion-settings.d.ts","sourceRoot":"","sources":["../../src/services/workflow-opinion-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAI5F,eAAO,MAAM,UAAU,UAAkR,CAAC;AAC1S,eAAO,MAAM,WAAW,UAAyJ,CAAC;AAClL,eAAO,MAAM,YAAY,UAA6N,CAAC;AAGvP,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAI5C;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAKrD;AAKD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ3C;AAqBD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAGhF;AAED,iGAAiG;AACjG,qBAAa,eAAe;IACP,MAAM,EAAE,MAAM;IAAS,IAAI,EAAE,MAAM;gBAAnC,MAAM,EAAE,MAAM,EAAS,IAAI,EAAE,MAAM;IAChD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAG/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAClC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGvD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB5D,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWvE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAY9E,OAAO,CAAC,IAAI;IAKN,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;;IAc1C,OAAO,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C,WAAW,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;;IAgB7C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG/B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;IASjC,OAAO,CAAC,CAAC,EAAE,MAAM;IAYjB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,UAAU,CAAC,CAAC,EAAE,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;;IAkBnD,OAAO,CAAC,CAAC,EAAE,MAAM;IACjB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;IAWnC,KAAK,CAAC,CAAC,EAAE,MAAM;IACf,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM;;;;;;CA0BxC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
import { id } from './workflow-function-management.js';
|
|
3
|
+
const P = '/api/bs/workflow/pathdef';
|
|
4
|
+
const D = `${P}/pathSet/draftopinion`;
|
|
5
|
+
export const signFields = ['mustInputDto', 'inputOperateTypeSelectDto', 'inputOperateTypeDto', 'hideInput', 'signOperateTypeSelect', 'signOperateTypeList', 'hideArea', 'viewTypeSelectDto', 'viewTypeDto', 'viewEmptyNotShow', 'viewRangeSelectDto', 'viewRangeDto', 'notSeeEachOther', 'feedback', 'nullNotFeedback'];
|
|
6
|
+
export const draftFields = ['openCustomSet', 'openTextarea', 'defautFont', 'defaultFontSize', 'showBlank', 'openSearch', 'opinionOrder', 'showLog', 'pcFillMethod', 'alertEndCountersign'];
|
|
7
|
+
export const widgetFields = ['opinionType', 'enableCountersign', 'conterSignType', 'typeBfSignDepart', 'typeBfSignSubcom', 'typeAfSign', 'enableCopyClear', 'copyClearOperate', 'copyClearNode', 'enableGenerateRecord', 'agentRecordOperate', 'agentRecordNode'];
|
|
8
|
+
const forwardFields = ['isForward', 'allowSubOpt', 'allowForward', 'allowSubOptCusName', 'allowForwardCusName'];
|
|
9
|
+
const scalar = (v) => String(Array.isArray(v) ? v[0] ?? '' : v ?? '');
|
|
10
|
+
export function booleanValue(v) {
|
|
11
|
+
if ([true, 1, '1'].includes(v))
|
|
12
|
+
return true;
|
|
13
|
+
if ([false, 0, '0'].includes(v))
|
|
14
|
+
return false;
|
|
15
|
+
throw Error('开关必须为 true/false 或 0/1');
|
|
16
|
+
}
|
|
17
|
+
export function resultData(r, label) {
|
|
18
|
+
if (!r || r.code !== 200 || r.status === false || r.fail === true || r.data === false || r.data?.status === false || r.data?.status === 'failed') {
|
|
19
|
+
throw Error(`${label}失败: ${r?.data?.errorInfo || r?.msg || '无有效响应'}`);
|
|
20
|
+
}
|
|
21
|
+
return r.data;
|
|
22
|
+
}
|
|
23
|
+
function formOf(v) {
|
|
24
|
+
if (!v?.data || !v?.items || Array.isArray(v.data) || !Object.keys(v.data).length)
|
|
25
|
+
throw Error('未读到服务端配置/默认值,停止写入');
|
|
26
|
+
return v;
|
|
27
|
+
}
|
|
28
|
+
export function settings(form) {
|
|
29
|
+
const d = structuredClone(form.data);
|
|
30
|
+
for (const [k, item] of Object.entries(form.items)) {
|
|
31
|
+
if (!(k in d))
|
|
32
|
+
continue;
|
|
33
|
+
if (item.itemType === 'SWITCH')
|
|
34
|
+
d[k] = booleanValue(d[k]);
|
|
35
|
+
else if (['SELECT', 'RADIO'].includes(item.itemType))
|
|
36
|
+
d[k] = scalar(d[k]);
|
|
37
|
+
}
|
|
38
|
+
return d;
|
|
39
|
+
}
|
|
40
|
+
function keys(p, allowed) {
|
|
41
|
+
if (!p || typeof p !== 'object' || Array.isArray(p))
|
|
42
|
+
throw Error('设置必须是 JSON 对象');
|
|
43
|
+
for (const k of Object.keys(p))
|
|
44
|
+
if (!allowed.includes(k))
|
|
45
|
+
throw Error(`不支持设置 ${k};可用字段:${allowed.join(', ')}`);
|
|
46
|
+
}
|
|
47
|
+
function enumValue(v, item, k) {
|
|
48
|
+
const s = scalar(v), options = item?.options;
|
|
49
|
+
if (!Array.isArray(options) || !options.length)
|
|
50
|
+
throw Error(`${k} 未返回服务端选项`);
|
|
51
|
+
const matches = options.filter((o) => !o.disabled && (String(o.id) === s || o.content === s));
|
|
52
|
+
if (matches.length !== 1)
|
|
53
|
+
throw Error(`${k} 无效或有歧义:${s};允许:${options.filter((o) => !o.disabled).map((o) => `${o.id}=${o.content}`).join(', ')}`);
|
|
54
|
+
return String(matches[0].id);
|
|
55
|
+
}
|
|
56
|
+
function comparable(v) {
|
|
57
|
+
if (Array.isArray(v))
|
|
58
|
+
return v.map(x => x && typeof x === 'object' && 'id' in x ? String(x.id) : comparable(x)).sort();
|
|
59
|
+
if (v && typeof v === 'object') {
|
|
60
|
+
if ('inputValue' in v)
|
|
61
|
+
return v.inputValue;
|
|
62
|
+
return Object.fromEntries(Object.keys(v).sort().map(k => [k, comparable(v[k])]));
|
|
63
|
+
}
|
|
64
|
+
if (v === true || v === false)
|
|
65
|
+
return v ? '1' : '0';
|
|
66
|
+
return v == null ? v : String(v);
|
|
67
|
+
}
|
|
68
|
+
export function verifySettings(expected, actual, fields) {
|
|
69
|
+
const diff = fields.filter(k => k in expected && !isDeepStrictEqual(comparable(expected[k]), comparable(actual[k])));
|
|
70
|
+
if (diff.length)
|
|
71
|
+
throw Error(`保存已发出,但回读不一致:${diff.join(', ')}。请先查询当前状态,不要直接重试。`);
|
|
72
|
+
}
|
|
73
|
+
/** Endpoint-specific snapshots; GET defaults, explicit patch, single POST, verified readback. */
|
|
74
|
+
export class OpinionSettings {
|
|
75
|
+
client;
|
|
76
|
+
base;
|
|
77
|
+
constructor(client, base) {
|
|
78
|
+
this.client = client;
|
|
79
|
+
this.base = base;
|
|
80
|
+
}
|
|
81
|
+
async get(path, query) {
|
|
82
|
+
return resultData(await this.client.get(this.base + path + '?' + new URLSearchParams(Object.entries(query).map(([k, v]) => [k, String(v)]))), path);
|
|
83
|
+
}
|
|
84
|
+
async post(path, payload) { return resultData(await this.client.post(this.base + path, payload), path); }
|
|
85
|
+
async sign(workflowId, nodeId) {
|
|
86
|
+
return formOf(await this.get(`${P}/nodesign/getSignConfigForm`, { workflowId: id(workflowId), nodeId: id(nodeId) }));
|
|
87
|
+
}
|
|
88
|
+
async browserOptions(form, field) {
|
|
89
|
+
const b = form.items[field]?.browserBean;
|
|
90
|
+
// Only the two workflow-owned browser types are needed here; never follow arbitrary URLs.
|
|
91
|
+
if (b?.module !== 'workflow/pathdef' || !['workflowOperateTypeBrowser', 'workflowPathNodeBrowser'].includes(b.type))
|
|
92
|
+
throw Error(`${field} 未返回支持的浏览类型`);
|
|
93
|
+
const all = [], seen = new Set();
|
|
94
|
+
for (let current = 1; current <= 100; current++) {
|
|
95
|
+
const d = await this.post(`/api/${b.module}/common/browser/data/${b.type}`, { ...b.commonParams, ...b.dataParams, current, pageNo: current, pageSize: 100 });
|
|
96
|
+
if (!Array.isArray(d?.data))
|
|
97
|
+
throw Error(`${field} 浏览候选格式异常`);
|
|
98
|
+
const rows = d.data;
|
|
99
|
+
if (rows.some((r) => seen.has(String(r.id))))
|
|
100
|
+
throw Error(`${field} 浏览分页重复,停止写入`);
|
|
101
|
+
rows.forEach((r) => { seen.add(String(r.id)); all.push(r); });
|
|
102
|
+
if (d.total !== undefined ? all.length >= Number(d.total) : rows.length < 100)
|
|
103
|
+
return all;
|
|
104
|
+
if (!rows.length)
|
|
105
|
+
throw Error(`${field} 浏览候选分页不完整`);
|
|
106
|
+
}
|
|
107
|
+
throw Error(`${field} 浏览候选超过分页上限`);
|
|
108
|
+
}
|
|
109
|
+
async browserValues(form, field, input) {
|
|
110
|
+
if (!Array.isArray(input) || input.some(v => typeof v !== 'string'))
|
|
111
|
+
throw Error(`${field} 请传名称或字符串 ID 数组`);
|
|
112
|
+
if (!input.length)
|
|
113
|
+
return [];
|
|
114
|
+
const available = await this.browserOptions(form, field), used = new Set();
|
|
115
|
+
return input.map(v => {
|
|
116
|
+
const found = available.filter(o => String(o.id) === v || (o.name ?? o.content) === v);
|
|
117
|
+
if (found.length !== 1 || found[0].disabled || found[0].isDelete)
|
|
118
|
+
throw Error(`${field} 未找到唯一可选值:${v}`);
|
|
119
|
+
const row = found[0], key = String(row.id);
|
|
120
|
+
if (used.has(key))
|
|
121
|
+
throw Error(`${field} 重复值:${v}`);
|
|
122
|
+
used.add(key);
|
|
123
|
+
return { id: key, dataId: key, content: row.name ?? row.content, isDelete: false, isComplete: false, _entityImId: 0, _secretLevel: 0, _secretLevelEnd: 0 };
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async patchForm(form, patch, allowed) {
|
|
127
|
+
keys(patch, allowed);
|
|
128
|
+
const next = settings(form);
|
|
129
|
+
for (const [k, v] of Object.entries(patch)) {
|
|
130
|
+
const item = form.items[k];
|
|
131
|
+
if (!item || !(k in next) || item.readOnly || item.disable)
|
|
132
|
+
throw Error(`${k} 当前环境不可编辑`);
|
|
133
|
+
if (item.itemType === 'SWITCH')
|
|
134
|
+
next[k] = booleanValue(v);
|
|
135
|
+
else if (['SELECT', 'RADIO'].includes(item.itemType))
|
|
136
|
+
next[k] = enumValue(v, item, k);
|
|
137
|
+
else if (item.itemType === 'BROWSER')
|
|
138
|
+
next[k] = await this.browserValues(form, k, v);
|
|
139
|
+
else
|
|
140
|
+
throw Error(`${k} 不支持直接写入;需使用对应子配置命令`);
|
|
141
|
+
}
|
|
142
|
+
return next;
|
|
143
|
+
}
|
|
144
|
+
wire(form, data) {
|
|
145
|
+
const out = { ...data };
|
|
146
|
+
for (const [k, item] of Object.entries(form.items))
|
|
147
|
+
if (k in out && item.itemType === 'SWITCH')
|
|
148
|
+
out[k] = booleanValue(out[k]) ? 1 : 0;
|
|
149
|
+
return out;
|
|
150
|
+
}
|
|
151
|
+
async saveSign(w, n, patch) {
|
|
152
|
+
const form = await this.sign(w, n), before = settings(form), next = await this.patchForm(form, patch, signFields);
|
|
153
|
+
if (next.mustInputDto === '1' && next.hideInput && ('hideInput' in patch || 'mustInputDto' in patch))
|
|
154
|
+
throw Error('全部必填时不能隐藏意见输入框;请显式设置 hideInput:false');
|
|
155
|
+
for (const [mode, list] of [['inputOperateTypeSelectDto', 'inputOperateTypeDto'], ['viewTypeSelectDto', 'viewTypeDto'], ['viewRangeSelectDto', 'viewRangeDto']]) {
|
|
156
|
+
if ((mode in patch || list in patch) && next[mode] !== '0' && !(next[list]?.length) && (mode !== 'inputOperateTypeSelectDto' || next.mustInputDto === '2'))
|
|
157
|
+
throw Error(`${mode} 为选择/排除时 ${list} 不能为空`);
|
|
158
|
+
}
|
|
159
|
+
// Server clears node selection for mode=all. Make that deliberate, rather than silently discarding it.
|
|
160
|
+
if (next.viewRangeSelectDto === '0' && next.viewRangeDto?.length && 'viewRangeSelectDto' in patch)
|
|
161
|
+
throw Error('全部节点模式须同时显式传 viewRangeDto:[]');
|
|
162
|
+
const payload = { ...this.wire(form, next), workflowId: w, nodeId: n, workflowIdDto: w, nodeIdDto: n, isSync: false };
|
|
163
|
+
delete payload.id;
|
|
164
|
+
await this.post(`${P}/nodesign/saveSignConfig`, payload);
|
|
165
|
+
const after = settings(await this.sign(w, n));
|
|
166
|
+
verifySettings(next, after, signFields);
|
|
167
|
+
return { workflowId: w, nodeId: n, before, after, verified: true };
|
|
168
|
+
}
|
|
169
|
+
async forward(w, n) {
|
|
170
|
+
const d = await this.get(`${P}/nodeForwardSet/getNodeForwardSet`, { workflowId: id(w), nodeId: id(n) });
|
|
171
|
+
for (const k of ['todo', 'done', 'end'])
|
|
172
|
+
if (!d?.[k] || forwardFields.some(f => !(f in d[k])))
|
|
173
|
+
throw Error('节点转发默认值不完整,停止写入');
|
|
174
|
+
return d;
|
|
175
|
+
}
|
|
176
|
+
async saveForward(w, n, patch) {
|
|
177
|
+
keys(patch, ['todo', 'done', 'end']);
|
|
178
|
+
const before = await this.forward(w, n), next = structuredClone(before);
|
|
179
|
+
for (const [stage, changes] of Object.entries(patch)) {
|
|
180
|
+
keys(changes, forwardFields);
|
|
181
|
+
for (const [k, v] of Object.entries(changes)) {
|
|
182
|
+
if (k.endsWith('CusName')) {
|
|
183
|
+
if (typeof v !== 'string')
|
|
184
|
+
throw Error(`${stage}.${k} 应为名称字符串(空串恢复默认名称)`);
|
|
185
|
+
next[stage][k] = { ...next[stage][k], inputValue: v };
|
|
186
|
+
}
|
|
187
|
+
else
|
|
188
|
+
next[stage][k] = booleanValue(v);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
await this.post(`${P}/nodeForwardSet/saveNodeForwardSet`, { ...next, workflowId: w, nodeId: n, isSync: false });
|
|
192
|
+
const after = await this.forward(w, n);
|
|
193
|
+
for (const s of ['todo', 'done', 'end'])
|
|
194
|
+
verifySettings(next[s], after[s], forwardFields);
|
|
195
|
+
return { workflowId: w, nodeId: n, before, after, verified: true };
|
|
196
|
+
}
|
|
197
|
+
async draft(w) {
|
|
198
|
+
return formOf((await this.get(`${D}/getDraftOpinionConfig`, { workflowId: id(w), isGlobal: false }))?.weaForm);
|
|
199
|
+
}
|
|
200
|
+
async saveDraft(w, patch) {
|
|
201
|
+
const form = await this.draft(w), before = settings(form), next = await this.patchForm(form, patch, draftFields);
|
|
202
|
+
const payload = this.wire(form, next);
|
|
203
|
+
// Gear ticks are view state. Sending displayContent:false to the entity's String field would corrupt the template.
|
|
204
|
+
for (const k of ['fieldSet', 'displayContent', 'menuStyle', 'logviewer'])
|
|
205
|
+
delete payload[k];
|
|
206
|
+
await this.post(`${D}/saveDraftOpinionConfig`, { ...payload, workflowid: w, isGlobal: 0 });
|
|
207
|
+
const after = settings(await this.draft(w));
|
|
208
|
+
verifySettings(next, after, draftFields);
|
|
209
|
+
return { workflowId: w, before, after, verified: true };
|
|
210
|
+
}
|
|
211
|
+
async widgets(w) {
|
|
212
|
+
id(w);
|
|
213
|
+
const all = [];
|
|
214
|
+
for (let current = 1; current <= 100; current++) {
|
|
215
|
+
const d = await this.post(`${D}/getDraftOpinionWidgetList`, { workflowId: w, current, pageSize: 100 });
|
|
216
|
+
if (!Array.isArray(d?.data))
|
|
217
|
+
throw Error('拟签字段列表格式异常');
|
|
218
|
+
if (d.data.some((r) => all.some(o => String(o.widgetId) === String(r.widgetId))))
|
|
219
|
+
throw Error('拟签字段分页重复');
|
|
220
|
+
all.push(...d.data);
|
|
221
|
+
if (d.total !== undefined ? all.length >= Number(d.total) : d.data.length < 100)
|
|
222
|
+
return all;
|
|
223
|
+
if (!d.data.length)
|
|
224
|
+
throw Error('拟签字段分页不完整');
|
|
225
|
+
}
|
|
226
|
+
throw Error('拟签字段超出分页上限');
|
|
227
|
+
}
|
|
228
|
+
async widget(w, widgetId) {
|
|
229
|
+
id(widgetId);
|
|
230
|
+
if (!(await this.widgets(w)).some(r => String(r.widgetId) === widgetId))
|
|
231
|
+
throw Error(`拟签控件 ${widgetId} 不属于流程或尚未在布局中保存`);
|
|
232
|
+
return formOf((await this.get(`${D}/getDraftOpinionWidgetConfig`, { workflowId: w, widgetId, isDesign: false }))?.weaForm);
|
|
233
|
+
}
|
|
234
|
+
async saveWidget(w, widgetId, patch) {
|
|
235
|
+
const form = await this.widget(w, widgetId), before = settings(form), next = await this.patchForm(form, patch, widgetFields);
|
|
236
|
+
if (next.opinionType !== '1' && (next.enableCopyClear || next.enableGenerateRecord))
|
|
237
|
+
throw Error('抄清、代录仅支持一人一条意见;切换类型前请显式关闭二者');
|
|
238
|
+
const dimension = ['0', '1'].includes(next.conterSignType) ? 'typeBfSignDepart' : 'typeBfSignSubcom';
|
|
239
|
+
const inactive = dimension === 'typeBfSignDepart' ? 'typeBfSignSubcom' : 'typeBfSignDepart';
|
|
240
|
+
if (inactive in patch && next[inactive] !== next[dimension])
|
|
241
|
+
throw Error(`${inactive} 与当前拟签维度不符,请设置 ${dimension}`);
|
|
242
|
+
if (next.opinionType === '0' && next[dimension] === '2')
|
|
243
|
+
throw Error('多人编辑同一条意见不支持“不允许互相查看”');
|
|
244
|
+
for (const [enabled, mode, list, group] of [['enableCopyClear', 'copyClearOperate', 'copyClearNode', 'copyClearOpGroupid'], ['enableGenerateRecord', 'agentRecordOperate', 'agentRecordNode', 'agentRecordOpGroupid']]) {
|
|
245
|
+
if (next[enabled] && next[mode] === '1' && (!next[list]?.length || !/^[1-9]\d*$/.test(String(next[group]))))
|
|
246
|
+
throw Error(`${enabled} 选择节点操作者需要已设置节点及操作者范围`);
|
|
247
|
+
}
|
|
248
|
+
if (next.enableCountersign && !(next.finishOperator?.length || next.finishNode?.length))
|
|
249
|
+
throw Error('启用组织拟签前需在系统配置结束拟签操作者/节点');
|
|
250
|
+
await this.post(`${D}/saveDraftOpinionWidgetConfig`, { ...this.wire(form, next), workflowid: w, widgetId, isDesign: false });
|
|
251
|
+
const after = settings(await this.widget(w, widgetId));
|
|
252
|
+
// Both UI aliases read the same stored typeBfSign column.
|
|
253
|
+
next.typeBfSignDepart = next.typeBfSignSubcom = next[dimension];
|
|
254
|
+
verifySettings(next, after, [...widgetFields, 'finishNode', 'finishOperator', 'copyClearOpGroupid', 'agentRecordOpGroupid']);
|
|
255
|
+
return { workflowId: w, widgetId, before, after, verified: true };
|
|
256
|
+
}
|
|
257
|
+
async content(w) { return this.get(`${P}/drapOpinionContent/getOpinionContent`, { workflowId: id(w) }); }
|
|
258
|
+
async saveContent(w, patch) {
|
|
259
|
+
keys(patch, ['displayContent']);
|
|
260
|
+
if (typeof patch.displayContent !== 'string')
|
|
261
|
+
throw Error('displayContent 必须为模板 HTML 字符串');
|
|
262
|
+
const before = await this.content(w);
|
|
263
|
+
const known = new Set([...before.contentFieldList, ...before.contentLabelList].map(o => o.key));
|
|
264
|
+
for (const m of patch.displayContent.matchAll(/\$([^$\s]+)\$/g))
|
|
265
|
+
if (!known.has(m[1]))
|
|
266
|
+
throw Error(`未知模板占位符:${m[1]}`);
|
|
267
|
+
// The template endpoint only UPDATEs; the configuration GET initializes a missing workflow record.
|
|
268
|
+
await this.draft(w);
|
|
269
|
+
await this.post(`${P}/drapOpinionContent/saveOpinionContent`, { workflowId: w, displayContent: encodeURIComponent(patch.displayContent) });
|
|
270
|
+
const after = await this.content(w);
|
|
271
|
+
verifySettings(patch, after, ['displayContent']);
|
|
272
|
+
return { workflowId: w, before, after, verified: true };
|
|
273
|
+
}
|
|
274
|
+
async style(w) { return this.get(`${P}/drapOpinionMenuStyle/getOpinionMenuStyle`, { workflowId: id(w) }); }
|
|
275
|
+
async saveStyle(w, patch) {
|
|
276
|
+
keys(patch, ['menuFont', 'fontSize', 'buttons']);
|
|
277
|
+
const before = await this.style(w);
|
|
278
|
+
const stylePatch = { ...patch };
|
|
279
|
+
delete stylePatch.buttons;
|
|
280
|
+
const form = formOf(before.menuStyleForm), next = await this.patchForm(form, stylePatch, ['menuFont', 'fontSize']);
|
|
281
|
+
const rows = structuredClone(before.menuTable.data);
|
|
282
|
+
if (patch.buttons !== undefined) {
|
|
283
|
+
if (!Array.isArray(patch.buttons))
|
|
284
|
+
throw Error('buttons 必须是以 menuKey 定位的局部修改数组');
|
|
285
|
+
const seen = new Set();
|
|
286
|
+
for (const b of patch.buttons) {
|
|
287
|
+
keys(b, ['menuKey', 'customName', 'menuColor', 'menuFontColor', 'menuBorderColor', 'menuOrderNum']);
|
|
288
|
+
const row = rows.find((r) => r.menuKey === b.menuKey);
|
|
289
|
+
if (!row || seen.has(b.menuKey))
|
|
290
|
+
throw Error(`按钮不存在或重复:${b.menuKey}`);
|
|
291
|
+
seen.add(b.menuKey);
|
|
292
|
+
for (const [k, v] of Object.entries(b)) {
|
|
293
|
+
if (k === 'menuKey')
|
|
294
|
+
continue;
|
|
295
|
+
if (k === 'customName') {
|
|
296
|
+
if (typeof v !== 'string')
|
|
297
|
+
throw Error('customName 必须为字符串');
|
|
298
|
+
row.menuNameMultilang = { ...row.menuNameMultilang, inputValue: v };
|
|
299
|
+
}
|
|
300
|
+
else if (k === 'menuOrderNum') {
|
|
301
|
+
if (!Number.isInteger(v) || Number(v) < 0)
|
|
302
|
+
throw Error('menuOrderNum 必须为非负整数');
|
|
303
|
+
row[k] = v;
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
if (typeof v !== 'string' || !/^(-1|transparent|#[0-9a-fA-F]{3,8}|rgba?\([\d\s,.%]+\))$/.test(v))
|
|
307
|
+
throw Error(`${k} 颜色格式不正确`);
|
|
308
|
+
row[k] = v;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (new Set(rows.map((r) => r.menuOrderNum)).size !== rows.length)
|
|
313
|
+
throw Error('按钮顺序重复,请同时指定相关按钮的新序号');
|
|
314
|
+
}
|
|
315
|
+
await this.draft(w);
|
|
316
|
+
await this.post(`${P}/drapOpinionMenuStyle/saveOpinionMenuStyle`, { workflowId: w, ...next, tableDatas: rows });
|
|
317
|
+
const after = await this.style(w);
|
|
318
|
+
verifySettings(next, settings(formOf(after.menuStyleForm)), ['menuFont', 'fontSize']);
|
|
319
|
+
for (const row of rows) {
|
|
320
|
+
const actual = after.menuTable.data.find((r) => r.menuKey === row.menuKey);
|
|
321
|
+
if (!actual)
|
|
322
|
+
throw Error(`回读缺少按钮 ${row.menuKey}`);
|
|
323
|
+
verifySettings(row, actual, ['menuColor', 'menuFontColor', 'menuBorderColor', 'menuOrderNum', 'menuNameMultilang']);
|
|
324
|
+
}
|
|
325
|
+
return { workflowId: w, before, after, verified: true };
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=workflow-opinion-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-opinion-settings.js","sourceRoot":"","sources":["../../src/services/workflow-opinion-settings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill-docs/SKILL.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: weaver-e10-builder
|
|
3
3
|
display_name: 泛微E10智能搭建Skill
|
|
4
4
|
display_name_en: E10 Builder
|
|
5
|
-
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.5.
|
|
6
|
-
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.5.
|
|
7
|
-
description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.5.
|
|
5
|
+
description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.5.11
|
|
6
|
+
description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.5.11。
|
|
7
|
+
description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.5.11.
|
|
8
8
|
category: coding
|
|
9
|
-
version: 1.5.
|
|
9
|
+
version: 1.5.11
|
|
10
10
|
author: 泛微网络科技股份有限公司
|
|
11
11
|
auto: true
|
|
12
12
|
---
|
|
@@ -15,7 +15,7 @@ auto: true
|
|
|
15
15
|
|
|
16
16
|
## 安装与升级
|
|
17
17
|
|
|
18
|
-
本 skill 需与 CLI **版本匹配**(当前对应 CLI `1.5.
|
|
18
|
+
本 skill 需与 CLI **版本匹配**(当前对应 CLI `1.5.11`)。版本不一致时命令/文档/选项可能对不上——升级前先对齐:
|
|
19
19
|
|
|
20
20
|
```shell
|
|
21
21
|
e10-cli --version # 查 CLI 版本,应与上方 description 标注一致
|
package/skill-docs/_catalog.md
CHANGED
|
@@ -25,8 +25,12 @@
|
|
|
25
25
|
| 分类搜索、分类筛选、list-search-group、选项配置、日期粒度、选项排序 | `references/common/ref-cli-commands.md` |
|
|
26
26
|
| 表单消息提醒、数据变动提醒、form message、提醒对象、推送渠道、IM提醒 | `references/form/guide-form-message.md` |
|
|
27
27
|
| 表单数据读写、form data、写入数据、查询数据、删除数据 | `references/form/guide-form-data.md` |
|
|
28
|
+
| 关联页签、关联视图、数据关联、association、页签显示布局、关联数据筛选、删除关联页签 | `references/form/guide-form-association.md` |
|
|
29
|
+
| 流程归档权限、归档查看/编辑/删除、归档附件权限、form permission archive、创建人相关、字段相关、矩阵相关、归档卡片 | `references/form/guide-form-archive-permission.md` |
|
|
28
30
|
| 列表自定义文本列、富文本列、列里插入字段、form nlist、列表式视图 | `references/form/guide-list-custom-text.md` |
|
|
29
31
|
| 流程、审批、workflow、提交流程、flowpage、预填、URL传参、节点、操作者、审批人、连线 | `references/workflow/guide-workflow.md` |
|
|
32
|
+
| 撤回管理、加审管理、减审管理、接收人范围、指定流转接收人范围、转发传阅抄送收回、功能管理 | `references/workflow/guide-function-management.md` |
|
|
33
|
+
| 拟签意见、draft-opinion、节点转发、forward-setting、节点签字意见、必须签批签名、隐藏意见输入框、意见显示类型 | `references/workflow/guide-opinion-settings.md` |
|
|
30
34
|
| 流程绑的表、流程关联表单、workflow info、workflowId 查表单、formId 不是 objId | `references/common/ref-cli-commands.md`(`workflow info` 一行) |
|
|
31
35
|
| 权责表、权责矩阵、权责表方式流程、分支场景、变量映射 | `references/workflow/guide-workflow-auth-resp.md` + `references/workflow/guide-workflow-condition.md` |
|
|
32
36
|
| 公文流程、公文审批、收文、发文、公文设置、正文设置 | `references/workflow/guide-workflow-odoc.md` + `references/workflow/guide-workflow.md` |
|
|
@@ -55,7 +59,7 @@
|
|
|
55
59
|
| 应用发布、启用应用、停用应用、发布到前台、取消发布、应用发布信息、前台入口、应用名多语言、app enable/disable/publish/unpublish/publish-info、app lang | `references/app/guide-app-publish.md` |
|
|
56
60
|
| 完整实施方案、规划能力地图、资源依赖、需求映射、plan 前预检 | `references/common/map.md`,随后使用 `references/common/guide-plan-template.md` |
|
|
57
61
|
| 接口文档导入、Postman、系统接口、连接器接口、createSystemInterfaceByAi、接口批量创建 | `references/esb-interface/guide-import.md` |
|
|
58
|
-
| 系统菜单、内置菜单、挂系统页面到菜单、menuUrl、pageType、工作流菜单、独立页面菜单、菜单改名、menu rename
|
|
62
|
+
| 系统菜单、内置菜单、挂系统页面到菜单、menuUrl、pageType、工作流菜单、独立页面菜单、菜单改名、menu rename、重命名菜单、找不到菜单、二级菜单、子菜单、父菜单、菜单层级、menu add-table --parent、menu add-start --parent | `references/menu/system-menus.md` + `references/common/ref-cli-commands.md` |
|
|
59
63
|
| 编译、语法、报错、不支持、babel、打包、var、const、let、es2015、stage-2 | `references/coding/ref-compile-rules.md`(前端代码) |
|
|
60
64
|
|
|
61
65
|
## Components(组件文档)
|
|
@@ -49,6 +49,7 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
|
|
|
49
49
|
2. 只传 `component-describe` 声明的参数;固定值与动态值根据业务需求选择,不能为了动态而动态。
|
|
50
50
|
3. 语义 plan 的节点配置统一放在 `params`:`event.params`、`actions[*].params` 以及条件/循环内部节点的 `params`。`data` 仅属于平台回读/更新 DTO,不能出现在 `generate` 语义计划中;CLI 会在调用任何平台接口前拒绝该结构,并提示具体路径。
|
|
51
51
|
4. 中文 plan 写入当前工作区 `.actionflow-plans/`,以 `planFile` 传给 CLI;不在 Skill 目录写临时文件。CLI 不会自动删除 plan;确认 `valid=true`、`saved=true`、`readBackVerified=true` 后才允许手工清理。
|
|
52
|
+
4.1. 命名遵循“展示中文、机器字段 code 化”:动作流名称、节点显示名称、参数 `showName`/`label`、说明文字等面向用户的展示字段可以使用中文;`paramName`、`paramKey`、变量/常量引用名、请求编码、Topic/队列名、字段路径、公式引用键以及其他机器可读标识默认使用英文字母、数字和下划线,优先 lowerCamelCase 或 snake_case,不使用中文、空格或特殊字符。`type`、`kind`、`paramType`、枚举值等必须沿用组件契约中的 code;已从平台真实对象取得的 ID、名称、原生 DTO 字段和固定资源值不得擅自改写,只对 AI 新建的语义标识执行该规则。
|
|
52
53
|
5. 不把 `Output` 写入 `actions`。需要配置终止状态、提示或页面动作时使用顶层 `finalOutput.params`;提醒内容使用前端富文本组件对应的 `reminderContent`(`ContestSettingDTO`,动态片段放在 `formulaBeans`),不要使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。平台内部 FormulaBean 由 CLI 生成,只有组件契约明确要求前端原对象时才传原生 DTO。
|
|
53
54
|
5.1. 所有 CLI 生成或继续编译的 FormulaBean,只要包含 `frontId`,允许使用空串;非空时必须使用平台真实字段 ID 的纯数字字符串。`field_<数字>` 仅可在生成时规范化为 `<数字>`。禁止把字段名、paramKey 尾段、临时公式 ID 或其他包含字母/符号的值写入 `frontId`;非空值无法解析为纯数字时必须直接报错。
|
|
54
55
|
6. 定时组件优先使用平台原生频率:`rate=1` 一次、`2` 按小时、`3` 按日、`4` 按周、`5` 按月,并按需提供 `cycle`、`hour`、`day`、`week`、`atWeek`、`atWeekDetail` 或 `lastWeek`;只有明确选择 `rate=6` 时才传 `cornString`。图形化频率必须提供 `startTime`。
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
会议标题、密级等普通字段支持固定值和动态赋值;创建人、召集人、联系人支持固定人员对象和动态人员公式。会议类型、会议室、附件、关联流程等设计期资源仍必须使用当前租户真实选择器对象,不能把上下文强行当作资源 ID。
|
|
14
14
|
|
|
15
|
+
也可以直接传入前端 `MeetingPendingCreateEntity` 结构:使用 `type`、`setting` 和 `formSetting`。`setting` 的字段名应来自 `getMeetingField`;其中原生 FormulaBean 会原样保留,语义动态值会编译为 FormulaBean。
|
|
16
|
+
|
|
15
17
|
## 最小计划
|
|
16
18
|
|
|
17
19
|
`operators`、`meetingType`,以及需求涉及的会议字段。
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## 不可猜测
|
|
12
12
|
|
|
13
|
-
不要把 `Output` 写入 `actions`。提醒内容必须使用前端富文本组件对应的 `ContestSettingDTO`,字段名是 `reminderContent`,不能再使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒配置,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。`basisValue`
|
|
13
|
+
不要把 `Output` 写入 `actions`。提醒内容必须使用前端富文本组件对应的 `ContestSettingDTO`,字段名是 `reminderContent`,不能再使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒配置,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。`basisValue` 与 `jumpUrl` 支持固定值、上下文、系统变量、变量、常量、查询结果和函数/公式;其中 `jumpUrl` 仅在 `pageAction=3` 时生效。`fixedData`、`customOutputData` 属于平台原生高级输出结构,必须使用真实回读结构,不能猜测。
|
|
14
14
|
|
|
15
15
|
`reminderContent` 支持两种输入:一是前端原生对象 `{id, content, formulaBeans, langSet}`;二是 CLI 语义模板 `{parts:[{type:"text",value:"..."},{type:"context",paramKey:"..."},{type:"system_variable",key:"{date}"},{type:"variable",id:"..."},{type:"constant",id:"..."}]}`。编译器会生成 Base64 内容和 `#{paramN}` 占位符,并将每个动态片段保存为 `formulaBeans[].value`。
|
|
16
16
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 何时使用
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
将指定流程实例移入回收站。`requestId` 会按前端协议生成一个 `type=8` 的 `multipleSelect` JSON FormulaBean 容器,容器子项可以是固定流程实例或动态公式。
|
|
6
6
|
|
|
7
7
|
当前平台只注册此删除组件;**不支持“彻底删除流程”**。不得生成或使用 `ApproveCompletelyDelete`,否则设计器保存会报组件内部异常。
|
|
8
8
|
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
| 消息模板 | `SendMessage.msgTitlev/msgContentv/picLink/msgPcLink/msgMobileLink` | 上下文、系统变量、变量、常量、函数/公式、查询结果 | 五个消息文本/链接字段统一保存为 `ContestSettingDTO`;正文占位符与独立绑定;接收人上下文仍保留为动态人员 FormulaBean |
|
|
16
16
|
| 消息接收人 | `SendMessage.receiver` | 当前用户、上游人员上下文、固定人员 | 动态人员使用真实上下文 `paramKey`,固定人员使用当前租户 Browser 对象 |
|
|
17
17
|
| 人员参数 | 表单数据动作、流程动作、文档动作、`HrmEmployeeUpdate`、`PersonnelOnboarding`、`AlterPersonStatus`、会议/日程中的人员属性 | 当前用户、上游人员上下文、动作流变量/常量/函数 | 不再强制走固定人员查询;动态引用保持人员 FormulaBean,固定人员仍要求真实 Browser 对象 |
|
|
18
|
-
| 会议和日程运行时字段 | `MeetingCreate`
|
|
18
|
+
| 会议和日程运行时字段 | `MeetingCreate` 的标题/密级/人员/关联标识,`ScheduleCreate` 的标题/时间/内容/其他地点/人员/日程类型/会议室 | 上下文、系统变量、变量、常量、函数/公式 | 后端 DTO 中的 FormulaBean 字段统一支持动态赋值;固定会议/日程资源仍保留 Browser 对象兼容 |
|
|
19
19
|
| 流程和文档运行时字段 | 流程实例 ID、标题、意见、公文正文 ID、关联数据 ID、时间、文档/附件 ID、布尔开关等 `formula_or_reference` 属性 | 固定值、上下文、系统变量、变量、常量、查询结果、函数/公式 | 统一经共享公式编译器生成 FormulaBean;固定流程定义、节点、目录 DTO 不在此列 |
|
|
20
|
-
| 循环参数 | `MultipleExecution.cycleTimes`、列表/明细来源 | 上下文、变量、常量、当前循环上下文 |
|
|
20
|
+
| 循环参数 | `MultipleExecution.cycleTimes`、`batchSizeData`、`pageCycleData`、列表/明细来源 | 上下文、变量、常量、当前循环上下文 | 后端 FormulaBean 字段统一支持动态赋值;固定批量大小继续校验 2-1000,分页标志继续校验布尔类型 |
|
|
21
21
|
| 条件右值 | `Condition` | 固定值、上下文、系统变量、变量、常量、函数 | 右值保留为公式树,不把动态字段名转成固定字符串 |
|
|
22
22
|
| 终止节点动态输出 | `finalOutput.params.reminderContent`、`basisValue` | 富文本 `ContestSettingDTO`;提醒内容支持文本、上下文、系统变量、变量、常量、查询结果、函数/公式 | 自动补充的 `Output` 节点保留高级设置,无需在 `actions` 中手写终止节点;旧 `reminderMsgFormula` 不再用于新生成 |
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
- 流程定义/流程节点/退回节点/干预节点:通常需要当前租户真实流程 Browser 对象或节点对象;只有 `requestId`、标题、意见等字段类属性按组件契约支持动态。
|
|
29
29
|
- 文档、目录、附件、共享权限、按钮、规则:固定对象需要当前租户真实 Browser/权限对象;如果组件说明或回读结构提供动态公式入口,必须单独实现该属性的编译器和回读校验。
|
|
30
|
-
- 会议、日程、HRM
|
|
30
|
+
- 会议、日程、HRM 选择器的结构化对象:固定值仍以各自前端 Browser 契约为准;只要后端字段声明为 `FormulaBean`,同时支持动态引用。`Output.jumpUrl` 的后端 DTO 是 `FormulaBean`,支持固定值和动态引用,且仅在 `pageAction=3` 时生效。
|
|
31
31
|
- 触发器配置、接口定义、连接器/资源/接口选择:这些是设计期平台资源,默认必须实时发现真实对象,不能把运行时上下文当成连接器或接口定义。
|
|
32
32
|
|
|
33
33
|
## 处理规则
|