openxiangda 2.0.0-alpha.104 → 2.0.0-alpha.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +23 -20
  2. package/bin/run.js +1 -0
  3. package/dist/browser/components/resource/RecordDetailFrame.js +1 -1
  4. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  5. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  6. package/dist/browser/components/workflow/StandardWorkflowPages.js +25 -31
  7. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  8. package/dist/browser/record-detail.css +3 -2
  9. package/documentation/AGENTS.md +23 -0
  10. package/documentation/administration.md +27 -0
  11. package/documentation/application-foundation.md +162 -0
  12. package/documentation/appspec.md +92 -0
  13. package/documentation/backend.md +85 -0
  14. package/documentation/concepts.md +61 -0
  15. package/documentation/data-authz.md +58 -0
  16. package/documentation/delivery.md +72 -0
  17. package/documentation/development.md +28 -0
  18. package/documentation/field-components.md +204 -0
  19. package/documentation/frontend.md +269 -0
  20. package/documentation/getting-started.md +59 -0
  21. package/documentation/manifest.json +108 -0
  22. package/documentation/public-access.md +151 -0
  23. package/documentation/reference/cli.md +26 -0
  24. package/documentation/reference/mcp.md +548 -0
  25. package/documentation/testing.md +51 -0
  26. package/documentation/upgrading.md +19 -0
  27. package/documentation/workflow-events.md +181 -0
  28. package/package.json +9 -8
  29. package/skills/manifest.json +2 -2
  30. package/skills/openxiangda-v2/SKILL.md +39 -52
  31. package/skills/openxiangda-v2/agents/openai.yaml +2 -2
  32. package/skills/openxiangda-v2/references/administration.md +27 -0
  33. package/skills/openxiangda-v2/references/application-foundation.md +162 -0
  34. package/skills/openxiangda-v2/references/appspec.md +71 -46
  35. package/skills/openxiangda-v2/references/architecture.md +57 -5
  36. package/skills/openxiangda-v2/references/backend.md +58 -252
  37. package/skills/openxiangda-v2/references/commands.md +23 -19
  38. package/skills/openxiangda-v2/references/data-authz.md +33 -389
  39. package/skills/openxiangda-v2/references/delivery.md +72 -49
  40. package/skills/openxiangda-v2/references/discovery.md +24 -11
  41. package/skills/openxiangda-v2/references/field-components.md +204 -0
  42. package/skills/openxiangda-v2/references/frontend.md +254 -280
  43. package/skills/openxiangda-v2/references/getting-started.md +59 -0
  44. package/skills/openxiangda-v2/references/mcp.md +548 -0
  45. package/skills/openxiangda-v2/references/public-access.md +76 -84
  46. package/skills/openxiangda-v2/references/testing.md +33 -56
  47. package/skills/openxiangda-v2/references/upgrading.md +19 -0
  48. package/skills/openxiangda-v2/references/workflow-events.md +143 -300
  49. package/skills/openxiangda-v2/references/workspace.md +0 -64
package/README.md CHANGED
@@ -1,26 +1,29 @@
1
- # openxiangda
1
+ # OpenXiangda 2.0
2
2
 
3
- `openxiangda` is the only application-facing OpenXiangda 2.0 package. Use its
4
- stable subpaths instead of depending on physical implementation packages:
3
+ `openxiangda` 是应用开发统一安装的根包,提供 CLI、MCP、中文使用资料及同版本的 `openxiangda-v2` Skill。已有项目使用锁定版本;新项目使用明确的 2.0 版本。不要用未指定版本的全局命令判断项目行为。
5
4
 
6
- - `openxiangda/core`
7
- - `openxiangda/field-kit`
8
- - `openxiangda/react`
9
- - `openxiangda/nest`
10
- - `openxiangda/testing`
5
+ ```bash
6
+ pnpm openxiangda context --json
7
+ pnpm openxiangda docs
8
+ pnpm openxiangda docs getting-started
9
+ pnpm openxiangda skill install --workspace . --force
10
+ pnpm openxiangda dev
11
+ ```
11
12
 
12
- The package also owns the `openxiangda` CLI and the version-matched
13
- `openxiangda-v2` AI Skill distribution. OpenXiangda 1.x remains on the 1.x
14
- version line and is not a compatibility target for this package.
13
+ 应用导入统一子路径:
15
14
 
