@nocobase/app-plugin-office-flows-example 0.0.0-stage → 0.1.0-beta.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 (189) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +55 -2
  3. package/dist/client/components/flow-ui.d.ts +111 -0
  4. package/dist/client/components/flow-ui.d.ts.map +1 -0
  5. package/dist/client/components/flow-ui.js +175 -0
  6. package/dist/client/components/flow-ui.js.map +1 -0
  7. package/dist/client/components/page-container.d.ts +4 -0
  8. package/dist/client/components/page-container.d.ts.map +1 -0
  9. package/dist/client/components/page-container.js +6 -0
  10. package/dist/client/components/page-container.js.map +1 -0
  11. package/dist/client/components/page-header.d.ts +8 -0
  12. package/dist/client/components/page-header.d.ts.map +1 -0
  13. package/dist/client/components/page-header.js +5 -0
  14. package/dist/client/components/page-header.js.map +1 -0
  15. package/dist/client/components/ui/badge.d.ts +7 -0
  16. package/dist/client/components/ui/badge.d.ts.map +1 -0
  17. package/dist/client/components/ui/badge.js +19 -0
  18. package/dist/client/components/ui/badge.js.map +1 -0
  19. package/dist/client/components/ui/button.d.ts +8 -0
  20. package/dist/client/components/ui/button.d.ts.map +1 -0
  21. package/dist/client/components/ui/button.js +25 -0
  22. package/dist/client/components/ui/button.js.map +1 -0
  23. package/dist/client/components/ui/card.d.ts +11 -0
  24. package/dist/client/components/ui/card.d.ts.map +1 -0
  25. package/dist/client/components/ui/card.js +19 -0
  26. package/dist/client/components/ui/card.js.map +1 -0
  27. package/dist/client/components/ui/input.d.ts +4 -0
  28. package/dist/client/components/ui/input.d.ts.map +1 -0
  29. package/dist/client/components/ui/input.js +8 -0
  30. package/dist/client/components/ui/input.js.map +1 -0
  31. package/dist/client/components/ui/select.d.ts +16 -0
  32. package/dist/client/components/ui/select.d.ts.map +1 -0
  33. package/dist/client/components/ui/select.js +36 -0
  34. package/dist/client/components/ui/select.js.map +1 -0
  35. package/dist/client/index.d.ts +2 -0
  36. package/dist/client/index.d.ts.map +1 -0
  37. package/dist/client/index.js +4 -0
  38. package/dist/client/index.js.map +1 -0
  39. package/dist/client/lib/api.d.ts +93 -0
  40. package/dist/client/lib/api.d.ts.map +1 -0
  41. package/dist/client/lib/api.js +67 -0
  42. package/dist/client/lib/api.js.map +1 -0
  43. package/dist/client/lib/format.d.ts +4 -0
  44. package/dist/client/lib/format.d.ts.map +1 -0
  45. package/dist/client/lib/format.js +8 -0
  46. package/dist/client/lib/format.js.map +1 -0
  47. package/dist/client/lib/labels.d.ts +5 -0
  48. package/dist/client/lib/labels.d.ts.map +1 -0
  49. package/dist/client/lib/labels.js +38 -0
  50. package/dist/client/lib/labels.js.map +1 -0
  51. package/dist/client/lib/use-loader.d.ts +10 -0
  52. package/dist/client/lib/use-loader.d.ts.map +1 -0
  53. package/dist/client/lib/use-loader.js +43 -0
  54. package/dist/client/lib/use-loader.js.map +1 -0
  55. package/dist/client/lib/utils.d.ts +2 -0
  56. package/dist/client/lib/utils.d.ts.map +1 -0
  57. package/dist/client/lib/utils.js +2 -0
  58. package/dist/client/lib/utils.js.map +1 -0
  59. package/dist/client/locales/en-US.d.ts +99 -0
  60. package/dist/client/locales/en-US.d.ts.map +1 -0
  61. package/dist/client/locales/en-US.js +92 -0
  62. package/dist/client/locales/en-US.js.map +1 -0
  63. package/dist/client/locales/index.d.ts +4 -0
  64. package/dist/client/locales/index.d.ts.map +1 -0
  65. package/dist/client/locales/index.js +7 -0
  66. package/dist/client/locales/index.js.map +1 -0
  67. package/dist/client/locales/zh-CN.d.ts +4 -0
  68. package/dist/client/locales/zh-CN.d.ts.map +1 -0
  69. package/dist/client/locales/zh-CN.js +92 -0
  70. package/dist/client/locales/zh-CN.js.map +1 -0
  71. package/dist/client/pages/configuration.d.ts +4 -0
  72. package/dist/client/pages/configuration.d.ts.map +1 -0
  73. package/dist/client/pages/configuration.js +34 -0
  74. package/dist/client/pages/configuration.js.map +1 -0
  75. package/dist/client/pages/data-requests.d.ts +3 -0
  76. package/dist/client/pages/data-requests.d.ts.map +1 -0
  77. package/dist/client/pages/data-requests.js +216 -0
  78. package/dist/client/pages/data-requests.js.map +1 -0
  79. package/dist/client/pages/incoming.d.ts +3 -0
  80. package/dist/client/pages/incoming.d.ts.map +1 -0
  81. package/dist/client/pages/incoming.js +128 -0
  82. package/dist/client/pages/incoming.js.map +1 -0
  83. package/dist/client/pages/tasks.d.ts +3 -0
  84. package/dist/client/pages/tasks.d.ts.map +1 -0
  85. package/dist/client/pages/tasks.js +116 -0
  86. package/dist/client/pages/tasks.js.map +1 -0
  87. package/dist/client/plugin.d.ts +4 -0
  88. package/dist/client/plugin.d.ts.map +1 -0
  89. package/dist/client/plugin.js +10 -0
  90. package/dist/client/plugin.js.map +1 -0
  91. package/dist/client/routes.d.ts +4 -0
  92. package/dist/client/routes.d.ts.map +1 -0
  93. package/dist/client/routes.js +51 -0
  94. package/dist/client/routes.js.map +1 -0
  95. package/dist/database/migrations/.manifest.json +9 -0
  96. package/dist/database/migrations/202610010001_office_flows_example_create_collections.d.ts +4 -0
  97. package/dist/database/migrations/202610010001_office_flows_example_create_collections.d.ts.map +1 -0
  98. package/dist/database/migrations/202610010001_office_flows_example_create_collections.js +280 -0
  99. package/dist/database/migrations/202610010001_office_flows_example_create_collections.js.map +1 -0
  100. package/dist/database/seeds/.manifest.json +9 -0
  101. package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.d.ts +10 -0
  102. package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.d.ts.map +1 -0
  103. package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.js +104 -0
  104. package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.js.map +1 -0
  105. package/dist/server/calendar.d.ts +35 -0
  106. package/dist/server/calendar.d.ts.map +1 -0
  107. package/dist/server/calendar.js +103 -0
  108. package/dist/server/calendar.js.map +1 -0
  109. package/dist/server/index.d.ts +2 -0
  110. package/dist/server/index.d.ts.map +1 -0
  111. package/dist/server/index.js +2 -0
  112. package/dist/server/index.js.map +1 -0
  113. package/dist/server/lifecycles/data-request.d.ts +36 -0
  114. package/dist/server/lifecycles/data-request.d.ts.map +1 -0
  115. package/dist/server/lifecycles/data-request.js +182 -0
  116. package/dist/server/lifecycles/data-request.js.map +1 -0
  117. package/dist/server/lifecycles/extraction.d.ts +21 -0
  118. package/dist/server/lifecycles/extraction.d.ts.map +1 -0
  119. package/dist/server/lifecycles/extraction.js +60 -0
  120. package/dist/server/lifecycles/extraction.js.map +1 -0
  121. package/dist/server/lifecycles/incoming.d.ts +27 -0
  122. package/dist/server/lifecycles/incoming.d.ts.map +1 -0
  123. package/dist/server/lifecycles/incoming.js +177 -0
  124. package/dist/server/lifecycles/incoming.js.map +1 -0
  125. package/dist/server/lifecycles/index.d.ts +8 -0
  126. package/dist/server/lifecycles/index.d.ts.map +1 -0
  127. package/dist/server/lifecycles/index.js +20 -0
  128. package/dist/server/lifecycles/index.js.map +1 -0
  129. package/dist/server/lifecycles/tasks.d.ts +63 -0
  130. package/dist/server/lifecycles/tasks.d.ts.map +1 -0
  131. package/dist/server/lifecycles/tasks.js +259 -0
  132. package/dist/server/lifecycles/tasks.js.map +1 -0
  133. package/dist/server/plugin.d.ts +4 -0
  134. package/dist/server/plugin.d.ts.map +1 -0
  135. package/dist/server/plugin.js +16 -0
  136. package/dist/server/plugin.js.map +1 -0
  137. package/dist/server/providers/index.d.ts +4 -0
  138. package/dist/server/providers/index.d.ts.map +1 -0
  139. package/dist/server/providers/index.js +6 -0
  140. package/dist/server/providers/index.js.map +1 -0
  141. package/dist/server/providers/office-flows.d.ts +23 -0
  142. package/dist/server/providers/office-flows.d.ts.map +1 -0
  143. package/dist/server/providers/office-flows.js +90 -0
  144. package/dist/server/providers/office-flows.js.map +1 -0
  145. package/dist/server/routes/index.d.ts +8 -0
  146. package/dist/server/routes/index.d.ts.map +1 -0
  147. package/dist/server/routes/index.js +553 -0
  148. package/dist/server/routes/index.js.map +1 -0
  149. package/dist/server/routes/schemas.d.ts +157 -0
  150. package/dist/server/routes/schemas.d.ts.map +1 -0
  151. package/dist/server/routes/schemas.js +188 -0
  152. package/dist/server/routes/schemas.js.map +1 -0
  153. package/dist/server/scope.d.ts +23 -0
  154. package/dist/server/scope.d.ts.map +1 -0
  155. package/dist/server/scope.js +23 -0
  156. package/dist/server/scope.js.map +1 -0
  157. package/dist/server/services/office-flows.d.ts +151 -0
  158. package/dist/server/services/office-flows.d.ts.map +1 -0
  159. package/dist/server/services/office-flows.js +603 -0
  160. package/dist/server/services/office-flows.js.map +1 -0
  161. package/dist/server/services/store.d.ts +119 -0
  162. package/dist/server/services/store.d.ts.map +1 -0
  163. package/dist/server/services/store.js +389 -0
  164. package/dist/server/services/store.js.map +1 -0
  165. package/dist/server/tokens.d.ts +4 -0
  166. package/dist/server/tokens.d.ts.map +1 -0
  167. package/dist/server/tokens.js +3 -0
  168. package/dist/server/tokens.js.map +1 -0
  169. package/dist/shared/data-request.d.ts +73 -0
  170. package/dist/shared/data-request.d.ts.map +1 -0
  171. package/dist/shared/data-request.js +182 -0
  172. package/dist/shared/data-request.js.map +1 -0
  173. package/dist/shared/fields.d.ts +12 -0
  174. package/dist/shared/fields.d.ts.map +1 -0
  175. package/dist/shared/fields.js +48 -0
  176. package/dist/shared/fields.js.map +1 -0
  177. package/dist/shared/people.d.ts +29 -0
  178. package/dist/shared/people.d.ts.map +1 -0
  179. package/dist/shared/people.js +54 -0
  180. package/dist/shared/people.js.map +1 -0
  181. package/dist/shared/routes.d.ts +7 -0
  182. package/dist/shared/routes.d.ts.map +1 -0
  183. package/dist/shared/routes.js +7 -0
  184. package/dist/shared/routes.js.map +1 -0
  185. package/dist/shared/text.d.ts +3 -0
  186. package/dist/shared/text.d.ts.map +1 -0
  187. package/dist/shared/text.js +9 -0
  188. package/dist/shared/text.js.map +1 -0
  189. package/package.json +72 -3
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useApiClient } from '@nocobase/app-client';
4
+ import { useTranslation } from '@nocobase/i18n/client';
5
+ import { Actions, Choice, Field, FilesField, History, PersonaSelect, Processing, ReadField, RowsTable, Section, StateBar, TextArea, } from '../components/flow-ui.js';
6
+ import { NAMESPACE, names } from '../lib/format.js';
7
+ import { PageContainer } from '../components/page-container.js';
8
+ import { PageHeader } from '../components/page-header.js';
9
+ import { Badge } from '../components/ui/badge.js';
10
+ import { Button } from '../components/ui/button.js';
11
+ import { Input } from '../components/ui/input.js';
12
+ import { api, errorMessage, list, } from '../lib/api.js';
13
+ import { stateLabel, TASK_LIFECYCLE } from '../lib/labels.js';
14
+ import { cn } from '../lib/utils.js';
15
+ import { useLoader } from '../lib/use-loader.js';
16
+ import { text } from '../../shared/text.js';
17
+ import { pickEditable, TASK_FIELDS } from '../../shared/fields.js';
18
+ const KIND_LABEL = {
19
+ clerk: '办事人员审批',
20
+ team: '执行团队处理',
21
+ executor: '执行人处理',
22
+ };
23
+ const DECISIONS = [
24
+ { value: 'Y', label: '[Y] 已接收' },
25
+ { value: 'B', label: '[B] 有异议与办公室联系' },
26
+ { value: 'C', label: '[C] 已接收,待反馈' },
27
+ ];
28
+ const YES_NO = [
29
+ { value: true, label: '是' },
30
+ { value: false, label: '否' },
31
+ ];
32
+ const OPEN_STATES = ['reviewing', 'processing'];
33
+ function TaskPanel({ kind, id, actor, config, onOpen, onChanged, }) {
34
+ const { t } = useTranslation(NAMESPACE);
35
+ const client = api(useApiClient());
36
+ const [tick, setTick] = useState(0);
37
+ const { data: view, error: loadError } = useLoader(() => client.get(`tasks/${kind}/${id}`, actor), `${kind}:${id}:${actor}:${tick}`);
38
+ const [draft, setDraft] = useState({});
39
+ const [decision, setDecision] = useState('');
40
+ const [busy, setBusy] = useState(false);
41
+ const [error, setError] = useState('');
42
+ if (!view)
43
+ return (_jsx("p", { className: 'text-sm text-muted-foreground', children: loadError || t('common.loading') }));
44
+ const lifecycle = TASK_LIFECYCLE[kind];
45
+ const record = { ...view.record, ...draft };
46
+ const assignee = list(view.record.assignees).includes(actor);
47
+ const editable = assignee && OPEN_STATES.includes(text(view.record.status));
48
+ const set = (key, value) => setDraft({ ...draft, [key]: value });
49
+ const redHead = record.redHeadFeedback === null || record.redHeadFeedback === undefined
50
+ ? null
51
+ : Boolean(record.redHeadFeedback);
52
+ async function act(work) {
53
+ setBusy(true);
54
+ setError('');
55
+ try {
56
+ await work();
57
+ setDraft({});
58
+ setTick((value) => value + 1);
59
+ onChanged();
60
+ }
61
+ catch (cause) {
62
+ setError(errorMessage(cause));
63
+ }
64
+ finally {
65
+ setBusy(false);
66
+ }
67
+ }
68
+ const save = () => client.patch(`tasks/${kind}/${id}`, {
69
+ actAs: actor,
70
+ values: pickEditable(draft, TASK_FIELDS[kind]),
71
+ });
72
+ const fire = (transition, input = {}) => act(async () => {
73
+ if (Object.keys(draft).length)
74
+ await save();
75
+ await client.post(`tasks/${kind}/${id}/fire`, {
76
+ actAs: actor,
77
+ transition,
78
+ input,
79
+ });
80
+ });
81
+ return (_jsxs("div", { className: 'space-y-6', children: [_jsxs(Section, { title: `${text(view.record.number)} · ${KIND_LABEL[kind]} · ${text(view.record.departmentName)}`, actions: _jsx(Badge, { children: stateLabel(lifecycle, view.record.status) }), children: [_jsx(StateBar, { lifecycle: lifecycle, view: view }), _jsxs("div", { className: 'grid gap-3 sm:grid-cols-3', children: [_jsx(ReadField, { label: '\u6536\u6587', value: `${text(view.root?.number ?? '')} ${text(view.root?.title ?? '')}`, wide: true }), _jsx(ReadField, { label: '\u5206\u53D1\u7C7B\u578B', value: view.root?.distributionType === 'circulate' ? '传阅' : '呈阅处' }), _jsx(ReadField, { label: '\u6458\u8981', value: text(view.root?.summary ?? ''), wide: true }), _jsx(ReadField, { label: '\u529E\u4E8B\u4EBA\u5458', value: names(view.record.assignees) }), _jsx(ReadField, { label: '\u6284\u9001\uFF08\u90E8\u95E8\u4E3B\u7BA1\u53CA\u5176\u4ED6\uFF09', value: names(view.record.ccHeads) }), _jsx(ReadField, { label: '\u6284\u9001\uFF08\u5206\u7BA1\u9886\u5BFC\uFF09', value: names(view.record.ccLeaders) })] }), kind === 'clerk' && view.record.status === 'signing' ? (_jsxs("div", { className: 'space-y-2 rounded-lg border p-3', children: [_jsx("div", { className: 'text-sm font-medium', children: "\u662F\u5426\u540C\u610F\uFF08\u529E\u4E8B\u4EBA\u5458\u4F1A\u7B7E\uFF09" }), _jsxs("p", { className: 'text-xs text-muted-foreground', children: ["\u5DF2\u4F1A\u7B7E\uFF1A", names(view.record.signedBy), "\u3002[Y]\u3001[B] \u76F4\u63A5\u7ED3\u675F\uFF1B\u6240\u6709\u529E\u4E8B\u4EBA\u5458\u9009 [C] \u540E\u8FDB\u5165\u529E\u4E8B\u4EBA\u5458\u5BA1\u6279\u3002"] }), _jsx(Choice, { options: DECISIONS, value: decision, disabled: !assignee, onChange: setDecision }), _jsx(Button, { size: 'sm', disabled: busy ||
82
+ !decision ||
83
+ !view.available.find((item) => item.name === 'sign')?.allowed, onClick: () => void fire('sign', { decision }), children: "\u63D0\u4EA4\u4F1A\u7B7E" })] })) : null, kind !== 'clerk' ||
84
+ !['signing', 'accepted', 'objected'].includes(text(view.record.status)) ? (_jsxs("div", { className: 'grid gap-4 sm:grid-cols-2', children: [kind !== 'executor' ? (_jsx(Field, { label: kind === 'clerk' ? '办事人员意见' : '执行团队意见', required: true, wide: true, children: _jsx(TextArea, { label: '\u610F\u89C1', disabled: !editable, value: text(record.opinion ?? ''), onChange: (value) => set('opinion', value) }) })) : null, _jsx(Field, { label: '\u662F\u5426\u53CD\u9988\u7EA2\u5934\u6587\u4EF6', required: true, children: _jsx(Choice, { options: YES_NO, value: redHead, disabled: !editable, onChange: (value) => set('redHeadFeedback', value) }) }), kind === 'clerk' ? (_jsx(Field, { label: '\u5BF9\u5916\u53D1\u6587\u6587\u53F7', required: redHead === true, children: _jsxs("div", { className: 'flex gap-2', children: [_jsx(Input, { disabled: !editable, value: text(record.outgoingRef ?? ''), onChange: (event) => set('outgoingRef', event.target.value) }), _jsx(Button, { size: 'sm', variant: 'outline', disabled: true, title: '\u793A\u4F8B\u4E2D\u4E0D\u5BF9\u63A5\u53D1\u6587\u7CFB\u7EDF', children: "\u65B0\u5EFA\u5BF9\u5916\u53D1\u6587" })] }) })) : null, _jsx(Field, { label: '\u9644\u4EF6', wide: true, children: _jsx(FilesField, { label: '\u9644\u4EF6', disabled: !editable, value: list(record.attachments), onChange: (value) => set('attachments', value) }) }), _jsx(Field, { label: '\u53CD\u9988\u4FE1\u606F', required: true, wide: true, children: _jsx(TextArea, { label: '\u53CD\u9988\u4FE1\u606F', disabled: !editable, value: text(record.feedback ?? ''), onChange: (value) => set('feedback', value) }) })] })) : null, error ? (_jsx("p", { role: 'alert', className: 'text-sm text-destructive', children: error })) : null, _jsxs("div", { className: 'flex flex-wrap items-start gap-2', children: [editable ? (_jsx(Button, { variant: 'outline', disabled: busy || !Object.keys(draft).length, onClick: () => void act(save), children: t('common.save') })) : null, _jsx(Actions, { available: view.available, busy: busy, hidden: [
85
+ 'sign',
86
+ 'dispatchTeams',
87
+ 'requestAssist',
88
+ 'dispatchExecutors',
89
+ ], onFire: (transition) => void fire(transition) })] })] }), kind !== 'executor' && (editable || view.rows.length) ? (_jsxs(Section, { title: kind === 'clerk' ? '执行团队信息' : '执行人信息', children: [kind === 'clerk' ? (_jsx("p", { className: 'text-xs text-muted-foreground', children: "\u201C\u662F\u5426\u6D3E\u53D1\u5176\u4ED6\u90E8\u95E8\u534F\u52A9\u201D\u9009\u662F\u65F6\uFF0C\u8FD9\u4E00\u884C\u4E0D\u8FDB\u6267\u884C\u56E2\u961F\u4FE1\u606F\uFF0C\u800C\u662F\u5728\u6536\u6587\u4E3B\u5355\u4E0B\u76F4\u63A5\u751F\u6210\u4E00\u5F20\u540C\u7EA7\u7684\u529E\u4E8B\u4EBA\u5458\u5B50\u5355\uFF0C\u5E76\u5728\u4E3B\u5355\u7559\u75D5\u3002" })) : null, _jsx(RowsTable, { rows: view.rows, config: config, editable: editable, allowAssist: kind === 'clerk', dispatchLabel: kind === 'clerk' ? '派发执行团队信息' : '派发执行人', busy: busy, onAdd: (row) => void act(() => client.post(`tasks/${kind}/${id}/rows`, {
90
+ actAs: actor,
91
+ ...row,
92
+ })), onRemove: (rowId) => void act(() => client.remove(`rows/${rowId}`, actor)), onDispatch: () => void fire(kind === 'clerk' ? 'dispatchTeams' : 'dispatchExecutors') })] })) : null, _jsx(Section, { title: '\u5904\u7406\u5217\u8868', children: _jsx(Processing, { levels: view.processing, onOpen: (next, nextId) => onOpen(next, nextId) }) }), _jsx(Section, { title: t('common.history'), children: _jsx(History, { lifecycle: lifecycle, view: view }) })] }));
93
+ }
94
+ export default function TasksPage() {
95
+ const { t } = useTranslation(NAMESPACE);
96
+ const client = api(useApiClient());
97
+ const [actor, setActor] = useState('gaoyan');
98
+ const [open, setOpen] = useState();
99
+ const [tick, setTick] = useState(0);
100
+ const config = useLoader(() => client.get('config'), 'config');
101
+ const tasks = useLoader(() => client.list('tasks', actor), `tasks:${actor}:${tick}`);
102
+ const notices = useLoader(() => client.list('notices', actor), `notices:${actor}:${tick}`);
103
+ return (_jsxs(PageContainer, { children: [_jsx(PageHeader, { title: t('tasks.title'), description: t('tasks.description'), actions: _jsx(PersonaSelect, { value: actor, onChange: (id) => {
104
+ setActor(id);
105
+ setOpen(undefined);
106
+ } }) }), _jsxs("div", { className: 'grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,2fr)]', children: [_jsxs("div", { className: 'min-w-0 space-y-6', children: [_jsx(Section, { title: t('tasks.mine'), children: (tasks.data ?? []).length ? (_jsx("ul", { className: 'space-y-1', children: (tasks.data ?? []).map((task) => {
107
+ const kind = task.kind;
108
+ const key = `${kind}:${text(task.id)}`;
109
+ return (_jsx("li", { children: _jsxs("button", { type: 'button', onClick: () => setOpen({ kind, id: text(task.id) }), className: cn('flex w-full items-center justify-between gap-3 rounded-md px-3 py-2 text-left text-sm hover:bg-muted', open &&
110
+ `${open.kind}:${open.id}` === key &&
111
+ 'bg-muted'), children: [_jsxs("span", { className: 'min-w-0', children: [_jsx("span", { className: 'block font-mono text-xs text-muted-foreground', children: text(task.number) }), _jsxs("span", { className: 'block truncate', children: [KIND_LABEL[kind], " \u00B7 ", text(task.departmentName)] })] }), _jsx(Badge, { variant: 'secondary', children: stateLabel(TASK_LIFECYCLE[kind], task.status) })] }) }, key));
112
+ }) })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('tasks.none') })) }), _jsxs(Section, { title: t('tasks.notices'), children: [_jsx("p", { className: 'text-xs text-muted-foreground', children: t('tasks.noticesNote') }), (notices.data ?? []).length ? (_jsx("ul", { className: 'space-y-2', children: (notices.data ?? []).map((notice) => (_jsxs("li", { className: 'rounded-md border px-3 py-2 text-sm', children: [_jsx("p", { children: text(notice.message) }), _jsxs("p", { className: 'text-xs text-muted-foreground', children: [text(notice.level).startsWith('objection')
113
+ ? '异议提醒'
114
+ : `第 ${text(notice.level)} 层`, ' ', "\u00B7", ' ', new Date(text(notice.createdAt)).toLocaleString('zh-CN', { hour12: false })] })] }, text(notice.id)))) })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('tasks.noNotices') }))] })] }), _jsx("div", { className: 'min-w-0', children: open ? (_jsx(TaskPanel, { kind: open.kind, id: open.id, actor: actor, config: config.data, onOpen: (kind, id) => setOpen({ kind, id }), onChanged: () => setTick((value) => value + 1) }, `${open.kind}:${open.id}`)) : (_jsx("p", { className: 'rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground', children: t('tasks.pick') })) })] })] }));
115
+ }
116
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../client/pages/tasks.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type AppClientPluginFactory } from '@nocobase/app-client/plugins';
2
+ declare const officeFlowsExample: AppClientPluginFactory;
3
+ export default officeFlowsExample;
4
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../client/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AAKtC,QAAA,MAAM,kBAAkB,EAAE,sBAIxB,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { defineClientPlugin, } from '@nocobase/app-client/plugins';
2
+ import locales from './locales/index.js';
3
+ import routes from './routes.js';
4
+ const officeFlowsExample = defineClientPlugin({
5
+ packageName: '@nocobase/app-plugin-office-flows-example',
6
+ locales,
7
+ routes,
8
+ });
9
+ export default officeFlowsExample;
10
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../client/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,kBAAkB,GAA2B,kBAAkB,CAAC;IACpE,WAAW,EAAE,2CAA2C;IACxD,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type AppClientRouteContribution } from '@nocobase/app-client/plugins';
2
+ declare const routes: readonly AppClientRouteContribution[];
3
+ export default routes;
4
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../client/routes.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,8BAA8B,CAAC;AAEtC,QAAA,MAAM,MAAM,EAAE,SAAS,0BAA0B,EA8ChD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { Calendar, ClipboardList, Database, Inbox, Stamp } from 'lucide-react';
2
+ import { defineAppRoutes, } from '@nocobase/app-client/plugins';
3
+ const routes = [
4
+ defineAppRoutes([
5
+ {
6
+ name: 'officeFlowsExample',
7
+ navigation: { title: 'navigation.group', icon: Stamp },
8
+ breadcrumb: { title: 'navigation.group' },
9
+ children: [
10
+ {
11
+ name: 'officeFlowsDataRequests',
12
+ path: '/office-flows/data-requests',
13
+ auth: 'required',
14
+ authz: 'skip',
15
+ navigation: { title: 'navigation.dataRequests', icon: Database },
16
+ breadcrumb: { title: 'navigation.dataRequests' },
17
+ componentLoader: () => import('./pages/data-requests.js'),
18
+ },
19
+ {
20
+ name: 'officeFlowsIncoming',
21
+ path: '/office-flows/incoming',
22
+ auth: 'required',
23
+ authz: 'skip',
24
+ navigation: { title: 'navigation.incoming', icon: Inbox },
25
+ breadcrumb: { title: 'navigation.incoming' },
26
+ componentLoader: () => import('./pages/incoming.js'),
27
+ },
28
+ {
29
+ name: 'officeFlowsTasks',
30
+ path: '/office-flows/tasks',
31
+ auth: 'required',
32
+ authz: 'skip',
33
+ navigation: { title: 'navigation.tasks', icon: ClipboardList },
34
+ breadcrumb: { title: 'navigation.tasks' },
35
+ componentLoader: () => import('./pages/tasks.js'),
36
+ },
37
+ {
38
+ name: 'officeFlowsConfiguration',
39
+ path: '/office-flows/configuration',
40
+ auth: 'required',
41
+ authz: 'skip',
42
+ navigation: { title: 'navigation.configuration', icon: Calendar },
43
+ breadcrumb: { title: 'navigation.configuration' },
44
+ componentLoader: () => import('./pages/configuration.js'),
45
+ },
46
+ ],
47
+ },
48
+ ]),
49
+ ];
50
+ export default routes;
51
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../client/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EACL,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,GAA0C;IACpD,eAAe,CAAC;QACd;YACE,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;YACtD,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACzC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChE,UAAU,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE;oBAChD,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;iBAC1D;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACzD,UAAU,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;oBAC5C,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACrD;gBACD;oBACE,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC9D,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBACzC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC;iBAClD;gBACD;oBACE,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjE,UAAU,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE;oBACjD,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;iBAC1D;aACF;SACF;KACF,CAAC;CACH,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 1,
3
+ "files": {
4
+ "202610010001_office_flows_example_create_collections.js": {
5
+ "sourceChecksum": "8f1e1749338d556cecba40b47a607ac5fcaffe856e672484defea2448605053b",
6
+ "artifactChecksum": "ec6718a00ed30dca72b82caa94ff8190caa13d4d4bfe5026a78e6077b51d85c7"
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ import { type MigrationDefinition } from '@nocobase/db';
2
+ declare const migration: MigrationDefinition;
3
+ export default migration;
4
+ //# sourceMappingURL=202610010001_office_flows_example_create_collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"202610010001_office_flows_example_create_collections.d.ts","sourceRoot":"","sources":["../../../database/migrations/202610010001_office_flows_example_create_collections.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAkCtB,QAAA,MAAM,SAAS,EAAE,mBAqQf,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,280 @@
1
+ import { defineMigration, } from '@nocobase/db';
2
+ /** The columns every lifecycle record carries. */
3
+ function stateColumns(table) {
4
+ table.string('status').notNull();
5
+ table.datetimeTz('statusChangedAt').notNull();
6
+ table.integer('lifecycleVersion').notNull().defaultTo(0);
7
+ table.datetimeTz('createdAt').notNull();
8
+ table.index(['status', 'statusChangedAt']);
9
+ }
10
+ /** The three kinds of incoming-document task share one shape. */
11
+ function taskColumns(table) {
12
+ table.bigInt('id').primary().autoIncrement().notNull();
13
+ table.string('number').notNull();
14
+ table.bigInt('rootId').notNull();
15
+ table.bigInt('parentId').notNull();
16
+ table.bigInt('assignmentId');
17
+ table.string('departmentName').notNull();
18
+ table.json('assignees').notNull().defaultTo([]);
19
+ table.json('ccHeads').notNull().defaultTo([]);
20
+ table.json('ccLeaders').notNull().defaultTo([]);
21
+ table.json('signedBy').notNull().defaultTo([]);
22
+ table.string('decision');
23
+ table.text('opinion');
24
+ table.boolean('redHeadFeedback');
25
+ table.string('outgoingRef');
26
+ table.json('attachments').notNull().defaultTo([]);
27
+ table.text('feedback');
28
+ stateColumns(table);
29
+ table.index(['rootId']);
30
+ table.index(['parentId']);
31
+ }
32
+ const migration = defineMigration({
33
+ name: '202610010001_office_flows_example_create_collections',
34
+ async up({ builder }) {
35
+ await builder.createCollection('officeFlowsDataRequests', (table) => {
36
+ table.bigInt('id').primary().autoIncrement().notNull();
37
+ table.string('number').notNull();
38
+ table.string('applicantId').notNull();
39
+ table.string('subject').notNull();
40
+ table.text('reason').notNull();
41
+ table.string('volume').notNull();
42
+ table.string('frequency').notNull();
43
+ table.string('deliveryDate');
44
+ table.string('firstUseDate');
45
+ table.string('lastDeliveryDate');
46
+ table.integer('quarterDay');
47
+ table.integer('monthDay');
48
+ table.integer('weekDay');
49
+ table.string('frequencyNote');
50
+ table.string('scope').notNull();
51
+ table.json('consumers').notNull().defaultTo([]);
52
+ table.boolean('fileShieldAccepted');
53
+ table.string('fileShieldScope');
54
+ table.boolean('fileShieldCopy');
55
+ table.string('fileShieldValidUntil');
56
+ table.json('ndaFiles').notNull().defaultTo([]);
57
+ table.json('securityFiles').notNull().defaultTo([]);
58
+ table.string('approverId');
59
+ table.datetimeTz('acceptedAt');
60
+ table.text('returnReason');
61
+ stateColumns(table);
62
+ });
63
+ await builder.createCollection('officeFlowsExtractions', (table) => {
64
+ table.bigInt('id').primary().autoIncrement().notNull();
65
+ table.string('number').notNull();
66
+ table.bigInt('requestId').notNull();
67
+ table.string('periodKey').notNull();
68
+ table.string('origin').notNull();
69
+ table.string('scheduledDate').notNull();
70
+ table.string('topic').notNull();
71
+ table.text('requirement');
72
+ table.json('executorIds').notNull().defaultTo([]);
73
+ table.string('category');
74
+ table.string('complexity');
75
+ table.string('agreedDeliveryAt');
76
+ table.string('sourceSystem');
77
+ table.boolean('needsDownload');
78
+ table.text('feedbackNote');
79
+ table.json('feedbackFiles').notNull().defaultTo([]);
80
+ table.string('reviewerId');
81
+ table.string('managerId');
82
+ table.string('confirmerId');
83
+ table.text('voidReason');
84
+ stateColumns(table);
85
+ table.unique(['requestId', 'periodKey'], { mode: 'index' });
86
+ });
87
+ await builder.createCollection('officeFlowsIncoming', (table) => {
88
+ table.bigInt('id').primary().autoIncrement().notNull();
89
+ table.string('number').notNull();
90
+ table.string('title').notNull();
91
+ table.string('code').notNull();
92
+ table.string('sender').notNull();
93
+ table.string('senderRef').notNull();
94
+ table.text('summary').notNull();
95
+ table.text('officeOpinion').notNull();
96
+ table.json('attachments').notNull().defaultTo([]);
97
+ table.string('distributionType').notNull();
98
+ table.string('registrarId').notNull();
99
+ table.string('officeHeadId').notNull();
100
+ table.string('officeLeaderId').notNull();
101
+ table.boolean('ccManagement').notNull().defaultTo(false);
102
+ table.text('returnReason');
103
+ stateColumns(table);
104
+ });
105
+ await builder.createCollection('officeFlowsAssignments', (table) => {
106
+ table.bigInt('id').primary().autoIncrement().notNull();
107
+ table.bigInt('rootId').notNull();
108
+ table.string('parentKind').notNull();
109
+ table.bigInt('parentId').notNull();
110
+ table.integer('level').notNull();
111
+ table.string('departmentName').notNull();
112
+ table.boolean('includeClerks').notNull().defaultTo(true);
113
+ table.boolean('includeHeads').notNull().defaultTo(false);
114
+ table.boolean('includeLeaders').notNull().defaultTo(false);
115
+ table.json('assignees').notNull().defaultTo([]);
116
+ table.json('ccHeads').notNull().defaultTo([]);
117
+ table.json('ccLeaders').notNull().defaultTo([]);
118
+ table.string('origin');
119
+ table.boolean('dispatched').notNull().defaultTo(false);
120
+ table.bigInt('childId');
121
+ table.string('createdBy').notNull();
122
+ table.datetimeTz('createdAt').notNull();
123
+ table.index(['parentKind', 'parentId']);
124
+ });
125
+ await builder.createCollection('officeFlowsManagementCc', (table) => {
126
+ table.bigInt('id').primary().autoIncrement().notNull();
127
+ table.bigInt('incomingId').notNull();
128
+ table.string('groupName').notNull();
129
+ table.json('members').notNull().defaultTo([]);
130
+ table.boolean('fromConfig').notNull().defaultTo(true);
131
+ table.boolean('forwarded').notNull().defaultTo(false);
132
+ table.datetimeTz('createdAt').notNull();
133
+ table.index(['incomingId']);
134
+ });
135
+ await builder.createCollection('officeFlowsClerkTasks', taskColumns);
136
+ await builder.createCollection('officeFlowsTeamTasks', taskColumns);
137
+ await builder.createCollection('officeFlowsExecutorTasks', taskColumns);
138
+ // Query task ownership through scalar columns on every supported dialect.
139
+ // Task ids are scoped by kind because each kind has its own collection.
140
+ await builder.createCollection('officeFlowsTaskAssignees', (table) => {
141
+ table.bigInt('id').primary().autoIncrement().notNull();
142
+ table.string('kind').notNull();
143
+ table.bigInt('taskId').notNull();
144
+ table.string('personId').notNull();
145
+ table.unique(['personId', 'kind', 'taskId'], { mode: 'index' });
146
+ });
147
+ await builder.createCollection('officeFlowsDepartments', (table) => {
148
+ table.bigInt('id').primary().autoIncrement().notNull();
149
+ table.string('name').notNull().unique({ mode: 'index' });
150
+ table.json('clerks').notNull().defaultTo([]);
151
+ table.json('heads').notNull().defaultTo([]);
152
+ table.json('leaders').notNull().defaultTo([]);
153
+ table.integer('sort').notNull().defaultTo(0);
154
+ });
155
+ await builder.createCollection('officeFlowsManagementGroups', (table) => {
156
+ table.bigInt('id').primary().autoIncrement().notNull();
157
+ table.string('name').notNull();
158
+ table.json('members').notNull().defaultTo([]);
159
+ table.integer('sort').notNull().defaultTo(0);
160
+ });
161
+ await builder.createCollection('officeFlowsHolidays', (table) => {
162
+ table.string('date').primary().notNull();
163
+ table.string('kind').notNull();
164
+ table.string('name').notNull();
165
+ });
166
+ await builder.createCollection('officeFlowsSerials', (table) => {
167
+ table.string('key').primary().notNull();
168
+ table.integer('value').notNull().defaultTo(0);
169
+ });
170
+ await builder.createCollection('officeFlowsNotices', (table) => {
171
+ table.bigInt('id').primary().autoIncrement().notNull();
172
+ table.string('rootKind').notNull();
173
+ table.bigInt('rootId').notNull();
174
+ table.string('level').notNull();
175
+ table.string('recipient').notNull();
176
+ table.text('message').notNull();
177
+ table.string('sourceKind').notNull();
178
+ table.bigInt('sourceId').notNull();
179
+ table.datetimeTz('createdAt').notNull();
180
+ table.unique(['rootKind', 'rootId', 'level', 'recipient'], {
181
+ mode: 'index',
182
+ });
183
+ table.index(['recipient', 'id']);
184
+ });
185
+ await builder.createCollection('officeFlowsTraces', (table) => {
186
+ table.bigInt('id').primary().autoIncrement().notNull();
187
+ table.string('docKind').notNull();
188
+ table.bigInt('docId').notNull();
189
+ table.string('actorId').notNull();
190
+ table.string('action').notNull();
191
+ table.json('detail').notNull().defaultTo({});
192
+ table.datetimeTz('at').notNull();
193
+ // An effect writes its trace under its run's key, so a retry cannot
194
+ // write it twice.
195
+ table.string('key').notNull();
196
+ table.unique(['key'], { mode: 'index' });
197
+ table.index(['docKind', 'docId', 'id']);
198
+ });
199
+ await builder.createCollection('officeFlowsTransitions', (table) => {
200
+ table.bigInt('id').primary().autoIncrement().notNull();
201
+ table.string('lifecycle').notNull();
202
+ table.string('recordId').notNull();
203
+ table.string('transition').notNull();
204
+ // Null on the entry runtime.create() writes.
205
+ table.string('from');
206
+ table.string('to').notNull();
207
+ table.string('actorId').notNull();
208
+ table.json('input').notNull().defaultTo({});
209
+ table.datetimeTz('at').notNull();
210
+ table.integer('version').notNull();
211
+ // The caller's request id, as it sent it; null when it sent none.
212
+ table.string('requestId');
213
+ // What a repeated request is found by: the request id, or a key derived
214
+ // from the version for an entry without one. It is never null, so one
215
+ // plain unique index means the same on every dialect, whichever way it
216
+ // treats NULL in a unique index.
217
+ table.string('requestKey').notNull();
218
+ table.index(['lifecycle', 'recordId', 'id']);
219
+ table.unique(['lifecycle', 'recordId', 'version']);
220
+ table.unique(['lifecycle', 'recordId', 'requestKey']);
221
+ });
222
+ await builder.createCollection('officeFlowsEffectRuns', (table) => {
223
+ table.bigInt('id').primary().autoIncrement().notNull();
224
+ table.bigInt('transitionId').notNull();
225
+ table.string('lifecycle').notNull();
226
+ table.string('recordId').notNull();
227
+ table.string('effect').notNull();
228
+ table.boolean('stayBound').notNull();
229
+ table.string('status').notNull();
230
+ table.integer('attempts').notNull().defaultTo(0);
231
+ table.integer('maxAttempts').notNull().defaultTo(1);
232
+ table.json('result');
233
+ table.text('error');
234
+ table.datetimeTz('createdAt').notNull();
235
+ table.datetimeTz('updatedAt').notNull();
236
+ table.datetimeTz('claimedAt');
237
+ table.datetimeTz('runAfter');
238
+ // A continuation the outcome still has to fire, refused so far for a
239
+ // reason a deploy can remove; null when nothing is pending.
240
+ table.json('continuation');
241
+ // When the sweep may try that continuation next: null exactly when
242
+ // nothing is pending, so the sweep finds the due runs without a JSON
243
+ // filter, those due longest first.
244
+ table.datetimeTz('continuationDueAt');
245
+ // When the sweep gave up on that continuation: null unless it did, so
246
+ // an operations page finds those runs, and prune() keeps them, without
247
+ // a JSON filter.
248
+ table.datetimeTz('continuationAbandonedAt');
249
+ table.index(['status', 'id']);
250
+ table.index(['lifecycle', 'recordId', 'id']);
251
+ table.index(['continuationDueAt']);
252
+ table.index(['continuationAbandonedAt']);
253
+ });
254
+ },
255
+ async down({ builder }) {
256
+ for (const name of [
257
+ 'officeFlowsEffectRuns',
258
+ 'officeFlowsTransitions',
259
+ 'officeFlowsTraces',
260
+ 'officeFlowsNotices',
261
+ 'officeFlowsSerials',
262
+ 'officeFlowsHolidays',
263
+ 'officeFlowsManagementGroups',
264
+ 'officeFlowsDepartments',
265
+ 'officeFlowsTaskAssignees',
266
+ 'officeFlowsExecutorTasks',
267
+ 'officeFlowsTeamTasks',
268
+ 'officeFlowsClerkTasks',
269
+ 'officeFlowsManagementCc',
270
+ 'officeFlowsAssignments',
271
+ 'officeFlowsIncoming',
272
+ 'officeFlowsExtractions',
273
+ 'officeFlowsDataRequests',
274
+ ])
275
+ await builder.dropCollection(name);
276
+ },
277
+ });
278
+ export default migration;
279
+ //# sourceMappingURL=202610010001_office_flows_example_create_collections.js.map
280
+ // @nocobase/task-manifest v1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"202610010001_office_flows_example_create_collections.js","sourceRoot":"","sources":["../../../database/migrations/202610010001_office_flows_example_create_collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 1,
3
+ "files": {
4
+ "202610010002_office_flows_example_seed_configuration.js": {
5
+ "sourceChecksum": "e0604aef0067a30ac2ff08341c668b8a821bc0de60c1091fd853ea244e550d82",
6
+ "artifactChecksum": "e59c3e1d22a09e3bc8492cad380879018adee5647a46c99c448089d42464af19"
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ import { type SeedDefinition } from '@nocobase/db';
2
+ /**
3
+ * Demonstration configuration: departments with the people a distribution
4
+ * row carries, company management groups, and the 2026 public holidays.
5
+ * Two departments share a head and three share a leader, so the pages can
6
+ * show one reminder reaching a person who appears in several rows.
7
+ */
8
+ declare const seed: SeedDefinition;
9
+ export default seed;
10
+ //# sourceMappingURL=202610010002_office_flows_example_seed_configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"202610010002_office_flows_example_seed_configuration.d.ts","sourceRoot":"","sources":["../../../database/seeds/202610010002_office_flows_example_seed_configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D;;;;;GAKG;AACH,QAAA,MAAM,IAAI,EAAE,cAgGV,CAAC;AAEH,eAAe,IAAI,CAAC"}