openxiangda 2.44.0 → 2.55.1

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 (247) hide show
  1. package/dist/browser/AuthoritativeSelector.d.ts +3 -2
  2. package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
  3. package/dist/browser/AuthoritativeSelector.js +32 -11
  4. package/dist/browser/AuthoritativeSelector.js.map +1 -1
  5. package/dist/browser/FilePreviewPage.d.ts.map +1 -1
  6. package/dist/browser/FilePreviewPage.js +4 -0
  7. package/dist/browser/FilePreviewPage.js.map +1 -1
  8. package/dist/browser/components/administration/RoleMembershipManager.d.ts.map +1 -1
  9. package/dist/browser/components/administration/RoleMembershipManager.js +5 -5
  10. package/dist/browser/components/administration/RoleMembershipManager.js.map +1 -1
  11. package/dist/browser/components/administration/scope-applicability.d.ts +3 -0
  12. package/dist/browser/components/administration/scope-applicability.d.ts.map +1 -0
  13. package/dist/browser/components/administration/scope-applicability.js +7 -0
  14. package/dist/browser/components/administration/scope-applicability.js.map +1 -0
  15. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts +16 -0
  16. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts.map +1 -0
  17. package/dist/browser/components/platform-fields/ConstrainedUserField.js +140 -0
  18. package/dist/browser/components/platform-fields/ConstrainedUserField.js.map +1 -0
  19. package/dist/browser/components/platform-fields/JsonField.d.ts.map +1 -1
  20. package/dist/browser/components/platform-fields/JsonField.js +6 -1
  21. package/dist/browser/components/platform-fields/JsonField.js.map +1 -1
  22. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts +19 -0
  23. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts.map +1 -0
  24. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js +42 -0
  25. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js.map +1 -0
  26. package/dist/browser/components/platform-fields/MobileManagedFileField.d.ts.map +1 -1
  27. package/dist/browser/components/platform-fields/MobileManagedFileField.js +6 -1
  28. package/dist/browser/components/platform-fields/MobileManagedFileField.js.map +1 -1
  29. package/dist/browser/components/platform-fields/MobileSelection.d.ts +3 -1
  30. package/dist/browser/components/platform-fields/MobileSelection.d.ts.map +1 -1
  31. package/dist/browser/components/platform-fields/MobileSelection.js +2 -2
  32. package/dist/browser/components/platform-fields/MobileSelection.js.map +1 -1
  33. package/dist/browser/components/platform-fields/MobileSubtableValidation.d.ts +2 -1
  34. package/dist/browser/components/platform-fields/MobileSubtableValidation.d.ts.map +1 -1
  35. package/dist/browser/components/platform-fields/MobileSubtableValidation.js +3 -1
  36. package/dist/browser/components/platform-fields/MobileSubtableValidation.js.map +1 -1
  37. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +3 -2
  38. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
  39. package/dist/browser/components/platform-fields/ResourceReferenceField.js +2 -2
  40. package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
  41. package/dist/browser/components/platform-fields/RichTextField.d.ts +3 -2
  42. package/dist/browser/components/platform-fields/RichTextField.d.ts.map +1 -1
  43. package/dist/browser/components/platform-fields/RichTextField.js +96 -44
  44. package/dist/browser/components/platform-fields/RichTextField.js.map +1 -1
  45. package/dist/browser/components/platform-fields/SignatureField.d.ts +5 -4
  46. package/dist/browser/components/platform-fields/SignatureField.d.ts.map +1 -1
  47. package/dist/browser/components/platform-fields/SignatureField.js +69 -16
  48. package/dist/browser/components/platform-fields/SignatureField.js.map +1 -1
  49. package/dist/browser/components/platform-fields/SubtableField.d.ts +18 -2
  50. package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
  51. package/dist/browser/components/platform-fields/SubtableField.js +146 -57
  52. package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
  53. package/dist/browser/components/platform-fields/managed-media-read.d.ts +19 -0
  54. package/dist/browser/components/platform-fields/managed-media-read.d.ts.map +1 -0
  55. package/dist/browser/components/platform-fields/managed-media-read.js +32 -0
  56. package/dist/browser/components/platform-fields/managed-media-read.js.map +1 -0
  57. package/dist/browser/components/platform-fields/subtable-pagination.d.ts +20 -0
  58. package/dist/browser/components/platform-fields/subtable-pagination.d.ts.map +1 -0
  59. package/dist/browser/components/platform-fields/subtable-pagination.js +39 -0
  60. package/dist/browser/components/platform-fields/subtable-pagination.js.map +1 -0
  61. package/dist/browser/components/platform-fields/subtable-value.d.ts.map +1 -1
  62. package/dist/browser/components/platform-fields/subtable-value.js +2 -1
  63. package/dist/browser/components/platform-fields/subtable-value.js.map +1 -1
  64. package/dist/browser/components/platform-fields/surface-field-validation.d.ts +31 -0
  65. package/dist/browser/components/platform-fields/surface-field-validation.d.ts.map +1 -0
  66. package/dist/browser/components/platform-fields/surface-field-validation.js +36 -0
  67. package/dist/browser/components/platform-fields/surface-field-validation.js.map +1 -0
  68. package/dist/browser/components/platform-fields/user-candidate-context.d.ts +51 -0
  69. package/dist/browser/components/platform-fields/user-candidate-context.d.ts.map +1 -0
  70. package/dist/browser/components/platform-fields/user-candidate-context.js +62 -0
  71. package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
  72. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  73. package/dist/browser/components/resource/GeneratedResourceCrud.js +26 -2
  74. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  75. package/dist/browser/components/resource/GeneratedResourceForm.js +1 -1
  76. package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
  77. package/dist/browser/components/resource/RecordDetailFrame.d.ts +3 -1
  78. package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
  79. package/dist/browser/components/resource/RecordDetailFrame.js +2 -2
  80. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  81. package/dist/browser/components/resource/ResourceFormFrame.d.ts +2 -1
  82. package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
  83. package/dist/browser/components/resource/ResourceFormFrame.js +2 -2
  84. package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
  85. package/dist/browser/components/resource/ResourceRecordComments.d.ts +13 -0
  86. package/dist/browser/components/resource/ResourceRecordComments.d.ts.map +1 -0
  87. package/dist/browser/components/resource/ResourceRecordComments.js +75 -0
  88. package/dist/browser/components/resource/ResourceRecordComments.js.map +1 -0
  89. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts +7 -0
  90. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts.map +1 -0
  91. package/dist/browser/components/resource/ResourceRecordDeletion.js +53 -0
  92. package/dist/browser/components/resource/ResourceRecordDeletion.js.map +1 -0
  93. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts +16 -0
  94. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts.map +1 -0
  95. package/dist/browser/components/resource/ResourceRecordPrintPreview.js +92 -0
  96. package/dist/browser/components/resource/ResourceRecordPrintPreview.js.map +1 -0
  97. package/dist/browser/components/resource/SurfaceFields.d.ts +9 -4
  98. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  99. package/dist/browser/components/resource/SurfaceFields.js +54 -72
  100. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  101. package/dist/browser/components/resource/generated-resource-definition.d.ts +13 -0
  102. package/dist/browser/components/resource/generated-resource-definition.d.ts.map +1 -1
  103. package/dist/browser/components/resource/record-comment-session.d.ts +17 -0
  104. package/dist/browser/components/resource/record-comment-session.d.ts.map +1 -0
  105. package/dist/browser/components/resource/record-comment-session.js +64 -0
  106. package/dist/browser/components/resource/record-comment-session.js.map +1 -0
  107. package/dist/browser/components/resource/record-deletion-session.d.ts +19 -0
  108. package/dist/browser/components/resource/record-deletion-session.d.ts.map +1 -0
  109. package/dist/browser/components/resource/record-deletion-session.js +64 -0
  110. package/dist/browser/components/resource/record-deletion-session.js.map +1 -0
  111. package/dist/browser/components/resource/record-print-session.d.ts +12 -0
  112. package/dist/browser/components/resource/record-print-session.d.ts.map +1 -0
  113. package/dist/browser/components/resource/record-print-session.js +32 -0
  114. package/dist/browser/components/resource/record-print-session.js.map +1 -0
  115. package/dist/browser/components/resource/resource-field-selection.d.ts +1 -0
  116. package/dist/browser/components/resource/resource-field-selection.d.ts.map +1 -1
  117. package/dist/browser/components/resource/resource-form-operations.d.ts.map +1 -1
  118. package/dist/browser/components/resource/resource-form-operations.js +5 -1
  119. package/dist/browser/components/resource/resource-form-operations.js.map +1 -1
  120. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  121. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -2
  122. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  123. package/dist/browser/components/workflow/StandardWorkflowPages.js +96 -47
  124. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  125. package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
  126. package/dist/browser/components/workflow/WorkflowDiagram.js +14 -1
  127. package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
  128. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
  129. package/dist/browser/components/workflow/WorkflowFlowCanvas.js +27 -8
  130. package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
  131. package/dist/browser/components/workflow/WorkflowNodeCard.js +2 -2
  132. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  133. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  134. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +4 -4
  135. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  136. package/dist/browser/components/workflow/WorkflowRecordEditor.js +1 -1
  137. package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
  138. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts +9 -0
  139. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts.map +1 -0
  140. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js +50 -0
  141. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js.map +1 -0
  142. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts +5 -3
  143. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts.map +1 -1
  144. package/dist/browser/components/workflow/WorkflowTaskFiles.js +67 -27
  145. package/dist/browser/components/workflow/WorkflowTaskFiles.js.map +1 -1
  146. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +6 -1
  147. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  148. package/dist/browser/components/workflow/WorkflowTaskForm.js +65 -16
  149. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  150. package/dist/browser/components/workflow/standard-process-values.d.ts +10 -0
  151. package/dist/browser/components/workflow/standard-process-values.d.ts.map +1 -0
  152. package/dist/browser/components/workflow/standard-process-values.js +25 -0
  153. package/dist/browser/components/workflow/standard-process-values.js.map +1 -0
  154. package/dist/browser/components/workflow/workflow-graph-presentation.d.ts +19 -0
  155. package/dist/browser/components/workflow/workflow-graph-presentation.d.ts.map +1 -0
  156. package/dist/browser/components/workflow/workflow-graph-presentation.js +28 -0
  157. package/dist/browser/components/workflow/workflow-graph-presentation.js.map +1 -0
  158. package/dist/browser/components/workflow/workflow-submission-form.d.ts +18 -0
  159. package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
  160. package/dist/browser/components/workflow/workflow-submission-form.js +44 -0
  161. package/dist/browser/components/workflow/workflow-submission-form.js.map +1 -0
  162. package/dist/browser/components/workflow/workflow-task-field-codec.d.ts +4 -0
  163. package/dist/browser/components/workflow/workflow-task-field-codec.d.ts.map +1 -0
  164. package/dist/browser/components/workflow/workflow-task-field-codec.js +9 -0
  165. package/dist/browser/components/workflow/workflow-task-field-codec.js.map +1 -0
  166. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts +10 -0
  167. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts.map +1 -0
  168. package/dist/browser/components/workflow/workflow-task-required-errors.js +28 -0
  169. package/dist/browser/components/workflow/workflow-task-required-errors.js.map +1 -0
  170. package/dist/browser/components/workflow/workflow-task-subtable.d.ts +7 -0
  171. package/dist/browser/components/workflow/workflow-task-subtable.d.ts.map +1 -0
  172. package/dist/browser/components/workflow/workflow-task-subtable.js +58 -0
  173. package/dist/browser/components/workflow/workflow-task-subtable.js.map +1 -0
  174. package/dist/browser/durable-command.d.ts.map +1 -1
  175. package/dist/browser/durable-command.js +6 -1
  176. package/dist/browser/durable-command.js.map +1 -1
  177. package/dist/browser/mobile-fields.css +4 -0
  178. package/dist/browser/platform-client.d.ts +30 -1
  179. package/dist/browser/platform-client.d.ts.map +1 -1
  180. package/dist/browser/platform-client.js +161 -5
  181. package/dist/browser/platform-client.js.map +1 -1
  182. package/dist/browser/record-comments.css +14 -0
  183. package/dist/browser/record-deletion.css +11 -0
  184. package/dist/browser/record-detail.css +4 -2
  185. package/dist/browser/record-print.css +31 -0
  186. package/dist/browser/styles.css +41 -0
  187. package/dist/browser/workflow-operation-input.d.ts +15 -0
  188. package/dist/browser/workflow-operation-input.d.ts.map +1 -0
  189. package/dist/browser/workflow-operation-input.js +64 -0
  190. package/dist/browser/workflow-operation-input.js.map +1 -0
  191. package/dist/browser/workflow-task-file-upload.d.ts.map +1 -1
  192. package/dist/browser/workflow-task-file-upload.js +1 -0
  193. package/dist/browser/workflow-task-file-upload.js.map +1 -1
  194. package/dist/core.d.ts +2 -2
  195. package/dist/core.d.ts.map +1 -1
  196. package/dist/core.js +1 -1
  197. package/dist/core.js.map +1 -1
  198. package/dist/field-kit.d.ts +3 -0
  199. package/dist/field-kit.d.ts.map +1 -1
  200. package/dist/field-kit.js +3 -0
  201. package/dist/field-kit.js.map +1 -1
  202. package/dist/nest.d.ts +1 -1
  203. package/dist/nest.d.ts.map +1 -1
  204. package/dist/nest.js.map +1 -1
  205. package/dist/react.d.ts +6 -2
  206. package/dist/react.d.ts.map +1 -1
  207. package/dist/react.js +5 -1
  208. package/dist/react.js.map +1 -1
  209. package/dist/testing.d.ts +1 -1
  210. package/dist/testing.d.ts.map +1 -1
  211. package/dist/testing.js +1 -1
  212. package/dist/testing.js.map +1 -1
  213. package/documentation/administration.md +7 -1
  214. package/documentation/backend.md +72 -1
  215. package/documentation/data-authz.md +42 -2
  216. package/documentation/declarations-cheatsheet.md +9 -0
  217. package/documentation/field-components.md +45 -1
  218. package/documentation/frontend.md +8 -0
  219. package/documentation/getting-started.md +7 -7
  220. package/documentation/managed-concurrency-frontend.md +1 -1
  221. package/documentation/manifest.json +11 -11
  222. package/documentation/testing.md +17 -0
  223. package/documentation/workflow-events.md +221 -6
  224. package/package.json +22 -25
  225. package/releases/2.51.0.json +32 -0
  226. package/releases/2.54.4.json +30 -0
  227. package/releases/2.54.6.json +30 -0
  228. package/releases/2.55.0.json +34 -0
  229. package/releases/2.55.1.json +32 -0
  230. package/skills/manifest.json +1 -1
  231. package/skills/openxiangda-v2/SKILL.md +4 -4
  232. package/skills/openxiangda-v2/references/administration.md +7 -1
  233. package/skills/openxiangda-v2/references/backend.md +72 -1
  234. package/skills/openxiangda-v2/references/data-authz.md +42 -2
  235. package/skills/openxiangda-v2/references/declarations-cheatsheet.md +9 -0
  236. package/skills/openxiangda-v2/references/field-components.md +45 -1
  237. package/skills/openxiangda-v2/references/frontend.md +8 -0
  238. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  239. package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +1 -1
  240. package/skills/openxiangda-v2/references/testing.md +17 -0
  241. package/skills/openxiangda-v2/references/workflow-events.md +221 -6
  242. package/dist/browser/components/platform-fields/MobileRichTextField.d.ts +0 -4
  243. package/dist/browser/components/platform-fields/MobileRichTextField.d.ts.map +0 -1
  244. package/dist/browser/components/platform-fields/MobileRichTextField.js +0 -38
  245. package/dist/browser/components/platform-fields/MobileRichTextField.js.map +0 -1
  246. package/releases/2.43.0.json +0 -38
  247. package/releases/2.44.0.json +0 -36