16
- ## Standard component UI
15
+ | 子路径 | 用途 |
16
+ | --- | --- |
17
+ | `openxiangda/config` | 模型、任务页、权限与应用声明 |
18
+ | `openxiangda/core` | 数据客户端与契约 |
19
+ | `openxiangda/react` | PC 页面、管理入口与标准组件 |
20
+ | `openxiangda/mobile` | 手机端组件 |
21
+ | `openxiangda/field-kit` | 字段、表单与详情 |
22
+ | `openxiangda/nest` | 按需启用的业务后端 |
23
+ | `openxiangda/testing` | 权限与业务测试辅助 |
17
24
 
18
- `OpenXiangdaApplication` includes the default Ant Design component styles, Chinese
19
- locale and contextual message/notification support. Standalone component consumers
20
- can wrap their content in `OpenXiangdaUiProvider`. Custom admin pages use
21
- `OpenXiangdaAdminPage`; business fields use `openxiangda/field-kit`.
25
+ 默认在本地运行 React,连接远端测试平台;标准 CRUD、审批和通知无需自建后端。`check` 是统一校验入口;`deploy` 已包含校验。生产通过 `deploy --environment production --from <test-deployment-id>` 复用成功测试版本。
22
26
 
23
- The platform has no appearance preferences or color configuration. Keep custom
24
- styles scoped to their components and use the library defaults. The application
25
- owns document resets. Mobile pages use `openxiangda/mobile` and its scoped
26
- stylesheet; do not import the upstream mobile root entry's document reset.
27
+ MCP 使用 `pnpm exec openxiangda --mcp-stdio --cwd <工作区绝对路径>`。先读取 workspace_context,再使用 docs_read 查询同版本中文正文。完整参数可运行 `pnpm openxiangda docs mcp`。
28
+
29
+ `OpenXiangdaApplication` 包含默认 Ant Design 样式、中文语言和消息上下文;独立组件可使用 `OpenXiangdaUiProvider`。管理页面使用 `OpenXiangdaAdminPage`,字段使用 Field Kit。自定义样式限制在组件内,应用负责全局重置;手机端只导入本包的局部样式,不引入上游移动库的全局重置。
package/bin/run.js CHANGED
@@ -9,6 +9,7 @@ const packageManifest = JSON.parse(
9
9
  );
10
10
  process.env.OPENXIANGDA_DISTRIBUTION_NAME = packageManifest.name;
11
11
  process.env.OPENXIANGDA_DISTRIBUTION_VERSION = packageManifest.version;
12
+ process.env.OPENXIANGDA_DOCUMENTATION_ROOT = join(packageRoot, 'documentation');
12
13
  const packagedSkills = join(packageRoot, 'skills');
