weaver-e10-builder 1.5.16 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/commands/auth.d.ts.map +1 -1
  2. package/dist/commands/auth.js +4 -2
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/form-ebuilder-scope.d.ts +21 -0
  5. package/dist/commands/form-ebuilder-scope.d.ts.map +1 -1
  6. package/dist/commands/form-ebuilder-scope.js +41 -8
  7. package/dist/commands/form-ebuilder-scope.js.map +1 -1
  8. package/dist/commands/form-layout-code-reviewed.d.ts +3 -0
  9. package/dist/commands/form-layout-code-reviewed.d.ts.map +1 -0
  10. package/dist/commands/form-layout-code-reviewed.js +61 -0
  11. package/dist/commands/form-layout-code-reviewed.js.map +1 -0
  12. package/dist/commands/form-layout-describe.d.ts +3 -0
  13. package/dist/commands/form-layout-describe.d.ts.map +1 -0
  14. package/dist/commands/form-layout-describe.js +58 -0
  15. package/dist/commands/form-layout-describe.js.map +1 -0
  16. package/dist/commands/form-layout-diff.d.ts +3 -0
  17. package/dist/commands/form-layout-diff.d.ts.map +1 -0
  18. package/dist/commands/form-layout-diff.js +48 -0
  19. package/dist/commands/form-layout-diff.js.map +1 -0
  20. package/dist/commands/form-layout-document.d.ts +3 -0
  21. package/dist/commands/form-layout-document.d.ts.map +1 -0
  22. package/dist/commands/form-layout-document.js +81 -0
  23. package/dist/commands/form-layout-document.js.map +1 -0
  24. package/dist/commands/form-layout-edit.d.ts +3 -0
  25. package/dist/commands/form-layout-edit.d.ts.map +1 -0
  26. package/dist/commands/form-layout-edit.js +51 -0
  27. package/dist/commands/form-layout-edit.js.map +1 -0
  28. package/dist/commands/form-layout-init-reviewed.d.ts +3 -0
  29. package/dist/commands/form-layout-init-reviewed.d.ts.map +1 -0
  30. package/dist/commands/form-layout-init-reviewed.js +78 -0
  31. package/dist/commands/form-layout-init-reviewed.js.map +1 -0
  32. package/dist/commands/form-layout-restore.d.ts.map +1 -1
  33. package/dist/commands/form-layout-restore.js +23 -0
  34. package/dist/commands/form-layout-restore.js.map +1 -1
  35. package/dist/commands/form-layout-template-catalog.d.ts +3 -0
  36. package/dist/commands/form-layout-template-catalog.d.ts.map +1 -0
  37. package/dist/commands/form-layout-template-catalog.js +45 -0
  38. package/dist/commands/form-layout-template-catalog.js.map +1 -0
  39. package/dist/commands/form.d.ts.map +1 -1
  40. package/dist/commands/form.js +33 -3
  41. package/dist/commands/form.js.map +1 -1
  42. package/dist/index.js +15 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  45. package/dist/services/actionflow/components/action_eb_add.js +12 -5
  46. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  47. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
  48. package/dist/services/actionflow/components/action_eb_add_compiler.js +5 -0
  49. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
  50. package/dist/services/actionflow/components/action_eb_delete.d.ts +6 -1
  51. package/dist/services/actionflow/components/action_eb_delete.d.ts.map +1 -1
  52. package/dist/services/actionflow/components/action_eb_delete.js +23 -5
  53. package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
  54. package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts.map +1 -1
  55. package/dist/services/actionflow/components/action_eb_delete_compiler.js +22 -0
  56. package/dist/services/actionflow/components/action_eb_delete_compiler.js.map +1 -1
  57. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  58. package/dist/services/actionflow/components/action_eb_update.js +13 -4
  59. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  60. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  61. package/dist/services/actionflow/components/action_eb_update_compiler.js +9 -2
  62. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  63. package/dist/services/actionflow/components/date_trigger.js +2 -2
  64. package/dist/services/actionflow/components/date_trigger.js.map +1 -1
  65. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  66. package/dist/services/actionflow/components/enquiry_form.js +11 -10
  67. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  68. package/dist/services/actionflow/components/event_button.js +1 -1
  69. package/dist/services/actionflow/components/event_button.js.map +1 -1
  70. package/dist/services/actionflow/components/form_data_builder.d.ts +29 -1
  71. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  72. package/dist/services/actionflow/components/form_data_builder.js +67 -3
  73. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  74. package/dist/services/actionflow/components/time_batch_trigger.js +2 -2
  75. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
  76. package/dist/services/actionflow/form_source.d.ts +44 -1
  77. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  78. package/dist/services/actionflow/form_source.js +231 -5
  79. package/dist/services/actionflow/form_source.js.map +1 -1
  80. package/dist/services/actionflow/preflight_service.d.ts +8 -0
  81. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  82. package/dist/services/actionflow/preflight_service.js +120 -14
  83. package/dist/services/actionflow/preflight_service.js.map +1 -1
  84. package/dist/services/actionflow/system_params.d.ts.map +1 -1
  85. package/dist/services/actionflow/system_params.js +4 -1
  86. package/dist/services/actionflow/system_params.js.map +1 -1
  87. package/dist/services/actionflow/trigger_common.d.ts.map +1 -1
  88. package/dist/services/actionflow/trigger_common.js +12 -3
  89. package/dist/services/actionflow/trigger_common.js.map +1 -1
  90. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  91. package/dist/services/actionflow/workflow_compiler.js +117 -40
  92. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  93. package/dist/services/form-layout-code-reviewed.d.ts +32 -0
  94. package/dist/services/form-layout-code-reviewed.d.ts.map +1 -0
  95. package/dist/services/form-layout-code-reviewed.js +101 -0
  96. package/dist/services/form-layout-code-reviewed.js.map +1 -0
  97. package/dist/services/form-layout-describe.d.ts +4 -0
  98. package/dist/services/form-layout-describe.d.ts.map +1 -0
  99. package/dist/services/form-layout-describe.js +107 -0
  100. package/dist/services/form-layout-describe.js.map +1 -0
  101. package/dist/services/form-layout-diff.d.ts +37 -0
  102. package/dist/services/form-layout-diff.d.ts.map +1 -0
  103. package/dist/services/form-layout-diff.js +232 -0
  104. package/dist/services/form-layout-diff.js.map +1 -0
  105. package/dist/services/form-layout-document-apply.d.ts +23 -0
  106. package/dist/services/form-layout-document-apply.d.ts.map +1 -0
  107. package/dist/services/form-layout-document-apply.js +82 -0
  108. package/dist/services/form-layout-document-apply.js.map +1 -0
  109. package/dist/services/form-layout-document.d.ts +13 -0
  110. package/dist/services/form-layout-document.d.ts.map +1 -0
  111. package/dist/services/form-layout-document.js +228 -0
  112. package/dist/services/form-layout-document.js.map +1 -0
  113. package/dist/services/form-layout-edit.d.ts +21 -0
  114. package/dist/services/form-layout-edit.d.ts.map +1 -0
  115. package/dist/services/form-layout-edit.js +103 -0
  116. package/dist/services/form-layout-edit.js.map +1 -0
  117. package/dist/services/form-layout-init-plan.d.ts +54 -0
  118. package/dist/services/form-layout-init-plan.d.ts.map +1 -0
  119. package/dist/services/form-layout-init-plan.js +211 -0
  120. package/dist/services/form-layout-init-plan.js.map +1 -0
  121. package/dist/services/form-layout-source/review.d.ts +4 -0
  122. package/dist/services/form-layout-source/review.d.ts.map +1 -0
  123. package/dist/services/form-layout-source/review.js +54 -0
  124. package/dist/services/form-layout-source/review.js.map +1 -0
  125. package/dist/services/form-layout-template-advanced.d.ts +5 -0
  126. package/dist/services/form-layout-template-advanced.d.ts.map +1 -1
  127. package/dist/services/form-layout-template-advanced.js +17 -1
  128. package/dist/services/form-layout-template-advanced.js.map +1 -1
  129. package/dist/services/form-layout-template-catalog.d.ts +13 -0
  130. package/dist/services/form-layout-template-catalog.d.ts.map +1 -0
  131. package/dist/services/form-layout-template-catalog.js +27 -0
  132. package/dist/services/form-layout-template-catalog.js.map +1 -0
  133. package/dist/services/form-layout-template-flow.d.ts +1 -1
  134. package/dist/services/form-layout-template-flow.d.ts.map +1 -1
  135. package/dist/services/form-layout-template-flow.js.map +1 -1
  136. package/dist/services/form-layout-template-verification.d.ts +34 -0
  137. package/dist/services/form-layout-template-verification.d.ts.map +1 -0
  138. package/dist/services/form-layout-template-verification.js +124 -0
  139. package/dist/services/form-layout-template-verification.js.map +1 -0
  140. package/dist/services/form-style-template.d.ts +3 -3
  141. package/dist/services/form-style-template.d.ts.map +1 -1
  142. package/dist/services/form-style-template.js +18 -13
  143. package/dist/services/form-style-template.js.map +1 -1
  144. package/package.json +1 -1
  145. package/skill-docs/SKILL.md +24 -19
  146. package/skill-docs/_catalog.md +108 -106
  147. package/skill-docs/actionflows/references/components/ebuilder/ActionEbDelete.md +60 -3
  148. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +35 -33
  149. package/skill-docs/references/common/capability-boundaries.md +20 -1
  150. package/skill-docs/references/common/guide-plan-template.md +29 -3
  151. package/skill-docs/references/common/map.md +11 -7
  152. package/skill-docs/references/common/ref-cli-commands.md +18 -4
  153. package/skill-docs/references/form/guide-browser-definition.md +57 -13
  154. package/skill-docs/references/form/guide-create-form.md +258 -258
  155. package/skill-docs/references/form/layout/code-block/code-block-guide.md +153 -0
  156. package/skill-docs/references/form/layout/code-block/controls.md +60 -0
  157. package/skill-docs/references/form/layout/code-block/coverage.md +32 -0
  158. package/skill-docs/references/form/layout/code-block/details.md +57 -0
  159. package/skill-docs/references/form/layout/code-block/events-validation.md +42 -0
  160. package/skill-docs/references/form/layout/code-block/foundations-fields.md +56 -0
  161. package/skill-docs/references/form/layout/code-block/layout-css.md +116 -0
  162. package/skill-docs/references/form/layout/code-block/recipes.md +164 -0
  163. package/skill-docs/references/form/layout/code-block/troubleshooting.md +49 -0
  164. package/skill-docs/references/form/layout/code-block/ui-global.md +47 -0
  165. package/skill-docs/references/form/layout/document.md +39 -0
  166. package/skill-docs/references/form/layout/incremental.md +133 -0
  167. package/skill-docs/references/form/layout/initialization.md +39 -0
  168. package/skill-docs/references/form/layout/inspect-edit.md +76 -0
  169. package/skill-docs/references/form/layout/layout-overview.md +67 -0
  170. package/skill-docs/references/form/layout/management.md +64 -0
  171. package/skill-docs/references/form/layout/planning.md +76 -0
  172. package/skill-docs/references/form/layout/source-restoration.md +388 -0
  173. package/skill-docs/references/form/layout/template/advanced-css.md +167 -0
  174. package/skill-docs/references/form/layout/template/advanced.md +318 -0
  175. package/skill-docs/references/form/layout/template/easy.md +64 -0
  176. package/skill-docs/references/form/layout/template/flow.md +30 -0
  177. package/skill-docs/references/form/layout/template/template-guide.md +56 -0
  178. package/skill-docs/references/form/layout/workflow-layout.md +44 -0
  179. package/skill-docs/references/form/ref-form-fields.md +303 -301
  180. package/skill-docs/references/workflow/guide-workflow-node-layout.md +189 -187