@@ -17,8 +17,10 @@ export function useWorkflowTaskFiles({ taskId, controller, onBusyChange }) {
17
17
  const { message } = App.useApp();
18
18
  const intent = useRef(null);
19
19
  const completed = useRef(new WeakMap());
20
- const inFlight = useRef(false);
20
+ const inFlight = useRef(null);
21
21
  const active = useRef(true);
22
+ const currentTask = useRef(taskId);
23
+ currentTask.current = taskId;
22
24
  const [pending, setPending] = useState(null);
23
25
  const [busy, setBusy] = useState(false);
24
26
  const [failure, setFailure] = useState('');
@@ -26,23 +28,51 @@ export function useWorkflowTaskFiles({ taskId, controller, onBusyChange }) {
26
28
  callback.current = onBusyChange;
27
29
  useEffect(() => { callback.current?.(Boolean(pending)); return () => callback.current?.(false); }, [pending]);
28
30
  useEffect(() => { active.current = true; return () => { active.current = false; intent.current = null; }; }, []);
31
+ useEffect(() => {
32
+ intent.current = null;
33
+ completed.current = new WeakMap();
34
+ inFlight.current = null;
35
+ setPending(null);
36
+ setBusy(false);
37
+ setFailure('');
38
+ }, [taskId]);
39
+ const address = (fieldCode, row) => JSON.stringify([row?.subtableFieldCode, row?.rowKey, fieldCode]);
40
+ const currentValue = (fieldCode, row) => row
41
+ ? controller.form.getFieldValue(row.subtableFieldCode)?.find(value => value.key === row.rowKey)?.data[fieldCode]
42
+ : controller.form.getFieldValue(fieldCode);
29
43
  const settle = (wire, file, adopt) => {
30
- if (!active.current || intent.current !== wire)
31
- return;
32
- completed.current.set(wire.file, file);
44
+ if (!active.current || currentTask.current !== wire.taskId || intent.current !== wire)
45
+ return false;
33
46
  if (adopt) {
34
- const code = wire.input.fieldCode;
35
- const refs = controller.form.getFieldValue(code);
36
- controller.form.setFieldValue(code, [...(Array.isArray(refs) ? refs.filter((ref) => ref.id !== file.id) : []), file]);
47
+ if (wire.onRecovered)
48
+ wire.onRecovered(file);
49
+ else {
50
+ const code = wire.input.fieldCode;
51
+ const row = wire.input.row;
52
+ const refs = currentValue(code, row);
53
+ const next = [...(Array.isArray(refs) ? refs.filter((ref) => ref.id !== file.id) : []), file];
54
+ if (row) {
55
+ const rows = controller.form.getFieldValue(row.subtableFieldCode);
56
+ if (!rows?.some(value => value.key === row.rowKey && value.state !== 'deleted'))
57
+ throw new Error('原上传所在明细已移除,请核对原结果。');
58
+ controller.form.setFieldValue(row.subtableFieldCode, rows.map(value => value.key === row.rowKey ? { ...value, data: { ...value.data, [code]: next } } : value));
59
+ }
60
+ else
61
+ controller.form.setFieldValue(code, next);
62
+ }
37
63
  }
64
+ const cached = completed.current.get(wire.file) || new Map();
65
+ cached.set(address(wire.input.fieldCode, wire.input.row), file);
66
+ completed.current.set(wire.file, cached);
38
67
  intent.current = null;
39
68
  setPending(null);
40
69
  setFailure('');
70
+ return true;
41
71
  };
42
72
  const run = async (wire, recovery) => {
43
73
  if (inFlight.current)
44
74
  throw new Error('请等待原文件上传结果。');
45
- inFlight.current = true;
75
+ inFlight.current = wire;
46
76
  setBusy(true);
47
77
  setFailure('');
48
78
  try {
@@ -52,7 +82,7 @@ export function useWorkflowTaskFiles({ taskId, controller, onBusyChange }) {
52
82
  }
53
83
  catch (error) {
54
84
  const rejected = workflowTaskDraftWasRejected(error);
55
- if (active.current) {
85
+ if (active.current && currentTask.current === wire.taskId && intent.current === wire) {
56
86
  setFailure(`${rejected ? '文件上传被拒绝,已有输入保留。' : '文件上传结果待确认,原文件与请求已保留。'}${error instanceof Error ? error.message : String(error)}`);
57
87
  if (rejected) {
58
88
  intent.current = null;
@@ -62,24 +92,31 @@ export function useWorkflowTaskFiles({ taskId, controller, onBusyChange }) {
62
92
  throw error;
63
93
  }
64
94
  finally {
65
- inFlight.current = false;
66
- if (active.current)
67
- setBusy(false);
95
+ if (inFlight.current === wire) {
96
+ inFlight.current = null;
97
+ if (active.current && currentTask.current === wire.taskId)
98
+ setBusy(false);
99
+ }
68
100
  }
69
101
  };
70
- const upload = async (field, file) => {
102
+ const upload = async (field, file, _recordId, onRecovered, row) => {
71
103
  if (!taskId)
72
104
  throw new Error('当前任务尚未就绪。');
73
- const ready = completed.current.get(file);
105
+ const ready = completed.current.get(file)?.get(address(field.key, row));
74
106
  if (ready)
75
107
  return ready;
76
108
  if (intent.current)
77
109
  throw new Error('请先确认原文件上传结果,再选择下一个文件。');
78
- const current = controller.form.getFieldValue(field.key);
79
- if (Array.isArray(current) && current.length >= (field.maxCount ?? 1))
80
- throw new Error(`最多 ${field.maxCount ?? 1} 个文件,请先移除已有引用。`);
81
- const wire = { taskId, file, phase: 'initiate', input: {
82
- id: crypto.randomUUID(), fieldCode: field.key, fileName: file.name, fileSize: file.size, contentType: file.type,
110
+ if (!['file', 'image'].includes(field.type) && !onRecovered)
111
+ throw new Error('该字段需要保留完整值的上传恢复回调。');
112
+ const current = currentValue(field.key, row);
113
+ if (['file', 'image'].includes(field.type) && Array.isArray(current) && current.length >= (field.maxCount ?? 1)) {
114
+ const text = `最多 ${field.maxCount ?? 1} 个文件,请先移除已有引用。`;
115
+ setFailure(text);
116
+ throw new Error(text);
117
+ }
118
+ const wire = { taskId, file, phase: 'initiate', onRecovered, input: {
119
+ ...(row ? { row } : {}), id: crypto.randomUUID(), fieldCode: field.key, fileName: file.name, fileSize: file.size, contentType: file.type,
83
120
  } };
84
121
  intent.current = wire;
85
122
  setPending(wire);
@@ -93,25 +130,28 @@ export function useWorkflowTaskFiles({ taskId, controller, onBusyChange }) {
93
130
  await run(wire, true).catch(() => undefined);
94
131
  return;
95
132
  }
96
- inFlight.current = true;
133
+ inFlight.current = wire;
97
134
  setBusy(true);
98
135
  try {
99
136
  const plan = await transport.read(wire.taskId, wire.input.id);
100
137
  assertWorkflowTaskFileUploadPlan(wire, plan);
101
138
  if (plan.state === 'ready') {
102
- settle(wire, plan.file, true);
103
- message.success('原文件已完成,已加入当前输入。');
139
+ if (settle(wire, plan.file, true))
140
+ message.success('原文件已完成,已加入当前输入。');
104
141
  }
105
- else
142
+ else if (active.current && currentTask.current === wire.taskId && intent.current === wire)
106
143
  setFailure('原文件尚未完成。当前输入与文件已保留,可重试原上传。');
107
144
  }
108
145
  catch (error) {
109
- setFailure(`原上传核对未完成。${error instanceof Error ? error.message : String(error)}`);
146
+ if (active.current && currentTask.current === wire.taskId && intent.current === wire)
147
+ setFailure(`原上传核对未完成。${error instanceof Error ? error.message : String(error)}`);
110
148
  }
111
149
  finally {
112
- inFlight.current = false;
113
- if (active.current)
114
- setBusy(false);
150
+ if (inFlight.current === wire) {
151
+ inFlight.current = null;
152
+ if (active.current && currentTask.current === wire.taskId)
153
+ setBusy(false);
154
+ }
115
155
  }
116
156
  };
117
157
  return { upload, pending, busy, failure, recover };
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTaskFiles.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskFiles.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowTaskFiles.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskFiles.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export declare function useWorkflowTaskForm(latest?: WorkflowTaskFormSurface): {
18
18
  current: {
19
19
  [k: string]: unknown;
20
20
  };
21
+ subtableError: {
22
+ field: string;
23
+ index: number;
24
+ } | undefined;
21
25
  dirty: boolean;
22
26
  unsaved: boolean;
23
27
  stale: boolean;
@@ -34,11 +38,12 @@ export declare function useWorkflowTaskForm(latest?: WorkflowTaskFormSurface): {
34
38
  savedDraft: (saved: WorkflowTaskDraft) => void;
35
39
  removedDraft: (id: string) => void;
36
40
  };
37
- export declare function WorkflowTaskForm({ controller, disabled, draftDisabled, taskId, onDraftBusyChange, onFileBusyChange, onRefresh, variant, resourceCode, recordId }: {
41
+ export declare function WorkflowTaskForm({ controller, disabled, draftDisabled, taskId, taskVersion, onDraftBusyChange, onFileBusyChange, onRefresh, variant, resourceCode, recordId }: {
38
42
  controller: ReturnType<typeof useWorkflowTaskForm>;
39
43
  disabled: boolean;
40
44
  draftDisabled?: boolean;
41
45
  taskId?: string;
46
+ taskVersion?: number;
42
47
  onDraftBusyChange?: (busy: boolean) => void;
43
48
  onFileBusyChange?: (busy: boolean) => void;
44
49
  onRefresh?: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTaskForm.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAUvH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAGtG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAM7H;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;IAI9I;AAKD,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,uBAAuB;;;;;;;;;;;;sBAyBnC,OAAO;;;;;yBAcV,OAAO;wBASR,qBAAqB,aAAa,MAAM;wBAOxC,iBAAiB;wBAQjB,iBAAiB;uBAKlB,MAAM;EAEjC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAwB,EAAE,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAC5K,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,kDAuDA"}
1
+ {"version":3,"file":"WorkflowTaskForm.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAcvH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAGtG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAM7H;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;IAI9I;AAKD,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,uBAAuB;;;;;;;;eAIN,MAAM;eAAS,MAAM;;;;;;;sBA6BlD,OAAO;;;;;yBA6BV,OAAO;wBAYR,qBAAqB,aAAa,MAAM;wBAOxC,iBAAiB;wBAQjB,iBAAiB;uBAKlB,MAAM;EAEjC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAwB,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IACzL,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,kDAkEA"}
@@ -1,16 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  import { Alert, App, Button, Form, Space, Typography } from 'antd';
4
- import { applyWorkflowTaskPageValues, workflowTaskPageFieldState } from 'openxiangda-contracts/browser';
4
+ import { applyWorkflowTaskPageValues, applyWorkflowTaskSubtableRows, workflowTaskPageFieldState } from 'openxiangda-contracts/browser';
5
5
  import { useUnsavedChangesGuard } from '../../navigation-guard';
6
6
  import { workflowLaunchContractJsonEqual } from '../../workflow-launch';
7
- import { fieldValueForData, fieldValueForForm } from '../platform-fields/field-form-codec';
7
+ import { fieldValueForForm } from '../platform-fields/field-form-codec';
8
+ import { workflowTaskFieldValueForData } from './workflow-task-field-codec';
8
9
  import { MobileSurfaceFieldControl, SurfaceFieldControl, SurfaceFieldValue } from '../resource/SurfaceFields';
9
10
  import { useWorkflowTaskFiles, WorkflowTaskFileRecovery } from './WorkflowTaskFiles';
10
11
  import { WorkflowTaskDraftPanel } from './WorkflowTaskDraftPanel';
12
+ import { SubtableField } from '../platform-fields/SubtableField';
13
+ import { rebaseWorkflowTaskSubtable, workflowTaskSubtableDataRows, workflowTaskSubtableFormRows } from './workflow-task-subtable';
14
+ import { workflowTaskRequiredErrorUpdates } from './workflow-task-required-errors';
11
15
  export function workflowTaskFormValues(source, values) {
12
16
  return Object.fromEntries(source.page.fields.map(field => [field.code,
13
- field.readonly ? source.values[field.code] : fieldValueForData(source.fields[field.code], values[field.code]) ?? null]));
17
+ field.readonly ? source.values[field.code] : field.subtable ? workflowTaskSubtableDataRows(source, field.code, values[field.code]) : workflowTaskFieldValueForData(source.fields[field.code], values[field.code])]));
14
18
  }
15
19
  export function workflowTaskFormPatch(source, values) {
16
20
  const merged = workflowTaskFormValues(source, values);
@@ -25,23 +29,34 @@ export function workflowTaskFormReviewFields(source, latest, current) {
25
29
  (!workflowLaunchContractJsonEqual(source.values[field.code], latest.values[field.code]) ||
26
30
  !workflowLaunchContractJsonEqual(current[field.code], latest.values[field.code])));
27
31
  }
28
- const formValues = (source) => Object.fromEntries(source.page.fields.map(field => [field.code, fieldValueForForm(source.fields[field.code], source.values[field.code])]));
32
+ const formValues = (source) => Object.fromEntries(source.page.fields.map(field => [field.code, field.subtable ? workflowTaskSubtableFormRows(source, field.code, source.values[field.code]) : fieldValueForForm(source.fields[field.code], source.values[field.code])]));
29
33
  /** Page state stays local; the Workflow command is its only submission owner. */
30
34
  export function useWorkflowTaskForm(latest) {
31
35
  const [form] = Form.useForm();
32
36
  const [source, setSource] = useState(latest);
33
37
  const [draft, setDraft] = useState();
38
+ const [subtableError, setSubtableError] = useState();
34
39
  const initialSource = useRef(latest);
35
40
  const acceptedLatest = useRef(latest);
41
+ const requiredErrors = useRef(new Map());
36
42
  const watched = Form.useWatch([], { form, preserve: true });
37
43
  const current = source ? workflowTaskFormValues(source, { ...formValues(source), ...(watched || form.getFieldsValue(true)) }) : {};
38
44
  const dirty = Boolean(source && source.page.fields.some(field => !field.readonly &&
39
45
  !workflowLaunchContractJsonEqual(source.values[field.code] ?? null, current[field.code] ?? null)));
40
- const stale = Boolean(source && latest && (source.pageCode !== latest.pageCode || source.expectedRevision !== latest.expectedRevision));
46
+ const stale = Boolean(source && latest && (source.pageCode !== latest.pageCode || source.expectedRevision !== latest.expectedRevision || !workflowLaunchContractJsonEqual(source.subtables, latest.subtables)));
41
47
  const draftNeedsSave = Boolean(draft && source && (draft.recordRevision !== source.expectedRevision || draft.pageCode !== source.pageCode));
42
48
  const safelyDrafted = Boolean(draft && source && !stale && !draftNeedsSave &&
43
49
  workflowLaunchContractJsonEqual(draft.values, workflowTaskFormPatch(source, { ...formValues(source), ...(watched || form.getFieldsValue(true)) }).values));
44
50
  const unsaved = dirty && !safelyDrafted;
51
+ useEffect(() => {
52
+ if (!source || !requiredErrors.current.size)
53
+ return;
54
+ const updates = workflowTaskRequiredErrorUpdates(source, current, requiredErrors.current, code => form.getFieldError(code));
55
+ for (const code of updates.release)
56
+ requiredErrors.current.delete(code);
57
+ if (updates.fields.length)
58
+ form.setFields(updates.fields);
59
+ }, [source, current, form]);
45
60
  useEffect(() => {
46
61
  if (!latest || dirty || latest === acceptedLatest.current)
47
62
  return;
@@ -61,13 +76,29 @@ export function useWorkflowTaskForm(latest) {
61
76
  const input = workflowTaskFormPatch(source, form.getFieldsValue(true));
62
77
  try {
63
78
  applyWorkflowTaskPageValues(source.page, source.values, input.values, complete);
79
+ for (const state of workflowTaskPageFieldState(source.page, current).filter(field => field.visible && !field.readonly)) {
80
+ const field = source.page.fields.find(field => field.code === state.code);
81
+ const child = source.subtables?.[state.code];
82
+ if (field.subtable && child)
83
+ applyWorkflowTaskSubtableRows(field, child.maxRows, child.rows, Object.hasOwn(input.values, state.code) ? input.values[state.code] : source.values[state.code], complete);
84
+ }
64
85
  }
65
86
  catch (error) {
66
- const field = error.field;
87
+ const { code, field, rowIndex, childField } = error;
67
88
  const label = field && source.fields[field]?.label;
68
- if (field)
69
- form.setFields([{ name: field, errors: [`请填写或选择${label || field}`] }]);
70
- throw new Error(label ? `请填写或选择${label}` : '请核对补填资料');
89
+ const childLabel = field && childField && source.subtables?.[field]?.fields[childField]?.label;
90
+ const text = rowIndex !== undefined ? `${label || field}第${rowIndex + 1}项:请填写或选择${childLabel || childField}` : label ? `请填写或选择${label}` : '请核对补填资料';
91
+ if (field && rowIndex !== undefined)
92
+ setSubtableError({ field, index: rowIndex });
93
+ if (field) {
94
+ if (code === 'WORKFLOW_TASK_FORM_REQUIRED' && rowIndex === undefined)
95
+ requiredErrors.current.set(field, text);
96
+ else
97
+ requiredErrors.current.delete(field);
98
+ form.setFields([{ name: field, errors: [text] }]);
99
+ form.scrollToField(field);
100
+ }
101
+ throw new Error(text);
71
102
  }
72
103
  return { ...input, ...(draft ? { draft: { id: draft.id, expectedRevision: draft.revision } } : {}) };
73
104
  };
@@ -75,11 +106,15 @@ export function useWorkflowTaskForm(latest) {
75
106
  if (!latest || !source)
76
107
  return;
77
108
  const patch = keep ? workflowTaskFormPatch(source, form.getFieldsValue(true)).values : {};
109
+ if (keep)
110
+ for (const field of source.page.fields.filter(value => value.subtable && Object.hasOwn(patch, value.code))) {
111
+ patch[field.code] = rebaseWorkflowTaskSubtable(source, latest, field.code, patch[field.code]);
112
+ }
78
113
  acceptedLatest.current = latest;
79
114
  setSource({ ...latest, values: latest.values });
80
115
  form.setFieldsValue({ ...formValues(latest), ...Object.fromEntries(Object.entries(patch)
81
116
  .filter(([code]) => latest.page.fields.some(field => field.code === code && !field.readonly))
82
- .map(([code, value]) => [code, fieldValueForForm(latest.fields[code], value)])) });
117
+ .map(([code, value]) => [code, latest.subtables?.[code] ? workflowTaskSubtableFormRows(latest, code, value) : fieldValueForForm(latest.fields[code], value)])) });
83
118
  };
84
119
  const committed = (input, revision) => {
85
120
  if (!source || !input)
@@ -105,10 +140,10 @@ export function useWorkflowTaskForm(latest) {
105
140
  setDraft(saved);
106
141
  };
107
142
  const removedDraft = (id) => setDraft(currentDraft => currentDraft?.id === id ? undefined : currentDraft);
108
- return { form, source, latest, current, dirty, unsaved, stale, draft, draftNeedsSave, build, reviewLatest, committed, adoptDraft, savedDraft, removedDraft };
143
+ return { form, source, latest, current, subtableError, dirty, unsaved, stale, draft, draftNeedsSave, build, reviewLatest, committed, adoptDraft, savedDraft, removedDraft };
109
144
  }
110
- export function WorkflowTaskForm({ controller, disabled, draftDisabled = disabled, taskId, onDraftBusyChange, onFileBusyChange, onRefresh, variant, resourceCode, recordId }) {
111
- const { modal } = App.useApp();
145
+ export function WorkflowTaskForm({ controller, disabled, draftDisabled = disabled, taskId, taskVersion, onDraftBusyChange, onFileBusyChange, onRefresh, variant, resourceCode, recordId }) {
146
+ const { modal, message } = App.useApp();
112
147
  const files = useWorkflowTaskFiles({ taskId, controller, onBusyChange: onFileBusyChange });
113
148
  const binding = (fieldCode) => taskId && resourceCode && recordId
114
149
  ? { taskId, resourceCode, recordId, fieldCode } : undefined;
@@ -127,15 +162,29 @@ export function WorkflowTaskForm({ controller, disabled, draftDisabled = disable
127
162
  const Control = variant === 'mobile' ? MobileSurfaceFieldControl : SurfaceFieldControl;
128
163
  const review = (keep) => modal.confirm({ title: keep ? '核对最新资料后保留输入?' : '采用最新资料?',
129
164
  content: keep ? '其他处理人的最新值已读取。保留当前填写的字段后,请逐项核对再提交。' : '当前尚未提交的输入将被最新资料替换。',
130
- okText: keep ? '保留并核对' : '采用最新资料', cancelText: '继续查看', onOk: () => controller.reviewLatest(keep) });
165
+ okText: keep ? '保留并核对' : '采用最新资料', cancelText: '继续查看', onOk: () => { try {
166
+ controller.reviewLatest(keep);
167
+ }
168
+ catch (error) {
169
+ message.error(error instanceof Error ? error.message : '请先核对子表');
170
+ return Promise.reject(error);
171
+ } } });
131
172
  return _jsxs("section", { className: `oxa-workflow-task-form oxa-workflow-task-form-${variant}`, "aria-label": source.page.title, children: [_jsx(Typography.Title, { level: 4, children: source.page.title }), _jsx(Typography.Paragraph, { type: "secondary", children: "\u4FDD\u5B58\u8865\u586B\u540E\uFF0C\u4EFB\u52A1\u4ECD\u7531\u4F60\u7EE7\u7EED\u529E\u7406\u3002\u540C\u610F\u6216\u91CD\u65B0\u63D0\u4EA4\u65F6\u4F1A\u4E00\u8D77\u63D0\u4EA4\u8D44\u6599\u3002" }), _jsx(WorkflowTaskFileRecovery, { files: files }), taskId && _jsx(WorkflowTaskDraftPanel, { controller: controller, taskId: taskId, disabled: draftDisabled || Boolean(files.pending), variant: variant, resourceCode: resourceCode, recordId: recordId, onBusyChange: onDraftBusyChange, onRefresh: onRefresh }), stale && _jsx(Alert, { showIcon: true, type: "warning", title: "\u4E1A\u52A1\u8D44\u6599\u5DF2\u66F4\u65B0\uFF0C\u5F53\u524D\u8F93\u5165\u5DF2\u4FDD\u7559", description: _jsxs(_Fragment, { children: [_jsx("p", { children: "\u8BF7\u6838\u5BF9\u6700\u65B0\u8D44\u6599\u540E\u518D\u63D0\u4EA4\u3002" }), latest && workflowTaskFormReviewFields(source, latest, current)
132
173
  .map(field => _jsxs("div", { className: "oxa-workflow-task-value-review", children: [_jsx("strong", { children: latest.fields[field.code]?.label || field.code }), _jsxs("div", { children: [_jsx("span", { children: "\u6700\u65B0\u5DF2\u4FDD\u5B58" }), _jsx(SurfaceFieldValue, { field: { ...latest.fields[field.code], key: field.code }, value: latest.values[field.code], resourceCode: resourceCode, workflowFileBinding: binding(field.code), mobile: variant === 'mobile' })] }), _jsxs("div", { children: [_jsx("span", { children: "\u6211\u7684\u8F93\u5165" }), _jsx(SurfaceFieldValue, { field: { ...latest.fields[field.code], key: field.code }, value: current[field.code], resourceCode: resourceCode, workflowFileBinding: binding(field.code), mobile: variant === 'mobile' })] })] }, field.code))] }), action: _jsxs(Space, { wrap: true, children: [_jsx(Button, { disabled: disabled, onClick: () => review(true), children: "\u4FDD\u7559\u8F93\u5165\u5E76\u6838\u5BF9" }), _jsx(Button, { disabled: disabled, onClick: () => review(false), children: "\u91C7\u7528\u6700\u65B0\u8D44\u6599" })] }) }), _jsx(Form, { form: form, layout: "vertical", initialValues: formValues(source), disabled: disabled || stale, children: workflowTaskPageFieldState(source.page, current).filter(state => state.visible).map(state => {
133
174
  const field = { ...source.fields[state.code], key: state.code, requiredHint: false };
134
- const uploadNeedsSave = ['file', 'image'].includes(field.type) &&
175
+ const uploadNeedsSave = ['file', 'image', 'signature', 'text.rich'].includes(field.type) &&
135
176
  !workflowTaskPageFieldState((latest || source).page, (latest || source).values).some(saved => saved.code === state.code && saved.visible && !saved.readonly);
136
177
  return state.readonly
137
178
  ? _jsxs("div", { className: "oxa-workflow-task-readonly", children: [_jsx(Typography.Text, { type: "secondary", children: field.label }), _jsx("div", { children: _jsx(SurfaceFieldValue, { field: field, value: source.values[state.code], resourceCode: resourceCode, workflowFileBinding: binding(state.code), mobile: variant === 'mobile' }) })] }, state.code)
138
- : _jsxs("div", { className: state.required ? 'oxa-workflow-task-required' : undefined, children: [uploadNeedsSave && _jsx(Alert, { type: "info", showIcon: true, title: "\u8BF7\u5148\u4FDD\u5B58\u8865\u586B\uFF0C\u8BA9\u8BE5\u9644\u4EF6\u5B57\u6BB5\u751F\u6548\uFF0C\u518D\u4E0A\u4F20\u6587\u4EF6\u3002" }), _jsx(Control, { field: field, disabled: disabled || stale || uploadNeedsSave, operation: "update", resourceCode: resourceCode, recordId: recordId, workflowFileBinding: binding(state.code), renderers: { upload: files.upload } }), state.required && _jsx(Typography.Text, { className: "oxa-workflow-task-required-hint", type: "secondary", children: "\u5B8C\u6210\u4EFB\u52A1\u524D\u5FC5\u586B" })] }, state.code);
179
+ : _jsxs("div", { className: state.required ? 'oxa-workflow-task-required' : undefined, children: [uploadNeedsSave && _jsx(Alert, { type: "info", showIcon: true, title: "\u8BF7\u5148\u4FDD\u5B58\u8865\u586B\uFF0C\u8BA9\u8BE5\u9644\u4EF6\u5B57\u6BB5\u751F\u6548\uFF0C\u518D\u4E0A\u4F20\u6587\u4EF6\u3002" }), _jsx(Control, { field: field, disabled: disabled || stale || uploadNeedsSave, operation: "update", resourceCode: resourceCode, recordId: recordId, expectedRevision: source.expectedRevision, workflowCandidateBinding: { taskId: taskId || '', expectedTaskVersion: taskVersion }, workflowFileBinding: binding(state.code), renderers: { upload: files.upload,
180
+ renderSubtable: source.subtables?.[state.code] ? context => {
181
+ const child = source.subtables[state.code];
182
+ return _jsx(SubtableField, { field: context.field, disabled: context.disabled, mobile: variant === 'mobile', operation: "update", parentRecordId: recordId, revealRow: controller.subtableError?.field === state.code ? controller.subtableError : undefined, task: { page: source.page.fields.find(field => field.code === state.code).subtable, binding: binding(state.code),
183
+ rows: child.rows,
184
+ uploadEnabled: workflowTaskPageFieldState((latest || source).page, (latest || source).values).some(saved => saved.code === state.code && saved.visible && !saved.readonly),
185
+ upload: (rowKey, childField, file, childRecordId, onRecovered) => files.upload(childField, file, childRecordId, onRecovered, { subtableFieldCode: state.code, rowKey }),
186
+ surface: { fields: child.fields, form: { fieldOrder: Object.keys(child.fields) } } } });
187
+ } : undefined } }), state.required && _jsx(Typography.Text, { className: "oxa-workflow-task-required-hint", type: "secondary", children: "\u5B8C\u6210\u4EFB\u52A1\u524D\u5FC5\u586B" })] }, state.code);
139
188
  }) })] });
140
189
  }
141
190
  //# sourceMappingURL=WorkflowTaskForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTaskForm.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowTaskForm.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/WorkflowTaskForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { DataFieldSurface, DataResourceSurface } from 'openxiangda-contracts/browser';
2
+ /** Encode Field Kit values; authority and owned-row planning remain on the server. */
3
+ export declare function standardProcessFormValues(values: Record<string, unknown>, parent: DataResourceSurface, children: Record<string, {
4
+ surface: DataResourceSurface;
5
+ }>, canWrite: (field: DataFieldSurface & {
6
+ key: string;
7
+ }, mode: 'create' | 'update') => boolean): {
8
+ [k: string]: {} | null | undefined;
9
+ };
10
+ //# sourceMappingURL=standard-process-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-process-values.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/standard-process-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAK3F,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC,EAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,OAAO;;EAuB5F"}
@@ -0,0 +1,25 @@
1
+ import { normalizeFormValues } from '../platform-fields/field-form-codec';
2
+ import { selectedSurfaceFields } from '../resource/resource-field-selection';
3
+ /** Encode Field Kit values; authority and owned-row planning remain on the server. */
4
+ export function standardProcessFormValues(values, parent, children, canWrite) {
5
+ const encoded = normalizeFormValues(values, parent);
6
+ for (const [code, field] of Object.entries(parent.fields)) {
7
+ if (field.type !== 'subtable' || !field.subtable || !Object.hasOwn(values, code))
8
+ continue;
9
+ const child = children[field.subtable.resourceCode]?.surface;
10
+ if (!child || !Array.isArray(values[code]))
11
+ throw new Error('OPENXIANGDA_SUBTABLE_VALUES_INVALID');
12
+ const relation = field.subtable;
13
+ encoded[code] = values[code].map(row => {
14
+ const mode = row.state === 'created' ? 'create' : 'update';
15
+ const selected = new Set(selectedSurfaceFields(child, 'form').filter(field => field.key !== relation.foreignKey && field.key !== relation.orderField &&
16
+ field.widget !== 'readonly' && field.type !== 'subtable' && canWrite(field, mode)).map(field => field.key));
17
+ return { key: row.key, state: row.state,
18
+ ...(row.id === undefined ? {} : { id: row.id, revision: row.revision }),
19
+ data: row.state === 'deleted' ? {} : normalizeFormValues(Object.fromEntries(Object.entries(row.data).filter(([key]) => selected.has(key))), child),
20
+ };
21
+ });
22
+ }
23
+ return encoded;
24
+ }
25
+ //# sourceMappingURL=standard-process-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-process-values.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/standard-process-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,sFAAsF;AACtF,MAAM,UAAU,yBAAyB,CACvC,MAA+B,EAC/B,MAA2B,EAC3B,QAA0D,EAC1D,QAA2F;IAE3F,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;YAAE,SAAS;QAC3F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,IAAI,CAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3E,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,UAAU;gBACtE,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAClF,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;gBACrC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACvE,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CACtD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CACzF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { WorkflowGraphProjection } from 'openxiangda-contracts/browser';
2
+ /** Summaries describe the immutable projection; they never infer business rules. */
3
+ export declare function workflowNodeSummaries(graph: WorkflowGraphProjection): Record<string, string>;
4
+ export declare const workflowReadableZoom = 0.7;
5
+ /** Check layout coordinates rather than virtualized DOM nodes, which may not exist. */
6
+ export declare function workflowNodeIsReadable(node: {
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ }, viewport: {
12
+ x: number;
13
+ y: number;
14
+ zoom: number;
15
+ }, size: {
16
+ width: number;
17
+ height: number;
18
+ }): boolean;
19
+ //# sourceMappingURL=workflow-graph-presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-graph-presentation.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/workflow-graph-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc5F;AAED,eAAO,MAAM,oBAAoB,MAAK,CAAC;AAEvC,uFAAuF;AACvF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC7D,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAChD,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAQxC"}
@@ -0,0 +1,28 @@
1
+ /** Summaries describe the immutable projection; they never infer business rules. */
2
+ export function workflowNodeSummaries(graph) {
3
+ const labels = new Map(graph.variables.map(variable => [variable.path, variable.label]));
4
+ const summaries = {};
5
+ for (const node of graph.nodes) {
6
+ if (node.kind === 'condition') {
7
+ const edges = graph.edges.filter(edge => edge.from === node.id);
8
+ const branches = edges.filter(edge => edge.kind === 'branch');
9
+ const paths = [...new Set(branches.flatMap(edge => edge.variablePaths))];
10
+ summaries[node.id] = `${paths.map(path => labels.get(path) || path).join('、') || '固定条件'} · ${branches.length} 条条件${edges.some(edge => edge.kind === 'default') ? ' + 默认' : ''}`;
11
+ }
12
+ else if (node.businessStep?.outputPaths.length) {
13
+ summaries[node.id] = `产出:${node.businessStep.outputPaths.map(path => labels.get(path) || path).join('、')}`;
14
+ }
15
+ }
16
+ return summaries;
17
+ }
18
+ export const workflowReadableZoom = .7;
19
+ /** Check layout coordinates rather than virtualized DOM nodes, which may not exist. */
20
+ export function workflowNodeIsReadable(node, viewport, size) {
21
+ const left = node.x * viewport.zoom + viewport.x;
22
+ const top = node.y * viewport.zoom + viewport.y;
23
+ const padding = 24;
24
+ return viewport.zoom >= workflowReadableZoom && left >= padding && top >= padding &&
25
+ left + node.width * viewport.zoom <= size.width - padding &&
26
+ top + node.height * viewport.zoom <= size.height - padding;
27
+ }
28
+ //# sourceMappingURL=workflow-graph-presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-graph-presentation.js","sourceRoot":"","sources":["../../../../src/browser/components/workflow/workflow-graph-presentation.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACzE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,MAAM,QAAQ,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClL,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CACpC,IAA6D,EAC7D,QAAgD,EAChD,IAAuC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,OAAO,QAAQ,CAAC,IAAI,IAAI,oBAAoB,IAAI,IAAI,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO;QAC/E,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO;QACzD,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { SurfaceField } from '../resource/SurfaceFields';
2
+ /** Presentation rules supplied by application code; never an authorization grant. */
3
+ export interface WorkflowSubmissionFieldState {
4
+ visible?: boolean;
5
+ /** Adds a conditional requirement; false cannot remove the original requirement. */
6
+ required?: boolean;
7
+ /** Canonical value to submit instead of a hidden, previously entered value. */
8
+ hiddenValue?: unknown;
9
+ }
10
+ export type WorkflowSubmissionFieldStates = Readonly<Record<string, WorkflowSubmissionFieldState>>;
11
+ export declare function workflowSubmissionFormProjection(fields: readonly SurfaceField[], values: Readonly<Record<string, unknown>>, states?: WorkflowSubmissionFieldStates): {
12
+ fields: SurfaceField[];
13
+ values: Record<string, unknown>;
14
+ hiddenValues: Record<string, unknown>;
15
+ };
16
+ /** A late or repeated prefill cannot replace a field that the user already edited. */
17
+ export declare function workflowSubmissionPrefill(fields: readonly SurfaceField[], values: Readonly<Record<string, unknown>>, applied: Set<string>, touched: (key: string) => boolean): Record<string, unknown>;
18
+ //# sourceMappingURL=workflow-submission-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-submission-form.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/workflow-submission-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qFAAqF;AACrF,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAEnG,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,MAAM,GAAE,6BAAkC;;;;EAqB3C;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,2BAalC"}