13
14
  if (existsSync(packagedSkills)) {
14
15
  process.env.OPENXIANGDA_SKILLS_ROOT ||= packagedSkills;
@@ -16,7 +16,7 @@ export function RecordDetailFrame({ variant = 'desktop', title, heading, status,
16
16
  const fullScreen = drawerState?.fullScreen ?? localFullScreen;
17
17
  const setFullScreen = drawerState?.setFullScreen || setLocalFullScreen;
18
18
  const time = detailTime(updatedAt);
19
- const content = _jsxs("section", { className: `oxa-record-detail oxa-record-detail-${variant} ${drawer ? 'is-drawer' : 'is-page'} ${editing ? 'is-editing' : ''}`, "data-detail-frame": "standard", children: [_jsx("header", { className: "oxa-record-detail-header", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsxs("div", { className: "oxa-record-detail-heading", children: [!drawer && _jsx(Button, { type: "text", "aria-label": "\u8FD4\u56DE", icon: _jsx(ArrowLeftOutlined, {}), disabled: busy, onClick: onClose }), _jsx("h2", { children: editing ? '编辑数据' : title })] }), _jsxs(Space, { size: 4, children: [onEdit && !editing && _jsx(Button, { type: "link", onClick: onEdit, children: "\u7F16\u8F91" }), drawer && _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出全屏' : '全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }), drawer && newPageHref && !editing && _jsx(Tooltip, { title: "\u65B0\u5F00\u9875\u9762", children: _jsx(Button, { type: "text", "aria-label": "\u65B0\u5F00\u9875\u9762", icon: _jsx(ExportOutlined, {}), href: newPageHref, target: "_blank", rel: "noopener noreferrer" }) }), _jsx(Tooltip, { title: "\u5173\u95ED", children: _jsx(Button, { type: "text", "aria-label": "\u5173\u95ED", icon: _jsx(CloseOutlined, {}), disabled: busy, onClick: onClose }) })] })] }) }), _jsx("main", { className: "oxa-record-detail-body", children: _jsxs("div", { className: "oxa-record-detail-width", children: [heading && !editing && _jsxs("div", { className: "oxa-record-detail-hero", children: [_jsxs("div", { children: [_jsx("h1", { children: heading }), status] }), metadata && _jsx("div", { className: "oxa-record-detail-metadata", children: metadata })] }), editing || children] }) }), !editing && _jsx("footer", { className: "oxa-record-detail-footer", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsx("span", { className: "oxa-record-detail-updated", children: time ? `更新于 ${time}` : '' }), _jsx("div", { className: "oxa-record-detail-actions", children: footer || _jsxs(Space, { children: [_jsx(Button, { disabled: busy, onClick: onClose, children: "\u5173\u95ED" }), onEdit && _jsx(Button, { type: "primary", onClick: onEdit, children: "\u7F16\u8F91" })] }) })] }) })] });
19
+ const content = _jsxs("section", { className: `oxa-record-detail oxa-record-detail-${variant} ${drawer ? 'is-drawer' : 'is-page'} ${editing ? 'is-editing' : ''}`, "data-detail-frame": "standard", children: [_jsx("header", { className: "oxa-record-detail-header", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsxs("div", { className: "oxa-record-detail-heading", children: [!drawer && _jsx(Button, { type: "text", "aria-label": "\u8FD4\u56DE", icon: _jsx(ArrowLeftOutlined, {}), disabled: busy, onClick: onClose }), _jsx("h2", { children: editing ? '编辑数据' : title })] }), _jsxs(Space, { size: 4, children: [onEdit && !editing && _jsx(Button, { type: "link", onClick: onEdit, children: "\u7F16\u8F91" }), drawer && _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出全屏' : '全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }), drawer && newPageHref && !editing && _jsx(Tooltip, { title: "\u65B0\u5F00\u9875\u9762", children: _jsx(Button, { type: "text", "aria-label": "\u65B0\u5F00\u9875\u9762", icon: _jsx(ExportOutlined, {}), href: newPageHref, target: "_blank", rel: "noopener noreferrer" }) }), _jsx(Tooltip, { title: "\u5173\u95ED", children: _jsx(Button, { type: "text", "aria-label": "\u5173\u95ED", icon: _jsx(CloseOutlined, {}), disabled: busy, onClick: onClose }) })] })] }) }), _jsx("main", { className: "oxa-record-detail-body", children: _jsxs("div", { className: "oxa-record-detail-width", children: [heading && !editing && _jsxs("div", { className: "oxa-record-detail-hero", children: [_jsxs("div", { children: [_jsx("h1", { children: heading }), status] }), metadata && _jsx("div", { className: "oxa-record-detail-metadata", children: metadata })] }), editing || children] }) }), !editing && footer !== null && _jsx("footer", { className: "oxa-record-detail-footer", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsx("span", { className: "oxa-record-detail-updated", children: time ? `更新于 ${time}` : '' }), _jsx("div", { className: "oxa-record-detail-actions", children: footer || _jsxs(Space, { children: [_jsx(Button, { disabled: busy, onClick: onClose, children: "\u5173\u95ED" }), onEdit && _jsx(Button, { type: "primary", onClick: onEdit, children: "\u7F16\u8F91" })] }) })] }) })] });
20
20
  return drawer ? _jsx(Drawer, { open: true, "aria-label": editing ? '编辑数据' : title, rootClassName: "oxa-resource-drawer oxa-record-detail-drawer", size: fullScreen ? '100vw' : 'min(850px, calc(100vw - 48px))', styles: { body: { padding: 0, overflow: 'hidden' } }, closable: false, keyboard: !busy, mask: { closable: !busy }, onClose: onClose, children: content }) : content;
21
21
  }
