@nocobase/app-plugin-office-flows-example 0.0.0-stage → 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +55 -2
- package/dist/client/components/flow-ui.d.ts +111 -0
- package/dist/client/components/flow-ui.d.ts.map +1 -0
- package/dist/client/components/flow-ui.js +175 -0
- package/dist/client/components/flow-ui.js.map +1 -0
- package/dist/client/components/page-container.d.ts +4 -0
- package/dist/client/components/page-container.d.ts.map +1 -0
- package/dist/client/components/page-container.js +6 -0
- package/dist/client/components/page-container.js.map +1 -0
- package/dist/client/components/page-header.d.ts +8 -0
- package/dist/client/components/page-header.d.ts.map +1 -0
- package/dist/client/components/page-header.js +5 -0
- package/dist/client/components/page-header.js.map +1 -0
- package/dist/client/components/ui/badge.d.ts +7 -0
- package/dist/client/components/ui/badge.d.ts.map +1 -0
- package/dist/client/components/ui/badge.js +19 -0
- package/dist/client/components/ui/badge.js.map +1 -0
- package/dist/client/components/ui/button.d.ts +8 -0
- package/dist/client/components/ui/button.d.ts.map +1 -0
- package/dist/client/components/ui/button.js +25 -0
- package/dist/client/components/ui/button.js.map +1 -0
- package/dist/client/components/ui/card.d.ts +11 -0
- package/dist/client/components/ui/card.d.ts.map +1 -0
- package/dist/client/components/ui/card.js +19 -0
- package/dist/client/components/ui/card.js.map +1 -0
- package/dist/client/components/ui/input.d.ts +4 -0
- package/dist/client/components/ui/input.d.ts.map +1 -0
- package/dist/client/components/ui/input.js +8 -0
- package/dist/client/components/ui/input.js.map +1 -0
- package/dist/client/components/ui/select.d.ts +16 -0
- package/dist/client/components/ui/select.d.ts.map +1 -0
- package/dist/client/components/ui/select.js +36 -0
- package/dist/client/components/ui/select.js.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/lib/api.d.ts +93 -0
- package/dist/client/lib/api.d.ts.map +1 -0
- package/dist/client/lib/api.js +67 -0
- package/dist/client/lib/api.js.map +1 -0
- package/dist/client/lib/format.d.ts +4 -0
- package/dist/client/lib/format.d.ts.map +1 -0
- package/dist/client/lib/format.js +8 -0
- package/dist/client/lib/format.js.map +1 -0
- package/dist/client/lib/labels.d.ts +5 -0
- package/dist/client/lib/labels.d.ts.map +1 -0
- package/dist/client/lib/labels.js +38 -0
- package/dist/client/lib/labels.js.map +1 -0
- package/dist/client/lib/use-loader.d.ts +10 -0
- package/dist/client/lib/use-loader.d.ts.map +1 -0
- package/dist/client/lib/use-loader.js +43 -0
- package/dist/client/lib/use-loader.js.map +1 -0
- package/dist/client/lib/utils.d.ts +2 -0
- package/dist/client/lib/utils.d.ts.map +1 -0
- package/dist/client/lib/utils.js +2 -0
- package/dist/client/lib/utils.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +99 -0
- package/dist/client/locales/en-US.d.ts.map +1 -0
- package/dist/client/locales/en-US.js +92 -0
- package/dist/client/locales/en-US.js.map +1 -0
- package/dist/client/locales/index.d.ts +4 -0
- package/dist/client/locales/index.d.ts.map +1 -0
- package/dist/client/locales/index.js +7 -0
- package/dist/client/locales/index.js.map +1 -0
- package/dist/client/locales/zh-CN.d.ts +4 -0
- package/dist/client/locales/zh-CN.d.ts.map +1 -0
- package/dist/client/locales/zh-CN.js +92 -0
- package/dist/client/locales/zh-CN.js.map +1 -0
- package/dist/client/pages/configuration.d.ts +4 -0
- package/dist/client/pages/configuration.d.ts.map +1 -0
- package/dist/client/pages/configuration.js +34 -0
- package/dist/client/pages/configuration.js.map +1 -0
- package/dist/client/pages/data-requests.d.ts +3 -0
- package/dist/client/pages/data-requests.d.ts.map +1 -0
- package/dist/client/pages/data-requests.js +216 -0
- package/dist/client/pages/data-requests.js.map +1 -0
- package/dist/client/pages/incoming.d.ts +3 -0
- package/dist/client/pages/incoming.d.ts.map +1 -0
- package/dist/client/pages/incoming.js +128 -0
- package/dist/client/pages/incoming.js.map +1 -0
- package/dist/client/pages/tasks.d.ts +3 -0
- package/dist/client/pages/tasks.d.ts.map +1 -0
- package/dist/client/pages/tasks.js +116 -0
- package/dist/client/pages/tasks.js.map +1 -0
- package/dist/client/plugin.d.ts +4 -0
- package/dist/client/plugin.d.ts.map +1 -0
- package/dist/client/plugin.js +10 -0
- package/dist/client/plugin.js.map +1 -0
- package/dist/client/routes.d.ts +4 -0
- package/dist/client/routes.d.ts.map +1 -0
- package/dist/client/routes.js +51 -0
- package/dist/client/routes.js.map +1 -0
- package/dist/database/migrations/.manifest.json +9 -0
- package/dist/database/migrations/202610010001_office_flows_example_create_collections.d.ts +4 -0
- package/dist/database/migrations/202610010001_office_flows_example_create_collections.d.ts.map +1 -0
- package/dist/database/migrations/202610010001_office_flows_example_create_collections.js +280 -0
- package/dist/database/migrations/202610010001_office_flows_example_create_collections.js.map +1 -0
- package/dist/database/seeds/.manifest.json +9 -0
- package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.d.ts +10 -0
- package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.d.ts.map +1 -0
- package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.js +104 -0
- package/dist/database/seeds/202610010002_office_flows_example_seed_configuration.js.map +1 -0
- package/dist/server/calendar.d.ts +35 -0
- package/dist/server/calendar.d.ts.map +1 -0
- package/dist/server/calendar.js +103 -0
- package/dist/server/calendar.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/lifecycles/data-request.d.ts +36 -0
- package/dist/server/lifecycles/data-request.d.ts.map +1 -0
- package/dist/server/lifecycles/data-request.js +182 -0
- package/dist/server/lifecycles/data-request.js.map +1 -0
- package/dist/server/lifecycles/extraction.d.ts +21 -0
- package/dist/server/lifecycles/extraction.d.ts.map +1 -0
- package/dist/server/lifecycles/extraction.js +60 -0
- package/dist/server/lifecycles/extraction.js.map +1 -0
- package/dist/server/lifecycles/incoming.d.ts +27 -0
- package/dist/server/lifecycles/incoming.d.ts.map +1 -0
- package/dist/server/lifecycles/incoming.js +177 -0
- package/dist/server/lifecycles/incoming.js.map +1 -0
- package/dist/server/lifecycles/index.d.ts +8 -0
- package/dist/server/lifecycles/index.d.ts.map +1 -0
- package/dist/server/lifecycles/index.js +20 -0
- package/dist/server/lifecycles/index.js.map +1 -0
- package/dist/server/lifecycles/tasks.d.ts +63 -0
- package/dist/server/lifecycles/tasks.d.ts.map +1 -0
- package/dist/server/lifecycles/tasks.js +259 -0
- package/dist/server/lifecycles/tasks.js.map +1 -0
- package/dist/server/plugin.d.ts +4 -0
- package/dist/server/plugin.d.ts.map +1 -0
- package/dist/server/plugin.js +16 -0
- package/dist/server/plugin.js.map +1 -0
- package/dist/server/providers/index.d.ts +4 -0
- package/dist/server/providers/index.d.ts.map +1 -0
- package/dist/server/providers/index.js +6 -0
- package/dist/server/providers/index.js.map +1 -0
- package/dist/server/providers/office-flows.d.ts +23 -0
- package/dist/server/providers/office-flows.d.ts.map +1 -0
- package/dist/server/providers/office-flows.js +90 -0
- package/dist/server/providers/office-flows.js.map +1 -0
- package/dist/server/routes/index.d.ts +8 -0
- package/dist/server/routes/index.d.ts.map +1 -0
- package/dist/server/routes/index.js +553 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/schemas.d.ts +157 -0
- package/dist/server/routes/schemas.d.ts.map +1 -0
- package/dist/server/routes/schemas.js +188 -0
- package/dist/server/routes/schemas.js.map +1 -0
- package/dist/server/scope.d.ts +23 -0
- package/dist/server/scope.d.ts.map +1 -0
- package/dist/server/scope.js +23 -0
- package/dist/server/scope.js.map +1 -0
- package/dist/server/services/office-flows.d.ts +151 -0
- package/dist/server/services/office-flows.d.ts.map +1 -0
- package/dist/server/services/office-flows.js +603 -0
- package/dist/server/services/office-flows.js.map +1 -0
- package/dist/server/services/store.d.ts +119 -0
- package/dist/server/services/store.d.ts.map +1 -0
- package/dist/server/services/store.js +389 -0
- package/dist/server/services/store.js.map +1 -0
- package/dist/server/tokens.d.ts +4 -0
- package/dist/server/tokens.d.ts.map +1 -0
- package/dist/server/tokens.js +3 -0
- package/dist/server/tokens.js.map +1 -0
- package/dist/shared/data-request.d.ts +73 -0
- package/dist/shared/data-request.d.ts.map +1 -0
- package/dist/shared/data-request.js +182 -0
- package/dist/shared/data-request.js.map +1 -0
- package/dist/shared/fields.d.ts +12 -0
- package/dist/shared/fields.d.ts.map +1 -0
- package/dist/shared/fields.js +48 -0
- package/dist/shared/fields.js.map +1 -0
- package/dist/shared/people.d.ts +29 -0
- package/dist/shared/people.d.ts.map +1 -0
- package/dist/shared/people.js +54 -0
- package/dist/shared/people.js.map +1 -0
- package/dist/shared/routes.d.ts +7 -0
- package/dist/shared/routes.d.ts.map +1 -0
- package/dist/shared/routes.js +7 -0
- package/dist/shared/routes.js.map +1 -0
- package/dist/shared/text.d.ts +3 -0
- package/dist/shared/text.d.ts.map +1 -0
- package/dist/shared/text.js +9 -0
- package/dist/shared/text.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../client/routes.ts"],"names":[],"mappings":"AAOA,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, Workflow, } 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: Workflow },
|
|
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,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,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,QAAQ,EAAE;YACzD,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
|
+
}
|
package/dist/database/migrations/202610010001_office_flows_example_create_collections.d.ts.map
ADDED
|
@@ -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"}
|