@@ -1 +1 @@
1
- {"version":3,"file":"system_params.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/system_params.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAwBrE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAIzD;AAkBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAGzD"}
1
+ {"version":3,"file":"system_params.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/system_params.ts"],"names":[],"mappings":"AAAA,qEAAqE;AA0BrE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAIzD;AAmBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAGzD"}
@@ -16,6 +16,8 @@ const TOKENS = new Set([
16
16
  '{lastdayinthismonth}', '{month}', '{day}', '{hour}', '{minute}', '{second}',
17
17
  '{dateweek}', '{weekinmonth}', '{weekinyear}', '{week}', '{mon}', '{tue}', '{wed}',
18
18
  '{thu}', '{fri}', '{sat}', '{sun}',
19
+ '{esbflowid}', '{batchkey}', '{empty}',
20
+ '{newlineSymbol}', '{horizontalTab}', '{returningSymbol}', '{doubleQuotation}', '{singleQuotation}',
19
21
  ]);
20
22
  const OFFSET_TOKEN = /^\{(?:date|year|yearhalf|yearquarter|yearmonth|weekinyear|mon|tue|wed|thu|fri|sat|sun):[+-]\d+\}$/;
21
23
  const RECENT_TOKEN = /^\{(?:recentdays|recentmonths|recentyears):-\d+\}$/;