22
22
  export function RecordDetailSections({ groups, renderValue }) {
@@ -1 +1 @@
1
- {"version":3,"file":"RecordDetailFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordDetailFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StandardWorkflowPages.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/StandardWorkflowPages.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandardWorkflowPages.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/StandardWorkflowPages.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { ArrowLeftOutlined, ClockCircleOutlined, CheckCircleOutlined, CloseCircleOutlined, EllipsisOutlined, ReloadOutlined, CloseOutlined, ExpandOutlined, CompressOutlined, ExportOutlined, } from '@ant-design/icons';
2
+ import { ArrowLeftOutlined, ClockCircleOutlined, EllipsisOutlined, ReloadOutlined, CloseOutlined, ExpandOutlined, CompressOutlined, ExportOutlined, } from '@ant-design/icons';
3
3
  import { Alert, App, Button, Card, Drawer, Empty, Form, Input, Modal, Result, Segmented, Select, Space, Spin, Table, Tabs, Tag, Tooltip, Typography, } from 'antd';
4
4
  import { normalizeWorkflowBusinessDetail, } from 'openxiangda-contracts/browser';
5
5
  import { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
6
6
  import { Link, Navigate, useHref, useNavigate, useParams, useSearchParams, } from 'react-router-dom';
7
7
  import { Shell } from '../../Shell';
8
- import { executeWorkflowOperation, executeWorkflowLaunchNamedOperation, loadWorkflowInstanceDetail, loadWorkflowRecordDetail, loadWorkflowDataAudit, loadWorkflowInstanceSurface, loadWorkflowLaunchSurface, loadWorkflowTaskSurface, loadWorkflowTaskDetail, loadWorkflowWorkCenter, answerBusinessProcessCommand, commitStandardProcess, createNativeResourceClient, loadProcessCommandSurface, retryBusinessProcessCommand, searchDirectory, uploadOperationManagedFile, } from '../../platform-client';
8
+ import { PlatformDirectoryPicker } from '../platform-fields/PlatformDirectoryPicker';
9
+ import { directoryStoredValues } from '../platform-fields/directory-value';
10
+ import { executeWorkflowOperation, executeWorkflowLaunchNamedOperation, loadWorkflowInstanceDetail, loadWorkflowRecordDetail, loadWorkflowDataAudit, loadWorkflowInstanceSurface, loadWorkflowLaunchSurface, loadWorkflowTaskSurface, loadWorkflowTaskDetail, loadWorkflowWorkCenter, answerBusinessProcessCommand, commitStandardProcess, createNativeResourceClient, loadProcessCommandSurface, retryBusinessProcessCommand, uploadOperationManagedFile, } from '../../platform-client';
9
11
  import { useWorkflowDefinition, } from '../../workflow-definitions';
10
12
  import { useResourceDefinitions } from '../../resource-definitions';
11
13
  import { selectedSurfaceFields } from '../resource/resource-field-selection';
@@ -75,6 +77,9 @@ function workflowStatus(status) {
75
77
  };
76
78
  return states[status] || { label: status || '未知', color: 'default' };
77
79
  }
80
+ function workflowHasEnded(instance) {
81
+ return ['completed', 'approved', 'rejected', 'withdrawn', 'terminated', 'cancelled', 'expired'].includes(instance.status);
82
+ }
78
83
  function StatusTag({ status }) {
79
84
  const state = workflowStatus(status);
80
85
  return _jsx(Tag, { color: state.color, children: state.label });
@@ -302,28 +307,15 @@ export function WorkflowTimelineSection({ timeline, }) {
302
307
  return (_jsxs("div", { className: timelineTone(item.status), children: [_jsx("span", { className: "oxa-workflow-timeline-dot", children: _jsx(WorkflowStatusIcon, { status: item.status }) }), _jsxs("div", { children: [_jsxs("div", { className: "oxa-workflow-timeline-title", children: [_jsx("strong", { children: item.title }), _jsx(StatusTag, { status: item.status })] }), visiblePeople.length > 0 && (_jsx("div", { className: "oxa-workflow-timeline-assignees", children: visiblePeople.map((person, index) => (_jsxs("div", { children: [_jsx(PlatformAvatar, { avatarUrl: person.avatarUrl, size: 20 }), _jsxs("span", { children: [_jsx(Typography.Text, { children: person.displayName }), person.departmentDisplayName && (_jsx("small", { children: person.departmentDisplayName }))] })] }, `${person.userId || person.displayName}:${index}`))) })), operations.length > 0 && (_jsx("div", { className: "oxa-workflow-timeline-operations", children: operations.map((operation) => (_jsxs("div", { children: [_jsx(PlatformAvatar, { avatarUrl: operation.actor.avatarUrl, size: 20 }), _jsxs("span", { className: "oxa-workflow-operation-content", children: [_jsxs("span", { children: [_jsx(Typography.Text, { children: operation.actor.displayName }), _jsx("strong", { children: operation.operationLabel })] }), operation.reason && (_jsxs("span", { className: "oxa-workflow-operation-opinion", children: [_jsx(Typography.Text, { type: "secondary", children: "\u610F\u89C1" }), _jsx(Typography.Text, { children: operation.reason })] }))] })] }, operation.id))) })), item.terminalReason && !operations.some(operation => operation.reason) && (_jsxs(Typography.Text, { type: "secondary", children: ["\u539F\u56E0\uFF1A", item.terminalReason] })), item.primaryDisplayTime && (_jsx("time", { className: "oxa-workflow-primary-time", children: formatTime(item.primaryDisplayTime) }))] })] }, item.key));
303
308
  }) })) : (_jsx(Empty, { description: "\u6682\u65E0\u6D41\u7A0B\u8F68\u8FF9", image: Empty.PRESENTED_IMAGE_SIMPLE })) }));
