@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.
- package/CHANGELOG.md +76 -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,216 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, 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 { consumerOptions, emptyDataRequest, FREQUENCIES, SCOPES, validateDataRequest, visibility, VOLUMES, WEEKDAYS, } from '../../shared/data-request.js';
|
|
6
|
+
import { pickEditable, EXTRACTION_FIELDS } from '../../shared/fields.js';
|
|
7
|
+
import { DATA_REQUEST_ROLES, personName } from '../../shared/people.js';
|
|
8
|
+
import { Actions, Choice, Field, FilesField, History, MultiChoice, PersonaSelect, ReadField, RecordList, Section, StateBar, TextArea, } from '../components/flow-ui.js';
|
|
9
|
+
import { NAMESPACE, names } from '../lib/format.js';
|
|
10
|
+
import { PageContainer } from '../components/page-container.js';
|
|
11
|
+
import { PageHeader } from '../components/page-header.js';
|
|
12
|
+
import { Badge } from '../components/ui/badge.js';
|
|
13
|
+
import { Button } from '../components/ui/button.js';
|
|
14
|
+
import { Input } from '../components/ui/input.js';
|
|
15
|
+
import { api, errorMessage, list, } from '../lib/api.js';
|
|
16
|
+
import { stateLabel } from '../lib/labels.js';
|
|
17
|
+
import { useLoader } from '../lib/use-loader.js';
|
|
18
|
+
import { text } from '../../shared/text.js';
|
|
19
|
+
const YES_NO = [
|
|
20
|
+
{ value: true, label: '是' },
|
|
21
|
+
{ value: false, label: '否' },
|
|
22
|
+
];
|
|
23
|
+
function label(options, value) {
|
|
24
|
+
return options.find((item) => item.value === value)?.label ?? '—';
|
|
25
|
+
}
|
|
26
|
+
/** The applicant's form; hidden questions appear as the choices ask for them. */
|
|
27
|
+
function RequestEditor({ form, onChange, errors, }) {
|
|
28
|
+
const shown = visibility(form);
|
|
29
|
+
const set = (key, value) => onChange({ ...form, [key]: value });
|
|
30
|
+
const number = (value) => value === '' ? null : Number(value);
|
|
31
|
+
return (_jsxs("div", { className: 'grid gap-4 sm:grid-cols-2', children: [_jsx(Field, { label: '\u4E3B\u9898', required: true, error: errors.subject, wide: true, children: _jsx(Input, { value: form.subject, onChange: (event) => set('subject', event.target.value) }) }), _jsx(Field, { label: '\u539F\u56E0', required: true, error: errors.reason, wide: true, children: _jsx(TextArea, { label: '\u539F\u56E0', value: form.reason, onChange: (value) => set('reason', value) }) }), _jsx(Field, { label: '\u9884\u4F30\u6570\u636E\u91CF\uFF08\u8BB0\u5F55\u6761\u6570\uFF09', required: true, error: errors.volume, wide: true, children: _jsx(Choice, { options: VOLUMES.map((value) => ({ value, label: value })), value: form.volume, onChange: (value) => set('volume', value) }) }), _jsx(Field, { label: '\u6570\u636E\u4F7F\u7528\u9891\u6B21', required: true, error: errors.frequency, wide: true, children: _jsx(Choice, { options: FREQUENCIES, value: form.frequency, onChange: (value) => set('frequency', value) }) }), shown.deliveryDate ? (_jsx(Field, { label: '\u6570\u636E\u4EA4\u4ED8\u65E5\u671F', required: true, error: errors.deliveryDate, children: _jsx(Input, { type: 'date', value: form.deliveryDate, onChange: (event) => set('deliveryDate', event.target.value) }) })) : null, shown.periodDates ? (_jsxs(_Fragment, { children: [_jsx(Field, { label: '\u6570\u636E\u9996\u6B21\u4F7F\u7528\u65E5\u671F', required: true, error: errors.firstUseDate, children: _jsx(Input, { type: 'date', value: form.firstUseDate, onChange: (event) => set('firstUseDate', event.target.value) }) }), _jsx(Field, { label: '\u6700\u540E\u4E00\u6B21\u4EA4\u4ED8\u65E5\u671F', required: true, error: errors.lastDeliveryDate, children: _jsx(Input, { type: 'date', value: form.lastDeliveryDate, onChange: (event) => set('lastDeliveryDate', event.target.value) }) })] })) : null, shown.quarterDay ? (_jsx(Field, { label: '\u6BCF\u5B63\u5EA6\u7684\u7B2C\u51E0\u5929', required: true, error: errors.quarterDay, children: _jsx(Input, { type: 'number', min: 1, max: 92, value: form.quarterDay ?? '', onChange: (event) => set('quarterDay', number(event.target.value)) }) })) : null, shown.monthDay ? (_jsx(Field, { label: '\u6BCF\u6708\u51E0\u53F7', required: true, error: errors.monthDay, children: _jsx(Input, { type: 'number', min: 1, max: 31, value: form.monthDay ?? '', onChange: (event) => set('monthDay', number(event.target.value)) }) })) : null, shown.weekDay ? (_jsx(Field, { label: '\u6BCF\u5468\u5468\u51E0', required: true, error: errors.weekDay, wide: true, children: _jsx(Choice, { options: WEEKDAYS.map((name, index) => ({
|
|
32
|
+
value: index + 1,
|
|
33
|
+
label: name,
|
|
34
|
+
})), value: form.weekDay, onChange: (value) => set('weekDay', value) }) })) : null, shown.frequencyNote ? (_jsx(Field, { label: '\u5176\u4ED6\u9891\u6B21\u63CF\u8FF0', required: true, error: errors.frequencyNote, wide: true, children: _jsx(Input, { value: form.frequencyNote, onChange: (event) => set('frequencyNote', event.target.value) }) })) : null, _jsx(Field, { label: '\u6570\u636E\u4F7F\u7528\u8303\u56F4', required: true, error: errors.scope, wide: true, children: _jsx(Choice, { options: SCOPES, value: form.scope,
|
|
35
|
+
// Changing the scope changes the consumer types it offers.
|
|
36
|
+
onChange: (value) => onChange({ ...form, scope: value, consumers: [] }) }) }), _jsx(Field, { label: '\u4F7F\u7528\u65B9\u7C7B\u578B\uFF08\u591A\u9009\uFF09', required: true, error: errors.consumers, wide: true, children: form.scope ? (_jsx(MultiChoice, { options: consumerOptions(form.scope), values: form.consumers, onChange: (value) => set('consumers', value) })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: "\u8BF7\u5148\u9009\u62E9\u6570\u636E\u4F7F\u7528\u8303\u56F4" })) }), shown.fileShield ? (_jsxs("fieldset", { className: 'grid gap-4 rounded-lg border p-3 sm:col-span-2 sm:grid-cols-2', children: [_jsx("legend", { className: 'px-1 text-sm font-medium', children: "\u6587\u4EF6\u76FE\u6743\u9650\u9700\u6C42\uFF08\u5185\u90E8\u5458\u5DE5\uFF09" }), _jsx(Field, { label: '\u7533\u8BF7\u4EBA\u662F\u5426\u63A5\u53D7\u4F7F\u7528\u6587\u4EF6\u76FE', required: true, error: errors.fileShieldAccepted, children: _jsx(Choice, { options: YES_NO, value: form.fileShieldAccepted, onChange: (value) => set('fileShieldAccepted', value) }) }), _jsx(Field, { label: '\u590D\u5236\u6743\u9650', required: true, error: errors.fileShieldCopy, children: _jsx(Choice, { options: YES_NO, value: form.fileShieldCopy, onChange: (value) => set('fileShieldCopy', value) }) }), _jsx(Field, { label: '\u6388\u6743\u4EBA\u5458\u8303\u56F4', required: true, error: errors.fileShieldScope, children: _jsx(Input, { value: form.fileShieldScope, onChange: (event) => set('fileShieldScope', event.target.value) }) }), _jsx(Field, { label: '\u6570\u636E\u6709\u6548\u622A\u81F3\u65E5\u671F', required: true, error: errors.fileShieldValidUntil, children: _jsx(Input, { type: 'date', value: form.fileShieldValidUntil, onChange: (event) => set('fileShieldValidUntil', event.target.value) }) })] })) : null, shown.thirdParty ? (_jsxs("fieldset", { className: 'grid gap-4 rounded-lg border p-3 sm:col-span-2 sm:grid-cols-2', children: [_jsx("legend", { className: 'px-1 text-sm font-medium', children: "\u7B2C\u4E09\u65B9" }), _jsx(Field, { label: '\u7B2C\u4E09\u65B9\u4FDD\u5BC6\u534F\u8BAE\uFF08\u4FDD\u5BC6\u6846\u67B6\u534F\u8BAE\u6216\u5408\u540C\u4E2D\u7684\u4FDD\u5BC6\u6761\u6B3E\u626B\u63CF\u4EF6\uFF09', required: true, error: errors.ndaFiles, children: _jsx(FilesField, { label: '\u7B2C\u4E09\u65B9\u4FDD\u5BC6\u534F\u8BAE', value: form.ndaFiles, onChange: (value) => set('ndaFiles', value) }) }), _jsx(Field, { label: '\u7B2C\u4E09\u65B9\u5B89\u5168\u8BC4\u4F30\uFF08\u6309\u8BC4\u4F30\u6A21\u677F\u9644\u4E0A\u5B89\u5168\u8BC4\u4F30\u7ED3\u679C\uFF09', children: _jsx(FilesField, { label: '\u7B2C\u4E09\u65B9\u5B89\u5168\u8BC4\u4F30', value: form.securityFiles, onChange: (value) => set('securityFiles', value) }) })] })) : null] }));
|
|
37
|
+
}
|
|
38
|
+
function RequestSummary({ form, }) {
|
|
39
|
+
const shown = visibility(form);
|
|
40
|
+
return (_jsxs("div", { className: 'grid gap-3 sm:grid-cols-2', children: [_jsx(ReadField, { label: '\u4E3B\u9898', value: form.subject, wide: true }), _jsx(ReadField, { label: '\u539F\u56E0', value: form.reason, wide: true }), _jsx(ReadField, { label: '\u9884\u4F30\u6570\u636E\u91CF', value: form.volume }), _jsx(ReadField, { label: '\u6570\u636E\u4F7F\u7528\u9891\u6B21', value: label(FREQUENCIES, form.frequency) }), shown.deliveryDate ? (_jsx(ReadField, { label: '\u6570\u636E\u4EA4\u4ED8\u65E5\u671F', value: form.deliveryDate })) : null, shown.periodDates ? (_jsx(ReadField, { label: '\u9996\u6B21\u4F7F\u7528 / \u6700\u540E\u4E00\u6B21\u4EA4\u4ED8', value: `${form.firstUseDate} 至 ${form.lastDeliveryDate}` })) : null, shown.quarterDay ? (_jsx(ReadField, { label: '\u6BCF\u5B63\u5EA6\u7B2C\u51E0\u5929', value: text(form.quarterDay) })) : null, shown.monthDay ? (_jsx(ReadField, { label: '\u6BCF\u6708\u51E0\u53F7', value: text(form.monthDay) })) : null, shown.weekDay ? (_jsx(ReadField, { label: '\u6BCF\u5468\u5468\u51E0', value: WEEKDAYS[(form.weekDay ?? 1) - 1] })) : null, shown.frequencyNote ? (_jsx(ReadField, { label: '\u5176\u4ED6\u9891\u6B21\u63CF\u8FF0', value: form.frequencyNote })) : null, _jsx(ReadField, { label: '\u6570\u636E\u4F7F\u7528\u8303\u56F4', value: label(SCOPES, form.scope) }), _jsx(ReadField, { label: '\u4F7F\u7528\u65B9\u7C7B\u578B', value: form.consumers.join('、') }), shown.fileShield ? (_jsx(ReadField, { label: '\u6587\u4EF6\u76FE\u6743\u9650\u9700\u6C42', wide: true, value: `接受文件盾:${label(YES_NO, form.fileShieldAccepted)};授权人员范围:${form.fileShieldScope};复制权限:${label(YES_NO, form.fileShieldCopy)};有效截至:${form.fileShieldValidUntil}` })) : null, shown.thirdParty ? (_jsx(ReadField, { label: '\u7B2C\u4E09\u65B9\u4FDD\u5BC6\u534F\u8BAE / \u5B89\u5168\u8BC4\u4F30', wide: true, value: `${form.ndaFiles.join('、') || '—'} / ${form.securityFiles.join('、') || '—'}` })) : null] }));
|
|
41
|
+
}
|
|
42
|
+
const CATEGORY = ['一次性清单数据抽取', '一次性分析数据整理'].map((value) => ({
|
|
43
|
+
value,
|
|
44
|
+
label: value,
|
|
45
|
+
}));
|
|
46
|
+
const COMPLEXITY = ['简单', '复杂'].map((value) => ({ value, label: value }));
|
|
47
|
+
/** 抽数子流程: the processing fields, then submit or void. */
|
|
48
|
+
function ExtractionPanel({ id, actor, onChanged, }) {
|
|
49
|
+
const { t } = useTranslation(NAMESPACE);
|
|
50
|
+
const client = api(useApiClient());
|
|
51
|
+
const { data: view, reload } = useLoader(() => client.get(`extractions/${id}`, actor), `${id}:${actor}`);
|
|
52
|
+
const [draft, setDraft] = useState({});
|
|
53
|
+
const [busy, setBusy] = useState(false);
|
|
54
|
+
const [error, setError] = useState('');
|
|
55
|
+
if (!view)
|
|
56
|
+
return (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('common.loading') }));
|
|
57
|
+
const record = { ...view.record, ...draft };
|
|
58
|
+
const editable = view.record.status === 'pending' &&
|
|
59
|
+
(list(view.record.executorIds).includes(actor) ||
|
|
60
|
+
actor === DATA_REQUEST_ROLES.acceptor);
|
|
61
|
+
const set = (key, value) => setDraft({ ...draft, [key]: value });
|
|
62
|
+
const field = (key) => text(record[key]);
|
|
63
|
+
async function act(work) {
|
|
64
|
+
setBusy(true);
|
|
65
|
+
setError('');
|
|
66
|
+
try {
|
|
67
|
+
await work();
|
|
68
|
+
setDraft({});
|
|
69
|
+
await reload();
|
|
70
|
+
onChanged();
|
|
71
|
+
}
|
|
72
|
+
catch (cause) {
|
|
73
|
+
setError(errorMessage(cause));
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
setBusy(false);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return (_jsxs(Section, { title: `${text(view.record.number)} · ${text(view.record.topic)}`, actions: _jsx(Badge, { children: stateLabel('extractions', view.record.status) }), children: [_jsxs("div", { className: 'grid gap-4 sm:grid-cols-2', children: [_jsx(ReadField, { label: '\u62BD\u6570\u65E5\u671F', value: text(view.record.scheduledDate) }), _jsx(ReadField, { label: '\u62BD\u6570\u6267\u884C\u4EBA\u5458', value: names(view.record.executorIds) }), _jsx(ReadField, { label: '\u62BD\u6570\u4EFB\u52A1\u5EFA\u8BAE\u6216\u8981\u6C42', value: text(view.record.requirement ?? ''), wide: true }), _jsx(Field, { label: '\u6570\u636E\u5B9E\u65BD\u5206\u7C7B', required: true, children: _jsx(Choice, { options: CATEGORY, value: field('category'), disabled: !editable, onChange: (value) => set('category', value) }) }), _jsx(Field, { label: '\u53D6\u6570\u903B\u8F91\u590D\u6742\u7A0B\u5EA6', required: true, children: _jsx(Choice, { options: COMPLEXITY, value: field('complexity'), disabled: !editable, onChange: (value) => set('complexity', value) }) }), _jsx(Field, { label: '\u4E0E\u7528\u6237\u534F\u5546\u4E00\u81F4\u7684\u6570\u636E\u4EA4\u4ED8\u65F6\u95F4', required: true, children: _jsx(Input, { type: 'date', disabled: !editable, value: field('agreedDeliveryAt'), onChange: (event) => set('agreedDeliveryAt', event.target.value) }) }), _jsx(Field, { label: '\u6570\u636E\u6240\u5C5E\u7CFB\u7EDF', required: true, children: _jsx(Input, { disabled: !editable, value: field('sourceSystem'), onChange: (event) => set('sourceSystem', event.target.value) }) }), _jsx(Field, { label: '\u662F\u5426\u9700\u8981\u4E0B\u8F7D\u6570\u636E', required: true, children: _jsx(Choice, { options: YES_NO, value: record.needsDownload === null ||
|
|
80
|
+
record.needsDownload === undefined
|
|
81
|
+
? null
|
|
82
|
+
: Boolean(record.needsDownload), disabled: !editable, onChange: (value) => set('needsDownload', value) }) }), _jsx(Field, { label: '\u53CD\u9988\u9644\u4EF6', children: _jsx(FilesField, { label: '\u53CD\u9988\u9644\u4EF6', disabled: !editable, value: list(record.feedbackFiles), onChange: (value) => set('feedbackFiles', value) }) }), _jsx(Field, { label: '\u53CD\u9988\u8BF4\u660E', required: true, wide: true, children: _jsx(TextArea, { label: '\u53CD\u9988\u8BF4\u660E', disabled: !editable, value: field('feedbackNote'), onChange: (value) => set('feedbackNote', value) }) }), _jsx(Field, { label: '\u5F00\u53D1\u4EBA\u5458\u590D\u6838', children: _jsx(Input, { disabled: !editable, value: field('reviewerId'), onChange: (event) => set('reviewerId', event.target.value) }) }), _jsx(Field, { label: '\u62BD\u6570\u4E00\u7EA7\u4E3B\u7BA1', required: true, children: _jsx(Input, { disabled: !editable, value: field('managerId'), onChange: (event) => set('managerId', event.target.value) }) }), _jsx(Field, { label: '\u4E1A\u52A1\u90E8\u95E8\u786E\u8BA4\u903B\u8F91', required: true, children: _jsx(Input, { disabled: !editable, value: field('confirmerId'), onChange: (event) => set('confirmerId', event.target.value) }) }), view.record.voidReason ? (_jsx(ReadField, { label: '\u4F5C\u5E9F\u539F\u56E0', value: text(view.record.voidReason) })) : 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(() => client.patch(`extractions/${id}`, {
|
|
83
|
+
actAs: actor,
|
|
84
|
+
values: pickEditable(draft, EXTRACTION_FIELDS),
|
|
85
|
+
})), children: t('common.save') })) : null, _jsx(Actions, { available: view.available, busy: busy, needsReason: ['void'], onFire: (transition, input) => void act(async () => {
|
|
86
|
+
if (Object.keys(draft).length)
|
|
87
|
+
await client.patch(`extractions/${id}`, {
|
|
88
|
+
actAs: actor,
|
|
89
|
+
values: pickEditable(draft, EXTRACTION_FIELDS),
|
|
90
|
+
});
|
|
91
|
+
await client.post(`extractions/${id}/fire`, {
|
|
92
|
+
actAs: actor,
|
|
93
|
+
transition,
|
|
94
|
+
input,
|
|
95
|
+
});
|
|
96
|
+
}) })] }), _jsx(History, { lifecycle: 'extractions', view: view })] }));
|
|
97
|
+
}
|
|
98
|
+
/** 创建抽数子流程 / 已作废抽数执行数据, the schedule and a manual task. */
|
|
99
|
+
function Extractions({ detail, actor, onChanged, }) {
|
|
100
|
+
const { t } = useTranslation(NAMESPACE);
|
|
101
|
+
const client = api(useApiClient());
|
|
102
|
+
const [tab, setTab] = useState('active');
|
|
103
|
+
const [open, setOpen] = useState();
|
|
104
|
+
const [manual, setManual] = useState({
|
|
105
|
+
topic: '',
|
|
106
|
+
scheduledDate: '',
|
|
107
|
+
requirement: '',
|
|
108
|
+
});
|
|
109
|
+
const [error, setError] = useState('');
|
|
110
|
+
const canCreate = detail.record.status === 'accepting' &&
|
|
111
|
+
actor === DATA_REQUEST_ROLES.acceptor;
|
|
112
|
+
const shown = detail.extractions.filter((task) => tab === 'voided' ? task.status === 'voided' : task.status !== 'voided');
|
|
113
|
+
return (_jsxs(Section, { title: '\u62BD\u6570\u5B50\u6D41\u7A0B', children: [_jsxs("div", { className: 'space-y-1 text-sm', children: [_jsxs("p", { children: [_jsx("span", { className: 'text-muted-foreground', children: "\u62BD\u6570\u65E5\u7A0B\uFF1A" }), detail.schedule.due.length
|
|
114
|
+
? detail.schedule.due.join('、')
|
|
115
|
+
: '无自动日程(其他固定频次请手动创建)'] }), detail.schedule.shifted.length ? (_jsxs("p", { className: 'text-xs text-muted-foreground', children: ["\u9047\u5468\u672B\u6216\u6CD5\u5B9A\u8282\u5047\u65E5\u987A\u5EF6\uFF1A", detail.schedule.shifted
|
|
116
|
+
.map((item) => `${item.date} → ${item.to}`)
|
|
117
|
+
.join(';')] })) : null] }), _jsxs("div", { className: 'flex flex-wrap gap-1.5', role: 'tablist', children: [_jsx(Button, { size: 'sm', role: 'tab', "aria-selected": tab === 'active', variant: tab === 'active' ? 'default' : 'outline', onClick: () => setTab('active'), children: "\u521B\u5EFA\u62BD\u6570\u5B50\u6D41\u7A0B" }), _jsx(Button, { size: 'sm', role: 'tab', "aria-selected": tab === 'voided', variant: tab === 'voided' ? 'default' : 'outline', onClick: () => setTab('voided'), children: "\u5DF2\u4F5C\u5E9F\u62BD\u6570\u6267\u884C\u6570\u636E" })] }), _jsx("div", { className: 'overflow-x-auto rounded-lg border', children: _jsxs("table", { className: 'w-full text-sm', children: [_jsx("thead", { className: 'bg-muted/50 text-left text-xs text-muted-foreground', children: _jsxs("tr", { children: [_jsx("th", { className: 'px-3 py-2 font-medium', children: "\u62BD\u6570\u4EFB\u52A1\u4E3B\u9898" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u62BD\u6570\u65E5\u671F" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u6765\u6E90" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u62BD\u6570\u6267\u884C\u4EBA" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u6D41\u7A0B\u73AF\u8282" })] }) }), _jsx("tbody", { children: shown.length ? (shown.map((task) => (_jsxs("tr", { className: 'border-t', children: [_jsx("td", { className: 'px-3 py-2', children: _jsx("button", { type: 'button', className: 'text-primary hover:underline', onClick: () => setOpen(text(task.id)), children: text(task.topic) }) }), _jsx("td", { className: 'px-3 py-2', children: text(task.scheduledDate) }), _jsx("td", { className: 'px-3 py-2', children: { scheduled: '定期', once: '一次性', manual: '手动' }[text(task.origin)] }), _jsx("td", { className: 'px-3 py-2', children: names(task.executorIds) }), _jsx("td", { className: 'px-3 py-2', children: stateLabel('extractions', task.status) })] }, text(task.id))))) : (_jsx("tr", { children: _jsx("td", { colSpan: 5, className: 'px-3 py-4 text-center text-muted-foreground', children: "\u6682\u65E0\u4EFB\u52A1\u6570\u636E" }) })) })] }) }), canCreate && tab === 'active' ? (_jsxs("div", { className: 'grid gap-3 rounded-lg border border-dashed p-3 sm:grid-cols-3', children: [_jsx(Input, { placeholder: '\u62BD\u6570\u4EFB\u52A1\u4E3B\u9898', "aria-label": '\u62BD\u6570\u4EFB\u52A1\u4E3B\u9898', value: manual.topic, onChange: (event) => setManual({ ...manual, topic: event.target.value }) }), _jsx(Input, { type: 'date', "aria-label": '\u9996\u62BD\u65F6\u95F4', value: manual.scheduledDate, onChange: (event) => setManual({ ...manual, scheduledDate: event.target.value }) }), _jsx(Input, { placeholder: '\u62BD\u6570\u4EFB\u52A1\u5EFA\u8BAE\u6216\u8981\u6C42', "aria-label": '\u62BD\u6570\u4EFB\u52A1\u5EFA\u8BAE\u6216\u8981\u6C42', value: manual.requirement, onChange: (event) => setManual({ ...manual, requirement: event.target.value }) }), _jsxs("div", { className: 'flex items-center gap-2 sm:col-span-3', children: [_jsx(Button, { size: 'sm', onClick: () => void client
|
|
118
|
+
.post(`dataRequests/${text(detail.record.id)}/extractions`, {
|
|
119
|
+
actAs: actor,
|
|
120
|
+
...manual,
|
|
121
|
+
executorIds: [],
|
|
122
|
+
})
|
|
123
|
+
.then(() => {
|
|
124
|
+
setManual({
|
|
125
|
+
topic: '',
|
|
126
|
+
scheduledDate: '',
|
|
127
|
+
requirement: '',
|
|
128
|
+
});
|
|
129
|
+
setError('');
|
|
130
|
+
onChanged();
|
|
131
|
+
})
|
|
132
|
+
.catch((cause) => setError(errorMessage(cause))), children: t('extractions.create') }), error ? (_jsx("span", { className: 'text-sm text-destructive', children: error })) : null] })] })) : null, open ? (_jsx(ExtractionPanel, { id: open, actor: actor, onChanged: onChanged })) : null] }));
|
|
133
|
+
}
|
|
134
|
+
export default function DataRequestsPage() {
|
|
135
|
+
const { t } = useTranslation(NAMESPACE);
|
|
136
|
+
const client = api(useApiClient());
|
|
137
|
+
const [actor, setActor] = useState(DATA_REQUEST_ROLES.applicant);
|
|
138
|
+
const [selected, setSelected] = useState();
|
|
139
|
+
const [form, setForm] = useState();
|
|
140
|
+
const [showErrors, setShowErrors] = useState(false);
|
|
141
|
+
const [busy, setBusy] = useState(false);
|
|
142
|
+
const [error, setError] = useState('');
|
|
143
|
+
const [tick, setTick] = useState(0);
|
|
144
|
+
const records = useLoader(() => client.list('dataRequests'), `list:${tick}`);
|
|
145
|
+
const detailId = selected && selected !== 'new' ? selected : undefined;
|
|
146
|
+
const detail = useLoader(detailId
|
|
147
|
+
? () => client.get(`dataRequests/${detailId}`, actor)
|
|
148
|
+
: undefined, `${detailId}:${actor}:${tick}`);
|
|
149
|
+
const view = detail.data;
|
|
150
|
+
const editing = selected === 'new' ||
|
|
151
|
+
(view?.record.status === 'draft' && view.record.applicantId === actor);
|
|
152
|
+
const current = form ?? (selected === 'new' ? emptyDataRequest() : view?.form);
|
|
153
|
+
const errors = showErrors && current ? validateDataRequest(current) : {};
|
|
154
|
+
function pick(id) {
|
|
155
|
+
setSelected(id);
|
|
156
|
+
setForm(undefined);
|
|
157
|
+
setShowErrors(false);
|
|
158
|
+
setError('');
|
|
159
|
+
}
|
|
160
|
+
async function act(work) {
|
|
161
|
+
setBusy(true);
|
|
162
|
+
setError('');
|
|
163
|
+
try {
|
|
164
|
+
await work();
|
|
165
|
+
setForm(undefined);
|
|
166
|
+
setTick((value) => value + 1);
|
|
167
|
+
}
|
|
168
|
+
catch (cause) {
|
|
169
|
+
setError(errorMessage(cause));
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
setBusy(false);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/** Saves the form, creating the request first when it is new; returns its id. */
|
|
176
|
+
async function save() {
|
|
177
|
+
if (!current)
|
|
178
|
+
throw new Error('nothing to save');
|
|
179
|
+
if (selected === 'new') {
|
|
180
|
+
const created = await client.post('dataRequests', {
|
|
181
|
+
actAs: actor,
|
|
182
|
+
form: { ...current },
|
|
183
|
+
});
|
|
184
|
+
setSelected(text(created.id));
|
|
185
|
+
return text(created.id);
|
|
186
|
+
}
|
|
187
|
+
await client.patch(`dataRequests/${text(selected)}`, {
|
|
188
|
+
actAs: actor,
|
|
189
|
+
form: { ...current },
|
|
190
|
+
});
|
|
191
|
+
return text(selected);
|
|
192
|
+
}
|
|
193
|
+
return (_jsxs(PageContainer, { children: [_jsx(PageHeader, { title: t('dataRequests.title'), description: t('dataRequests.description'), actions: _jsx(PersonaSelect, { value: actor, onChange: setActor }) }), _jsxs("div", { className: 'grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,2fr)]', children: [_jsx(Section, { title: t('dataRequests.list'), actions: actor === DATA_REQUEST_ROLES.applicant ? (_jsx(Button, { size: 'sm', onClick: () => pick('new'), children: t('dataRequests.create') })) : null, children: _jsx(RecordList, { records: records.data ?? [], lifecycle: 'dataRequests', selected: selected, summarize: (record) => `${text(record.subject)} · ${personName(text(record.approverId ?? record.applicantId))}`, onSelect: pick, empty: t('common.empty') }) }), _jsx("div", { className: 'min-w-0 space-y-6', children: !selected ? (_jsx("p", { className: 'rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground', children: t('common.pick') })) : (_jsxs(_Fragment, { children: [_jsxs(Section, { title: selected === 'new'
|
|
194
|
+
? t('dataRequests.create')
|
|
195
|
+
: `${text(view?.record.number ?? '')} · ${text(view?.record.subject ?? '')}`, actions: view ? (_jsx(Badge, { children: stateLabel('dataRequests', view.record.status) })) : null, children: [view ? (_jsx(StateBar, { lifecycle: 'dataRequests', view: view })) : null, view?.record.returnReason && view.record.status === 'draft' ? (_jsxs("p", { className: 'text-sm text-destructive', children: ["\u9000\u56DE\u539F\u56E0\uFF1A", text(view.record.returnReason)] })) : null, view && view.record.approverId ? (_jsxs("p", { className: 'text-sm text-muted-foreground', children: ["\u5F53\u524D\u5904\u7406\u4EBA\uFF1A", personName(text(view.record.approverId))] })) : null, current && editing ? (_jsx(RequestEditor, { form: current, onChange: setForm, errors: errors })) : current ? (_jsx(RequestSummary, { form: current })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('common.loading') })), error || detail.error ? (_jsx("p", { role: 'alert', className: 'text-sm text-destructive', children: error || detail.error })) : null, _jsxs("div", { className: 'flex flex-wrap items-start gap-2', children: [editing ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outline', disabled: busy, onClick: () => void act(async () => void (await save())), children: t('common.save') }), _jsx(Button, { disabled: busy, onClick: () => {
|
|
196
|
+
setShowErrors(true);
|
|
197
|
+
if (current &&
|
|
198
|
+
Object.keys(validateDataRequest(current)).length)
|
|
199
|
+
return;
|
|
200
|
+
void act(async () => {
|
|
201
|
+
const id = await save();
|
|
202
|
+
await client.post(`dataRequests/${id}/fire`, {
|
|
203
|
+
actAs: actor,
|
|
204
|
+
transition: 'submit',
|
|
205
|
+
input: {},
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
}, children: t('dataRequests.submit') })] })) : null, view ? (_jsx(Actions, { available: view.available, busy: busy, hidden: ['submit'], needsReason: ['returnToApplicant', 'acceptanceReturn'], onFire: (transition, input) => void act(() => client.post(`dataRequests/${detailId}/fire`, {
|
|
209
|
+
actAs: actor,
|
|
210
|
+
transition,
|
|
211
|
+
input,
|
|
212
|
+
})) })) : null] }), view?.record.status === 'accepting' ? (_jsx("p", { className: 'text-xs text-muted-foreground', children: "\u6709\u62BD\u6570\u5B50\u5355\uFF08\u8FDB\u884C\u4E2D\u6216\u5DF2\u7ED3\u675F\uFF09\u65F6\u4E0D\u80FD\u201C\u8FD4\u56DE\u7533\u8BF7\u4EBA\u201D\uFF1B\u6709\u8FDB\u884C\u4E2D\u7684\u62BD\u6570\u5B50\u5355\u65F6\u4E0D\u80FD\u201C\u63D0\u4EA4\u529E\u7ED3\u201D\u3002" })) : null] }), view &&
|
|
213
|
+
(view.record.status === 'accepting' ||
|
|
214
|
+
view.extractions.length) ? (_jsx(Extractions, { detail: view, actor: actor, onChanged: () => setTick((value) => value + 1) })) : null, view ? (_jsx(Section, { title: t('common.history'), children: _jsx(History, { lifecycle: 'dataRequests', view: view }) })) : null] })) })] })] }));
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=data-requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-requests.js","sourceRoot":"","sources":["../../../client/pages/data-requests.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incoming.d.ts","sourceRoot":"","sources":["../../../client/pages/incoming.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AA6SpD,MAAM,CAAC,OAAO,UAAU,YAAY,IAAI,YAAY,CAoPnD"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } 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 { INCOMING_ROLES, PEOPLE, personName } from '../../shared/people.js';
|
|
6
|
+
import { pickEditable, INCOMING_FIELDS } from '../../shared/fields.js';
|
|
7
|
+
import { Actions, Choice, Field, FilesField, History, MultiChoice, PersonaSelect, Processing, ReadField, RecordList, RowsTable, Section, StateBar, TextArea, } from '../components/flow-ui.js';
|
|
8
|
+
import { NAMESPACE, names } from '../lib/format.js';
|
|
9
|
+
import { PageContainer } from '../components/page-container.js';
|
|
10
|
+
import { PageHeader } from '../components/page-header.js';
|
|
11
|
+
import { Badge } from '../components/ui/badge.js';
|
|
12
|
+
import { Button } from '../components/ui/button.js';
|
|
13
|
+
import { Input } from '../components/ui/input.js';
|
|
14
|
+
import { api, errorMessage, list, } from '../lib/api.js';
|
|
15
|
+
import { stateLabel } from '../lib/labels.js';
|
|
16
|
+
import { useLoader } from '../lib/use-loader.js';
|
|
17
|
+
import { text } from '../../shared/text.js';
|
|
18
|
+
const DISTRIBUTION = [
|
|
19
|
+
{ value: 'review', label: '呈阅处' },
|
|
20
|
+
{ value: 'circulate', label: '传阅' },
|
|
21
|
+
];
|
|
22
|
+
const TEXT_FIELDS = [
|
|
23
|
+
['code', '收文编码'],
|
|
24
|
+
['sender', '来文单位'],
|
|
25
|
+
['senderRef', '来文文号'],
|
|
26
|
+
];
|
|
27
|
+
function IncomingEditor({ values, onChange, }) {
|
|
28
|
+
const field = (key) => text(values[key]);
|
|
29
|
+
const set = (key, value) => onChange({ ...values, [key]: value });
|
|
30
|
+
return (_jsxs("div", { className: 'grid gap-4 sm:grid-cols-3', children: [_jsx("div", { className: 'sm:col-span-3', children: _jsx(Field, { label: '\u6807\u9898', required: true, children: _jsx(Input, { value: field('title'), onChange: (event) => set('title', event.target.value) }) }) }), TEXT_FIELDS.map(([key, label]) => (_jsx(Field, { label: label, required: true, children: _jsx(Input, { value: field(key), onChange: (event) => set(key, event.target.value) }) }, key))), _jsx("div", { className: 'sm:col-span-3', children: _jsx(Field, { label: '\u6458\u8981', required: true, children: _jsx(TextArea, { label: '\u6458\u8981', value: field('summary'), onChange: (value) => set('summary', value) }) }) }), _jsx("div", { className: 'sm:col-span-3', children: _jsx(Field, { label: '\u529E\u516C\u5BA4\u610F\u89C1', required: true, children: _jsx(TextArea, { label: '\u529E\u516C\u5BA4\u610F\u89C1', value: field('officeOpinion'), onChange: (value) => set('officeOpinion', value) }) }) }), _jsx("div", { className: 'sm:col-span-3', children: _jsx(Field, { label: '\u6765\u6587', children: _jsx(FilesField, { label: '\u6765\u6587', value: list(values.attachments), onChange: (value) => set('attachments', value) }) }) }), _jsx(Field, { label: '\u5206\u53D1\u7C7B\u578B', required: true, children: _jsx(Choice, { options: DISTRIBUTION, value: field('distributionType'), onChange: (value) => set('distributionType', value) }) }), _jsx(ReadField, { label: '\u529E\u516C\u5BA4\u90E8\u95E8\u4E3B\u7BA1', value: personName(field('officeHeadId') || INCOMING_ROLES.officeHead) }), _jsx(ReadField, { label: '\u529E\u516C\u5BA4\u5206\u7BA1\u9886\u5BFC', value: personName(field('officeLeaderId') || INCOMING_ROLES.officeLeader) })] }));
|
|
31
|
+
}
|
|
32
|
+
function IncomingSummary({ record }) {
|
|
33
|
+
return (_jsxs("div", { className: 'grid gap-3 sm:grid-cols-3', children: [_jsx(ReadField, { label: '\u6807\u9898', value: text(record.title), wide: true }), TEXT_FIELDS.map(([key, label]) => (_jsx(ReadField, { label: label, value: text(record[key] ?? '') }, key))), _jsx(ReadField, { label: '\u6458\u8981', value: text(record.summary ?? ''), wide: true }), _jsx(ReadField, { label: '\u529E\u516C\u5BA4\u610F\u89C1', value: text(record.officeOpinion ?? ''), wide: true }), _jsx(ReadField, { label: '\u6765\u6587', value: list(record.attachments).join('、') }), _jsx(ReadField, { label: '\u5206\u53D1\u7C7B\u578B', value: DISTRIBUTION.find((item) => item.value === record.distributionType)
|
|
34
|
+
?.label ?? '' }), _jsx(ReadField, { label: '\u529E\u516C\u5BA4\u90E8\u95E8\u4E3B\u7BA1 / \u5206\u7BA1\u9886\u5BFC', value: `${personName(text(record.officeHeadId))} / ${personName(text(record.officeLeaderId))}` })] }));
|
|
35
|
+
}
|
|
36
|
+
/** 公司管理层信息: rows from configuration, or a group typed in with people picked. */
|
|
37
|
+
function Management({ detail, config, editable, busy, onAdd, onRemove, onForward, }) {
|
|
38
|
+
const [groupName, setGroupName] = useState('');
|
|
39
|
+
const [members, setMembers] = useState([]);
|
|
40
|
+
const pending = detail.management.filter((row) => !row.forwarded).length;
|
|
41
|
+
const options = PEOPLE.filter((person) => person.title.includes('管理层') || person.title.includes('领导'));
|
|
42
|
+
return (_jsxs("div", { className: 'space-y-3', children: [_jsx("div", { className: 'overflow-x-auto rounded-lg border', children: _jsxs("table", { className: 'w-full text-sm', children: [_jsx("thead", { className: 'bg-muted/50 text-left text-xs text-muted-foreground', children: _jsxs("tr", { children: [_jsx("th", { className: 'px-3 py-2 font-medium', children: "\u7FA4\u7EC4" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u6284\u9001\u4EBA\u5458" }), _jsx("th", { className: 'px-3 py-2 font-medium', children: "\u662F\u5426\u8F6C\u53D1" }), _jsx("th", { className: 'px-3 py-2' })] }) }), _jsx("tbody", { children: detail.management.length ? (detail.management.map((row) => (_jsxs("tr", { className: 'border-t', children: [_jsxs("td", { className: 'px-3 py-2', children: [text(row.groupName), row.fromConfig ? null : (_jsx("span", { className: 'ml-1 text-xs text-muted-foreground', children: "\uFF08\u81EA\u884C\u6DFB\u52A0\uFF09" }))] }), _jsx("td", { className: 'px-3 py-2', children: names(row.members) }), _jsx("td", { className: 'px-3 py-2', children: _jsx(Badge, { variant: row.forwarded ? 'default' : 'outline', children: row.forwarded ? '是' : '否' }) }), _jsx("td", { className: 'px-3 py-2 text-right', children: editable && !row.forwarded ? (_jsx(Button, { size: 'sm', variant: 'ghost', onClick: () => onRemove(text(row.id)), children: "\u5220\u9664" })) : null })] }, text(row.id))))) : (_jsx("tr", { children: _jsx("td", { colSpan: 4, className: 'px-3 py-4 text-center text-muted-foreground', children: "\u6682\u65E0\u7FA4\u7EC4" }) })) })] }) }), editable ? (_jsxs("div", { className: 'space-y-3 rounded-lg border border-dashed p-3', children: [_jsxs("div", { className: 'flex flex-wrap items-center gap-2', children: [_jsx("span", { className: 'text-sm text-muted-foreground', children: "\u4ECE\u914D\u7F6E\u9009\u62E9\uFF1A" }), (config?.managementGroups ?? []).map((group) => (_jsxs(Button, { size: 'sm', variant: 'outline', disabled: busy, onClick: () => onAdd({ groupId: group.id }), children: [group.name, "\uFF08", names(group.members), "\uFF09"] }, group.id)))] }), _jsxs("div", { className: 'flex flex-wrap items-center gap-2', children: [_jsx(Input, { className: 'w-40', "aria-label": '\u7FA4\u7EC4', placeholder: '\u81EA\u884C\u6DFB\u52A0\uFF1A\u7FA4\u7EC4', value: groupName, onChange: (event) => setGroupName(event.target.value) }), _jsx(MultiChoice, { options: options.map((person) => person.name), values: members.map(personName), onChange: (picked) => setMembers(options
|
|
43
|
+
.filter((person) => picked.includes(person.name))
|
|
44
|
+
.map((person) => person.id)) }), _jsx(Button, { size: 'sm', variant: 'secondary', disabled: busy || !groupName.trim() || !members.length, onClick: () => {
|
|
45
|
+
onAdd({ groupName, members });
|
|
46
|
+
setGroupName('');
|
|
47
|
+
setMembers([]);
|
|
48
|
+
}, children: "\u6DFB\u52A0\u884C" }), _jsxs(Button, { size: 'sm', disabled: busy || !pending, onClick: onForward, children: ["\u8F6C\u53D1\u7BA1\u7406\u4EBA\u5458\uFF08", pending, "\uFF09"] })] })] })) : null] }));
|
|
49
|
+
}
|
|
50
|
+
export default function IncomingPage() {
|
|
51
|
+
const { t } = useTranslation(NAMESPACE);
|
|
52
|
+
const client = api(useApiClient());
|
|
53
|
+
const [actor, setActor] = useState(INCOMING_ROLES.registrar);
|
|
54
|
+
const [selected, setSelected] = useState();
|
|
55
|
+
const [values, setValues] = useState();
|
|
56
|
+
const [busy, setBusy] = useState(false);
|
|
57
|
+
const [error, setError] = useState('');
|
|
58
|
+
const [tick, setTick] = useState(0);
|
|
59
|
+
const config = useLoader(() => client.get('config'), 'config');
|
|
60
|
+
const records = useLoader(() => client.list('incoming'), `list:${tick}`);
|
|
61
|
+
const detailId = selected && selected !== 'new' ? selected : undefined;
|
|
62
|
+
const detail = useLoader(detailId
|
|
63
|
+
? () => client.get(`incoming/${detailId}`, actor)
|
|
64
|
+
: undefined, `${detailId}:${actor}:${tick}`);
|
|
65
|
+
const view = detail.data;
|
|
66
|
+
const editing = selected === 'new' ||
|
|
67
|
+
(view?.record.status === 'draft' && view.record.registrarId === actor);
|
|
68
|
+
const current = values ?? (selected === 'new' ? { distributionType: '' } : view?.record);
|
|
69
|
+
const dispatcher = view?.record.status === 'dispatching' && view.record.registrarId === actor;
|
|
70
|
+
function pick(id) {
|
|
71
|
+
setSelected(id);
|
|
72
|
+
setValues(undefined);
|
|
73
|
+
setError('');
|
|
74
|
+
}
|
|
75
|
+
async function act(work) {
|
|
76
|
+
setBusy(true);
|
|
77
|
+
setError('');
|
|
78
|
+
try {
|
|
79
|
+
await work();
|
|
80
|
+
setValues(undefined);
|
|
81
|
+
setTick((value) => value + 1);
|
|
82
|
+
}
|
|
83
|
+
catch (cause) {
|
|
84
|
+
setError(errorMessage(cause));
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
setBusy(false);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async function save() {
|
|
91
|
+
if (selected === 'new') {
|
|
92
|
+
const created = await client.post('incoming', {
|
|
93
|
+
actAs: actor,
|
|
94
|
+
values: pickEditable(current ?? {}, INCOMING_FIELDS),
|
|
95
|
+
});
|
|
96
|
+
setSelected(text(created.id));
|
|
97
|
+
return text(created.id);
|
|
98
|
+
}
|
|
99
|
+
await client.patch(`incoming/${text(selected)}`, {
|
|
100
|
+
actAs: actor,
|
|
101
|
+
values: pickEditable(current ?? {}, INCOMING_FIELDS),
|
|
102
|
+
});
|
|
103
|
+
return text(selected);
|
|
104
|
+
}
|
|
105
|
+
const fire = (transition, input = {}) => act(() => client.post(`incoming/${detailId}/fire`, {
|
|
106
|
+
actAs: actor,
|
|
107
|
+
transition,
|
|
108
|
+
input,
|
|
109
|
+
}));
|
|
110
|
+
return (_jsxs(PageContainer, { children: [_jsx(PageHeader, { title: t('incoming.title'), description: t('incoming.description'), actions: _jsx(PersonaSelect, { value: actor, onChange: setActor }) }), _jsxs("div", { className: 'grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,2fr)]', children: [_jsx(Section, { title: t('incoming.list'), actions: actor === INCOMING_ROLES.registrar ? (_jsx(Button, { size: 'sm', onClick: () => pick('new'), children: t('incoming.create') })) : null, children: _jsx(RecordList, { records: records.data ?? [], lifecycle: 'incoming', selected: selected, summarize: (record) => text(record.title || '(未填写标题)'), onSelect: pick, empty: t('common.empty') }) }), _jsx("div", { className: 'min-w-0 space-y-6', children: !selected ? (_jsx("p", { className: 'rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground', children: t('common.pick') })) : (_jsxs(_Fragment, { children: [_jsxs(Section, { title: selected === 'new'
|
|
111
|
+
? t('incoming.create')
|
|
112
|
+
: `${text(view?.record.number ?? '')} · ${text(view?.record.title ?? '')}`, actions: view ? (_jsx(Badge, { children: stateLabel('incoming', view.record.status) })) : null, children: [view ? _jsx(StateBar, { lifecycle: 'incoming', view: view }) : null, view?.record.returnReason && view.record.status === 'draft' ? (_jsxs("p", { className: 'text-sm text-destructive', children: ["\u9000\u56DE\u539F\u56E0\uFF1A", text(view.record.returnReason)] })) : null, current && editing ? (_jsx(IncomingEditor, { values: current, onChange: setValues })) : current ? (_jsx(IncomingSummary, { record: current })) : null, error || detail.error ? (_jsx("p", { role: 'alert', className: 'text-sm text-destructive', children: error || detail.error })) : null, _jsxs("div", { className: 'flex flex-wrap items-start gap-2', children: [editing ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outline', disabled: busy, onClick: () => void act(async () => void (await save())), children: t('common.save') }), _jsx(Button, { disabled: busy, onClick: () => void act(async () => {
|
|
113
|
+
const id = await save();
|
|
114
|
+
await client.post(`incoming/${id}/fire`, {
|
|
115
|
+
actAs: actor,
|
|
116
|
+
transition: 'submit',
|
|
117
|
+
input: {},
|
|
118
|
+
});
|
|
119
|
+
}), children: t('incoming.submit') })] })) : null, view ? (_jsx(Actions, { available: view.available, busy: busy, hidden: ['submit', 'dispatchClerks', 'forwardManagement'], needsReason: ['returnToRegistrar'], onFire: (transition, input) => void fire(transition, input) })) : null] })] }), view &&
|
|
120
|
+
['dispatching', 'closed'].includes(text(view.record.status)) ? (_jsxs(_Fragment, { children: [_jsxs(Section, { title: '\u529E\u4E8B\u4EBA\u5458\u4FE1\u606F', children: [_jsx("p", { className: 'text-xs text-muted-foreground', children: "\u9009\u90E8\u95E8\u540E\u52FE\u9009\u8981\u5E26\u5165\u7684\u4EBA\u5458\uFF0C\u6309\u90E8\u95E8\u914D\u7F6E\u5E26\u51FA\u3002\u6D3E\u53D1\u65F6\u540C\u4E00\u6284\u9001\u4EBA\u53EA\u6536\u5230\u4E00\u6B21\u63D0\u9192\uFF0C\u91CD\u65B0\u5BA1\u6279\u5206\u6D3E\u540E\u518D\u6D3E\u53D1\u4E5F\u4E0D\u4F1A\u91CD\u590D\u63D0\u9192\u3002" }), _jsx(RowsTable, { rows: view.rows, config: config.data, editable: Boolean(dispatcher), dispatchLabel: '\u6D3E\u53D1\u529E\u4E8B\u4EBA\u5458', busy: busy, onAdd: (row) => void act(() => client.post(`incoming/${detailId}/rows`, {
|
|
121
|
+
actAs: actor,
|
|
122
|
+
...row,
|
|
123
|
+
})), onRemove: (rowId) => void act(() => client.remove(`rows/${rowId}`, actor)), onDispatch: () => void fire('dispatchClerks') })] }), _jsx(Section, { title: '\u516C\u53F8\u7BA1\u7406\u5C42\u4FE1\u606F', children: _jsx(Management, { detail: view, config: config.data, editable: Boolean(dispatcher), busy: busy, onAdd: (row) => void act(() => client.post(`incoming/${detailId}/managementRows`, {
|
|
124
|
+
actAs: actor,
|
|
125
|
+
...row,
|
|
126
|
+
})), onRemove: (rowId) => void act(() => client.remove(`managementRows/${rowId}`, actor)), onForward: () => void fire('forwardManagement') }) }), _jsx(Section, { title: '\u5904\u7406\u5217\u8868', children: _jsx(Processing, { levels: view.processing }) })] })) : null, view ? (_jsxs(Section, { title: t('common.history'), children: [_jsx("p", { className: 'text-xs text-muted-foreground', children: "\u4E3B\u5355\u7559\u75D5\u5305\u62EC\u5404\u529E\u4E8B\u4EBA\u5458\u5B50\u5355\u7684\u4E8C\u6B21\u6D3E\u53D1\uFF08\u6267\u884C\u56E2\u961F\u3001\u5176\u4ED6\u90E8\u95E8\u534F\u52A9\uFF09\uFF1B\u5B50\u5B50\u5355\u7684\u53CD\u9988\u53EA\u7559\u5728\u5B50\u5355\u3002" }), _jsx(History, { lifecycle: 'incoming', view: view })] })) : null] })) })] })] }));
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=incoming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incoming.js","sourceRoot":"","sources":["../../../client/pages/incoming.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../client/pages/tasks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAkVpD,MAAM,CAAC,OAAO,UAAU,SAAS,IAAI,YAAY,CA4HhD"}
|