@@ -45,7 +47,8 @@ const NON_DATE_TOKENS = new Set([
45
47
  '{allsubcompanyid2}', '{allsubcompanyid3}', '{allsupcompanyid0}', '{allsupcompanyid1}',
46
48
  '{allsupcompanyid2}', '{allsupcompanyid3}', '{supcompanymanageableorganize}', '{firstlevelsubcompanyid}',
47
49
  '{firstlevelsubcompanyname}', '{topsubcompanynodeid}', '{tenantkey}', '{roleid}', '{rolename}',
48
- '{securitylevel}', '{compuuid}', '{wechatopenid}',
50
+ '{securitylevel}', '{compuuid}', '{wechatopenid}', '{esbflowid}', '{batchkey}', '{empty}',
51
+ '{newlineSymbol}', '{horizontalTab}', '{returningSymbol}', '{doubleQuotation}', '{singleQuotation}',
49
52
  ]);
50
53
  const DATE_TOKENS = new Set([...TOKENS].filter((t) => !NON_DATE_TOKENS.has(t)));
51
54
  export function isDateSystemParameter(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"system_params.js","sourceRoot":"","sources":["../../../src/services/actionflow/system_params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system_params.js","sourceRoot":"","sources":["../../../src/services/actionflow/system_params.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;IACrB,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU;IAClE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB;IACjF,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB;IAC1E,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB;IAClG,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB;IAClG,gCAAgC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW;IAC9F,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;IACtF,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;IACtF,gCAAgC,EAAE,0BAA0B,EAAE,4BAA4B;IAC1F,uBAAuB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY;IACjG,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY;IAC/E,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ;IAC9E,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,uBAAuB;IACpF,sBAAsB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;IAC5E,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAClF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAClC,aAAa,EAAE,YAAY,EAAE,SAAS;IACtC,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB;CACpG,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,mGAAmG,CAAC;AACzH,MAAM,YAAY,GAAG,oDAAoD,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY;IACtD,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB;IAClE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB;IAC9E,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW;IAC5D,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY;IACtD,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU;IAC3D,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;CAC7C,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,KAAU;IAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,qDAAqD,CAAC,CAAC;AACzF,CAAC;AAED,qDAAqD;AACrD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc;IAC/F,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY;IAC1F,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB;IACtF,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB;IAClG,uBAAuB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,gBAAgB;IACpG,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB;IACtF,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB;IACtF,oBAAoB,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,0BAA0B;IACxG,4BAA4B,EAAE,uBAAuB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY;IAC9F,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS;IACzF,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB;CACpG,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC9C,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger_common.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/trigger_common.ts"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAc5H;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAU3E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAMvD"}
1
+ {"version":3,"file":"trigger_common.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/trigger_common.ts"],"names":[],"mappings":"AAOA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAmB5H;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAU3E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAMvD"}
@@ -3,18 +3,27 @@
3
3
  * 对齐 Python 版 core/trigger_common.py(黄金参照)。
4
4
  */
5
5
  import { defaultQueryFieldsAll } from './query_field_defaults.js';
6
+ import { actionflowDataSourceProtocol, normalizeActionflowDataSourceRef } from './form_source.js';
6
7
  export function buildTriggerDataSource(value, opts) {
7
- const source = value && typeof value === 'object' && !Array.isArray(value) ? value : {};
8
+ const source = normalizeActionflowDataSourceRef(value);
8
9
  const sourceId = String(source.id || source.tableId || source.sourceId || '');
9
- const groupId = String(source.groupId ?? source.appId ?? '-98');
10
+ const protocol = actionflowDataSourceProtocol(source);
11
+ const groupId = String(source.groupId ?? source.appId ?? (protocol.kind === 'business_module' ? protocol.groupId : '-98'));
12
+ const sourceType = String(source.type || source.sourceType || protocol.sourceType || 'FORM');
10
13
  const result = {
11
14
  isPhysical: true,
12
15
  physical: true,
13
16
  groupId,
14
17
  id: sourceId,
15
18
  text: String(source.text || source.name || ''),
16
- type: String(source.type || 'FORM'),
19
+ type: sourceType,
17
20
  };
21
+ if (source.sourceId)
22
+ result.sourceId = String(source.sourceId);
23
+ if (source.dataSourceKind)
24
+ result.dataSourceKind = source.dataSourceKind;
25
+ if (source.queryServiceGroupId)
26
+ result.queryServiceGroupId = String(source.queryServiceGroupId);
18
27
  if (opts.includeSourceId)
19
28
  result.sourceId = sourceId;
20
29
  return [sourceId, groupId, result];
@@ -1 +1 @@
1
- {"version":3,"file":"trigger_common.js","sourceRoot":"","sources":["../../../src/services/actionflow/trigger_common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger_common.js","sourceRoot":"","sources":["../../../src/services/actionflow/trigger_common.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow_compiler.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/workflow_compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow_compiler.d.ts","sourceRoot":"","sources":["../../../src/services/actionflow/workflow_compiler.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import { genSfId, normalizeNumericFrontId } from './id_generator.js';
7
7
  import fs from 'node:fs';
8
8
  import { get, getCompiler, getNodePost } from './components/index.js';
9
- import { buildEsbFormDataDto, buildEsbFormField } from './components/form_data_builder.js';
9
+ import { applyFormFieldSettingOptions, buildEsbFormDataDto, buildEsbFormField, } from './components/form_data_builder.js';
10
10
  import { findInMetadata, getTargetFormFields, getTargetDataSourceFields, getWorkflowDetailNames, getTargetDetailFields, getWorkflowDetailFields, getWorkflowFieldIds, workflowFieldId, getWorkflowContextFields, getWorkflowContextFieldsByKey } from './runtime_metadata.js';
11
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';
@@ -15,6 +15,54 @@ import { resolveSystemParameter, isDateSystemParameter } from './system_params.j
15
15
  import { conditionFieldFamily, filterFieldType, normalizeFilterOperator, conditionOperatorOverride, resolveFormCtx, buildFilterContextFormula, } from './filter_rules.js';
16
16
  import { getStepBranches } from './step_branches.js';
17
17
  const ENUM_COMPONENT_KEYS = new Set(['Select', 'RadioBox', 'Checkbox', 'MultiSelect', 'Radio']);
18
+ const FIELD_SETTING_KEYS = new Set(['fieldSet', 'fieldOptions', 'assignType', 'assignTypeset', 'operate', 'operator', 'operation', 'multiSelect', 'original']);
19
+ function fieldSettingOptions(raw) {
20
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
21
+ return {};
22
+ const nested = raw.fieldOptions && typeof raw.fieldOptions === 'object' ? raw.fieldOptions : {};
23
+ const options = { ...nested };
24
+ for (const key of FIELD_SETTING_KEYS) {
25
+ if (key === 'fieldOptions')
26
+ continue;
27
+ if (raw[key] !== undefined)
28
+ options[key] = raw[key];
29
+ }
30
+ if (options.operator !== undefined && options.operate === undefined)
31
+ options.operate = options.operator;
32
+ if (options.operation !== undefined && options.operate === undefined)
33
+ options.operate = options.operation;
34
+ delete options.operator;
35
+ delete options.operation;
36
+ return options;
37
+ }
38
+ function hasFieldSettingOptions(raw) {
39
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
40
+ return false;
41
+ return [...FIELD_SETTING_KEYS].some((key) => raw[key] !== undefined);
42
+ }
43
+ function fieldOperate(raw, fallback = 'OPERATE_EQUAL') {
44
+ const options = fieldSettingOptions(raw);
45
+ let operate = options.operate ? String(options.operate) : fallback;
46
+ const fieldSet = options.fieldSet;
47
+ // The frontend links the ignore-null switch to OPERATE_IGNORENULL when
48
+ // the field is otherwise using the ordinary equality operation.
49
+ if ((!options.operate || options.operate === 'OPERATE_EQUAL')
50
+ && fieldSet && typeof fieldSet === 'object' && fieldSet.ignoreNull === true) {
51
+ operate = 'OPERATE_IGNORENULL';
52
+ }
53
+ if (!['OPERATE_EQUAL', 'OPERATE_PLUS', 'OPERATE_MINUS', 'OPERATE_IGNORENULL'].includes(operate)) {
54
+ throw new Error(`字段赋值操作类型不支持“${operate}”;合法值为 OPERATE_EQUAL、OPERATE_PLUS、OPERATE_MINUS、OPERATE_IGNORENULL`);
55
+ }
56
+ return operate;
57
+ }
58
+ function unwrapValueSpec(raw) {
59
+ const options = fieldSettingOptions(raw);
60
+ if (raw && typeof raw === 'object' && !Array.isArray(raw)
61
+ && hasFieldSettingOptions(raw) && Object.prototype.hasOwnProperty.call(raw, 'value')) {
62
+ return { value: raw.value, options };
63
+ }
64
+ return { value: raw, options };
65
+ }
18
66
  // 根触发节点的图标必须使用平台设计器实际保存的图标名。
19
67
  // 组件目录里的动作图标不能直接当作事件根节点图标;不同触发器也不一定共用同一个图标。
20
68
  const EVENT_ROOT_ICONS = {
@@ -479,6 +527,8 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
479
527
  if (!u || typeof u !== 'object')
480
528
  continue;
481
529
  const field = u.field ?? u.formField ?? u.fieldId ?? genSfId();
530
+ const assignment = Object.prototype.hasOwnProperty.call(u, 'value') ? u.value : u;
531
+ const options = fieldSettingOptions(u);
482
532
  let fid = field;
483
533
  let fieldType = 'Text';
484
534
  if (field && typeof field === 'object') {
@@ -486,7 +536,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
486
536
  const sourceType = field.type ?? '';
487
537
  fieldType = { String: 'Text', string: 'Text', Number: 'NumberComponent', number: 'NumberComponent' }[sourceType] ?? (sourceType || 'Text');
488
538
  }
489
- main[String(fid)] = buildEsbFormField(String(fid), u, fieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
539
+ main[String(fid)] = buildEsbFormField(String(fid), assignment, fieldType, meta, appId, String(eventId), fieldOperate(u), componentType, false, assignmentMode, options);
490
540
  }
491
541
  }
492
542
  if (mapping && typeof mapping === 'object' && !Array.isArray(mapping)) {
@@ -494,12 +544,14 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
494
544
  const targetFieldId = targetFieldIdRaw;
495
545
  let operate = 'OPERATE_EQUAL';
496
546
  if (targetFieldId && typeof targetFieldId === 'object' && !Array.isArray(targetFieldId)) {
547
+ const options = fieldSettingOptions(targetFieldId);
548
+ operate = fieldOperate(targetFieldId);
497
549
  if (targetFieldId.systemValue) {
498
550
  const svKey = String(targetFieldId.systemValue);
499
551
  const tfid = String(targetFieldId.target || '');
500
552
  if (!tfid)
501
553
  throw new Error(`mapping 系统变量值缺少目标字段 id: 应传 {'target':'<目标字段id>', 'systemValue':'currentUser'}`);
502
- main[tfid] = buildEsbFormField(tfid, { kind: 'system_variable', key: svKey }, 'Text', meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
554
+ main[tfid] = buildEsbFormField(tfid, { kind: 'system_variable', key: svKey }, 'Text', meta, appId, String(eventId), operate, componentType, false, assignmentMode, options);
503
555
  continue;
504
556
  }
505
557
  const declaredKind = String(targetFieldId.kind || targetFieldId.assignmentKind || 'context');
@@ -509,13 +561,15 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
509
561
  let raw = String(targetFieldId.target || targetFieldId.fieldId || '');
510
562
  if (!raw)
511
563
  throw new Error('ActionEbAdd.mapping 依据值下级值缺少目标字段 id');
512
- if (raw.startsWith('+')) {
513
- operate = 'OPERATE_PLUS';
514
- raw = raw.slice(1);
515
- }
516
- else if (raw.startsWith('-')) {
517
- operate = 'OPERATE_MINUS';
518
- raw = raw.slice(1);
564
+ if (!targetFieldId.operate && !targetFieldId.operator && !targetFieldId.operation) {
565
+ if (raw.startsWith('+')) {
566
+ operate = 'OPERATE_PLUS';
567
+ raw = raw.slice(1);
568
+ }
569
+ else if (raw.startsWith('-')) {
570
+ operate = 'OPERATE_MINUS';
571
+ raw = raw.slice(1);
572
+ }
519
573
  }
520
574
  const refKey = String(targetFieldId.paramKey || sourceKey);
521
575
  const refLabel = String(targetFieldId.label || resolveSourceFieldLabel(refKey, meta, String(sourceKey)));
@@ -568,7 +622,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
568
622
  const srcFt = resolveSourceFieldType(srcParamKey, meta);
569
623
  const targetMeta = lookupTargetFieldMeta(raw, result);
570
624
  const targetFt = String(targetMeta?.componentKey || targetMeta?.type || srcFt || 'Text');
571
- main[raw] = buildEsbFormField(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode);
625
+ main[raw] = buildEsbFormField(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode, options);
572
626
  }
573
627
  else {
574
628
  let raw = String(targetFieldId);
@@ -593,9 +647,10 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
593
647
  if (constants && typeof constants === 'object' && !Array.isArray(constants)) {
594
648
  for (const [targetFieldId, value] of Object.entries(constants)) {
595
649
  const tfid = String(targetFieldId);
596
- let operateC = 'OPERATE_EQUAL';
597
- let rawV = value;
598
- if (typeof value === 'string' && value.length > 1 && (value[0] === '+' || value[0] === '-')) {
650
+ const spec = unwrapValueSpec(value);
651
+ let operateC = fieldOperate(value);
652
+ let rawV = spec.value;
653
+ if (!hasFieldSettingOptions(value) && typeof value === 'string' && value.length > 1 && (value[0] === '+' || value[0] === '-')) {
599
654
  operateC = value[0] === '+' ? 'OPERATE_PLUS' : 'OPERATE_MINUS';
600
655
  rawV = value.slice(1);
601
656
  }
@@ -605,18 +660,20 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
605
660
  // 固定枚举值的外层 fieldType 必须是目标组件类型(例如 Select),
606
661
  // 与手工保存 JSON 一致;使用默认 Text 会导致设计器下拉回显为空。
607
662
  const targetFieldType = String(fieldMeta?.componentKey || fieldMeta?.type || ft);
608
- main[tfid] = buildEsbFormField(tfid, assignment, targetFieldType, meta, appId, String(eventId), operateC, componentType, false, assignmentMode);
663
+ main[tfid] = buildEsbFormField(tfid, assignment, targetFieldType, meta, appId, String(eventId), operateC, componentType, false, assignmentMode, spec.options);
609
664
  }
610
665
  }
611
666
  if (formula && typeof formula === 'object' && !Array.isArray(formula)) {
612
667
  for (const [targetFieldId, fspecRaw] of Object.entries(formula)) {
613
- const fspec = fspecRaw;
668
+ const fspec = fspecRaw && typeof fspecRaw === 'object' && fspecRaw.formula
669
+ ? fspecRaw.formula : fspecRaw;
670
+ const options = fieldSettingOptions(fspecRaw);
614
671
  if (!fspec || typeof fspec !== 'object')
615
672
  continue;
616
673
  if (String(fspec.kind || '') === 'function') {
617
674
  const fieldMeta = lookupTargetFieldMeta(String(targetFieldId), result);
618
675
  const targetFieldType = String(fieldMeta?.componentKey || fieldMeta?.type || fspec.resultType || 'Number');
619
- main[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), fspec, targetFieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
676
+ main[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), fspec, targetFieldType, meta, appId, String(eventId), fieldOperate(fspecRaw), componentType, false, assignmentMode, options);
620
677
  continue;
621
678
  }
622
679
  const op = fspec.op || 'add';
@@ -642,13 +699,16 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
642
699
  assign.childs = bean.childs;
643
700
  assign.applicationId ??= String(appId);
644
701
  assign.id ??= String(flatId);
645
- main[String(targetFieldId)] = {
702
+ const entry = {
646
703
  formFieldKey: '',
647
704
  value: {
648
- original: false, operate: 'OPERATE_EQUAL', switchType: 'assign', fieldKey: String(targetFieldId),
705
+ original: false, operate: fieldOperate(fspecRaw), switchType: 'assign', fieldKey: String(targetFieldId),
649
706
  assignType: '', multiSelect: false, fieldType: 'NumberComponent', assign, assignId: String(flatId),
650
707
  },
651
708
  };
709
+ main[String(targetFieldId)] = applyFormFieldSettingOptions(entry, options, {
710
+ meta, appId, eventId, componentType, fieldType: 'NumberComponent',
711
+ });
652
712
  }
653
713
  }
654
714
  const contract = get(componentType) || {};
@@ -669,6 +729,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
669
729
  opType: result.opType ?? 'insert',
670
730
  updatePolicy: result.updatePolicy ?? 'ALL',
671
731
  updateFieldCondition: { updateField: [] },
732
+ dataDrWithCalc: result.dataDrWithCalc ?? false,
672
733
  });
673
734
  }
674
735
  // ── filter 筛选条件树 ───────────────────────────────────────
@@ -780,7 +841,9 @@ export function buildFilterInput(result, val, meta, appId, componentType = '', a
780
841
  const fctx = resolveFormCtx(result, meta, formId);
781
842
  const form = findInMetadata(meta, 'forms', { id: formId }) || {};
782
843
  const fieldIndex = {};
783
- const strictDataSourceCondition = ['EnquiryForm', 'TimeBatchTrigger', 'DateTrigger'].includes(componentType);
844
+ // ActionEbDelete 的前端 ConditionSet 与查询/定时组件共用 dataSource
845
+ // 字段选择器;条件左值必须来自 ds/fields,不能仅依赖 getEbField。
846
+ const strictDataSourceCondition = ['ActionEbDelete', 'EnquiryForm', 'TimeBatchTrigger', 'DateTrigger'].includes(componentType);
784
847
  if (!strictDataSourceCondition) {
785
848
  for (const f of form.fields || [])
786
849
  fieldIndex[String(f.id || '')] = f;
@@ -1472,16 +1535,20 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1472
1535
  let operate = 'OPERATE_EQUAL';
1473
1536
  let assignment;
1474
1537
  if (targetFieldId && typeof targetFieldId === 'object' && !Array.isArray(targetFieldId)) {
1538
+ const options = fieldSettingOptions(targetFieldId);
1539
+ operate = fieldOperate(targetFieldId);
1475
1540
  let raw = String(targetFieldId.target || targetFieldId.fieldId || '');
1476
1541
  if (!raw)
1477
1542
  throw new Error('detail.mapping 依据值下级值缺少目标字段 id: 应传 {"target":"<目标明细字段id>", "paramKey":"<源paramKey>", ...}');
1478
- if (raw.startsWith('+')) {
1479
- operate = 'OPERATE_PLUS';
1480
- raw = raw.slice(1);
1481
- }
1482
- else if (raw.startsWith('-')) {
1483
- operate = 'OPERATE_MINUS';
1484
- raw = raw.slice(1);
1543
+ if (!targetFieldId.operate && !targetFieldId.operator && !targetFieldId.operation) {
1544
+ if (raw.startsWith('+')) {
1545
+ operate = 'OPERATE_PLUS';
1546
+ raw = raw.slice(1);
1547
+ }
1548
+ else if (raw.startsWith('-')) {
1549
+ operate = 'OPERATE_MINUS';
1550
+ raw = raw.slice(1);
1551
+ }
1485
1552
  }
1486
1553
  const refKey = String(targetFieldId.paramKey || sourceKey);
1487
1554
  const refLabel = String(targetFieldId.label || sourceKey);
@@ -1495,7 +1562,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1495
1562
  assignment.detailLabel = refDetail;
1496
1563
  const targetMeta = targetDetailFields[raw] || {};
1497
1564
  const targetType = String(targetMeta.componentKey || targetMeta.type || 'Text');
1498
- eleData[raw] = buildEsbFormField(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '');
1565
+ eleData[raw] = buildEsbFormField(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '', options);
1499
1566
  }
1500
1567
  else {
1501
1568
  let raw = String(targetFieldId);
@@ -1518,10 +1585,17 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1518
1585
  for (const [targetFieldIdRaw, valueRaw] of Object.entries(constants)) {
1519
1586
  const targetFieldId = String(targetFieldIdRaw);
1520
1587
  const targetMeta = targetDetailFields[targetFieldId] || {};
1521
- const value = resolveEnumConstant(valueRaw, targetMeta);
1588
+ const spec = unwrapValueSpec(valueRaw);
1589
+ let rawValue = spec.value;
1590
+ let operate = fieldOperate(valueRaw);
1591
+ if (!hasFieldSettingOptions(valueRaw) && typeof rawValue === 'string' && rawValue.length > 1 && (rawValue[0] === '+' || rawValue[0] === '-')) {
1592
+ operate = rawValue[0] === '+' ? 'OPERATE_PLUS' : 'OPERATE_MINUS';
1593
+ rawValue = rawValue.slice(1);
1594
+ }
1595
+ const value = resolveEnumConstant(rawValue, targetMeta);
1522
1596
  const [assignment, ft] = normalizeConstantAssignment(value, 'Text');
1523
1597
  const targetType = String(targetMeta.componentKey || targetMeta.type || ft);
1524
- eleData[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1598
+ eleData[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '', spec.options);
1525
1599
  }
1526
1600
  }
1527
1601
  const formula = item.formula || {};
@@ -1531,11 +1605,14 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1531
1605
  ? (getTargetDetailFields()[detailTargetFormId] || {})[String(item.detailTableId)] || {}
1532
1606
  : {};
1533
1607
  for (const [targetFieldId, formulaSpec] of Object.entries(formula)) {
1534
- if (!formulaSpec || typeof formulaSpec !== 'object')
1608
+ const rawSpec = formulaSpec;
1609
+ const actualSpec = rawSpec && typeof rawSpec === 'object' && rawSpec.formula ? rawSpec.formula : rawSpec;
1610
+ const options = fieldSettingOptions(rawSpec);
1611
+ if (!actualSpec || typeof actualSpec !== 'object')
1535
1612
  continue;
1536
1613
  const targetMeta = targetDetailFields[String(targetFieldId)] || {};
1537
- const targetType = String(targetMeta.componentKey || targetMeta.type || formulaSpec.resultType || 'Text');
1538
- eleData[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), formulaSpec, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1614
+ const targetType = String(targetMeta.componentKey || targetMeta.type || actualSpec.resultType || 'Text');
1615
+ eleData[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), actualSpec, targetType, meta, appId, eventId, fieldOperate(rawSpec), nodeType, true, '', options);
1539
1616
  }
1540
1617
  }
1541
1618
  // detail 自动按名补全
@@ -1750,18 +1827,18 @@ export function convertNode(draftAction, isEvent = false, meta = null, appId = '
1750
1827
  if (pendingConstants && typeof pendingConstants === 'object') {
1751
1828
  for (const [targetFieldIdRaw, valueRaw] of Object.entries(pendingConstants)) {
1752
1829
  const targetFieldId = String(targetFieldIdRaw);
1753
- const value = valueRaw;
1754
- let operateC = 'OPERATE_EQUAL';
1755
- let rawV = value;
1756
- if (typeof value === 'string' && value.length > 1 && (value[0] === '+' || value[0] === '-')) {
1757
- operateC = value[0] === '+' ? 'OPERATE_PLUS' : 'OPERATE_MINUS';
1758
- rawV = value.slice(1);
1830
+ const spec = unwrapValueSpec(valueRaw);
1831
+ let operateC = fieldOperate(valueRaw);
1832
+ let rawV = spec.value;
1833
+ if (!hasFieldSettingOptions(valueRaw) && typeof rawV === 'string' && rawV.length > 1 && (rawV[0] === '+' || rawV[0] === '-')) {
1834
+ operateC = rawV[0] === '+' ? 'OPERATE_PLUS' : 'OPERATE_MINUS';
1835
+ rawV = rawV.slice(1);
1759
1836
  }
1760
1837
  const targetFieldMeta = lookupTargetFieldMeta(targetFieldId, nodeData);
1761
1838
  rawV = resolveEnumConstant(rawV, targetFieldMeta);
1762
1839
  const [assignment, ft] = normalizeConstantAssignment(rawV, 'Text');
1763
1840
  const targetFieldType = String(targetFieldMeta?.componentKey || targetFieldMeta?.type || ft);
1764
- main[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operateC, nodeType, false, assignmentMode);
1841
+ main[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operateC, nodeType, false, assignmentMode, spec.options);
1765
1842
  }
1766
1843
  }
1767
1844
  nodeData.setting.main = main;