304
309
  }
305
- function WorkflowUserSelect({ id, placeholder, value, onChange, multiple = false, maxCount, }) {
306
- const [options, setOptions] = useState([]);
307
- const [loading, setLoading] = useState(false);
308
- const sequence = useRef(0);
309
- useEffect(() => () => { sequence.current += 1; }, []);
310
- const search = (keyword) => {
311
- const current = ++sequence.current;
312
- setLoading(true);
313
- void searchDirectory('user', { keyword })
314
- .then((page) => {
315
- if (current !== sequence.current)
316
- return;
317
- setOptions(page.items.map((item) => ({ label: item.label, value: item.id })));
318
- })
319
- .catch(() => { if (current === sequence.current)
320
- setOptions([]); })
321
- .finally(() => {
322
- if (current === sequence.current)
323
- setLoading(false);
324
- });
325
- };
326
- return (_jsx(Select, { id: id, mode: multiple ? 'multiple' : undefined, maxCount: maxCount, filterOption: false, loading: loading, onChange: onChange, onSearch: search, options: options, placeholder: placeholder || '搜索并选择人员', showSearch: true, value: value }));
310
+ function WorkflowMemberPicker({ id, placeholder, value, onChange, multiple = false, variant }) {
311
+ const [snapshots, setSnapshots] = useState([]);
312
+ const ids = Array.isArray(value) ? value : value ? [value] : [];
313
+ const selected = ids.map(id => snapshots.find(item => item.value === id) || { value: id, label: '已选成员' });
314
+ return _jsx(PlatformDirectoryPicker, { id: id, kind: "user", mobile: variant === 'mobile', multiple: multiple, placeholder: placeholder || '请选择成员', value: multiple ? selected : selected[0], onChange: next => {
315
+ const items = directoryStoredValues(next);
316
+ setSnapshots(items);
317
+ onChange?.(multiple ? items.map(item => item.value) : items[0]?.value);
318
+ } });
327
319
  }
328
320
  function schemaProperties(operation) {
329
321
  const schema = operation.inputSchema;
@@ -335,7 +327,7 @@ function schemaProperties(operation) {
335
327
  required: schema.required?.includes(key) === true,
336
328
  }));
337
329
  }
338
- function OperationFields({ operation, }) {
330
+ function OperationFields({ operation, variant, }) {
339
331
  return (_jsx(_Fragment, { children: schemaProperties(operation).map(({ key, property, required, ui }) => {
340
332
  const rules = [
341
333
  ...(required ? [{ required: true, message: `请填写${property.title || key}` }] : []),
@@ -349,7 +341,7 @@ function OperationFields({ operation, }) {
349
341
  ];
350
342
  let control = _jsx(Input, { placeholder: ui.placeholder });
351
343
  if (ui.component === 'user_select')
352
- control = _jsx(WorkflowUserSelect, { multiple: property.type === 'array' || ui.mode === 'multiple', maxCount: property.maxItems, placeholder: ui.placeholder });
344
+ control = _jsx(WorkflowMemberPicker, { variant: variant, multiple: property.type === 'array' || ui.mode === 'multiple', placeholder: ui.placeholder || `请选择${property.title || '成员'}` });
353
345
  else if (property.enum) {
354
346
  control = (_jsx(Select, { options: property.enum.map((value, index) => ({
355
347
  label: property.enumNames?.[index] || value,
@@ -373,9 +365,9 @@ function OperationDialog({ operation, submitting, variant, onCancel, onSubmit, }
373
365
  if (!operation)
374
366
  return null;
375
367
  const ui = operation.uiSchema;
376
- const formNode = (_jsxs(Form, { form: form, layout: "vertical", onFinish: onSubmit, children: [ui.confirmation?.description && (_jsx(Alert, { className: "oxa-workflow-operation-alert", description: ui.confirmation.description, showIcon: true, type: operation.emphasis === 'danger' ? 'warning' : 'info' })), _jsx(OperationFields, { operation: operation })] }));
368
+ const formNode = (_jsxs(Form, { form: form, layout: "vertical", onFinish: onSubmit, children: [ui.confirmation?.description && (_jsx(Alert, { className: "oxa-workflow-operation-alert", description: ui.confirmation.description, showIcon: true, type: operation.emphasis === 'danger' ? 'warning' : 'info' })), _jsx(OperationFields, { operation: operation, variant: variant })] }));
377
369
  if (variant === 'mobile') {
378
- return (_jsx(Drawer, { extra: _jsx(Button, { loading: submitting, onClick: () => form.submit(), type: "primary", children: ui.confirmText || `确认${operation.label}` }), onClose: onCancel, open: true, placement: "bottom", size: "large", title: operation.label, children: formNode }));
370
+ return (_jsx(Drawer, { extra: _jsx(Button, { loading: submitting, onClick: () => form.submit(), type: "primary", children: ui.confirmText || `确认${operation.label}` }), rootClassName: "oxa-workflow-operation-drawer", styles: { body: { overflowY: 'auto', minHeight: 0 } }, keyboard: !submitting, mask: { closable: !submitting }, closable: !submitting, onClose: submitting ? undefined : onCancel, open: true, placement: "bottom", size: "min(640px, 92dvh)", title: operation.label, children: formNode }));
379
371
  }
380
372
  return (_jsx(Modal, { cancelText: "\u53D6\u6D88", confirmLoading: submitting, okText: ui.confirmText || `确认${operation.label}`, onCancel: onCancel, onOk: () => form.submit(), open: true, title: operation.label, children: formNode }));
381
373
  }
@@ -734,11 +726,13 @@ function StandardWorkflowDetailRenderer({ surface, timeline, warning, operations
734
726
  const activeNode = timeline?.display?.entries.find(entry => entry.status === 'active');
735
727
  const people = activeNode?.people.map(person => person.displayName).filter(Boolean).join('、');
736
728
  const statusTone = workflowStatus(instance.status).color;
737
- const bannerTone = statusTone === 'success' ? 'success' : statusTone === 'error' ? 'error' : activeNode ? 'active' : 'neutral';
729
+ const bannerTone = statusTone === 'error' ? 'error' : 'active';
730
+ const edit = workflowHasEnded(instance) ? onEdit : undefined;
731
+ const hasActions = standardWorkflowOperations(surface).length > 0;
738
732
  const loadAudit = useCallback(() => loadWorkflowDataAudit(instance.id), [instance.id]);
739
733
  const back = onClose || (() => navigate(variant === 'mobile' ? '/m/work-center' : '/work-center'));
740
734
  return _jsxs(RecordDetailFrame, { variant: variant, title: "\u7533\u8BF7\u8BE6\u60C5", heading: title, status: _jsx(StatusTag, { status: instance.status }), metadata: [summary.initiator?.displayName || summary.initiatorDisplayName, summary.initiator?.departmentDisplayName || summary.departmentDisplayName,
741
- summary.submittedAt ? `${detailTime(summary.submittedAt)} 创建` : ''].filter(Boolean).join(' · '), updatedAt: business.record.updated_at || instance.completedAt || instance.startedAt, onClose: back, onEdit: onEdit, editing: editing, busy: busy, drawer: drawer, drawerState: drawerState, newPageHref: newPageHref, footer: _jsxs(_Fragment, { children: [operations, _jsx(Button, { onClick: back, children: "\u5173\u95ED" }), onEdit && _jsx(Button, { onClick: onEdit, children: "\u7F16\u8F91" })] }), children: [warning && _jsx(Alert, { description: warning, showIcon: true, type: "warning" }), _jsxs("div", { className: `oxa-workflow-current-node is-${bannerTone}`, role: "status", children: [_jsxs("span", { children: [bannerTone === 'success' ? _jsx(CheckCircleOutlined, {}) : bannerTone === 'error' ? _jsx(CloseCircleOutlined, {}) : _jsx(ClockCircleOutlined, {}), activeNode ? `当前节点:${activeNode.title}` : workflowStatus(instance.status).label] }), people && _jsxs("span", { children: ["\u7B49\u5F85", people, "\u5904\u7406"] })] }), _jsx(Tabs, { activeKey: tab, onChange: setTab, items: [
735
+ summary.submittedAt ? `${detailTime(summary.submittedAt)} 创建` : ''].filter(Boolean).join(' · '), updatedAt: business.record.updated_at || instance.completedAt || instance.startedAt, onClose: back, onEdit: edit, editing: editing, busy: busy, drawer: drawer, drawerState: drawerState, newPageHref: newPageHref, footer: hasActions || edit ? _jsxs(_Fragment, { children: [operations, edit && _jsx(Button, { onClick: edit, children: "\u7F16\u8F91" })] }) : null, children: [warning && _jsx(Alert, { description: warning, showIcon: true, type: "warning" }), !workflowHasEnded(instance) && activeNode && _jsxs("div", { className: `oxa-workflow-current-node is-${bannerTone}`, role: "status", children: [_jsxs("span", { children: [_jsx(ClockCircleOutlined, {}), "\u5F53\u524D\u8282\u70B9\uFF1A", activeNode.title] }), people && _jsxs("span", { children: ["\u7B49\u5F85", people, "\u5904\u7406"] })] }), _jsx(Tabs, { activeKey: tab, onChange: setTab, items: [
742
736
  { key: 'application', label: '申请内容', children: _jsx(WorkflowBusinessDetailSections, { surface: surface, variant: variant }) },
743
737
  { key: 'history', label: '审批历史', children: _jsx(WorkflowTimelineSection, { timeline: timeline }) },
744
738
  { key: 'changes', label: '变更记录', children: tab === 'changes' && business.surface && business.resourceCode && business.recordId
@@ -852,7 +846,7 @@ function WorkflowDetailPage({ kind, variant, resourceCode, recordId, onDismiss,
852
846
  ? _jsx(WorkflowTaskOperationsPanel, { onCommandCompleted: onCommandCompleted, surface: surface, taskId: task.id, variant: variant }, task.id)
853
847
  : _jsx(WorkflowInstanceOperationsPanel, { instanceId: instance.id, onCommandCompleted: onCommandCompleted, surface: surface, variant: variant });
854
848
  return _jsx(StandardWorkflowDetailRenderer, { surface: surface, timeline: timeline, warning: error, operations: operations, variant: variant, drawer: Boolean(onDismiss), drawerState: drawerState, newPageHref: newPageHref, onClose: editing ? () => { if (!editBusy)
855
- setEditing(false); } : close, busy: editBusy, editing: editing && business?.resourceCode && business.recordId ? _jsx(WorkflowRecordEditor, { resourceCode: business.resourceCode, recordId: business.recordId, variant: variant, presentation: "embedded", onBusyChange: setEditBusy, onDismiss: () => setEditing(false), onSaved: () => { setEditing(false); void refresh(); } }) : undefined, onEdit: identity.isAppSuperAdmin && (business?.status === 'ready' || business?.status === 'stale') ? () => setEditing(true) : undefined });
849
+ setEditing(false); } : close, busy: editBusy, editing: editing && business?.resourceCode && business.recordId ? _jsx(WorkflowRecordEditor, { resourceCode: business.resourceCode, recordId: business.recordId, variant: variant, presentation: "embedded", onBusyChange: setEditBusy, onDismiss: () => setEditing(false), onSaved: () => { setEditing(false); void refresh(); } }) : undefined, onEdit: workflowHasEnded(instance) && identity.isAppSuperAdmin && (business?.status === 'ready' || business?.status === 'stale') ? () => setEditing(true) : undefined });
856
850
  }
857
851
  export function WorkflowRecordDetailPage({ variant = 'desktop', ...props }) { return _jsx(WorkflowDetailPage, { ...props, variant: variant, kind: "record" }); }
858
852
  export function WorkflowTaskPage({ variant = 'desktop', }) {