@rytass/bpm-core-react 0.13.5 → 0.15.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 +97 -0
- package/dist/chunks/FormBuilderView-6bCbIkz6.cjs +3 -0
- package/dist/chunks/FormBuilderView-6bCbIkz6.cjs.map +1 -0
- package/dist/chunks/{FormBuilderView-BYLN6W-P.js → FormBuilderView-CLg-JYmu.js} +495 -452
- package/dist/chunks/FormBuilderView-CLg-JYmu.js.map +1 -0
- package/dist/chunks/FormRendererView-DU9LLrOF.js +999 -0
- package/dist/chunks/FormRendererView-DU9LLrOF.js.map +1 -0
- package/dist/chunks/FormRendererView-gctFIqwC.cjs +4 -0
- package/dist/chunks/FormRendererView-gctFIqwC.cjs.map +1 -0
- package/dist/chunks/{compose-6P64PO1i.js → compose-BtQPBd1Q.js} +6 -5
- package/dist/chunks/compose-BtQPBd1Q.js.map +1 -0
- package/dist/chunks/compose-DZhTQOt4.cjs +2 -0
- package/dist/chunks/compose-DZhTQOt4.cjs.map +1 -0
- package/dist/chunks/{designer-C3s2kSna.js → designer-CrbBRPUU.js} +1382 -1199
- package/dist/chunks/designer-CrbBRPUU.js.map +1 -0
- package/dist/chunks/designer-D3_lWmfa.cjs +65 -0
- package/dist/chunks/designer-D3_lWmfa.cjs.map +1 -0
- package/dist/chunks/detail-CVXb5Vy8.cjs +2 -0
- package/dist/chunks/detail-CVXb5Vy8.cjs.map +1 -0
- package/dist/chunks/{detail-pYEIk-jW.js → detail-_c21WQla.js} +862 -815
- package/dist/chunks/detail-_c21WQla.js.map +1 -0
- package/dist/chunks/routes-config-C1j_vFKo.cjs.map +1 -1
- package/dist/chunks/routes-config-yZbESPlw.js.map +1 -1
- package/dist/chunks/task-node-label-BF6UllxP.cjs +2 -0
- package/dist/chunks/task-node-label-BF6UllxP.cjs.map +1 -0
- package/dist/chunks/task-node-label-CWZgOBj0.js +9 -0
- package/dist/chunks/task-node-label-CWZgOBj0.js.map +1 -0
- package/dist/lib/member-profile-resolution.d.ts +48 -0
- package/dist/lib/routes-config.d.ts +1 -1
- package/dist/lib/task-node-label.d.ts +10 -0
- package/dist/pages/instances/detail/index.cjs +1 -1
- package/dist/pages/instances/detail/index.js +1 -1
- package/dist/pages/templates/compose/index.cjs +1 -1
- package/dist/pages/templates/compose/index.js +1 -1
- package/dist/pages/templates/designer/index.cjs +1 -1
- package/dist/pages/templates/designer/index.js +1 -1
- package/dist/views/forms/builder/index.cjs +1 -1
- package/dist/views/forms/builder/index.js +1 -1
- package/dist/views/forms/renderer/form-field-link.d.ts +16 -0
- package/dist/views/forms/renderer/index.cjs +1 -1
- package/dist/views/forms/renderer/index.js +2 -2
- package/dist/views/forms/renderer/member-field-options.d.ts +39 -0
- package/dist/views/forms/renderer/member-field.d.ts +21 -0
- package/dist/views/inbox/index.cjs +1 -1
- package/dist/views/inbox/index.cjs.map +1 -1
- package/dist/views/inbox/index.js +100 -97
- package/dist/views/inbox/index.js.map +1 -1
- package/dist/views/instances/detail/index.cjs +1 -1
- package/dist/views/instances/detail/index.js +1 -1
- package/dist/views/instances/detail/sections/container-helpers.d.ts +3 -2
- package/dist/views/instances/detail/sections/shared.d.ts +5 -0
- package/dist/views/instances/detail/submitted-by.d.ts +23 -0
- package/dist/views/instances/new/index.cjs +1 -1
- package/dist/views/instances/new/index.js +1 -1
- package/dist/views/sent/SentView.d.ts +1 -1
- package/dist/views/sent/index.cjs +1 -1
- package/dist/views/sent/index.cjs.map +1 -1
- package/dist/views/sent/index.js +2 -2
- package/dist/views/sent/index.js.map +1 -1
- package/dist/views/templates/compose/index.cjs +1 -1
- package/dist/views/templates/compose/index.js +1 -1
- package/dist/views/templates/designer/decision-policy-options.d.ts +8 -0
- package/dist/views/templates/designer/designer-version-labels.d.ts +12 -0
- package/dist/views/templates/designer/dry-run-assignee-label.d.ts +28 -0
- package/dist/views/templates/designer/dry-run-sample-data.d.ts +9 -0
- package/dist/views/templates/designer/dynamic-form-resolver-options.d.ts +35 -0
- package/dist/views/templates/designer/index.cjs +1 -1
- package/dist/views/templates/designer/index.js +1 -1
- package/dist/views/templates/designer/position-level-options.d.ts +17 -0
- package/package.json +3 -3
- package/dist/chunks/FormBuilderView-BYLN6W-P.js.map +0 -1
- package/dist/chunks/FormBuilderView-VmdPVbg7.cjs +0 -3
- package/dist/chunks/FormBuilderView-VmdPVbg7.cjs.map +0 -1
- package/dist/chunks/FormRendererView-Bs8lTb4k.cjs +0 -2
- package/dist/chunks/FormRendererView-Bs8lTb4k.cjs.map +0 -1
- package/dist/chunks/FormRendererView-UPowZZgw.js +0 -798
- package/dist/chunks/FormRendererView-UPowZZgw.js.map +0 -1
- package/dist/chunks/compose-6P64PO1i.js.map +0 -1
- package/dist/chunks/compose-BnSRL4ml.cjs +0 -2
- package/dist/chunks/compose-BnSRL4ml.cjs.map +0 -1
- package/dist/chunks/designer-C3s2kSna.js.map +0 -1
- package/dist/chunks/designer-_g58R6rQ.cjs +0 -65
- package/dist/chunks/designer-_g58R6rQ.cjs.map +0 -1
- package/dist/chunks/detail-Db-UOELp.cjs +0 -2
- package/dist/chunks/detail-Db-UOELp.cjs.map +0 -1
- package/dist/chunks/detail-pYEIk-jW.js.map +0 -1
|
@@ -3,20 +3,21 @@ import { n as e } from "./auth-provider-B5oPmvk2.js";
|
|
|
3
3
|
import { t } from "./format-date-time-CB-LxzqT.js";
|
|
4
4
|
import { t as n } from "./bpm-form-field-Cao0rMol.js";
|
|
5
5
|
import { t as r } from "./use-bpm-member-D57LKe_u.js";
|
|
6
|
-
import {
|
|
6
|
+
import { t as i } from "./task-node-label-CWZgOBj0.js";
|
|
7
|
+
import { o as a, t as o } from "./FormRendererView-DU9LLrOF.js";
|
|
7
8
|
import '../style.css';import '../detail.css';/* empty css */
|
|
8
|
-
import { Fragment as
|
|
9
|
-
import { AutoComplete as
|
|
10
|
-
import { Fragment as
|
|
11
|
-
import { cancelAdhocDirective as
|
|
12
|
-
import
|
|
13
|
-
import { CheckedIcon as
|
|
14
|
-
import { buildFormRendererValues as
|
|
15
|
-
import { Background as
|
|
16
|
-
import * as
|
|
17
|
-
import { Document as
|
|
18
|
-
import { stepClasses as
|
|
19
|
-
var
|
|
9
|
+
import { Fragment as s, forwardRef as c, useCallback as l, useEffect as u, useImperativeHandle as d, useMemo as f, useRef as p, useState as m } from "react";
|
|
10
|
+
import { AutoComplete as ee, Badge as h, Button as g, Input as te, Modal as _, PageHeader as v, Section as y, SectionGroup as ne, Select as b, Stepper as x, Table as re, Textarea as ie, Tooltip as ae, Typography as S } from "@mezzanine-ui/react";
|
|
11
|
+
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
12
|
+
import { cancelAdhocDirective as E, cancelApprovalInstance as oe, configureAdhocCompletionNotification as se, configureAdhocStageNotification as ce, decideTask as le, listAdhocDirectives as ue, listAttachments as de, listTaskDecisions as fe, listWorkflowWebhookDeliveries as pe, readApprovalInstance as me, readAttachmentDownloadUrl as he, readAttachmentPreviewUrl as ge, readInstanceSignatures as _e, requestAdhocCountersign as ve, requestAdhocPreApproval as ye, resolveMemberProfiles as be, resubmitApprovalInstance as xe, retryWorkflowWebhookDelivery as Se, searchMembers as Ce, uploadAttachment as we } from "@rytass/bpm-core-client/workflow";
|
|
13
|
+
import Te from "@mezzanine-ui/react/ContentHeader";
|
|
14
|
+
import { CheckedIcon as Ee, ChevronLeftIcon as D, ChevronRightIcon as De, DangerousOutlineIcon as Oe, DownloadIcon as ke, FileSearchIcon as O, NotificationUnreadIcon as Ae, PlusIcon as je, RefreshCcwIcon as Me, ResetIcon as Ne, ShareIcon as Pe, UserIcon as Fe, ZoomInIcon as Ie, ZoomOutIcon as Le } from "@mezzanine-ui/icons";
|
|
15
|
+
import { buildFormRendererValues as Re, focusFormRendererField as ze, readFormDataSourceErrorMessage as Be, validateFormRendererValues as Ve } from "@rytass/bpm-core-client/form";
|
|
16
|
+
import { Background as k, Controls as He, Handle as Ue, Position as A, ReactFlow as We } from "@xyflow/react";
|
|
17
|
+
import * as j from "dagre";
|
|
18
|
+
import { Document as Ge, Page as Ke } from "react-pdf";
|
|
19
|
+
import { stepClasses as M } from "@mezzanine-ui/core/stepper";
|
|
20
|
+
var N = {
|
|
20
21
|
root: "bpm_root_ehm7w",
|
|
21
22
|
toolbar: "bpm_toolbar_R-tis",
|
|
22
23
|
pageControls: "bpm_pageControls_jM-rC",
|
|
@@ -25,56 +26,56 @@ var P = {
|
|
|
25
26
|
viewport: "bpm_viewport_DQXms",
|
|
26
27
|
page: "bpm_page_Cv5Rg",
|
|
27
28
|
state: "bpm_state_bpgp3"
|
|
28
|
-
},
|
|
29
|
-
function
|
|
30
|
-
let r =
|
|
31
|
-
|
|
29
|
+
}, qe = 760, Je = 920, Ye = 320, P = 32, F = .75, I = 1.75, Xe = .25;
|
|
30
|
+
function Ze({ filename: e, fileUrl: t, onDownload: n }) {
|
|
31
|
+
let r = p(null), [i, a] = m(null), [o, s] = m(1), [c, d] = m(1), [ee, h] = m(qe);
|
|
32
|
+
u(() => {
|
|
32
33
|
let e = r.current;
|
|
33
34
|
if (!e || typeof ResizeObserver > "u") return;
|
|
34
35
|
let t = new ResizeObserver((e) => {
|
|
35
36
|
let t = e[0]?.contentRect.width;
|
|
36
|
-
t &&
|
|
37
|
+
t && h(t);
|
|
37
38
|
});
|
|
38
39
|
return t.observe(e), () => t.disconnect();
|
|
39
|
-
}, []),
|
|
40
|
-
a(null), s(1),
|
|
40
|
+
}, []), u(() => {
|
|
41
|
+
a(null), s(1), d(1);
|
|
41
42
|
}, [t]);
|
|
42
|
-
let
|
|
43
|
-
let e = Math.max(
|
|
44
|
-
return Math.round(Math.min(
|
|
45
|
-
}, [
|
|
43
|
+
let te = f(() => {
|
|
44
|
+
let e = Math.max(Ye, ee - P);
|
|
45
|
+
return Math.round(Math.min(Je, e) * c);
|
|
46
|
+
}, [c, ee]), _ = l((e) => {
|
|
46
47
|
a(e.numPages), s(1);
|
|
47
|
-
}, []),
|
|
48
|
-
return /* @__PURE__ */
|
|
48
|
+
}, []), v = o > 1, y = i !== null && o < i, ne = c > F, b = c < I, x = i === null ? `第 ${o} 頁` : `第 ${o} / ${i} 頁`, re = `${Math.round(c * 100)}%`;
|
|
49
|
+
return /* @__PURE__ */ T("section", {
|
|
49
50
|
"aria-label": `${e} PDF 預覽`,
|
|
50
|
-
className:
|
|
51
|
-
children: [/* @__PURE__ */
|
|
52
|
-
className:
|
|
51
|
+
className: N.root,
|
|
52
|
+
children: [/* @__PURE__ */ T("div", {
|
|
53
|
+
className: N.toolbar,
|
|
53
54
|
children: [
|
|
54
|
-
/* @__PURE__ */
|
|
55
|
-
className:
|
|
55
|
+
/* @__PURE__ */ T("div", {
|
|
56
|
+
className: N.pageControls,
|
|
56
57
|
"aria-label": "頁面切換",
|
|
57
58
|
children: [
|
|
58
|
-
/* @__PURE__ */
|
|
59
|
+
/* @__PURE__ */ w(g, {
|
|
59
60
|
"aria-label": "上一頁",
|
|
60
|
-
disabled: !
|
|
61
|
-
icon:
|
|
61
|
+
disabled: !v,
|
|
62
|
+
icon: D,
|
|
62
63
|
onClick: () => {
|
|
63
64
|
s((e) => Math.max(1, e - 1));
|
|
64
65
|
},
|
|
65
66
|
size: "minor",
|
|
66
67
|
variant: "base-secondary"
|
|
67
68
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
className:
|
|
69
|
+
/* @__PURE__ */ w(S, {
|
|
70
|
+
className: N.counter,
|
|
70
71
|
component: "span",
|
|
71
72
|
variant: "body",
|
|
72
|
-
children:
|
|
73
|
+
children: x
|
|
73
74
|
}),
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ w(g, {
|
|
75
76
|
"aria-label": "下一頁",
|
|
76
|
-
disabled: !
|
|
77
|
-
icon:
|
|
77
|
+
disabled: !y,
|
|
78
|
+
icon: De,
|
|
78
79
|
onClick: () => {
|
|
79
80
|
s((e) => i === null ? e : Math.min(i, e + 1));
|
|
80
81
|
},
|
|
@@ -83,40 +84,40 @@ function Je({ filename: e, fileUrl: t, onDownload: n }) {
|
|
|
83
84
|
})
|
|
84
85
|
]
|
|
85
86
|
}),
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
className:
|
|
87
|
+
/* @__PURE__ */ T("div", {
|
|
88
|
+
className: N.zoomControls,
|
|
88
89
|
"aria-label": "縮放",
|
|
89
90
|
children: [
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
+
/* @__PURE__ */ w(g, {
|
|
91
92
|
"aria-label": "縮小",
|
|
92
|
-
disabled: !
|
|
93
|
-
icon:
|
|
93
|
+
disabled: !ne,
|
|
94
|
+
icon: Le,
|
|
94
95
|
onClick: () => {
|
|
95
|
-
|
|
96
|
+
d((e) => Math.max(F, e - Xe));
|
|
96
97
|
},
|
|
97
98
|
size: "minor",
|
|
98
99
|
variant: "base-secondary"
|
|
99
100
|
}),
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
className:
|
|
101
|
+
/* @__PURE__ */ w(S, {
|
|
102
|
+
className: N.counter,
|
|
102
103
|
component: "span",
|
|
103
104
|
variant: "body",
|
|
104
|
-
children:
|
|
105
|
+
children: re
|
|
105
106
|
}),
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ w(g, {
|
|
107
108
|
"aria-label": "放大",
|
|
108
|
-
disabled: !
|
|
109
|
-
icon:
|
|
109
|
+
disabled: !b,
|
|
110
|
+
icon: Ie,
|
|
110
111
|
onClick: () => {
|
|
111
|
-
|
|
112
|
+
d((e) => Math.min(I, e + Xe));
|
|
112
113
|
},
|
|
113
114
|
size: "minor",
|
|
114
115
|
variant: "base-secondary"
|
|
115
116
|
})
|
|
116
117
|
]
|
|
117
118
|
}),
|
|
118
|
-
n ? /* @__PURE__ */
|
|
119
|
-
icon:
|
|
119
|
+
n ? /* @__PURE__ */ w(g, {
|
|
120
|
+
icon: ke,
|
|
120
121
|
iconType: "leading",
|
|
121
122
|
onClick: n,
|
|
122
123
|
size: "minor",
|
|
@@ -124,31 +125,31 @@ function Je({ filename: e, fileUrl: t, onDownload: n }) {
|
|
|
124
125
|
children: "下載"
|
|
125
126
|
}) : null
|
|
126
127
|
]
|
|
127
|
-
}), /* @__PURE__ */
|
|
128
|
-
className:
|
|
128
|
+
}), /* @__PURE__ */ w("div", {
|
|
129
|
+
className: N.viewport,
|
|
129
130
|
ref: r,
|
|
130
|
-
children: /* @__PURE__ */
|
|
131
|
-
error: /* @__PURE__ */
|
|
131
|
+
children: /* @__PURE__ */ w(Ge, {
|
|
132
|
+
error: /* @__PURE__ */ w(L, { message: "PDF 無法載入。" }),
|
|
132
133
|
file: t,
|
|
133
|
-
loading: /* @__PURE__ */
|
|
134
|
-
noData: /* @__PURE__ */
|
|
135
|
-
onLoadSuccess:
|
|
136
|
-
children: /* @__PURE__ */
|
|
137
|
-
className:
|
|
138
|
-
loading: /* @__PURE__ */
|
|
134
|
+
loading: /* @__PURE__ */ w(L, { message: "正在載入 PDF..." }),
|
|
135
|
+
noData: /* @__PURE__ */ w(L, { message: "沒有可預覽的 PDF。" }),
|
|
136
|
+
onLoadSuccess: _,
|
|
137
|
+
children: /* @__PURE__ */ w(Ke, {
|
|
138
|
+
className: N.page,
|
|
139
|
+
loading: /* @__PURE__ */ w(L, { message: "正在載入頁面..." }),
|
|
139
140
|
pageNumber: o,
|
|
140
141
|
renderAnnotationLayer: !0,
|
|
141
142
|
renderTextLayer: !0,
|
|
142
|
-
width:
|
|
143
|
+
width: te
|
|
143
144
|
})
|
|
144
145
|
})
|
|
145
146
|
})]
|
|
146
147
|
});
|
|
147
148
|
}
|
|
148
|
-
function
|
|
149
|
-
return /* @__PURE__ */
|
|
150
|
-
className:
|
|
151
|
-
children: /* @__PURE__ */
|
|
149
|
+
function L({ message: e }) {
|
|
150
|
+
return /* @__PURE__ */ w("div", {
|
|
151
|
+
className: N.state,
|
|
152
|
+
children: /* @__PURE__ */ w(S, {
|
|
152
153
|
color: "text-neutral",
|
|
153
154
|
variant: "body",
|
|
154
155
|
children: e
|
|
@@ -156,67 +157,78 @@ function z({ message: e }) {
|
|
|
156
157
|
});
|
|
157
158
|
}
|
|
158
159
|
//#endregion
|
|
160
|
+
//#region src/views/instances/detail/submitted-by.ts
|
|
161
|
+
function R({ initiatorMemberId: e, submittedByMemberId: t }) {
|
|
162
|
+
return t && t !== e ? t : null;
|
|
163
|
+
}
|
|
164
|
+
function Qe(e, t) {
|
|
165
|
+
let n = R(e);
|
|
166
|
+
if (!n || !e.initiatorMemberId) return null;
|
|
167
|
+
let r = (e) => t.get(e)?.name ?? e;
|
|
168
|
+
return `由 ${r(n)} 代 ${r(e.initiatorMemberId)} 送出`;
|
|
169
|
+
}
|
|
170
|
+
//#endregion
|
|
159
171
|
//#region src/views/instances/detail/sections/shared.ts
|
|
160
|
-
function
|
|
161
|
-
let t =
|
|
172
|
+
function $e(e) {
|
|
173
|
+
let t = z(e, "from"), n = z(e, "to"), r = z(e, "reason");
|
|
162
174
|
return !t || !n || !r ? null : {
|
|
163
175
|
from: t,
|
|
164
176
|
reason: r,
|
|
165
|
-
ruleId:
|
|
177
|
+
ruleId: z(e, "ruleId"),
|
|
166
178
|
to: n
|
|
167
179
|
};
|
|
168
180
|
}
|
|
169
|
-
function
|
|
181
|
+
function et(e) {
|
|
170
182
|
try {
|
|
171
183
|
let t = JSON.parse(e);
|
|
172
|
-
return Array.isArray(t) ? t.map((e) =>
|
|
184
|
+
return Array.isArray(t) ? t.map((e) => H(e) ? $e(e) : null).filter((e) => e !== null) : [];
|
|
173
185
|
} catch {
|
|
174
186
|
return [];
|
|
175
187
|
}
|
|
176
188
|
}
|
|
177
|
-
function
|
|
189
|
+
function z(e, t) {
|
|
178
190
|
let n = e[t];
|
|
179
191
|
return typeof n == "string" ? n : null;
|
|
180
192
|
}
|
|
181
|
-
function
|
|
193
|
+
function B(e, t) {
|
|
182
194
|
let n = e[t];
|
|
183
195
|
return Array.isArray(n) ? n.filter((e) => typeof e == "string") : [];
|
|
184
196
|
}
|
|
185
|
-
function
|
|
197
|
+
function tt(e, t) {
|
|
186
198
|
let n = e[t];
|
|
187
199
|
return typeof n == "number" ? n : null;
|
|
188
200
|
}
|
|
189
|
-
function
|
|
201
|
+
function V(e) {
|
|
190
202
|
return typeof e == "string" && e.trim().length > 0;
|
|
191
203
|
}
|
|
192
|
-
function
|
|
204
|
+
function H(e) {
|
|
193
205
|
return typeof e == "object" && !!e;
|
|
194
206
|
}
|
|
195
|
-
function
|
|
207
|
+
function nt(e) {
|
|
196
208
|
return e.status === "PENDING" || e.status === "IN_PROGRESS";
|
|
197
209
|
}
|
|
198
210
|
function U(e) {
|
|
199
|
-
return
|
|
211
|
+
return Be(e) || (e instanceof Error ? e.message : "發生未知錯誤");
|
|
200
212
|
}
|
|
201
|
-
function
|
|
213
|
+
function rt(e) {
|
|
202
214
|
return !Number.isFinite(e) || e <= 0 ? "-" : e < 1024 ? `${e} B` : e < 1048576 ? `${(e / 1024).toFixed(1)} KB` : `${(e / 1024 / 1024).toFixed(1)} MB`;
|
|
203
215
|
}
|
|
204
|
-
function
|
|
216
|
+
function it(e) {
|
|
205
217
|
return e.length > 16 ? `${e.slice(0, 12)}...` : e;
|
|
206
218
|
}
|
|
207
|
-
function
|
|
219
|
+
function at(e) {
|
|
208
220
|
return e === "APPROVED" ? "已同意" : e === "CANCELLED" ? "已取消" : e === "DRAFT" ? "草稿" : e === "EXPIRED" ? "已逾期" : e === "REJECTED" ? "已拒絕" : e === "RETURNED" ? "已退回" : e === "RUNNING" ? "進行中" : e;
|
|
209
221
|
}
|
|
210
|
-
function
|
|
222
|
+
function ot(e) {
|
|
211
223
|
return e === "PENDING" ? "待處理" : e === "IN_PROGRESS" ? "處理中" : e === "COMPLETED" ? "已完成" : e === "CANCELLED" ? "已取消" : e === "TRANSFERRED" ? "已轉派" : e;
|
|
212
224
|
}
|
|
213
|
-
function
|
|
225
|
+
function W(e) {
|
|
214
226
|
return e === "APPROVED" ? "同意" : e === "REJECTED" ? "拒絕" : e === "RETURNED" ? "退回" : e === "TRANSFERRED" ? "轉派" : e;
|
|
215
227
|
}
|
|
216
228
|
function G(e) {
|
|
217
229
|
return e === "startEvent" ? "開始" : e === "endEvent" ? "完成" : e === "userTask" ? "簽核節點" : e === "serviceTask" ? "知會節點" : e === "exclusiveGateway" ? "條件分流" : "平行處理";
|
|
218
230
|
}
|
|
219
|
-
function
|
|
231
|
+
function st(e, t) {
|
|
220
232
|
return t?.nodes.find((t) => t.id === e)?.data.label ?? e;
|
|
221
233
|
}
|
|
222
234
|
function K(e, t) {
|
|
@@ -224,16 +236,16 @@ function K(e, t) {
|
|
|
224
236
|
let n = t.get(e);
|
|
225
237
|
return n ? `${n.name}(${n.email})` : e;
|
|
226
238
|
}
|
|
227
|
-
function
|
|
228
|
-
let n =
|
|
239
|
+
function ct(e, t = /* @__PURE__ */ new Map()) {
|
|
240
|
+
let n = et(e.delegationChainJson);
|
|
229
241
|
if (!e.assigneeMemberId) return e.candidateMemberIds.length ? `候選 ${e.candidateMemberIds.map((e) => K(e, t)).join("、")}` : "未指定";
|
|
230
242
|
let r = K(e.assigneeMemberId, t), i = K(e.originalAssigneeMemberId, t);
|
|
231
243
|
return n.length === 0 || e.originalAssigneeMemberId === e.assigneeMemberId ? r : `${r}(原:${i})`;
|
|
232
244
|
}
|
|
233
|
-
function
|
|
234
|
-
return t ? e.assigneeMemberId === t || e.candidateMemberIds.includes(t) : !1;
|
|
245
|
+
function lt(e, t) {
|
|
246
|
+
return t ? e.assigneeMemberId === t || (e.openCandidateMemberIds ?? e.candidateMemberIds).includes(t) : !1;
|
|
235
247
|
}
|
|
236
|
-
function
|
|
248
|
+
function ut(e, t) {
|
|
237
249
|
if (t.type !== "userTask" || !t.data.returnBehavior.allowReturn) return [];
|
|
238
250
|
if (t.data.returnBehavior.allowedTargets === "ANY") return e.nodes.filter((e) => e.id !== t.id).map((e) => ({
|
|
239
251
|
id: e.id,
|
|
@@ -245,14 +257,14 @@ function st(e, t) {
|
|
|
245
257
|
name: `${r.data.label}(${G(r.type)})`
|
|
246
258
|
}] : [];
|
|
247
259
|
}
|
|
248
|
-
function
|
|
260
|
+
function q(e) {
|
|
249
261
|
return {
|
|
250
262
|
email: e.email,
|
|
251
263
|
id: e.memberId,
|
|
252
264
|
name: `${e.name} · ${e.email}`
|
|
253
265
|
};
|
|
254
266
|
}
|
|
255
|
-
function
|
|
267
|
+
function dt({ memberIds: e, useWebhookTarget: t, webhookUrl: n }) {
|
|
256
268
|
if (t) {
|
|
257
269
|
let e = n.trim();
|
|
258
270
|
return e ? {
|
|
@@ -277,11 +289,11 @@ function q({ memberIds: e, useWebhookTarget: t, webhookUrl: n }) {
|
|
|
277
289
|
valid: !1
|
|
278
290
|
};
|
|
279
291
|
}
|
|
280
|
-
function
|
|
292
|
+
function ft(e) {
|
|
281
293
|
return !!e;
|
|
282
294
|
}
|
|
283
|
-
function
|
|
284
|
-
if (!
|
|
295
|
+
function pt(e) {
|
|
296
|
+
if (!H(e)) return null;
|
|
285
297
|
let t = e.email, n = e.id, r = e.name;
|
|
286
298
|
return typeof n == "string" && typeof r == "string" ? {
|
|
287
299
|
email: typeof t == "string" ? t : null,
|
|
@@ -289,7 +301,7 @@ function ut(e) {
|
|
|
289
301
|
name: r
|
|
290
302
|
} : null;
|
|
291
303
|
}
|
|
292
|
-
function
|
|
304
|
+
function mt(e, t) {
|
|
293
305
|
let n = e.trim().toLocaleLowerCase();
|
|
294
306
|
if (!n) return null;
|
|
295
307
|
let r = t.filter((e) => [
|
|
@@ -300,20 +312,20 @@ function dt(e, t) {
|
|
|
300
312
|
return r.length === 1 ? r[0] ?? null : null;
|
|
301
313
|
}
|
|
302
314
|
function J(e) {
|
|
303
|
-
return
|
|
315
|
+
return V(e) ? {
|
|
304
316
|
text: e,
|
|
305
317
|
type: "text"
|
|
306
318
|
} : null;
|
|
307
319
|
}
|
|
308
|
-
function
|
|
309
|
-
return
|
|
320
|
+
function ht(e, t, n = "neutral") {
|
|
321
|
+
return V(t) ? {
|
|
310
322
|
label: e,
|
|
311
323
|
text: t,
|
|
312
324
|
tone: n,
|
|
313
325
|
type: "comment"
|
|
314
326
|
} : null;
|
|
315
327
|
}
|
|
316
|
-
function
|
|
328
|
+
function gt(e, t, n, r) {
|
|
317
329
|
let i = t ? n.get(t) : null;
|
|
318
330
|
return {
|
|
319
331
|
email: i?.email ?? null,
|
|
@@ -326,176 +338,201 @@ function pt(e, t, n, r) {
|
|
|
326
338
|
function Y(e) {
|
|
327
339
|
return !!e;
|
|
328
340
|
}
|
|
329
|
-
function
|
|
341
|
+
function _t(e) {
|
|
330
342
|
let t = e.findIndex((e) => e.id.startsWith("pending-task-") || e.id.startsWith("future-node-"));
|
|
331
343
|
return t === -1 ? e.length : t;
|
|
332
344
|
}
|
|
333
|
-
function
|
|
334
|
-
return e.eventType === "INSTANCE_STARTED" || e.eventType === "TASK_DECIDED" || e.eventType === "SLA_TRIGGERED" ||
|
|
345
|
+
function X(e) {
|
|
346
|
+
return e.eventType === "INSTANCE_STARTED" || e.eventType === "TASK_DECIDED" || e.eventType === "SLA_TRIGGERED" || e.eventType === "TASK_CANDIDATE_ACTIVATED" || vt(e) || Z(e.eventType, Q(e));
|
|
347
|
+
}
|
|
348
|
+
function vt(e) {
|
|
349
|
+
return e.eventType === "TASK_CREATED" && B(Q(e), "sequentialCandidateMemberIds").length > 0;
|
|
350
|
+
}
|
|
351
|
+
function yt(e) {
|
|
352
|
+
if (e.eventType !== "TASK_CANDIDATE_ACTIVATED" && e.eventType !== "TASK_CREATED") return [];
|
|
353
|
+
let t = Q(e);
|
|
354
|
+
return [
|
|
355
|
+
...B(t, "sequentialCandidateMemberIds"),
|
|
356
|
+
z(t, "candidateMemberId"),
|
|
357
|
+
z(t, "previousMemberId")
|
|
358
|
+
].filter(V);
|
|
335
359
|
}
|
|
336
|
-
var
|
|
360
|
+
var bt = /* @__PURE__ */ new Set([
|
|
337
361
|
"SERVICE_TASK_EXECUTED",
|
|
338
362
|
"SERVICE_TASK_FAILED",
|
|
339
363
|
"WEBHOOK_DELIVERY_RETRIED"
|
|
340
364
|
]);
|
|
341
|
-
function
|
|
342
|
-
return
|
|
365
|
+
function Z(e, t) {
|
|
366
|
+
return bt.has(e) && z(t, "action") === "NOTIFY_WEBHOOK";
|
|
343
367
|
}
|
|
344
|
-
function
|
|
345
|
-
return
|
|
368
|
+
function xt(e) {
|
|
369
|
+
return z(e, "endpointLabel") ?? z(e, "endpointKey") ?? "外部系統";
|
|
346
370
|
}
|
|
347
|
-
function
|
|
371
|
+
function St(e) {
|
|
348
372
|
return e === "APPROVED" ? "已同意" : e === "REJECTED" ? "已拒絕" : e === "RETURNED" ? "已退回" : e === "TRANSFERRED" ? "已轉派" : "簽核已決議";
|
|
349
373
|
}
|
|
350
|
-
function
|
|
374
|
+
function Ct(e, t) {
|
|
351
375
|
if (e === "INSTANCE_STARTED") return "案件已發起";
|
|
352
376
|
if (e === "TOKEN_CREATED") return "流程路徑已建立";
|
|
353
377
|
if (e === "ENGINE_PROCESS_REQUESTED") return "流程引擎已處理";
|
|
354
378
|
if (e === "TOKEN_ADVANCED") return "流程已前進";
|
|
355
379
|
if (e === "TASK_CREATED") return "待簽任務已建立";
|
|
356
|
-
if (e === "
|
|
380
|
+
if (e === "TASK_CANDIDATE_ACTIVATED") return "輪到下一位簽核";
|
|
381
|
+
if (e === "TASK_DECIDED") return St(z(t, "action"));
|
|
357
382
|
if (e === "SLA_TRIGGERED") return "時限提醒已觸發";
|
|
358
|
-
if (
|
|
359
|
-
let n =
|
|
383
|
+
if (Z(e, t)) {
|
|
384
|
+
let n = xt(t);
|
|
360
385
|
return e === "SERVICE_TASK_EXECUTED" ? `已通知外部系統:${n}` : e === "SERVICE_TASK_FAILED" ? `通知外部系統失敗:${n}` : `管理者重新傳送外部系統通知:${n}`;
|
|
361
386
|
}
|
|
362
387
|
return e;
|
|
363
388
|
}
|
|
364
|
-
function
|
|
389
|
+
function Q(e) {
|
|
365
390
|
try {
|
|
366
391
|
let t = JSON.parse(e.payloadJson);
|
|
367
|
-
return
|
|
392
|
+
return H(t) ? t : {};
|
|
368
393
|
} catch {
|
|
369
394
|
return {};
|
|
370
395
|
}
|
|
371
396
|
}
|
|
372
|
-
function
|
|
373
|
-
return e.eventType === "SLA_TRIGGERED" || e.eventType === "SERVICE_TASK_FAILED" &&
|
|
397
|
+
function wt(e, t) {
|
|
398
|
+
return e.eventType === "SLA_TRIGGERED" || e.eventType === "SERVICE_TASK_FAILED" && Z(e.eventType, t) || z(t, "action") === "REJECTED" || z(t, "instanceState") === "REJECTED";
|
|
374
399
|
}
|
|
375
|
-
function
|
|
400
|
+
function Tt(e) {
|
|
376
401
|
return t(e);
|
|
377
402
|
}
|
|
378
|
-
function
|
|
403
|
+
function Et(e, t, n, r) {
|
|
404
|
+
if (e.eventType === "INSTANCE_STARTED") return Qe({
|
|
405
|
+
initiatorMemberId: e.actorMemberId,
|
|
406
|
+
submittedByMemberId: z(t, "submittedByMemberId")
|
|
407
|
+
}, r);
|
|
408
|
+
if (e.eventType === "TASK_CANDIDATE_ACTIVATED") {
|
|
409
|
+
let e = z(t, "candidateMemberId"), n = z(t, "previousMemberId");
|
|
410
|
+
if (!e) return null;
|
|
411
|
+
let i = K(e, r);
|
|
412
|
+
return n ? `輪到:${i}(前一位:${K(n, r)})` : `輪到:${i}`;
|
|
413
|
+
}
|
|
379
414
|
if (e.eventType === "TASK_CREATED") {
|
|
380
|
-
let e =
|
|
381
|
-
if (
|
|
382
|
-
|
|
415
|
+
let e = B(t, "sequentialCandidateMemberIds");
|
|
416
|
+
if (e.length) return `簽核順序:${e.map((e) => K(e, r)).join(" → ")}`;
|
|
417
|
+
let n = z(t, "assigneeMemberId"), i = z(t, "originalAssigneeMemberId");
|
|
418
|
+
if (!n) {
|
|
419
|
+
let e = B(t, "candidateMemberIds");
|
|
383
420
|
return e.length ? `候選簽核人:${e.map((e) => K(e, r)).join("、")}` : null;
|
|
384
421
|
}
|
|
385
|
-
let
|
|
386
|
-
return
|
|
422
|
+
let a = K(n, r), o = K(i, r);
|
|
423
|
+
return i && i !== n ? `待簽人:${a}(原簽核人:${o})` : `待簽人:${a}`;
|
|
387
424
|
}
|
|
388
425
|
if (e.eventType === "TASK_DECIDED") {
|
|
389
|
-
let e =
|
|
390
|
-
return e === "REJECTED" && n ? [i, `拒絕原因:${n}`].filter(
|
|
426
|
+
let e = z(t, "action"), n = z(t, "comment"), i = e ? `決議:${W(e)}` : null, a = z(t, "transferToMemberId");
|
|
427
|
+
return e === "REJECTED" && n ? [i, `拒絕原因:${n}`].filter(V).join(" · ") : e === "APPROVED" && n ? [i, `同意說明:${n}`].filter(V).join(" · ") : e === "TRANSFERRED" ? [i, `轉派給:${K(a, r)}`].filter(V).join(" · ") : i;
|
|
391
428
|
}
|
|
392
429
|
if (e.eventType === "TOKEN_ADVANCED") {
|
|
393
|
-
let e =
|
|
394
|
-
if (e) return `流程結果:${
|
|
395
|
-
let r =
|
|
430
|
+
let e = z(t, "action");
|
|
431
|
+
if (e) return `流程結果:${W(e)}`;
|
|
432
|
+
let r = tt(t, "arrivedCount"), i = tt(t, "requiredCount");
|
|
396
433
|
if (r !== null && i !== null) return `等待匯合:${r}/${i}`;
|
|
397
|
-
let a =
|
|
398
|
-
if (a && o) return `由 ${
|
|
434
|
+
let a = z(t, "fromNodeId"), o = z(t, "toNodeId");
|
|
435
|
+
if (a && o) return `由 ${st(a, n)} 前進至 ${st(o, n)}`;
|
|
399
436
|
}
|
|
400
437
|
if (e.eventType === "ENGINE_PROCESS_REQUESTED") {
|
|
401
|
-
let e =
|
|
402
|
-
return e ? `案件狀態:${
|
|
438
|
+
let e = z(t, "state");
|
|
439
|
+
return e ? `案件狀態:${at(e)}` : null;
|
|
403
440
|
}
|
|
404
441
|
return null;
|
|
405
442
|
}
|
|
406
|
-
function
|
|
407
|
-
if (e.eventType !== "TASK_DECIDED") return [J(
|
|
408
|
-
let s = e.taskId ? r.get(e.taskId) : null, c =
|
|
443
|
+
function Dt(e, t, n, r, i, a, o) {
|
|
444
|
+
if (e.eventType !== "TASK_DECIDED") return [J(Et(e, t, n, o))].filter(Y);
|
|
445
|
+
let s = e.taskId ? r.get(e.taskId) : null, c = z(t, "action") ?? s?.action ?? null, l = z(t, "comment") ?? s?.comment ?? null, u = z(t, "transferToMemberId") ?? s?.transferToMemberId ?? null, d = z(t, "signatureId") ?? s?.signatureId ?? null, f = d ? i.get(d) : null;
|
|
409
446
|
return [
|
|
410
|
-
J(c ? `決議:${
|
|
411
|
-
c === "REJECTED" ?
|
|
412
|
-
c === "APPROVED" ?
|
|
413
|
-
c === "RETURNED" ?
|
|
447
|
+
J(c ? `決議:${W(c)}` : null),
|
|
448
|
+
c === "REJECTED" ? ht("拒絕原因", l ?? "-", "danger") : null,
|
|
449
|
+
c === "APPROVED" ? ht("同意說明", l) : null,
|
|
450
|
+
c === "RETURNED" ? ht("退回說明", l ?? "-") : null,
|
|
414
451
|
c === "TRANSFERRED" ? J(`轉派給:${K(u, o)}`) : null,
|
|
415
|
-
c === "TRANSFERRED" ?
|
|
416
|
-
f ? J(a?.valid ? `簽章:已驗證(${
|
|
452
|
+
c === "TRANSFERRED" ? ht("轉派說明", l ?? "-") : null,
|
|
453
|
+
f ? J(a?.valid ? `簽章:已驗證(${it(f.signedPayloadHash)})` : `簽章:待檢查(${it(f.signedPayloadHash)})`) : null
|
|
417
454
|
].filter(Y);
|
|
418
455
|
}
|
|
419
|
-
function
|
|
456
|
+
function Ot(e, t, n, r, i) {
|
|
420
457
|
if (e.type === "startEvent" || i.has(e.id)) return !1;
|
|
421
458
|
if (r === "REJECTED") return !0;
|
|
422
|
-
let a =
|
|
459
|
+
let a = It(e, t, n, r);
|
|
423
460
|
return a.tone === "neutral" || a.tone === "waiting";
|
|
424
461
|
}
|
|
425
|
-
function
|
|
462
|
+
function $(e, t, n, r, i) {
|
|
426
463
|
if (r !== "RUNNING" && r !== "REJECTED") return [];
|
|
427
|
-
let a = e.nodes.filter((e) =>
|
|
464
|
+
let a = e.nodes.filter((e) => Ot(e, t, n, r, i)), o = kt(e, a, t, n, i), s = new Map(e.nodes.map((e, t) => [e.id, t]));
|
|
428
465
|
return a.filter((e) => o.has(e.id)).sort((e, t) => {
|
|
429
466
|
let n = o.get(e.id) ?? 0, r = o.get(t.id) ?? 0;
|
|
430
467
|
return n === r ? e.position.x === t.position.x ? e.position.y === t.position.y ? (s.get(e.id) ?? 0) - (s.get(t.id) ?? 0) : e.position.y - t.position.y : e.position.x - t.position.x : n - r;
|
|
431
468
|
});
|
|
432
469
|
}
|
|
433
|
-
function
|
|
470
|
+
function kt(e, t, n, r, i) {
|
|
434
471
|
let a = new Set(t.map((e) => e.id)), o = e.edges.reduce((e, t) => {
|
|
435
472
|
let n = [...e.get(t.source) ?? [], t.target];
|
|
436
473
|
return new Map(e).set(t.source, n);
|
|
437
474
|
}, /* @__PURE__ */ new Map());
|
|
438
|
-
return
|
|
475
|
+
return At(e, n, r, i).reduce((e, t) => Nt(e, jt(t, o, a)), /* @__PURE__ */ new Map());
|
|
439
476
|
}
|
|
440
|
-
function
|
|
441
|
-
let i = n.filter((e) => e.status === "ACTIVE" || e.status === "WAITING").map((e) => e.currentNodeId), a = t.filter(
|
|
477
|
+
function At(e, t, n, r) {
|
|
478
|
+
let i = n.filter((e) => e.status === "ACTIVE" || e.status === "WAITING").map((e) => e.currentNodeId), a = t.filter(nt).map((e) => e.nodeId), o = e.nodes.filter((e) => r.has(e.id)).map((e) => e.id), s = [.../* @__PURE__ */ new Set([
|
|
442
479
|
...i,
|
|
443
480
|
...a,
|
|
444
481
|
...o
|
|
445
482
|
])], c = e.nodes.filter((e) => e.type === "startEvent").map((e) => e.id);
|
|
446
483
|
return s.length > 0 ? s : c;
|
|
447
484
|
}
|
|
448
|
-
function
|
|
449
|
-
return
|
|
485
|
+
function jt(e, t, n) {
|
|
486
|
+
return Mt([{
|
|
450
487
|
distance: 0,
|
|
451
488
|
nodeId: e
|
|
452
489
|
}], t, n);
|
|
453
490
|
}
|
|
454
|
-
function
|
|
491
|
+
function Mt(e, t, n, r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map()) {
|
|
455
492
|
let [a, ...o] = e;
|
|
456
493
|
if (!a) return i;
|
|
457
|
-
if (r.has(a.nodeId)) return
|
|
494
|
+
if (r.has(a.nodeId)) return Mt(o, t, n, r, i);
|
|
458
495
|
let s = new Set(r).add(a.nodeId), c = n.has(a.nodeId) ? new Map(i).set(a.nodeId, Math.min(i.get(a.nodeId) ?? a.distance, a.distance)) : i;
|
|
459
|
-
return
|
|
496
|
+
return Mt([...o, ...(t.get(a.nodeId) ?? []).map((e) => ({
|
|
460
497
|
distance: a.distance + 1,
|
|
461
498
|
nodeId: e
|
|
462
499
|
}))], t, n, s, c);
|
|
463
500
|
}
|
|
464
|
-
function
|
|
501
|
+
function Nt(e, t) {
|
|
465
502
|
return [...t.entries()].reduce((e, [t, n]) => new Map(e).set(t, Math.min(e.get(t) ?? n, n)), e);
|
|
466
503
|
}
|
|
467
|
-
function
|
|
504
|
+
function Pt(e) {
|
|
468
505
|
return e.type === "userTask" ? `未來簽核:${e.data.label}` : e.type === "serviceTask" ? `未來知會:${e.data.label}` : e.type === "exclusiveGateway" ? `未來分流:${e.data.label}` : e.type === "parallelGateway" ? `未來匯合:${e.data.label}` : e.type === "endEvent" ? `流程完成:${e.data.label}` : `未來節點:${e.data.label}`;
|
|
469
506
|
}
|
|
470
|
-
function
|
|
471
|
-
let l = e.filter(
|
|
472
|
-
let t =
|
|
507
|
+
function Ft(e, t, n, r, i, a, o, s, c) {
|
|
508
|
+
let l = e.filter(X).map((e) => {
|
|
509
|
+
let t = Q(e), n = e.nodeId ? st(e.nodeId, r) : null;
|
|
473
510
|
return {
|
|
474
511
|
descriptionParts: [
|
|
475
512
|
J(n ? `節點:${n}` : "節點:全流程"),
|
|
476
|
-
|
|
477
|
-
J(`時間:${
|
|
478
|
-
...
|
|
513
|
+
gt("操作者", e.actorMemberId, a, "系統"),
|
|
514
|
+
J(`時間:${Tt(e.createdAt)}`),
|
|
515
|
+
...Dt(e, t, r, o, s, c, a)
|
|
479
516
|
].filter(Y),
|
|
480
|
-
error:
|
|
517
|
+
error: wt(e, t),
|
|
481
518
|
id: e.id,
|
|
482
|
-
title:
|
|
519
|
+
title: Ct(e.eventType, t)
|
|
483
520
|
};
|
|
484
|
-
}), u = t.filter(
|
|
521
|
+
}), u = t.filter(nt).map((e) => ({
|
|
485
522
|
descriptionParts: [
|
|
486
|
-
J(`節點:${
|
|
487
|
-
|
|
488
|
-
J(`建立時間:${
|
|
523
|
+
J(`節點:${st(e.nodeId, r)}`),
|
|
524
|
+
gt("處理者", e.assigneeMemberId, a, "未指定"),
|
|
525
|
+
J(`建立時間:${Tt(e.createdAt)}`)
|
|
489
526
|
].filter(Y),
|
|
490
527
|
error: !1,
|
|
491
528
|
id: `pending-task-${e.id}`,
|
|
492
529
|
title: e.status === "IN_PROGRESS" ? "簽核處理中" : "等待簽核處理"
|
|
493
|
-
})), d = new Set([...e.filter(
|
|
530
|
+
})), d = new Set([...e.filter(X).map((e) => e.nodeId), ...t.map((e) => e.nodeId)].filter(V)), f = r ? $(r, t, n, i, d).map((e) => ({
|
|
494
531
|
descriptionParts: [J(`${G(e.type)} · 尚未抵達`)].filter(Y),
|
|
495
532
|
error: !1,
|
|
496
533
|
forcePending: !0,
|
|
497
534
|
id: `future-node-${e.id}`,
|
|
498
|
-
title:
|
|
535
|
+
title: Pt(e)
|
|
499
536
|
})) : [];
|
|
500
537
|
return [
|
|
501
538
|
...l,
|
|
@@ -503,18 +540,18 @@ function At(e, t, n, r, i, a, o, s, c) {
|
|
|
503
540
|
...f
|
|
504
541
|
];
|
|
505
542
|
}
|
|
506
|
-
function
|
|
543
|
+
function It(e, t, n, r) {
|
|
507
544
|
let i = t.filter((t) => t.nodeId === e.id), a = i.find((e) => e.status === "PENDING" || e.status === "IN_PROGRESS"), o = i.find((e) => e.status === "CANCELLED"), s = i.find((e) => e.status === "COMPLETED"), c = n.filter((t) => t.currentNodeId === e.id), l = c.find((e) => e.status === "ACTIVE"), u = c.find((e) => e.status === "WAITING");
|
|
508
545
|
return a ? {
|
|
509
|
-
secondaryLabel: `處理者 ${
|
|
546
|
+
secondaryLabel: `處理者 ${ct(a)}`,
|
|
510
547
|
statusLabel: "待處理",
|
|
511
548
|
tone: "current"
|
|
512
549
|
} : o ? {
|
|
513
|
-
secondaryLabel: `已取消 ${
|
|
550
|
+
secondaryLabel: `已取消 ${ct(o)}`,
|
|
514
551
|
statusLabel: "已取消",
|
|
515
552
|
tone: "cancelled"
|
|
516
553
|
} : s ? {
|
|
517
|
-
secondaryLabel: `已完成 ${
|
|
554
|
+
secondaryLabel: `已完成 ${ct(s)}`,
|
|
518
555
|
statusLabel: "已完成",
|
|
519
556
|
tone: "completed"
|
|
520
557
|
} : l ? {
|
|
@@ -541,32 +578,35 @@ function jt(e, t, n, r) {
|
|
|
541
578
|
}
|
|
542
579
|
//#endregion
|
|
543
580
|
//#region src/views/instances/detail/sections/container-helpers.ts
|
|
544
|
-
async function
|
|
545
|
-
let
|
|
581
|
+
async function Lt({ activityLogs: e, adhocDirectives: t = [], instance: n, tasks: r }) {
|
|
582
|
+
let i = [...new Set([
|
|
583
|
+
n?.initiatorMemberId ?? null,
|
|
584
|
+
n?.submittedByMemberId ?? null,
|
|
546
585
|
...e.map((e) => e.actorMemberId),
|
|
547
|
-
...
|
|
548
|
-
...
|
|
549
|
-
...
|
|
550
|
-
...
|
|
551
|
-
...
|
|
552
|
-
|
|
586
|
+
...e.flatMap(yt),
|
|
587
|
+
...r.map((e) => e.assigneeMemberId),
|
|
588
|
+
...r.map((e) => e.originalAssigneeMemberId),
|
|
589
|
+
...r.flatMap((e) => e.candidateMemberIds),
|
|
590
|
+
...r.flatMap((e) => et(e.delegationChainJson).flatMap((e) => [e.from, e.to])),
|
|
591
|
+
...t.flatMap((e) => [e.createdByMemberId, ...Rt(e.targetValueJson)])
|
|
592
|
+
].filter(V))];
|
|
553
593
|
try {
|
|
554
|
-
return await
|
|
594
|
+
return await be(i);
|
|
555
595
|
} catch {
|
|
556
596
|
return [];
|
|
557
597
|
}
|
|
558
598
|
}
|
|
559
|
-
function
|
|
599
|
+
function Rt(e) {
|
|
560
600
|
try {
|
|
561
601
|
return (JSON.parse(e).memberIds ?? []).filter((e) => typeof e == "string");
|
|
562
602
|
} catch {
|
|
563
603
|
return [];
|
|
564
604
|
}
|
|
565
605
|
}
|
|
566
|
-
async function
|
|
567
|
-
return (await Promise.all(e.map((e) =>
|
|
606
|
+
async function zt(e) {
|
|
607
|
+
return (await Promise.all(e.map((e) => fe(e.id)))).flat();
|
|
568
608
|
}
|
|
569
|
-
function
|
|
609
|
+
function Bt(e) {
|
|
570
610
|
return e.reduce((e, t) => {
|
|
571
611
|
let n = e.get(t.taskId), r = !n || new Date(t.decidedAt).getTime() > new Date(n.decidedAt).getTime() ? t : n;
|
|
572
612
|
return new Map(e).set(t.taskId, r);
|
|
@@ -574,29 +614,29 @@ function Ft(e) {
|
|
|
574
614
|
}
|
|
575
615
|
//#endregion
|
|
576
616
|
//#region src/views/instances/detail/sections/InstanceFormSection.tsx
|
|
577
|
-
var
|
|
617
|
+
var Vt = {
|
|
578
618
|
display: "grid",
|
|
579
619
|
gap: 16
|
|
580
|
-
},
|
|
620
|
+
}, Ht = {
|
|
581
621
|
display: "flex",
|
|
582
622
|
flexWrap: "wrap",
|
|
583
623
|
gap: 8
|
|
584
624
|
};
|
|
585
|
-
function
|
|
586
|
-
return /* @__PURE__ */
|
|
587
|
-
style:
|
|
625
|
+
function Ut({ canResubmitInstance: e, deciding: t, error: n, instance: r, loading: i, onDataSourceStateChange: a, onResubmitFormChange: s, onResubmitInstance: c, onUploadAttachment: l, resubmitFormData: u, resubmitFormErrors: d }) {
|
|
626
|
+
return /* @__PURE__ */ T("div", {
|
|
627
|
+
style: Vt,
|
|
588
628
|
children: [
|
|
589
|
-
n ? /* @__PURE__ */
|
|
629
|
+
n ? /* @__PURE__ */ w(S, {
|
|
590
630
|
color: "text-error",
|
|
591
631
|
variant: "body",
|
|
592
632
|
children: n
|
|
593
633
|
}) : null,
|
|
594
|
-
i ? /* @__PURE__ */
|
|
634
|
+
i ? /* @__PURE__ */ w(S, {
|
|
595
635
|
color: "text-neutral",
|
|
596
636
|
variant: "body",
|
|
597
637
|
children: "載入中..."
|
|
598
638
|
}) : null,
|
|
599
|
-
r?.formDefinitionSnapshot.schema && r.formDefinitionSnapshot.uiSchema ? /* @__PURE__ */
|
|
639
|
+
r?.formDefinitionSnapshot.schema && r.formDefinitionSnapshot.uiSchema ? /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(o, {
|
|
600
640
|
dataSourceContext: e ? {
|
|
601
641
|
instanceId: r.id,
|
|
602
642
|
kind: "runtime"
|
|
@@ -606,24 +646,24 @@ function Rt({ canResubmitInstance: e, deciding: t, error: n, instance: r, loadin
|
|
|
606
646
|
onChange: (e) => {
|
|
607
647
|
s(e);
|
|
608
648
|
},
|
|
609
|
-
onDataSourceStateChange:
|
|
649
|
+
onDataSourceStateChange: a,
|
|
610
650
|
onUploadAttachment: e ? l : void 0,
|
|
611
651
|
optionSnapshots: r.formDataOptionSnapshot,
|
|
612
652
|
readonly: !e,
|
|
613
653
|
schema: r.formDefinitionSnapshot.schema,
|
|
614
654
|
uiSchema: r.formDefinitionSnapshot.uiSchema,
|
|
615
655
|
value: e ? u : r.formData
|
|
616
|
-
}), e ? /* @__PURE__ */
|
|
617
|
-
style:
|
|
618
|
-
children: /* @__PURE__ */
|
|
656
|
+
}), e ? /* @__PURE__ */ w("div", {
|
|
657
|
+
style: Ht,
|
|
658
|
+
children: /* @__PURE__ */ w(g, {
|
|
619
659
|
disabled: t,
|
|
620
|
-
icon:
|
|
660
|
+
icon: Me,
|
|
621
661
|
iconType: "leading",
|
|
622
662
|
onClick: c,
|
|
623
663
|
variant: "base-primary",
|
|
624
664
|
children: "重新送出"
|
|
625
665
|
})
|
|
626
|
-
}) : null] }) : /* @__PURE__ */
|
|
666
|
+
}) : null] }) : /* @__PURE__ */ w(S, {
|
|
627
667
|
color: "text-neutral",
|
|
628
668
|
variant: "body",
|
|
629
669
|
children: "此案件沒有可顯示的表單快照。"
|
|
@@ -633,20 +673,20 @@ function Rt({ canResubmitInstance: e, deciding: t, error: n, instance: r, loadin
|
|
|
633
673
|
}
|
|
634
674
|
//#endregion
|
|
635
675
|
//#region src/views/instances/detail/sections/InstanceAttachmentsSection.tsx
|
|
636
|
-
var
|
|
676
|
+
var Wt = {
|
|
637
677
|
display: "grid",
|
|
638
678
|
gap: 16
|
|
639
679
|
};
|
|
640
|
-
function
|
|
641
|
-
let i =
|
|
680
|
+
function Gt({ attachments: e, onDownload: n, onPreview: r }) {
|
|
681
|
+
let i = f(() => e.map((e) => ({
|
|
642
682
|
attachment: e,
|
|
643
683
|
createdAt: e.createdAt,
|
|
644
684
|
filename: e.filename,
|
|
645
685
|
id: e.id,
|
|
646
686
|
key: e.id,
|
|
647
687
|
mimeType: e.mimeType,
|
|
648
|
-
sizeLabel:
|
|
649
|
-
})), [e]), a =
|
|
688
|
+
sizeLabel: rt(Number(e.sizeBytes))
|
|
689
|
+
})), [e]), a = f(() => [
|
|
650
690
|
{
|
|
651
691
|
dataIndex: "filename",
|
|
652
692
|
key: "filename",
|
|
@@ -667,7 +707,7 @@ function Bt({ attachments: e, onDownload: n, onPreview: r }) {
|
|
|
667
707
|
},
|
|
668
708
|
{
|
|
669
709
|
key: "createdAt",
|
|
670
|
-
render: (e) => /* @__PURE__ */
|
|
710
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
671
711
|
component: "span",
|
|
672
712
|
variant: "body",
|
|
673
713
|
children: t(e.createdAt)
|
|
@@ -675,16 +715,16 @@ function Bt({ attachments: e, onDownload: n, onPreview: r }) {
|
|
|
675
715
|
title: "上傳時間",
|
|
676
716
|
width: 220
|
|
677
717
|
}
|
|
678
|
-
], []), o =
|
|
718
|
+
], []), o = f(() => ({
|
|
679
719
|
render: (e) => [...e.mimeType === "application/pdf" ? [{
|
|
680
|
-
icon:
|
|
720
|
+
icon: O,
|
|
681
721
|
iconType: "leading",
|
|
682
722
|
name: "預覽",
|
|
683
723
|
onClick: () => {
|
|
684
724
|
r(e.attachment);
|
|
685
725
|
}
|
|
686
726
|
}] : [], {
|
|
687
|
-
icon:
|
|
727
|
+
icon: ke,
|
|
688
728
|
iconType: "leading",
|
|
689
729
|
name: "下載",
|
|
690
730
|
onClick: () => {
|
|
@@ -694,18 +734,18 @@ function Bt({ attachments: e, onDownload: n, onPreview: r }) {
|
|
|
694
734
|
variant: "base-secondary",
|
|
695
735
|
width: 160
|
|
696
736
|
}), [n, r]);
|
|
697
|
-
return /* @__PURE__ */
|
|
698
|
-
style:
|
|
699
|
-
children: [/* @__PURE__ */
|
|
737
|
+
return /* @__PURE__ */ T("div", {
|
|
738
|
+
style: Wt,
|
|
739
|
+
children: [/* @__PURE__ */ w(S, {
|
|
700
740
|
component: "h2",
|
|
701
741
|
variant: "h3",
|
|
702
742
|
children: "附件"
|
|
703
|
-
}), i.length > 0 ? /* @__PURE__ */
|
|
743
|
+
}), i.length > 0 ? /* @__PURE__ */ w(re, {
|
|
704
744
|
actions: o,
|
|
705
745
|
columns: a,
|
|
706
746
|
dataSource: i,
|
|
707
747
|
fullWidth: !0
|
|
708
|
-
}) : /* @__PURE__ */
|
|
748
|
+
}) : /* @__PURE__ */ w(S, {
|
|
709
749
|
color: "text-neutral",
|
|
710
750
|
variant: "body",
|
|
711
751
|
children: "此案件沒有附件。"
|
|
@@ -714,55 +754,58 @@ function Bt({ attachments: e, onDownload: n, onPreview: r }) {
|
|
|
714
754
|
}
|
|
715
755
|
//#endregion
|
|
716
756
|
//#region src/views/instances/detail/sections/InstanceTasksSection.tsx
|
|
717
|
-
var
|
|
757
|
+
var Kt = {
|
|
718
758
|
display: "grid",
|
|
719
759
|
gap: 12,
|
|
720
760
|
width: "100%"
|
|
721
|
-
},
|
|
761
|
+
}, qt = {
|
|
722
762
|
minWidth: "100%",
|
|
723
763
|
width: "100%"
|
|
724
|
-
},
|
|
764
|
+
}, Jt = {
|
|
725
765
|
display: "grid",
|
|
726
766
|
gap: 12,
|
|
727
767
|
width: "100%"
|
|
728
|
-
},
|
|
729
|
-
function
|
|
768
|
+
}, Yt = { marginTop: 12 }, Xt = { marginTop: 24 };
|
|
769
|
+
function Zt(e) {
|
|
730
770
|
e && (e.style.width = "100%");
|
|
731
771
|
}
|
|
732
|
-
var
|
|
772
|
+
var Qt = {
|
|
733
773
|
COMPLETION_NOTIFY: "結案通知",
|
|
734
774
|
COUNTERSIGN: "臨時會簽",
|
|
735
775
|
PRE_APPROVAL: "臨時加簽",
|
|
736
776
|
STAGE_NOTIFY: "階段完成通知"
|
|
737
|
-
},
|
|
777
|
+
}, $t = {
|
|
738
778
|
COMPLETION_NOTIFY: "本張單到達結案狀態(核准 / 拒絕 / 取消)後,通知指定對象。",
|
|
739
779
|
COUNTERSIGN: "指定對象會併入下一層簽核,下一層需所有人都完成才會繼續。",
|
|
740
780
|
PRE_APPROVAL: "指定對象需先完成加簽,本階段才會往下一層繼續。",
|
|
741
781
|
STAGE_NOTIFY: "本階段完成後(不論通過與否)通知指定對象。"
|
|
742
|
-
},
|
|
782
|
+
}, en = [{
|
|
743
783
|
id: "REJECT_INSTANCE",
|
|
744
784
|
name: "加簽拒絕時整單駁回"
|
|
745
785
|
}, {
|
|
746
786
|
id: "RETURN_TO_ORIGIN",
|
|
747
787
|
name: "加簽拒絕時退回給我重新處理"
|
|
748
|
-
}],
|
|
788
|
+
}], tn = [{
|
|
749
789
|
id: "MEMBER",
|
|
750
790
|
name: "指定成員"
|
|
751
791
|
}, {
|
|
752
792
|
id: "WEBHOOK",
|
|
753
793
|
name: "Webhook"
|
|
754
|
-
}],
|
|
755
|
-
let [
|
|
794
|
+
}], nn = c(function({ adhocDirectives: e, currentMemberId: r, instance: a, memberProfilesById: o, onChanged: s, tasks: c }, l) {
|
|
795
|
+
let [u, p] = m(!1), [h, v] = m(null), [y, ne] = m(""), [x, ae] = m(!1), [oe, ue] = m(""), [de, fe] = m(null), [pe, me] = m(!1), [he, ge] = m(""), [_e, be] = m(!1), [xe, Se] = m(null), [we, Te] = m(""), [Ee, D] = m(null), [De, Oe] = m(!1), [ke, O] = m([]), [Ae, je] = m(!1), [Me, Ne] = m(""), [Pe, Fe] = m([]), [Ie, Le] = m(!1), [Re, ze] = m([]), [Be, Ve] = m(!1), [k, He] = m("COUNTERSIGN"), [Ue, A] = m("REJECT_INSTANCE"), [We, j] = m(!1), [Ge, Ke] = m("MEMBER"), [M, N] = m(""), qe = oe.trim(), Je = he.trim(), Ye = we.trim(), P = f(() => c.find((e) => lt(e, r) && (e.status === "PENDING" || e.status === "IN_PROGRESS")) ?? null, [r, c]), F = f(() => P && a ? a.workflowSnapshot.nodes.find((e) => e.id === P.nodeId) ?? null : null, [P, a]), I = f(() => F && a ? ut(a.workflowSnapshot, F) : [], [F, a]), Xe = F?.type === "userTask" && F.data.returnBehavior.allowReturn, Ze = F?.type === "userTask" && F.data.allowReject !== !1, L = F?.type === "userTask" && F.data.allowTransfer !== !1, R = F?.type === "userTask" && F.data.returnBehavior.requireComment === !0, Qe = F?.type === "userTask" && F.data.allowAddSigner, $e = f(() => e.filter((e) => e.status === "PENDING"), [e]), et = I.find((e) => e.id === xe) ?? I[0] ?? null, z = f(() => c.map((e) => ({
|
|
756
796
|
...e,
|
|
757
|
-
assigneeLabel:
|
|
797
|
+
assigneeLabel: ct(e, o),
|
|
758
798
|
key: e.id,
|
|
759
|
-
nodeLabel:
|
|
760
|
-
|
|
799
|
+
nodeLabel: i({
|
|
800
|
+
...e,
|
|
801
|
+
nodeLabel: st(e.nodeId, a?.workflowSnapshot ?? null)
|
|
802
|
+
}),
|
|
803
|
+
statusLabel: ot(e.status)
|
|
761
804
|
})), [
|
|
762
|
-
i,
|
|
763
805
|
a,
|
|
764
|
-
|
|
765
|
-
|
|
806
|
+
o,
|
|
807
|
+
c
|
|
808
|
+
]), B = f(() => [
|
|
766
809
|
{
|
|
767
810
|
dataIndex: "nodeLabel",
|
|
768
811
|
key: "nodeLabel",
|
|
@@ -772,7 +815,7 @@ var qt = {
|
|
|
772
815
|
{
|
|
773
816
|
key: "assigneeMemberId",
|
|
774
817
|
title: "處理者",
|
|
775
|
-
render: (e) => /* @__PURE__ */
|
|
818
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
776
819
|
component: "span",
|
|
777
820
|
variant: "body",
|
|
778
821
|
children: e.assigneeLabel
|
|
@@ -787,7 +830,7 @@ var qt = {
|
|
|
787
830
|
},
|
|
788
831
|
{
|
|
789
832
|
key: "createdAt",
|
|
790
|
-
render: (e) => /* @__PURE__ */
|
|
833
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
791
834
|
component: "span",
|
|
792
835
|
variant: "body",
|
|
793
836
|
children: t(e.createdAt)
|
|
@@ -795,13 +838,13 @@ var qt = {
|
|
|
795
838
|
title: "建立時間",
|
|
796
839
|
width: 220
|
|
797
840
|
}
|
|
798
|
-
], []),
|
|
841
|
+
], []), tt = f(() => $e.map((e) => ({
|
|
799
842
|
...e,
|
|
800
|
-
createdByLabel: K(e.createdByMemberId,
|
|
843
|
+
createdByLabel: K(e.createdByMemberId, o),
|
|
801
844
|
key: e.id,
|
|
802
|
-
targetLabel:
|
|
803
|
-
typeLabel:
|
|
804
|
-
})), [
|
|
845
|
+
targetLabel: rn(e, o),
|
|
846
|
+
typeLabel: Qt[e.type]
|
|
847
|
+
})), [o, $e]), V = f(() => [
|
|
805
848
|
{
|
|
806
849
|
dataIndex: "typeLabel",
|
|
807
850
|
key: "typeLabel",
|
|
@@ -810,7 +853,7 @@ var qt = {
|
|
|
810
853
|
},
|
|
811
854
|
{
|
|
812
855
|
key: "targetLabel",
|
|
813
|
-
render: (e) => /* @__PURE__ */
|
|
856
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
814
857
|
component: "span",
|
|
815
858
|
variant: "body",
|
|
816
859
|
children: e.targetLabel
|
|
@@ -820,7 +863,7 @@ var qt = {
|
|
|
820
863
|
},
|
|
821
864
|
{
|
|
822
865
|
key: "createdByLabel",
|
|
823
|
-
render: (e) => /* @__PURE__ */
|
|
866
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
824
867
|
component: "span",
|
|
825
868
|
variant: "body",
|
|
826
869
|
children: e.createdByLabel
|
|
@@ -830,7 +873,7 @@ var qt = {
|
|
|
830
873
|
},
|
|
831
874
|
{
|
|
832
875
|
key: "createdAt",
|
|
833
|
-
render: (e) => /* @__PURE__ */
|
|
876
|
+
render: (e) => /* @__PURE__ */ w(S, {
|
|
834
877
|
component: "span",
|
|
835
878
|
variant: "body",
|
|
836
879
|
children: t(e.createdAt)
|
|
@@ -840,336 +883,336 @@ var qt = {
|
|
|
840
883
|
},
|
|
841
884
|
{
|
|
842
885
|
key: "actions",
|
|
843
|
-
render: (e) => e.createdByMemberId === r ? /* @__PURE__ */
|
|
844
|
-
disabled:
|
|
845
|
-
onClick: () => void
|
|
886
|
+
render: (e) => e.createdByMemberId === r ? /* @__PURE__ */ w(g, {
|
|
887
|
+
disabled: We,
|
|
888
|
+
onClick: () => void Ct(e.id),
|
|
846
889
|
size: "minor",
|
|
847
890
|
variant: "destructive-secondary",
|
|
848
891
|
children: "撤回"
|
|
849
|
-
}) : /* @__PURE__ */
|
|
892
|
+
}) : /* @__PURE__ */ w(C, {}),
|
|
850
893
|
title: "操作",
|
|
851
894
|
width: 100
|
|
852
895
|
}
|
|
853
|
-
], [
|
|
854
|
-
async function
|
|
855
|
-
if (!r || !
|
|
856
|
-
|
|
896
|
+
], [We, r]);
|
|
897
|
+
async function H({ action: e, comment: t, returnToNodeId: n = null, transferToMemberId: i = null }) {
|
|
898
|
+
if (!r || !P || e === "REJECTED" && !Ze || e === "TRANSFERRED" && !L) return !1;
|
|
899
|
+
p(!0), v(null);
|
|
857
900
|
try {
|
|
858
|
-
await
|
|
901
|
+
await le({
|
|
859
902
|
action: e,
|
|
860
903
|
comment: t,
|
|
861
904
|
decidedByMemberId: r,
|
|
862
905
|
returnToNodeId: n,
|
|
863
|
-
taskId:
|
|
906
|
+
taskId: P.id,
|
|
864
907
|
transferToMemberId: i
|
|
865
|
-
}),
|
|
908
|
+
}), me(!1), be(!1), je(!1), ue(""), ge(""), Te(""), D(null), Se(null), fe(null);
|
|
866
909
|
} catch (e) {
|
|
867
|
-
return v(U(e)),
|
|
910
|
+
return v(U(e)), p(!1), !1;
|
|
868
911
|
}
|
|
869
912
|
try {
|
|
870
|
-
await
|
|
913
|
+
await s();
|
|
871
914
|
} catch (e) {
|
|
872
915
|
v(U(e));
|
|
873
916
|
} finally {
|
|
874
|
-
|
|
917
|
+
p(!1);
|
|
875
918
|
}
|
|
876
919
|
return !0;
|
|
877
920
|
}
|
|
878
|
-
function
|
|
879
|
-
r &&
|
|
921
|
+
function nt() {
|
|
922
|
+
r && P && (v(null), ne(""), ae(!0));
|
|
880
923
|
}
|
|
881
|
-
function
|
|
882
|
-
|
|
924
|
+
function rt() {
|
|
925
|
+
u || (ae(!1), ne(""));
|
|
883
926
|
}
|
|
884
|
-
async function
|
|
885
|
-
|
|
927
|
+
async function it() {
|
|
928
|
+
u || await H({
|
|
886
929
|
action: "APPROVED",
|
|
887
930
|
comment: y.trim() || null
|
|
888
|
-
}) && (
|
|
931
|
+
}) && (ae(!1), ne(""));
|
|
889
932
|
}
|
|
890
|
-
function
|
|
891
|
-
|
|
933
|
+
function at() {
|
|
934
|
+
Ze && (ue(""), fe(null), me(!0));
|
|
892
935
|
}
|
|
893
|
-
function
|
|
894
|
-
|
|
936
|
+
function W() {
|
|
937
|
+
u || (me(!1), ue(""), fe(null));
|
|
895
938
|
}
|
|
896
|
-
function
|
|
897
|
-
|
|
939
|
+
function G() {
|
|
940
|
+
ge(""), Se(I[0]?.id ?? null), be(!0);
|
|
898
941
|
}
|
|
899
|
-
function
|
|
900
|
-
|
|
942
|
+
function J() {
|
|
943
|
+
u || (be(!1), ge(""), Se(null));
|
|
901
944
|
}
|
|
902
|
-
function
|
|
903
|
-
|
|
945
|
+
function ht() {
|
|
946
|
+
L && (Te(""), D(null), je(!0), Y(""));
|
|
904
947
|
}
|
|
905
|
-
function
|
|
906
|
-
|
|
948
|
+
function gt() {
|
|
949
|
+
u || (je(!1), Te(""), D(null));
|
|
907
950
|
}
|
|
908
|
-
async function
|
|
909
|
-
|
|
951
|
+
async function Y(e) {
|
|
952
|
+
Oe(!0);
|
|
910
953
|
try {
|
|
911
|
-
|
|
954
|
+
O((await Ce(e)).filter((e) => e.memberId !== r).map(q));
|
|
912
955
|
} catch (e) {
|
|
913
956
|
v(U(e));
|
|
914
957
|
} finally {
|
|
915
|
-
|
|
958
|
+
Oe(!1);
|
|
916
959
|
}
|
|
917
960
|
}
|
|
918
|
-
async function
|
|
919
|
-
if (
|
|
920
|
-
if (!
|
|
921
|
-
|
|
961
|
+
async function _t() {
|
|
962
|
+
if (Ze) {
|
|
963
|
+
if (!qe) {
|
|
964
|
+
fe("請輸入拒絕原因");
|
|
922
965
|
return;
|
|
923
966
|
}
|
|
924
|
-
await
|
|
967
|
+
await H({
|
|
925
968
|
action: "REJECTED",
|
|
926
|
-
comment:
|
|
969
|
+
comment: qe
|
|
927
970
|
});
|
|
928
971
|
}
|
|
929
972
|
}
|
|
930
|
-
async function
|
|
931
|
-
if (
|
|
932
|
-
if (!
|
|
973
|
+
async function X() {
|
|
974
|
+
if (L) {
|
|
975
|
+
if (!Ee) {
|
|
933
976
|
v("請選擇轉派對象");
|
|
934
977
|
return;
|
|
935
978
|
}
|
|
936
|
-
await
|
|
979
|
+
await H({
|
|
937
980
|
action: "TRANSFERRED",
|
|
938
|
-
comment:
|
|
939
|
-
transferToMemberId:
|
|
981
|
+
comment: Ye || null,
|
|
982
|
+
transferToMemberId: Ee.id
|
|
940
983
|
});
|
|
941
984
|
}
|
|
942
985
|
}
|
|
943
|
-
async function
|
|
944
|
-
await
|
|
986
|
+
async function vt() {
|
|
987
|
+
await H({
|
|
945
988
|
action: "RETURNED",
|
|
946
|
-
comment:
|
|
947
|
-
returnToNodeId:
|
|
989
|
+
comment: Je || null,
|
|
990
|
+
returnToNodeId: et?.id ?? null
|
|
948
991
|
});
|
|
949
992
|
}
|
|
950
|
-
function
|
|
951
|
-
|
|
993
|
+
function yt() {
|
|
994
|
+
Ne(""), Fe([]), A("REJECT_INSTANCE"), Ke("MEMBER"), N("");
|
|
952
995
|
}
|
|
953
|
-
function
|
|
954
|
-
|
|
996
|
+
function bt(e) {
|
|
997
|
+
He(e), yt(), Ve(!0), xt("");
|
|
955
998
|
}
|
|
956
|
-
function
|
|
957
|
-
|
|
999
|
+
function Z() {
|
|
1000
|
+
We || (Ve(!1), yt());
|
|
958
1001
|
}
|
|
959
|
-
async function
|
|
960
|
-
|
|
1002
|
+
async function xt(e) {
|
|
1003
|
+
Le(!0);
|
|
961
1004
|
try {
|
|
962
|
-
|
|
1005
|
+
ze((await Ce(e)).map(q));
|
|
963
1006
|
} catch (e) {
|
|
964
1007
|
v(U(e));
|
|
965
1008
|
} finally {
|
|
966
|
-
|
|
1009
|
+
Le(!1);
|
|
967
1010
|
}
|
|
968
1011
|
}
|
|
969
|
-
async function
|
|
970
|
-
if (!
|
|
971
|
-
let e = (
|
|
972
|
-
memberIds:
|
|
1012
|
+
async function St() {
|
|
1013
|
+
if (!P) return;
|
|
1014
|
+
let e = (k === "STAGE_NOTIFY" || k === "COMPLETION_NOTIFY") && Ge === "WEBHOOK", t = dt({
|
|
1015
|
+
memberIds: Pe.map((e) => e.id),
|
|
973
1016
|
useWebhookTarget: e,
|
|
974
|
-
webhookUrl:
|
|
1017
|
+
webhookUrl: M
|
|
975
1018
|
});
|
|
976
1019
|
if (!t.valid) {
|
|
977
1020
|
v(t.error);
|
|
978
1021
|
return;
|
|
979
1022
|
}
|
|
980
|
-
let { target: n } = t, r =
|
|
981
|
-
|
|
1023
|
+
let { target: n } = t, r = Me.trim() || null;
|
|
1024
|
+
j(!0), v(null);
|
|
982
1025
|
try {
|
|
983
|
-
|
|
1026
|
+
k === "COUNTERSIGN" ? await ve({
|
|
984
1027
|
comment: r,
|
|
985
1028
|
target: n,
|
|
986
|
-
taskId:
|
|
987
|
-
}) :
|
|
1029
|
+
taskId: P.id
|
|
1030
|
+
}) : k === "PRE_APPROVAL" ? await ye({
|
|
988
1031
|
comment: r,
|
|
989
|
-
onReject:
|
|
1032
|
+
onReject: Ue,
|
|
990
1033
|
target: n,
|
|
991
|
-
taskId:
|
|
992
|
-
}) :
|
|
1034
|
+
taskId: P.id
|
|
1035
|
+
}) : k === "STAGE_NOTIFY" ? await ce({
|
|
993
1036
|
target: n,
|
|
994
|
-
taskId:
|
|
995
|
-
}) : await
|
|
1037
|
+
taskId: P.id
|
|
1038
|
+
}) : await se({
|
|
996
1039
|
target: n,
|
|
997
|
-
taskId:
|
|
998
|
-
}),
|
|
1040
|
+
taskId: P.id
|
|
1041
|
+
}), Ve(!1), yt(), await s();
|
|
999
1042
|
} catch (e) {
|
|
1000
1043
|
v(U(e));
|
|
1001
1044
|
} finally {
|
|
1002
|
-
|
|
1045
|
+
j(!1);
|
|
1003
1046
|
}
|
|
1004
1047
|
}
|
|
1005
|
-
async function
|
|
1006
|
-
|
|
1048
|
+
async function Ct(e) {
|
|
1049
|
+
j(!0), v(null);
|
|
1007
1050
|
try {
|
|
1008
|
-
await
|
|
1051
|
+
await E(e), await s();
|
|
1009
1052
|
} catch (e) {
|
|
1010
1053
|
v(U(e));
|
|
1011
1054
|
} finally {
|
|
1012
|
-
|
|
1055
|
+
j(!1);
|
|
1013
1056
|
}
|
|
1014
1057
|
}
|
|
1015
|
-
|
|
1016
|
-
canAddSignerCurrentTask:
|
|
1017
|
-
canRejectCurrentTask:
|
|
1018
|
-
canReturnCurrentTask:
|
|
1019
|
-
canTransferCurrentTask:
|
|
1020
|
-
deciding:
|
|
1021
|
-
handleApprove:
|
|
1022
|
-
hasCurrentTask:
|
|
1023
|
-
openAdhocModal:
|
|
1024
|
-
openRejectModal:
|
|
1025
|
-
openReturnModal:
|
|
1026
|
-
openTransferModal:
|
|
1058
|
+
d(l, () => ({
|
|
1059
|
+
canAddSignerCurrentTask: Qe,
|
|
1060
|
+
canRejectCurrentTask: Ze,
|
|
1061
|
+
canReturnCurrentTask: Xe,
|
|
1062
|
+
canTransferCurrentTask: L,
|
|
1063
|
+
deciding: u,
|
|
1064
|
+
handleApprove: nt,
|
|
1065
|
+
hasCurrentTask: P !== null,
|
|
1066
|
+
openAdhocModal: bt,
|
|
1067
|
+
openRejectModal: at,
|
|
1068
|
+
openReturnModal: G,
|
|
1069
|
+
openTransferModal: ht
|
|
1027
1070
|
}), [
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1071
|
+
Qe,
|
|
1072
|
+
Ze,
|
|
1073
|
+
Xe,
|
|
1074
|
+
L,
|
|
1032
1075
|
r,
|
|
1033
|
-
|
|
1034
|
-
|
|
1076
|
+
P,
|
|
1077
|
+
u
|
|
1035
1078
|
]);
|
|
1036
|
-
let Q =
|
|
1037
|
-
return /* @__PURE__ */
|
|
1038
|
-
/* @__PURE__ */
|
|
1079
|
+
let Q = k === "STAGE_NOTIFY" || k === "COMPLETION_NOTIFY", wt = Q && Ge === "WEBHOOK" ? !M.trim() : Pe.length === 0, Tt = en.find((e) => e.id === Ue) ?? en[0], Et = tn.find((e) => e.id === Ge) ?? tn[0];
|
|
1080
|
+
return /* @__PURE__ */ T(C, { children: [
|
|
1081
|
+
/* @__PURE__ */ w(S, {
|
|
1039
1082
|
component: "h2",
|
|
1040
1083
|
variant: "h3",
|
|
1041
1084
|
children: "任務"
|
|
1042
1085
|
}),
|
|
1043
|
-
h ? /* @__PURE__ */
|
|
1086
|
+
h ? /* @__PURE__ */ w(S, {
|
|
1044
1087
|
color: "text-error",
|
|
1045
1088
|
variant: "body",
|
|
1046
1089
|
children: h
|
|
1047
1090
|
}) : null,
|
|
1048
|
-
/* @__PURE__ */
|
|
1049
|
-
style:
|
|
1050
|
-
children: /* @__PURE__ */
|
|
1051
|
-
columns:
|
|
1052
|
-
dataSource:
|
|
1091
|
+
/* @__PURE__ */ w("div", {
|
|
1092
|
+
style: Yt,
|
|
1093
|
+
children: /* @__PURE__ */ w(re, {
|
|
1094
|
+
columns: B,
|
|
1095
|
+
dataSource: z,
|
|
1053
1096
|
fullWidth: !0
|
|
1054
1097
|
})
|
|
1055
1098
|
}),
|
|
1056
|
-
|
|
1099
|
+
$e.length > 0 ? /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(S, {
|
|
1057
1100
|
component: "h3",
|
|
1058
|
-
style:
|
|
1101
|
+
style: Xt,
|
|
1059
1102
|
variant: "h3",
|
|
1060
1103
|
children: "待生效的臨時設定"
|
|
1061
|
-
}), /* @__PURE__ */
|
|
1062
|
-
style:
|
|
1063
|
-
children: /* @__PURE__ */
|
|
1064
|
-
columns:
|
|
1065
|
-
dataSource:
|
|
1104
|
+
}), /* @__PURE__ */ w("div", {
|
|
1105
|
+
style: Yt,
|
|
1106
|
+
children: /* @__PURE__ */ w(re, {
|
|
1107
|
+
columns: V,
|
|
1108
|
+
dataSource: tt,
|
|
1066
1109
|
fullWidth: !0
|
|
1067
1110
|
})
|
|
1068
1111
|
})] }) : null,
|
|
1069
|
-
/* @__PURE__ */
|
|
1112
|
+
/* @__PURE__ */ T(_, {
|
|
1070
1113
|
cancelText: "取消",
|
|
1071
1114
|
confirmText: "送出同意",
|
|
1072
|
-
loading:
|
|
1115
|
+
loading: u,
|
|
1073
1116
|
modalType: "standard",
|
|
1074
|
-
onCancel:
|
|
1075
|
-
onClose:
|
|
1076
|
-
onConfirm: () => void
|
|
1117
|
+
onCancel: rt,
|
|
1118
|
+
onClose: rt,
|
|
1119
|
+
onConfirm: () => void it(),
|
|
1077
1120
|
open: x,
|
|
1078
1121
|
showModalFooter: !0,
|
|
1079
1122
|
showModalHeader: !0,
|
|
1080
1123
|
size: "regular",
|
|
1081
1124
|
supportingText: "可以留下同意的說明,內容會記錄在簽核歷程;不填也可以直接送出。",
|
|
1082
1125
|
title: "簽核意見",
|
|
1083
|
-
children: [h ? /* @__PURE__ */
|
|
1126
|
+
children: [h ? /* @__PURE__ */ w(S, {
|
|
1084
1127
|
color: "text-error",
|
|
1085
1128
|
role: "alert",
|
|
1086
1129
|
variant: "body",
|
|
1087
1130
|
children: h
|
|
1088
|
-
}) : null, /* @__PURE__ */
|
|
1089
|
-
style:
|
|
1090
|
-
children: /* @__PURE__ */
|
|
1131
|
+
}) : null, /* @__PURE__ */ w("div", {
|
|
1132
|
+
style: Kt,
|
|
1133
|
+
children: /* @__PURE__ */ w(n, {
|
|
1091
1134
|
label: "簽核意見",
|
|
1092
1135
|
name: "approveComment",
|
|
1093
|
-
children: /* @__PURE__ */
|
|
1136
|
+
children: /* @__PURE__ */ w(ie, {
|
|
1094
1137
|
autoFocus: !0,
|
|
1095
|
-
onChange: (e) =>
|
|
1138
|
+
onChange: (e) => ne(e.target.value),
|
|
1096
1139
|
placeholder: "選填,例如補充核准的條件或提醒事項",
|
|
1097
|
-
ref:
|
|
1140
|
+
ref: Zt,
|
|
1098
1141
|
resize: "vertical",
|
|
1099
1142
|
rows: 4,
|
|
1100
|
-
style:
|
|
1143
|
+
style: qt,
|
|
1101
1144
|
value: y
|
|
1102
1145
|
})
|
|
1103
1146
|
})
|
|
1104
1147
|
})]
|
|
1105
1148
|
}),
|
|
1106
|
-
/* @__PURE__ */
|
|
1149
|
+
/* @__PURE__ */ w(_, {
|
|
1107
1150
|
cancelText: "取消",
|
|
1108
1151
|
confirmButtonProps: {
|
|
1109
|
-
disabled: !
|
|
1152
|
+
disabled: !qe,
|
|
1110
1153
|
variant: "destructive-primary"
|
|
1111
1154
|
},
|
|
1112
1155
|
confirmText: "送出拒絕",
|
|
1113
|
-
loading:
|
|
1156
|
+
loading: u,
|
|
1114
1157
|
modalStatusType: "error",
|
|
1115
1158
|
modalType: "standard",
|
|
1116
|
-
onCancel:
|
|
1117
|
-
onClose:
|
|
1118
|
-
onConfirm: () => void
|
|
1119
|
-
open:
|
|
1159
|
+
onCancel: W,
|
|
1160
|
+
onClose: W,
|
|
1161
|
+
onConfirm: () => void _t(),
|
|
1162
|
+
open: pe,
|
|
1120
1163
|
showModalFooter: !0,
|
|
1121
1164
|
showModalHeader: !0,
|
|
1122
1165
|
size: "regular",
|
|
1123
1166
|
supportingText: "拒絕案件時必須留下原因,供發起人與後續追蹤查看。",
|
|
1124
1167
|
title: "拒絕原因",
|
|
1125
|
-
children: /* @__PURE__ */
|
|
1126
|
-
style:
|
|
1127
|
-
children: [/* @__PURE__ */
|
|
1168
|
+
children: /* @__PURE__ */ T("div", {
|
|
1169
|
+
style: Kt,
|
|
1170
|
+
children: [/* @__PURE__ */ w(n, {
|
|
1128
1171
|
label: "拒絕原因",
|
|
1129
1172
|
name: "rejectReason",
|
|
1130
1173
|
required: !0,
|
|
1131
|
-
children: /* @__PURE__ */
|
|
1174
|
+
children: /* @__PURE__ */ w(ie, {
|
|
1132
1175
|
autoFocus: !0,
|
|
1133
1176
|
onChange: (e) => {
|
|
1134
|
-
|
|
1177
|
+
ue(e.target.value), fe(null);
|
|
1135
1178
|
},
|
|
1136
1179
|
placeholder: "請說明拒絕原因",
|
|
1137
|
-
ref:
|
|
1180
|
+
ref: Zt,
|
|
1138
1181
|
resize: "vertical",
|
|
1139
1182
|
rows: 4,
|
|
1140
|
-
style:
|
|
1141
|
-
type:
|
|
1142
|
-
value:
|
|
1183
|
+
style: qt,
|
|
1184
|
+
type: de ? "error" : "default",
|
|
1185
|
+
value: oe
|
|
1143
1186
|
})
|
|
1144
|
-
}),
|
|
1187
|
+
}), de ? /* @__PURE__ */ w(S, {
|
|
1145
1188
|
color: "text-error",
|
|
1146
1189
|
variant: "body",
|
|
1147
|
-
children:
|
|
1190
|
+
children: de
|
|
1148
1191
|
}) : null]
|
|
1149
1192
|
})
|
|
1150
1193
|
}),
|
|
1151
|
-
/* @__PURE__ */
|
|
1194
|
+
/* @__PURE__ */ w(_, {
|
|
1152
1195
|
cancelText: "取消",
|
|
1153
|
-
confirmButtonProps: { disabled: !
|
|
1196
|
+
confirmButtonProps: { disabled: !Ee },
|
|
1154
1197
|
confirmText: "送出轉派",
|
|
1155
|
-
loading:
|
|
1198
|
+
loading: u,
|
|
1156
1199
|
modalType: "standard",
|
|
1157
|
-
onCancel:
|
|
1158
|
-
onClose:
|
|
1159
|
-
onConfirm: () => void
|
|
1160
|
-
open:
|
|
1200
|
+
onCancel: gt,
|
|
1201
|
+
onClose: gt,
|
|
1202
|
+
onConfirm: () => void X(),
|
|
1203
|
+
open: Ae,
|
|
1161
1204
|
showModalFooter: !0,
|
|
1162
1205
|
showModalHeader: !0,
|
|
1163
1206
|
size: "regular",
|
|
1164
1207
|
supportingText: "轉派後,原任務會保留轉派紀錄,新的待簽任務會指派給指定成員。",
|
|
1165
1208
|
title: "轉派簽核",
|
|
1166
|
-
children: /* @__PURE__ */
|
|
1167
|
-
style:
|
|
1168
|
-
children: [/* @__PURE__ */
|
|
1209
|
+
children: /* @__PURE__ */ T("div", {
|
|
1210
|
+
style: Jt,
|
|
1211
|
+
children: [/* @__PURE__ */ w(n, {
|
|
1169
1212
|
label: "轉派對象",
|
|
1170
1213
|
name: "transferToMemberId",
|
|
1171
1214
|
required: !0,
|
|
1172
|
-
children: /* @__PURE__ */
|
|
1215
|
+
children: /* @__PURE__ */ w(ee, {
|
|
1173
1216
|
asyncData: !0,
|
|
1174
1217
|
disabledOptionsFilter: !0,
|
|
1175
1218
|
emptyText: "沒有符合的成員",
|
|
@@ -1179,147 +1222,147 @@ var qt = {
|
|
|
1179
1222
|
name: "transfer-member-search",
|
|
1180
1223
|
spellCheck: !1
|
|
1181
1224
|
},
|
|
1182
|
-
loading:
|
|
1225
|
+
loading: De,
|
|
1183
1226
|
loadingText: "搜尋成員中...",
|
|
1184
1227
|
mode: "single",
|
|
1185
|
-
onChange: (e) =>
|
|
1186
|
-
onSearch:
|
|
1187
|
-
onSearchTextChange: (e) =>
|
|
1228
|
+
onChange: (e) => D(pt(e)),
|
|
1229
|
+
onSearch: Y,
|
|
1230
|
+
onSearchTextChange: (e) => D(mt(e, ke)),
|
|
1188
1231
|
onVisibilityChange: (e) => {
|
|
1189
|
-
e &&
|
|
1232
|
+
e && Y("");
|
|
1190
1233
|
},
|
|
1191
|
-
options: [...
|
|
1234
|
+
options: [...ke],
|
|
1192
1235
|
placeholder: "搜尋姓名或信箱",
|
|
1193
1236
|
searchDebounceTime: 300,
|
|
1194
|
-
value:
|
|
1237
|
+
value: Ee
|
|
1195
1238
|
})
|
|
1196
|
-
}), /* @__PURE__ */
|
|
1239
|
+
}), /* @__PURE__ */ w(n, {
|
|
1197
1240
|
label: "轉派說明",
|
|
1198
1241
|
name: "transferComment",
|
|
1199
|
-
children: /* @__PURE__ */
|
|
1200
|
-
onChange: (e) =>
|
|
1242
|
+
children: /* @__PURE__ */ w(ie, {
|
|
1243
|
+
onChange: (e) => Te(e.target.value),
|
|
1201
1244
|
placeholder: "可補充轉派原因",
|
|
1202
|
-
ref:
|
|
1245
|
+
ref: Zt,
|
|
1203
1246
|
resize: "vertical",
|
|
1204
1247
|
rows: 4,
|
|
1205
|
-
style:
|
|
1206
|
-
value:
|
|
1248
|
+
style: qt,
|
|
1249
|
+
value: we
|
|
1207
1250
|
})
|
|
1208
1251
|
})]
|
|
1209
1252
|
})
|
|
1210
1253
|
}),
|
|
1211
|
-
/* @__PURE__ */
|
|
1254
|
+
/* @__PURE__ */ w(_, {
|
|
1212
1255
|
cancelText: "取消",
|
|
1213
|
-
confirmButtonProps: { disabled: !
|
|
1256
|
+
confirmButtonProps: { disabled: !et || R && !Je },
|
|
1214
1257
|
confirmText: "送出退回",
|
|
1215
|
-
loading:
|
|
1258
|
+
loading: u,
|
|
1216
1259
|
modalType: "standard",
|
|
1217
|
-
onCancel:
|
|
1218
|
-
onClose:
|
|
1219
|
-
onConfirm: () => void
|
|
1220
|
-
open:
|
|
1260
|
+
onCancel: J,
|
|
1261
|
+
onClose: J,
|
|
1262
|
+
onConfirm: () => void vt(),
|
|
1263
|
+
open: _e,
|
|
1221
1264
|
showModalFooter: !0,
|
|
1222
1265
|
showModalHeader: !0,
|
|
1223
1266
|
size: "regular",
|
|
1224
1267
|
supportingText: "退回後,流程會回到指定節點並等待重新處理。",
|
|
1225
1268
|
title: "退回簽核",
|
|
1226
|
-
children: /* @__PURE__ */
|
|
1227
|
-
style:
|
|
1228
|
-
children: [/* @__PURE__ */
|
|
1269
|
+
children: /* @__PURE__ */ T("div", {
|
|
1270
|
+
style: Jt,
|
|
1271
|
+
children: [/* @__PURE__ */ w(n, {
|
|
1229
1272
|
label: "退回節點",
|
|
1230
1273
|
name: "returnTargetNodeId",
|
|
1231
1274
|
required: !0,
|
|
1232
|
-
children: /* @__PURE__ */
|
|
1275
|
+
children: /* @__PURE__ */ w(b, {
|
|
1233
1276
|
clearable: !1,
|
|
1234
1277
|
fullWidth: !0,
|
|
1235
|
-
onChange: (e) =>
|
|
1236
|
-
options: [...
|
|
1278
|
+
onChange: (e) => Se(e?.id ?? null),
|
|
1279
|
+
options: [...I],
|
|
1237
1280
|
placeholder: "選擇退回節點",
|
|
1238
|
-
value:
|
|
1281
|
+
value: et
|
|
1239
1282
|
})
|
|
1240
|
-
}), /* @__PURE__ */
|
|
1241
|
-
hintText:
|
|
1283
|
+
}), /* @__PURE__ */ w(n, {
|
|
1284
|
+
hintText: R ? "此關卡設定退回時必須填寫意見。" : void 0,
|
|
1242
1285
|
label: "退回說明",
|
|
1243
1286
|
name: "returnComment",
|
|
1244
|
-
required:
|
|
1245
|
-
children: /* @__PURE__ */
|
|
1246
|
-
onChange: (e) =>
|
|
1247
|
-
placeholder:
|
|
1248
|
-
ref:
|
|
1287
|
+
required: R,
|
|
1288
|
+
children: /* @__PURE__ */ w(ie, {
|
|
1289
|
+
onChange: (e) => ge(e.target.value),
|
|
1290
|
+
placeholder: R ? "請說明退回原因" : "可補充需要修改的內容",
|
|
1291
|
+
ref: Zt,
|
|
1249
1292
|
resize: "vertical",
|
|
1250
1293
|
rows: 4,
|
|
1251
|
-
style:
|
|
1252
|
-
value:
|
|
1294
|
+
style: qt,
|
|
1295
|
+
value: he
|
|
1253
1296
|
})
|
|
1254
1297
|
})]
|
|
1255
1298
|
})
|
|
1256
1299
|
}),
|
|
1257
|
-
/* @__PURE__ */
|
|
1300
|
+
/* @__PURE__ */ w(_, {
|
|
1258
1301
|
cancelText: "取消",
|
|
1259
|
-
confirmButtonProps: { disabled:
|
|
1302
|
+
confirmButtonProps: { disabled: wt },
|
|
1260
1303
|
confirmText: "送出",
|
|
1261
|
-
loading:
|
|
1304
|
+
loading: We,
|
|
1262
1305
|
modalType: "standard",
|
|
1263
|
-
onCancel:
|
|
1264
|
-
onClose:
|
|
1265
|
-
onConfirm: () => void
|
|
1266
|
-
open:
|
|
1306
|
+
onCancel: Z,
|
|
1307
|
+
onClose: Z,
|
|
1308
|
+
onConfirm: () => void St(),
|
|
1309
|
+
open: Be,
|
|
1267
1310
|
showModalFooter: !0,
|
|
1268
1311
|
showModalHeader: !0,
|
|
1269
1312
|
size: "regular",
|
|
1270
|
-
supportingText:
|
|
1271
|
-
title:
|
|
1272
|
-
children: /* @__PURE__ */
|
|
1273
|
-
style:
|
|
1313
|
+
supportingText: $t[k],
|
|
1314
|
+
title: Qt[k],
|
|
1315
|
+
children: /* @__PURE__ */ T("div", {
|
|
1316
|
+
style: Jt,
|
|
1274
1317
|
children: [
|
|
1275
|
-
Q ? /* @__PURE__ */
|
|
1318
|
+
Q ? /* @__PURE__ */ w(n, {
|
|
1276
1319
|
label: "通知時機",
|
|
1277
1320
|
name: "adhocNotifyMode",
|
|
1278
1321
|
required: !0,
|
|
1279
|
-
children: /* @__PURE__ */
|
|
1322
|
+
children: /* @__PURE__ */ w(b, {
|
|
1280
1323
|
clearable: !1,
|
|
1281
1324
|
fullWidth: !0,
|
|
1282
|
-
onChange: (e) =>
|
|
1325
|
+
onChange: (e) => He(e?.id === "COMPLETION_NOTIFY" ? "COMPLETION_NOTIFY" : "STAGE_NOTIFY"),
|
|
1283
1326
|
options: [{
|
|
1284
1327
|
id: "STAGE_NOTIFY",
|
|
1285
|
-
name:
|
|
1328
|
+
name: Qt.STAGE_NOTIFY
|
|
1286
1329
|
}, {
|
|
1287
1330
|
id: "COMPLETION_NOTIFY",
|
|
1288
|
-
name:
|
|
1331
|
+
name: Qt.COMPLETION_NOTIFY
|
|
1289
1332
|
}],
|
|
1290
1333
|
value: {
|
|
1291
|
-
id:
|
|
1292
|
-
name:
|
|
1334
|
+
id: k,
|
|
1335
|
+
name: Qt[k]
|
|
1293
1336
|
}
|
|
1294
1337
|
})
|
|
1295
1338
|
}) : null,
|
|
1296
|
-
Q ? /* @__PURE__ */
|
|
1339
|
+
Q ? /* @__PURE__ */ w(n, {
|
|
1297
1340
|
label: "通知對象類型",
|
|
1298
1341
|
name: "adhocTargetKind",
|
|
1299
1342
|
required: !0,
|
|
1300
|
-
children: /* @__PURE__ */
|
|
1343
|
+
children: /* @__PURE__ */ w(b, {
|
|
1301
1344
|
clearable: !1,
|
|
1302
1345
|
fullWidth: !0,
|
|
1303
|
-
onChange: (e) =>
|
|
1304
|
-
options: [...
|
|
1305
|
-
value:
|
|
1346
|
+
onChange: (e) => Ke(e?.id === "WEBHOOK" ? "WEBHOOK" : "MEMBER"),
|
|
1347
|
+
options: [...tn],
|
|
1348
|
+
value: Et
|
|
1306
1349
|
})
|
|
1307
1350
|
}) : null,
|
|
1308
|
-
Q &&
|
|
1351
|
+
Q && Ge === "WEBHOOK" ? /* @__PURE__ */ w(n, {
|
|
1309
1352
|
label: "Webhook URL",
|
|
1310
1353
|
name: "adhocWebhookUrl",
|
|
1311
1354
|
required: !0,
|
|
1312
|
-
children: /* @__PURE__ */
|
|
1355
|
+
children: /* @__PURE__ */ w(te, {
|
|
1313
1356
|
fullWidth: !0,
|
|
1314
|
-
onChange: (e) =>
|
|
1357
|
+
onChange: (e) => N(e.target.value),
|
|
1315
1358
|
placeholder: "https://example.com/webhook",
|
|
1316
|
-
value:
|
|
1359
|
+
value: M
|
|
1317
1360
|
})
|
|
1318
|
-
}) : /* @__PURE__ */
|
|
1361
|
+
}) : /* @__PURE__ */ w(n, {
|
|
1319
1362
|
label: Q ? "通知對象" : "簽核對象",
|
|
1320
1363
|
name: "adhocMemberId",
|
|
1321
1364
|
required: !0,
|
|
1322
|
-
children: /* @__PURE__ */
|
|
1365
|
+
children: /* @__PURE__ */ w(ee, {
|
|
1323
1366
|
asyncData: !0,
|
|
1324
1367
|
disabledOptionsFilter: !0,
|
|
1325
1368
|
emptyText: "沒有符合的成員",
|
|
@@ -1329,45 +1372,45 @@ var qt = {
|
|
|
1329
1372
|
name: "adhoc-member-search",
|
|
1330
1373
|
spellCheck: !1
|
|
1331
1374
|
},
|
|
1332
|
-
loading:
|
|
1375
|
+
loading: Ie,
|
|
1333
1376
|
loadingText: "搜尋成員中...",
|
|
1334
1377
|
menuMaxHeight: 320,
|
|
1335
1378
|
mode: "multiple",
|
|
1336
|
-
onChange: (e) =>
|
|
1337
|
-
onSearch:
|
|
1379
|
+
onChange: (e) => Fe(e.map(pt).filter(ft)),
|
|
1380
|
+
onSearch: xt,
|
|
1338
1381
|
onVisibilityChange: (e) => {
|
|
1339
|
-
e &&
|
|
1382
|
+
e && xt("");
|
|
1340
1383
|
},
|
|
1341
|
-
options: [...
|
|
1384
|
+
options: [...Re],
|
|
1342
1385
|
overflowStrategy: "wrap",
|
|
1343
1386
|
placeholder: "搜尋姓名或信箱,可加入多位",
|
|
1344
1387
|
searchDebounceTime: 300,
|
|
1345
|
-
value: [...
|
|
1388
|
+
value: [...Pe]
|
|
1346
1389
|
})
|
|
1347
1390
|
}),
|
|
1348
|
-
|
|
1391
|
+
k === "PRE_APPROVAL" ? /* @__PURE__ */ w(n, {
|
|
1349
1392
|
label: "拒簽處理方式",
|
|
1350
1393
|
name: "adhocOnReject",
|
|
1351
1394
|
required: !0,
|
|
1352
|
-
children: /* @__PURE__ */
|
|
1395
|
+
children: /* @__PURE__ */ w(b, {
|
|
1353
1396
|
clearable: !1,
|
|
1354
1397
|
fullWidth: !0,
|
|
1355
|
-
onChange: (e) =>
|
|
1356
|
-
options: [...
|
|
1357
|
-
value:
|
|
1398
|
+
onChange: (e) => A(e?.id === "RETURN_TO_ORIGIN" ? "RETURN_TO_ORIGIN" : "REJECT_INSTANCE"),
|
|
1399
|
+
options: [...en],
|
|
1400
|
+
value: Tt
|
|
1358
1401
|
})
|
|
1359
1402
|
}) : null,
|
|
1360
|
-
Q ? null : /* @__PURE__ */
|
|
1403
|
+
Q ? null : /* @__PURE__ */ w(n, {
|
|
1361
1404
|
label: "說明",
|
|
1362
1405
|
name: "adhocComment",
|
|
1363
|
-
children: /* @__PURE__ */
|
|
1364
|
-
onChange: (e) =>
|
|
1406
|
+
children: /* @__PURE__ */ w(ie, {
|
|
1407
|
+
onChange: (e) => Ne(e.target.value),
|
|
1365
1408
|
placeholder: "可補充原因",
|
|
1366
|
-
ref:
|
|
1409
|
+
ref: Zt,
|
|
1367
1410
|
resize: "vertical",
|
|
1368
1411
|
rows: 3,
|
|
1369
|
-
style:
|
|
1370
|
-
value:
|
|
1412
|
+
style: qt,
|
|
1413
|
+
value: Me
|
|
1371
1414
|
})
|
|
1372
1415
|
})
|
|
1373
1416
|
]
|
|
@@ -1375,7 +1418,7 @@ var qt = {
|
|
|
1375
1418
|
})
|
|
1376
1419
|
] });
|
|
1377
1420
|
});
|
|
1378
|
-
function
|
|
1421
|
+
function rn(e, t) {
|
|
1379
1422
|
try {
|
|
1380
1423
|
let n = JSON.parse(e.targetValueJson);
|
|
1381
1424
|
if (n.memberIds?.length) return n.memberIds.map((e) => K(e, t)).join("、");
|
|
@@ -1387,19 +1430,19 @@ function Qt(e, t) {
|
|
|
1387
1430
|
}
|
|
1388
1431
|
//#endregion
|
|
1389
1432
|
//#region src/views/instances/detail/sections/InstanceSignaturesSection.tsx
|
|
1390
|
-
var
|
|
1433
|
+
var an = {
|
|
1391
1434
|
display: "grid",
|
|
1392
1435
|
gap: 16
|
|
1393
1436
|
};
|
|
1394
|
-
function
|
|
1395
|
-
let r =
|
|
1437
|
+
function on({ signatureVerification: e, signatures: n }) {
|
|
1438
|
+
let r = f(() => n.map((e) => ({
|
|
1396
1439
|
algorithm: e.algorithm,
|
|
1397
|
-
hashLabel:
|
|
1440
|
+
hashLabel: it(e.signedPayloadHash),
|
|
1398
1441
|
key: e.id,
|
|
1399
1442
|
keyVersion: e.keyVersion,
|
|
1400
1443
|
signedAtLabel: t(e.signedAt),
|
|
1401
1444
|
signerMemberId: e.signerMemberId
|
|
1402
|
-
})), [n]), i =
|
|
1445
|
+
})), [n]), i = f(() => [
|
|
1403
1446
|
{
|
|
1404
1447
|
dataIndex: "signerMemberId",
|
|
1405
1448
|
key: "signerMemberId",
|
|
@@ -1431,20 +1474,20 @@ function en({ signatureVerification: e, signatures: n }) {
|
|
|
1431
1474
|
width: 220
|
|
1432
1475
|
}
|
|
1433
1476
|
], []);
|
|
1434
|
-
return /* @__PURE__ */
|
|
1435
|
-
style:
|
|
1477
|
+
return /* @__PURE__ */ T("div", {
|
|
1478
|
+
style: an,
|
|
1436
1479
|
children: [
|
|
1437
|
-
/* @__PURE__ */
|
|
1480
|
+
/* @__PURE__ */ w(S, {
|
|
1438
1481
|
component: "h2",
|
|
1439
1482
|
variant: "h3",
|
|
1440
1483
|
children: "簽章"
|
|
1441
1484
|
}),
|
|
1442
|
-
/* @__PURE__ */
|
|
1485
|
+
/* @__PURE__ */ w(S, {
|
|
1443
1486
|
color: e?.valid ? "text-success" : "text-error",
|
|
1444
1487
|
variant: "body",
|
|
1445
1488
|
children: e ? e.valid ? `簽章鏈已驗證,共 ${e.checkedCount} 筆。` : `簽章鏈驗證失敗:${e.errors.join("、")}` : "尚無簽章紀錄。"
|
|
1446
1489
|
}),
|
|
1447
|
-
r.length > 0 ? /* @__PURE__ */
|
|
1490
|
+
r.length > 0 ? /* @__PURE__ */ w(re, {
|
|
1448
1491
|
columns: i,
|
|
1449
1492
|
dataSource: r,
|
|
1450
1493
|
fullWidth: !0
|
|
@@ -1454,55 +1497,55 @@ function en({ signatureVerification: e, signatures: n }) {
|
|
|
1454
1497
|
}
|
|
1455
1498
|
//#endregion
|
|
1456
1499
|
//#region src/views/instances/detail/sections/InstanceHistorySection.tsx
|
|
1457
|
-
var
|
|
1500
|
+
var sn = {
|
|
1458
1501
|
display: "grid",
|
|
1459
1502
|
gap: 16
|
|
1460
|
-
},
|
|
1503
|
+
}, cn = {
|
|
1461
1504
|
cursor: "help",
|
|
1462
1505
|
textDecoration: "underline dotted",
|
|
1463
1506
|
textUnderlineOffset: 3
|
|
1464
|
-
},
|
|
1507
|
+
}, ln = {
|
|
1465
1508
|
borderLeftColor: "var(--mzn-color-border)",
|
|
1466
1509
|
borderLeftStyle: "solid",
|
|
1467
1510
|
borderLeftWidth: 2,
|
|
1468
1511
|
marginTop: 4,
|
|
1469
1512
|
paddingLeft: 8,
|
|
1470
1513
|
whiteSpace: "pre-wrap"
|
|
1471
|
-
},
|
|
1472
|
-
...
|
|
1514
|
+
}, un = { color: "var(--mzn-color-text-secondary)" }, dn = {
|
|
1515
|
+
...ln,
|
|
1473
1516
|
borderLeftColor: "var(--mzn-color-text-error)",
|
|
1474
1517
|
color: "var(--mzn-color-text-error)"
|
|
1475
1518
|
};
|
|
1476
|
-
function
|
|
1477
|
-
return e.filter((e) =>
|
|
1519
|
+
function fn(...e) {
|
|
1520
|
+
return e.filter((e) => V(e ?? null)).join(" ");
|
|
1478
1521
|
}
|
|
1479
|
-
var
|
|
1480
|
-
let f = r ? "pending" :
|
|
1481
|
-
return /* @__PURE__ */
|
|
1522
|
+
var pn = c(function({ className: e, descriptionParts: t, error: n, forcePending: r = !1, index: i = 0, orientation: a, status: o = "pending", title: c, type: l = "number", ...u }, d) {
|
|
1523
|
+
let f = r ? "pending" : o, p = t.filter((e) => e.type !== "comment"), m = t.filter((e) => e.type === "comment");
|
|
1524
|
+
return /* @__PURE__ */ T("div", {
|
|
1482
1525
|
...u,
|
|
1483
|
-
className:
|
|
1526
|
+
className: fn(M.host, l === "dot" ? M.dot : null, n && f !== "processing" ? M.error : null, a === "horizontal" ? M.horizontal : null, l === "number" ? M.number : null, f === "pending" ? M.pending : null, f === "processing" ? M.processing : null, n && f === "processing" ? M.processingError : null, !n && f === "succeeded" ? M.succeeded : null, a === "vertical" ? M.vertical : null, e),
|
|
1484
1527
|
ref: d,
|
|
1485
|
-
children: [l === "dot" ? /* @__PURE__ */
|
|
1486
|
-
className:
|
|
1528
|
+
children: [l === "dot" ? /* @__PURE__ */ w("span", { className: fn(M.statusIndicator, M.statusIndicatorDot) }) : /* @__PURE__ */ w("span", {
|
|
1529
|
+
className: M.statusIndicator,
|
|
1487
1530
|
children: i + 1
|
|
1488
|
-
}), /* @__PURE__ */
|
|
1489
|
-
className:
|
|
1531
|
+
}), /* @__PURE__ */ T("div", {
|
|
1532
|
+
className: M.textContainer,
|
|
1490
1533
|
children: [
|
|
1491
|
-
/* @__PURE__ */
|
|
1492
|
-
className:
|
|
1534
|
+
/* @__PURE__ */ T(S, {
|
|
1535
|
+
className: M.title,
|
|
1493
1536
|
variant: "label-primary-highlight",
|
|
1494
|
-
children: [c, /* @__PURE__ */
|
|
1537
|
+
children: [c, /* @__PURE__ */ w("span", { className: M.titleConnectLine })]
|
|
1495
1538
|
}),
|
|
1496
|
-
p.length > 0 ? /* @__PURE__ */
|
|
1497
|
-
className:
|
|
1539
|
+
p.length > 0 ? /* @__PURE__ */ w(S, {
|
|
1540
|
+
className: M.description,
|
|
1498
1541
|
variant: "caption",
|
|
1499
|
-
children: p.map((e, t) => /* @__PURE__ */
|
|
1542
|
+
children: p.map((e, t) => /* @__PURE__ */ T(s, { children: [t > 0 ? " · " : null, mn(e)] }, `${e.type}-${t}`))
|
|
1500
1543
|
}) : null,
|
|
1501
|
-
m.map((e, t) => /* @__PURE__ */
|
|
1502
|
-
style: e.tone === "danger" ?
|
|
1544
|
+
m.map((e, t) => /* @__PURE__ */ T(S, {
|
|
1545
|
+
style: e.tone === "danger" ? dn : ln,
|
|
1503
1546
|
variant: "body",
|
|
1504
|
-
children: [/* @__PURE__ */
|
|
1505
|
-
style: e.tone === "danger" ? void 0 :
|
|
1547
|
+
children: [/* @__PURE__ */ T("span", {
|
|
1548
|
+
style: e.tone === "danger" ? void 0 : un,
|
|
1506
1549
|
children: [e.label, ":"]
|
|
1507
1550
|
}), e.text]
|
|
1508
1551
|
}, `comment-${t}`))
|
|
@@ -1510,44 +1553,44 @@ var cn = s(function({ className: e, descriptionParts: t, error: n, forcePending:
|
|
|
1510
1553
|
})]
|
|
1511
1554
|
});
|
|
1512
1555
|
});
|
|
1513
|
-
function
|
|
1514
|
-
return e.type === "text" ? e.text : e.email ? /* @__PURE__ */
|
|
1556
|
+
function mn(e) {
|
|
1557
|
+
return e.type === "text" ? e.text : e.email ? /* @__PURE__ */ T(C, { children: [
|
|
1515
1558
|
e.prefix,
|
|
1516
1559
|
":",
|
|
1517
|
-
/* @__PURE__ */
|
|
1560
|
+
/* @__PURE__ */ w(ae, {
|
|
1518
1561
|
title: e.email,
|
|
1519
|
-
children: ({ ref: t, ...n }) => /* @__PURE__ */
|
|
1562
|
+
children: ({ ref: t, ...n }) => /* @__PURE__ */ w("span", {
|
|
1520
1563
|
...n,
|
|
1521
1564
|
"data-testid": e.memberId ? `member-tooltip-${e.memberId}` : void 0,
|
|
1522
1565
|
ref: t,
|
|
1523
|
-
style:
|
|
1566
|
+
style: cn,
|
|
1524
1567
|
children: e.label
|
|
1525
1568
|
})
|
|
1526
1569
|
})
|
|
1527
1570
|
] }) : `${e.prefix}:${e.label}`;
|
|
1528
1571
|
}
|
|
1529
|
-
function
|
|
1530
|
-
let l =
|
|
1572
|
+
function hn({ activityLogs: e, instanceState: t, memberProfilesById: n, signatureVerification: r, signaturesById: i, taskDecisionsByTaskId: a, tasks: o, workflowSnapshot: s, workflowTokens: c }) {
|
|
1573
|
+
let l = Ft(e, o, c, s, t, n, a, i, r), u = _t(l), d = l.map((e) => ({
|
|
1531
1574
|
...e,
|
|
1532
1575
|
descriptionParts: e.descriptionParts.filter(Y)
|
|
1533
1576
|
}));
|
|
1534
|
-
return /* @__PURE__ */
|
|
1535
|
-
style:
|
|
1536
|
-
children: [/* @__PURE__ */
|
|
1577
|
+
return /* @__PURE__ */ T("div", {
|
|
1578
|
+
style: sn,
|
|
1579
|
+
children: [/* @__PURE__ */ w(S, {
|
|
1537
1580
|
component: "h2",
|
|
1538
1581
|
variant: "h3",
|
|
1539
1582
|
children: "歷程"
|
|
1540
|
-
}), d.length > 0 ? /* @__PURE__ */
|
|
1583
|
+
}), d.length > 0 ? /* @__PURE__ */ w(x, {
|
|
1541
1584
|
currentStep: u,
|
|
1542
1585
|
orientation: "vertical",
|
|
1543
1586
|
type: "dot",
|
|
1544
|
-
children: d.map((e) => /* @__PURE__ */
|
|
1587
|
+
children: d.map((e) => /* @__PURE__ */ w(pn, {
|
|
1545
1588
|
descriptionParts: e.descriptionParts,
|
|
1546
1589
|
error: e.error,
|
|
1547
1590
|
forcePending: e.forcePending,
|
|
1548
1591
|
title: e.title
|
|
1549
1592
|
}, e.id))
|
|
1550
|
-
}) : /* @__PURE__ */
|
|
1593
|
+
}) : /* @__PURE__ */ w(S, {
|
|
1551
1594
|
color: "text-neutral",
|
|
1552
1595
|
variant: "body",
|
|
1553
1596
|
children: "尚無歷程紀錄。"
|
|
@@ -1556,30 +1599,30 @@ function un({ activityLogs: e, instanceState: t, memberProfilesById: n, signatur
|
|
|
1556
1599
|
}
|
|
1557
1600
|
//#endregion
|
|
1558
1601
|
//#region src/views/instances/detail/sections/InstanceWebhookDeliveriesSection.tsx
|
|
1559
|
-
var
|
|
1602
|
+
var gn = {
|
|
1560
1603
|
display: "grid",
|
|
1561
1604
|
gap: 16
|
|
1562
|
-
},
|
|
1605
|
+
}, _n = {
|
|
1563
1606
|
display: "grid",
|
|
1564
1607
|
gap: 2
|
|
1565
|
-
},
|
|
1608
|
+
}, vn = {
|
|
1566
1609
|
overflowWrap: "anywhere",
|
|
1567
1610
|
whiteSpace: "pre-wrap"
|
|
1568
1611
|
};
|
|
1569
|
-
function
|
|
1570
|
-
let [r, i] =
|
|
1612
|
+
function yn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
1613
|
+
let [r, i] = m(null), [a, o] = m(!1), [s, c] = m(null), l = f(() => e.map((e) => ({
|
|
1571
1614
|
delivery: e,
|
|
1572
1615
|
key: e.id
|
|
1573
|
-
})), [e]), u =
|
|
1616
|
+
})), [e]), u = f(() => [
|
|
1574
1617
|
{
|
|
1575
1618
|
key: "endpoint",
|
|
1576
|
-
render: ({ delivery: e }) => /* @__PURE__ */
|
|
1577
|
-
style:
|
|
1578
|
-
children: [/* @__PURE__ */
|
|
1619
|
+
render: ({ delivery: e }) => /* @__PURE__ */ T("div", {
|
|
1620
|
+
style: _n,
|
|
1621
|
+
children: [/* @__PURE__ */ w(S, {
|
|
1579
1622
|
component: "span",
|
|
1580
1623
|
variant: "body",
|
|
1581
1624
|
children: e.endpointLabel ?? e.endpointKey
|
|
1582
|
-
}), /* @__PURE__ */
|
|
1625
|
+
}), /* @__PURE__ */ T(S, {
|
|
1583
1626
|
color: "text-neutral",
|
|
1584
1627
|
component: "span",
|
|
1585
1628
|
variant: "caption",
|
|
@@ -1598,13 +1641,13 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1598
1641
|
},
|
|
1599
1642
|
{
|
|
1600
1643
|
key: "status",
|
|
1601
|
-
render: ({ delivery: e }) => /* @__PURE__ */
|
|
1644
|
+
render: ({ delivery: e }) => /* @__PURE__ */ w(bn, { status: e.status }),
|
|
1602
1645
|
title: "狀態",
|
|
1603
1646
|
width: 120
|
|
1604
1647
|
},
|
|
1605
1648
|
{
|
|
1606
1649
|
key: "attemptCount",
|
|
1607
|
-
render: ({ delivery: e }) => /* @__PURE__ */
|
|
1650
|
+
render: ({ delivery: e }) => /* @__PURE__ */ w(S, {
|
|
1608
1651
|
component: "span",
|
|
1609
1652
|
variant: "body",
|
|
1610
1653
|
children: e.attemptCount
|
|
@@ -1614,21 +1657,21 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1614
1657
|
},
|
|
1615
1658
|
{
|
|
1616
1659
|
key: "lastError",
|
|
1617
|
-
render: ({ delivery: e }) => e.lastErrorCode && e.status !== "SENT" ? /* @__PURE__ */
|
|
1618
|
-
style:
|
|
1619
|
-
children: [/* @__PURE__ */
|
|
1660
|
+
render: ({ delivery: e }) => e.lastErrorCode && e.status !== "SENT" ? /* @__PURE__ */ T("div", {
|
|
1661
|
+
style: _n,
|
|
1662
|
+
children: [/* @__PURE__ */ w(S, {
|
|
1620
1663
|
color: "text-error",
|
|
1621
1664
|
component: "span",
|
|
1622
1665
|
variant: "body",
|
|
1623
1666
|
children: e.lastErrorCode
|
|
1624
|
-
}), e.lastErrorDetail ? /* @__PURE__ */
|
|
1667
|
+
}), e.lastErrorDetail ? /* @__PURE__ */ w(S, {
|
|
1625
1668
|
color: "text-neutral",
|
|
1626
1669
|
component: "span",
|
|
1627
|
-
style:
|
|
1670
|
+
style: vn,
|
|
1628
1671
|
variant: "caption",
|
|
1629
1672
|
children: e.lastErrorDetail
|
|
1630
1673
|
}) : null]
|
|
1631
|
-
}) : /* @__PURE__ */
|
|
1674
|
+
}) : /* @__PURE__ */ w(S, {
|
|
1632
1675
|
color: "text-neutral",
|
|
1633
1676
|
component: "span",
|
|
1634
1677
|
variant: "body",
|
|
@@ -1639,18 +1682,18 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1639
1682
|
},
|
|
1640
1683
|
{
|
|
1641
1684
|
key: "time",
|
|
1642
|
-
render: ({ delivery: e }) => /* @__PURE__ */
|
|
1685
|
+
render: ({ delivery: e }) => /* @__PURE__ */ w(S, {
|
|
1643
1686
|
component: "span",
|
|
1644
1687
|
variant: "body",
|
|
1645
|
-
children:
|
|
1688
|
+
children: xn(e)
|
|
1646
1689
|
}),
|
|
1647
1690
|
title: "時間",
|
|
1648
1691
|
width: 220
|
|
1649
1692
|
}
|
|
1650
|
-
], [n]),
|
|
1693
|
+
], [n]), d = f(() => ({
|
|
1651
1694
|
render: ({ delivery: e }) => e.status === "FAILED" && e.attemptCount > 0 ? [{
|
|
1652
1695
|
disabled: () => a,
|
|
1653
|
-
icon:
|
|
1696
|
+
icon: Ne,
|
|
1654
1697
|
iconType: "leading",
|
|
1655
1698
|
name: "重新傳送",
|
|
1656
1699
|
onClick: () => {
|
|
@@ -1660,7 +1703,7 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1660
1703
|
variant: "base-secondary",
|
|
1661
1704
|
width: 140
|
|
1662
1705
|
}), [a]);
|
|
1663
|
-
async function
|
|
1706
|
+
async function p() {
|
|
1664
1707
|
if (r) {
|
|
1665
1708
|
o(!0), c(null);
|
|
1666
1709
|
try {
|
|
@@ -1672,30 +1715,30 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1672
1715
|
}
|
|
1673
1716
|
}
|
|
1674
1717
|
}
|
|
1675
|
-
return /* @__PURE__ */
|
|
1676
|
-
style:
|
|
1718
|
+
return /* @__PURE__ */ T("div", {
|
|
1719
|
+
style: gn,
|
|
1677
1720
|
children: [
|
|
1678
|
-
/* @__PURE__ */
|
|
1721
|
+
/* @__PURE__ */ w(S, {
|
|
1679
1722
|
component: "h2",
|
|
1680
1723
|
variant: "h3",
|
|
1681
1724
|
children: "外部系統通知"
|
|
1682
1725
|
}),
|
|
1683
|
-
s ? /* @__PURE__ */
|
|
1726
|
+
s ? /* @__PURE__ */ w(S, {
|
|
1684
1727
|
color: "text-error",
|
|
1685
1728
|
variant: "body",
|
|
1686
1729
|
children: s
|
|
1687
1730
|
}) : null,
|
|
1688
|
-
l.length > 0 ? /* @__PURE__ */
|
|
1689
|
-
actions:
|
|
1731
|
+
l.length > 0 ? /* @__PURE__ */ w(re, {
|
|
1732
|
+
actions: d,
|
|
1690
1733
|
columns: u,
|
|
1691
1734
|
dataSource: l,
|
|
1692
1735
|
fullWidth: !0
|
|
1693
|
-
}) : /* @__PURE__ */
|
|
1736
|
+
}) : /* @__PURE__ */ w(S, {
|
|
1694
1737
|
color: "text-neutral",
|
|
1695
1738
|
variant: "body",
|
|
1696
1739
|
children: "此案件沒有外部系統通知。"
|
|
1697
1740
|
}),
|
|
1698
|
-
/* @__PURE__ */
|
|
1741
|
+
/* @__PURE__ */ w(_, {
|
|
1699
1742
|
cancelText: "取消",
|
|
1700
1743
|
confirmText: "重新傳送",
|
|
1701
1744
|
loading: a,
|
|
@@ -1703,13 +1746,13 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1703
1746
|
modalType: "standard",
|
|
1704
1747
|
onCancel: () => i(null),
|
|
1705
1748
|
onClose: () => i(null),
|
|
1706
|
-
onConfirm: () => void
|
|
1749
|
+
onConfirm: () => void p(),
|
|
1707
1750
|
open: !!r,
|
|
1708
1751
|
showModalFooter: !0,
|
|
1709
1752
|
showModalHeader: !0,
|
|
1710
1753
|
supportingText: "會以相同的投遞編號重新送出,接收端可據此避免重複處理。",
|
|
1711
1754
|
title: "重新傳送通知",
|
|
1712
|
-
children: /* @__PURE__ */
|
|
1755
|
+
children: /* @__PURE__ */ T(S, {
|
|
1713
1756
|
variant: "body",
|
|
1714
1757
|
children: [
|
|
1715
1758
|
"確定要重新通知「",
|
|
@@ -1721,30 +1764,30 @@ function mn({ deliveries: e, onRetry: t, readNodeLabel: n }) {
|
|
|
1721
1764
|
]
|
|
1722
1765
|
});
|
|
1723
1766
|
}
|
|
1724
|
-
function
|
|
1725
|
-
return e === "SENT" ? /* @__PURE__ */
|
|
1767
|
+
function bn({ status: e }) {
|
|
1768
|
+
return e === "SENT" ? /* @__PURE__ */ w(h, {
|
|
1726
1769
|
size: "sub",
|
|
1727
1770
|
text: "已送達",
|
|
1728
1771
|
variant: "dot-success"
|
|
1729
|
-
}) : e === "FAILED" ? /* @__PURE__ */
|
|
1772
|
+
}) : e === "FAILED" ? /* @__PURE__ */ w(h, {
|
|
1730
1773
|
size: "sub",
|
|
1731
1774
|
text: "失敗",
|
|
1732
1775
|
variant: "dot-error"
|
|
1733
|
-
}) : /* @__PURE__ */
|
|
1776
|
+
}) : /* @__PURE__ */ w(h, {
|
|
1734
1777
|
size: "sub",
|
|
1735
1778
|
text: e === "PENDING" ? "等待傳送" : "傳送中",
|
|
1736
1779
|
variant: "dot-info"
|
|
1737
1780
|
});
|
|
1738
1781
|
}
|
|
1739
|
-
function
|
|
1782
|
+
function xn(e) {
|
|
1740
1783
|
return e.sentAt ? `送達:${t(e.sentAt)}` : e.status === "PENDING" && e.nextRetryAt ? `下次重試:${t(e.nextRetryAt)}` : e.lastAttemptAt ? `最後嘗試:${t(e.lastAttemptAt)}` : `建立:${t(e.createdAt)}`;
|
|
1741
1784
|
}
|
|
1742
1785
|
//#endregion
|
|
1743
1786
|
//#region src/views/instances/detail/InstanceDetailView.tsx
|
|
1744
|
-
var
|
|
1787
|
+
var Sn = 3e3, Cn = 40, wn = 184, Tn = 96, En = {
|
|
1745
1788
|
display: "grid",
|
|
1746
1789
|
gap: 16
|
|
1747
|
-
},
|
|
1790
|
+
}, Dn = {
|
|
1748
1791
|
background: "#f8fafc",
|
|
1749
1792
|
border: "1px solid #e2e8f0",
|
|
1750
1793
|
borderRadius: 8,
|
|
@@ -1752,7 +1795,7 @@ var _n = 3e3, vn = 40, yn = 184, bn = 96, xn = {
|
|
|
1752
1795
|
minHeight: 440,
|
|
1753
1796
|
overflow: "hidden",
|
|
1754
1797
|
width: "min(80vw, 1040px)"
|
|
1755
|
-
},
|
|
1798
|
+
}, On = {
|
|
1756
1799
|
background: "#ffffff",
|
|
1757
1800
|
border: "1px solid #cbd5e1",
|
|
1758
1801
|
borderRadius: 8,
|
|
@@ -1762,24 +1805,24 @@ var _n = 3e3, vn = 40, yn = 184, bn = 96, xn = {
|
|
|
1762
1805
|
minHeight: 82,
|
|
1763
1806
|
padding: 12,
|
|
1764
1807
|
width: 184
|
|
1765
|
-
},
|
|
1808
|
+
}, kn = {
|
|
1766
1809
|
borderRadius: 999,
|
|
1767
1810
|
fontSize: 12,
|
|
1768
1811
|
fontWeight: 600,
|
|
1769
1812
|
justifySelf: "start",
|
|
1770
1813
|
lineHeight: "18px",
|
|
1771
1814
|
padding: "0 8px"
|
|
1772
|
-
},
|
|
1815
|
+
}, An = {
|
|
1773
1816
|
color: "#64748b",
|
|
1774
1817
|
fontSize: 12,
|
|
1775
1818
|
overflow: "hidden",
|
|
1776
1819
|
textOverflow: "ellipsis",
|
|
1777
1820
|
whiteSpace: "nowrap"
|
|
1778
|
-
},
|
|
1821
|
+
}, jn = { opacity: 0 }, Mn = {
|
|
1779
1822
|
display: "flex",
|
|
1780
1823
|
flexWrap: "wrap",
|
|
1781
1824
|
gap: 8
|
|
1782
|
-
},
|
|
1825
|
+
}, Nn = {
|
|
1783
1826
|
alignItems: "center",
|
|
1784
1827
|
background: "#ffffff",
|
|
1785
1828
|
border: "1px solid #cbd5e1",
|
|
@@ -1791,29 +1834,29 @@ var _n = 3e3, vn = 40, yn = 184, bn = 96, xn = {
|
|
|
1791
1834
|
gap: 6,
|
|
1792
1835
|
lineHeight: "20px",
|
|
1793
1836
|
padding: "4px 8px"
|
|
1794
|
-
},
|
|
1837
|
+
}, Pn = {
|
|
1795
1838
|
display: "grid",
|
|
1796
1839
|
gap: 16
|
|
1797
|
-
},
|
|
1798
|
-
function
|
|
1799
|
-
let { member:
|
|
1800
|
-
|
|
1840
|
+
}, Fn = { workflowRuntime: Gn };
|
|
1841
|
+
function In({ instanceId: i, showAttachments: o = !0, showForm: s = !0, showHistory: c = !0, showSignatures: d = !0, showTasks: ee = !0, showWebhookDeliveries: h = !0 }) {
|
|
1842
|
+
let { member: te } = e(), b = te?.memberId ?? null, x = h && r(te), [re, ae] = m([]), [E, se] = m(null), [ce, le] = m([]), [fe, ve] = m([]), [ye, be] = m([]), [Ce, D] = m([]), [De, ke] = m(null), [O, Ne] = m([]), [Ie, Le] = m([]), [Be, Ue] = m([]), [A, j] = m(null), [Ge, Ke] = m(!0), [M, N] = m(!1), [qe, Je] = m(!1), [Ye, P] = m(""), [F, I] = m(!1), [Xe, L] = m({}), [R, $e] = m({}), [et, z] = m({}), [B, tt] = m(null), [H, nt] = m(null), [rt, it] = m([]), ot = Ye.trim(), W = p(null), G = p(0), K = Ce.some((e) => e.status === "PENDING" || e.status === "DELIVERY_IN_PROGRESS");
|
|
1843
|
+
u(() => {
|
|
1801
1844
|
Z();
|
|
1802
|
-
}, [
|
|
1803
|
-
if (!
|
|
1845
|
+
}, [b, i]), u(() => {
|
|
1846
|
+
if (!x || !K || G.current >= Cn) return;
|
|
1804
1847
|
let e = setTimeout(() => {
|
|
1805
|
-
|
|
1806
|
-
},
|
|
1848
|
+
G.current += 1, Ct();
|
|
1849
|
+
}, Sn);
|
|
1807
1850
|
return () => clearTimeout(e);
|
|
1808
1851
|
}, [
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
]),
|
|
1813
|
-
|
|
1814
|
-
}, [
|
|
1815
|
-
let
|
|
1816
|
-
|
|
1852
|
+
x,
|
|
1853
|
+
K,
|
|
1854
|
+
Ce
|
|
1855
|
+
]), u(() => {
|
|
1856
|
+
$e(E?.formData ?? {}), z({});
|
|
1857
|
+
}, [E]);
|
|
1858
|
+
let ct = l((e, t) => {
|
|
1859
|
+
z((n) => {
|
|
1817
1860
|
let r = n[e];
|
|
1818
1861
|
return r?.hasValue === t.hasValue && r.status === t.status ? n : {
|
|
1819
1862
|
...n,
|
|
@@ -1823,356 +1866,360 @@ function jn({ instanceId: a, showAttachments: o = !0, showForm: s = !0, showHist
|
|
|
1823
1866
|
}
|
|
1824
1867
|
};
|
|
1825
1868
|
});
|
|
1826
|
-
}, []),
|
|
1827
|
-
|
|
1869
|
+
}, []), ut = f(() => O.find((e) => lt(e, b) && (e.status === "PENDING" || e.status === "IN_PROGRESS")) ?? null, [b, O]), q = f(() => ut && E ? E.workflowSnapshot.nodes.find((e) => e.id === ut.nodeId) ?? null : null, [ut, E]), dt = q?.type === "userTask" && q.data.returnBehavior.allowReturn, ft = q?.type === "userTask" && q.data.allowReject !== !1, pt = q?.type === "userTask" && q.data.allowTransfer !== !1, mt = q?.type === "userTask" && q.data.allowAddSigner, J = !(!E || E.initiatorMemberId !== b || E.state !== "RUNNING" && E.state !== "RETURNED"), ht = !!(E && E.initiatorMemberId === b && E.state === "RETURNED"), gt = f(() => new Map(Be.map((e) => [e.memberId, e])), [Be]), Y = f(() => Bt(ce), [ce]), _t = f(() => new Map(ye.map((e) => [e.id, e])), [ye]), X = f(() => E ? Vn(E.workflowSnapshot) : null, [E]), vt = f(() => E && X ? Bn(X, O, Ie, E.state) : [], [
|
|
1870
|
+
E,
|
|
1828
1871
|
X,
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
]),
|
|
1872
|
+
O,
|
|
1873
|
+
Ie
|
|
1874
|
+
]), yt = f(() => X ? Hn(X) : [], [X]), bt = f(() => E ? Rn(E.workflowSnapshot) : [], [E]);
|
|
1832
1875
|
async function Z() {
|
|
1833
|
-
|
|
1876
|
+
Ke(!0), j(null);
|
|
1834
1877
|
try {
|
|
1835
|
-
let e = await
|
|
1836
|
-
|
|
1837
|
-
let t = await
|
|
1838
|
-
|
|
1839
|
-
|
|
1878
|
+
let e = await me(i);
|
|
1879
|
+
ae(e.activityLogs), se(e.instance), Ne(e.tasks), Le(e.workflowTokens);
|
|
1880
|
+
let t = await ue(e.instance.id), [n, r, a, o, s] = await Promise.all([
|
|
1881
|
+
zt(e.tasks),
|
|
1882
|
+
Lt({
|
|
1840
1883
|
...e,
|
|
1841
1884
|
adhocDirectives: t
|
|
1842
1885
|
}),
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1886
|
+
de(e.instance.id),
|
|
1887
|
+
_e(e.instance.id),
|
|
1888
|
+
xt(e.instance.id)
|
|
1846
1889
|
]);
|
|
1847
|
-
|
|
1890
|
+
le(n), Ue(r), ve(a), be(o.signatures), ke(o.verification), it(t), D(s);
|
|
1848
1891
|
} catch (e) {
|
|
1849
|
-
|
|
1892
|
+
j(U(e));
|
|
1850
1893
|
} finally {
|
|
1851
|
-
|
|
1894
|
+
Ke(!1);
|
|
1852
1895
|
}
|
|
1853
1896
|
}
|
|
1854
|
-
async function
|
|
1855
|
-
return
|
|
1897
|
+
async function xt(e) {
|
|
1898
|
+
return x ? pe(e).catch(() => []) : [];
|
|
1856
1899
|
}
|
|
1857
|
-
async function
|
|
1858
|
-
await
|
|
1900
|
+
async function St(e) {
|
|
1901
|
+
await Se(e.id), G.current = 0, await Z();
|
|
1859
1902
|
}
|
|
1860
|
-
async function
|
|
1861
|
-
let e = await
|
|
1903
|
+
async function Ct() {
|
|
1904
|
+
let e = await xt(i);
|
|
1862
1905
|
if (!e.some((e) => e.status === "PENDING" || e.status === "DELIVERY_IN_PROGRESS")) {
|
|
1863
1906
|
await Z();
|
|
1864
1907
|
return;
|
|
1865
1908
|
}
|
|
1866
|
-
|
|
1909
|
+
D(e);
|
|
1867
1910
|
}
|
|
1868
|
-
async function
|
|
1869
|
-
if (!
|
|
1870
|
-
return { id: (await
|
|
1911
|
+
async function Q(e, t) {
|
|
1912
|
+
if (!b) throw Error("尚未登入,無法上傳附件");
|
|
1913
|
+
return { id: (await we({
|
|
1871
1914
|
file: t,
|
|
1872
1915
|
formFieldPath: `form.${e.fieldKey}`
|
|
1873
1916
|
})).id };
|
|
1874
1917
|
}
|
|
1875
|
-
async function
|
|
1876
|
-
if (!
|
|
1877
|
-
let t = await
|
|
1918
|
+
async function wt(e) {
|
|
1919
|
+
if (!b) return;
|
|
1920
|
+
let t = await he({ id: e.id });
|
|
1878
1921
|
window.open(t, "_blank", "noopener,noreferrer");
|
|
1879
1922
|
}
|
|
1880
|
-
async function
|
|
1881
|
-
if (!
|
|
1882
|
-
let t = await
|
|
1883
|
-
|
|
1923
|
+
async function Tt(e) {
|
|
1924
|
+
if (!b) return;
|
|
1925
|
+
let t = await ge({ id: e.id });
|
|
1926
|
+
tt(e), nt(t);
|
|
1884
1927
|
}
|
|
1885
|
-
async function
|
|
1886
|
-
if (
|
|
1887
|
-
|
|
1928
|
+
async function Et() {
|
|
1929
|
+
if (b && E && J) {
|
|
1930
|
+
N(!0), j(null), L({});
|
|
1888
1931
|
try {
|
|
1889
|
-
await
|
|
1890
|
-
cancelledByMemberId:
|
|
1891
|
-
comment:
|
|
1892
|
-
instanceId:
|
|
1893
|
-
}),
|
|
1932
|
+
await oe({
|
|
1933
|
+
cancelledByMemberId: b,
|
|
1934
|
+
comment: ot || null,
|
|
1935
|
+
instanceId: E.id
|
|
1936
|
+
}), P(""), I(!1), await Z();
|
|
1894
1937
|
} catch (e) {
|
|
1895
|
-
|
|
1938
|
+
j(U(e));
|
|
1896
1939
|
} finally {
|
|
1897
|
-
|
|
1940
|
+
N(!1);
|
|
1898
1941
|
}
|
|
1899
1942
|
}
|
|
1900
1943
|
}
|
|
1901
|
-
async function
|
|
1902
|
-
if (!
|
|
1903
|
-
|
|
1904
|
-
let e =
|
|
1944
|
+
async function Dt() {
|
|
1945
|
+
if (!b || !E || !ht) return;
|
|
1946
|
+
N(!0), j(null), L({});
|
|
1947
|
+
let e = a(Object.values(et));
|
|
1905
1948
|
if (e) {
|
|
1906
|
-
|
|
1949
|
+
j(e), N(!1);
|
|
1907
1950
|
return;
|
|
1908
1951
|
}
|
|
1909
|
-
let t =
|
|
1910
|
-
if (
|
|
1911
|
-
let e =
|
|
1912
|
-
schema:
|
|
1913
|
-
uiSchema:
|
|
1952
|
+
let t = E.formDefinitionSnapshot.schema ? Re(E.formDefinitionSnapshot.schema.fields, R) : R;
|
|
1953
|
+
if (E.formDefinitionSnapshot.schema && E.formDefinitionSnapshot.uiSchema) {
|
|
1954
|
+
let e = Ve({
|
|
1955
|
+
schema: E.formDefinitionSnapshot.schema,
|
|
1956
|
+
uiSchema: E.formDefinitionSnapshot.uiSchema,
|
|
1914
1957
|
values: t
|
|
1915
1958
|
});
|
|
1916
1959
|
if (!e.valid) {
|
|
1917
|
-
|
|
1960
|
+
L(e.errors), j("請先補齊必填欄位。"), e.firstInvalidFieldKey && ze(e.firstInvalidFieldKey), N(!1);
|
|
1918
1961
|
return;
|
|
1919
1962
|
}
|
|
1920
1963
|
}
|
|
1921
1964
|
try {
|
|
1922
|
-
await
|
|
1965
|
+
await xe({
|
|
1923
1966
|
formData: t,
|
|
1924
|
-
initiatorMemberId:
|
|
1925
|
-
instanceId:
|
|
1926
|
-
title:
|
|
1967
|
+
initiatorMemberId: b,
|
|
1968
|
+
instanceId: E.id,
|
|
1969
|
+
title: E.title
|
|
1927
1970
|
}), await Z();
|
|
1928
1971
|
} catch (e) {
|
|
1929
|
-
|
|
1972
|
+
j(U(e));
|
|
1930
1973
|
} finally {
|
|
1931
|
-
|
|
1974
|
+
N(!1);
|
|
1932
1975
|
}
|
|
1933
1976
|
}
|
|
1934
|
-
let
|
|
1935
|
-
return /* @__PURE__ */
|
|
1936
|
-
/* @__PURE__ */
|
|
1937
|
-
description:
|
|
1938
|
-
|
|
1977
|
+
let Ot = W.current?.deciding ?? !1, $ = M || Ot;
|
|
1978
|
+
return /* @__PURE__ */ T(C, { children: [
|
|
1979
|
+
/* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(Te, {
|
|
1980
|
+
description: E ? [
|
|
1981
|
+
at(E.state),
|
|
1982
|
+
t(E.startedAt),
|
|
1983
|
+
Qe(E, gt)
|
|
1984
|
+
].filter(V).join(" · ") : "載入案件內容。",
|
|
1985
|
+
title: E?.title ?? "簽核案件",
|
|
1939
1986
|
children: [
|
|
1940
|
-
|
|
1987
|
+
E ? /* @__PURE__ */ w(g, {
|
|
1941
1988
|
"aria-label": "查看流程圖",
|
|
1942
|
-
icon:
|
|
1989
|
+
icon: Pe,
|
|
1943
1990
|
iconType: "icon-only",
|
|
1944
|
-
onClick: () =>
|
|
1991
|
+
onClick: () => Je(!0),
|
|
1945
1992
|
title: "查看流程圖",
|
|
1946
1993
|
variant: "base-secondary",
|
|
1947
1994
|
children: "流程圖"
|
|
1948
1995
|
}) : null,
|
|
1949
|
-
|
|
1996
|
+
J ? /* @__PURE__ */ w(g, {
|
|
1950
1997
|
disabled: $,
|
|
1951
|
-
icon:
|
|
1998
|
+
icon: Oe,
|
|
1952
1999
|
iconType: "leading",
|
|
1953
|
-
onClick: () =>
|
|
2000
|
+
onClick: () => I(!0),
|
|
1954
2001
|
variant: "destructive-secondary",
|
|
1955
2002
|
children: "取消案件"
|
|
1956
2003
|
}) : null,
|
|
1957
|
-
|
|
1958
|
-
|
|
2004
|
+
ut ? /* @__PURE__ */ T(C, { children: [
|
|
2005
|
+
mt ? /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(g, {
|
|
1959
2006
|
disabled: $,
|
|
1960
|
-
icon:
|
|
2007
|
+
icon: je,
|
|
1961
2008
|
iconType: "leading",
|
|
1962
|
-
onClick: () =>
|
|
2009
|
+
onClick: () => W.current?.openAdhocModal("COUNTERSIGN"),
|
|
1963
2010
|
variant: "base-secondary",
|
|
1964
2011
|
children: "會簽"
|
|
1965
|
-
}, "adhoc-countersign"), /* @__PURE__ */
|
|
2012
|
+
}, "adhoc-countersign"), /* @__PURE__ */ w(g, {
|
|
1966
2013
|
disabled: $,
|
|
1967
|
-
icon:
|
|
2014
|
+
icon: je,
|
|
1968
2015
|
iconType: "leading",
|
|
1969
|
-
onClick: () =>
|
|
2016
|
+
onClick: () => W.current?.openAdhocModal("PRE_APPROVAL"),
|
|
1970
2017
|
variant: "base-secondary",
|
|
1971
2018
|
children: "加簽"
|
|
1972
2019
|
}, "adhoc-pre-approval")] }) : null,
|
|
1973
|
-
/* @__PURE__ */
|
|
2020
|
+
/* @__PURE__ */ w(g, {
|
|
1974
2021
|
disabled: $,
|
|
1975
|
-
icon:
|
|
2022
|
+
icon: Ae,
|
|
1976
2023
|
iconType: "leading",
|
|
1977
|
-
onClick: () =>
|
|
2024
|
+
onClick: () => W.current?.openAdhocModal("STAGE_NOTIFY"),
|
|
1978
2025
|
variant: "base-secondary",
|
|
1979
2026
|
children: "通知設定"
|
|
1980
2027
|
}, "adhoc-notify"),
|
|
1981
|
-
|
|
2028
|
+
dt ? /* @__PURE__ */ w(g, {
|
|
1982
2029
|
disabled: $,
|
|
1983
|
-
icon:
|
|
2030
|
+
icon: Me,
|
|
1984
2031
|
iconType: "leading",
|
|
1985
|
-
onClick: () =>
|
|
2032
|
+
onClick: () => W.current?.openReturnModal(),
|
|
1986
2033
|
variant: "base-secondary",
|
|
1987
2034
|
children: "退回"
|
|
1988
2035
|
}, "task-return") : null,
|
|
1989
|
-
|
|
2036
|
+
pt ? /* @__PURE__ */ w(g, {
|
|
1990
2037
|
disabled: $,
|
|
1991
|
-
icon:
|
|
2038
|
+
icon: Fe,
|
|
1992
2039
|
iconType: "leading",
|
|
1993
|
-
onClick: () =>
|
|
2040
|
+
onClick: () => W.current?.openTransferModal(),
|
|
1994
2041
|
variant: "base-secondary",
|
|
1995
2042
|
children: "轉派"
|
|
1996
2043
|
}, "task-transfer") : null,
|
|
1997
|
-
|
|
2044
|
+
ft ? /* @__PURE__ */ w(g, {
|
|
1998
2045
|
disabled: $,
|
|
1999
|
-
icon:
|
|
2046
|
+
icon: Oe,
|
|
2000
2047
|
iconType: "leading",
|
|
2001
|
-
onClick: () =>
|
|
2048
|
+
onClick: () => W.current?.openRejectModal(),
|
|
2002
2049
|
variant: "destructive-secondary",
|
|
2003
2050
|
children: "拒絕"
|
|
2004
2051
|
}, "task-reject") : null,
|
|
2005
|
-
/* @__PURE__ */
|
|
2052
|
+
/* @__PURE__ */ w(g, {
|
|
2006
2053
|
disabled: $,
|
|
2007
|
-
icon:
|
|
2054
|
+
icon: Ee,
|
|
2008
2055
|
iconType: "leading",
|
|
2009
|
-
onClick: () =>
|
|
2056
|
+
onClick: () => W.current?.handleApprove(),
|
|
2010
2057
|
variant: "base-primary",
|
|
2011
2058
|
children: "同意"
|
|
2012
2059
|
}, "task-approve")
|
|
2013
2060
|
] }) : null
|
|
2014
2061
|
]
|
|
2015
2062
|
}) }),
|
|
2016
|
-
/* @__PURE__ */
|
|
2017
|
-
s ? /* @__PURE__ */
|
|
2018
|
-
canResubmitInstance:
|
|
2019
|
-
deciding:
|
|
2020
|
-
error:
|
|
2021
|
-
instance:
|
|
2022
|
-
loading:
|
|
2023
|
-
onDataSourceStateChange:
|
|
2063
|
+
/* @__PURE__ */ T(ne, { children: [
|
|
2064
|
+
s ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(Ut, {
|
|
2065
|
+
canResubmitInstance: ht,
|
|
2066
|
+
deciding: M,
|
|
2067
|
+
error: A,
|
|
2068
|
+
instance: E,
|
|
2069
|
+
loading: Ge,
|
|
2070
|
+
onDataSourceStateChange: ct,
|
|
2024
2071
|
onResubmitFormChange: (e) => {
|
|
2025
|
-
|
|
2072
|
+
$e(e), L({});
|
|
2026
2073
|
},
|
|
2027
|
-
onResubmitInstance: () => void
|
|
2028
|
-
onUploadAttachment:
|
|
2029
|
-
resubmitFormData:
|
|
2030
|
-
resubmitFormErrors:
|
|
2074
|
+
onResubmitInstance: () => void Dt(),
|
|
2075
|
+
onUploadAttachment: Q,
|
|
2076
|
+
resubmitFormData: R,
|
|
2077
|
+
resubmitFormErrors: Xe
|
|
2031
2078
|
}) }) : null,
|
|
2032
|
-
o ? /* @__PURE__ */
|
|
2033
|
-
attachments:
|
|
2079
|
+
o ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(Gt, {
|
|
2080
|
+
attachments: fe,
|
|
2034
2081
|
onDownload: (e) => {
|
|
2035
|
-
|
|
2082
|
+
wt(e);
|
|
2036
2083
|
},
|
|
2037
2084
|
onPreview: (e) => {
|
|
2038
|
-
|
|
2085
|
+
Tt(e);
|
|
2039
2086
|
}
|
|
2040
2087
|
}) }) : null,
|
|
2041
|
-
|
|
2042
|
-
adhocDirectives:
|
|
2043
|
-
currentMemberId:
|
|
2044
|
-
instance:
|
|
2045
|
-
memberProfilesById:
|
|
2088
|
+
ee ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(nn, {
|
|
2089
|
+
adhocDirectives: rt,
|
|
2090
|
+
currentMemberId: b,
|
|
2091
|
+
instance: E,
|
|
2092
|
+
memberProfilesById: gt,
|
|
2046
2093
|
onChanged: Z,
|
|
2047
|
-
ref:
|
|
2048
|
-
tasks:
|
|
2094
|
+
ref: W,
|
|
2095
|
+
tasks: O
|
|
2049
2096
|
}) }) : null,
|
|
2050
|
-
|
|
2051
|
-
signatureVerification:
|
|
2052
|
-
signatures:
|
|
2097
|
+
d ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(on, {
|
|
2098
|
+
signatureVerification: De,
|
|
2099
|
+
signatures: ye
|
|
2053
2100
|
}) }) : null,
|
|
2054
|
-
|
|
2055
|
-
deliveries:
|
|
2056
|
-
onRetry:
|
|
2057
|
-
readNodeLabel: (e) =>
|
|
2101
|
+
x && Ce.length > 0 ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(yn, {
|
|
2102
|
+
deliveries: Ce,
|
|
2103
|
+
onRetry: St,
|
|
2104
|
+
readNodeLabel: (e) => st(e, E?.workflowSnapshot ?? null)
|
|
2058
2105
|
}) }) : null,
|
|
2059
|
-
|
|
2106
|
+
c ? /* @__PURE__ */ w(y, { children: /* @__PURE__ */ w(hn, {
|
|
2060
2107
|
activityLogs: re,
|
|
2061
|
-
instanceState:
|
|
2062
|
-
memberProfilesById:
|
|
2063
|
-
signatureVerification:
|
|
2064
|
-
signaturesById:
|
|
2065
|
-
taskDecisionsByTaskId:
|
|
2066
|
-
tasks:
|
|
2067
|
-
workflowSnapshot:
|
|
2068
|
-
workflowTokens:
|
|
2108
|
+
instanceState: E?.state ?? "RUNNING",
|
|
2109
|
+
memberProfilesById: gt,
|
|
2110
|
+
signatureVerification: De,
|
|
2111
|
+
signaturesById: _t,
|
|
2112
|
+
taskDecisionsByTaskId: Y,
|
|
2113
|
+
tasks: O,
|
|
2114
|
+
workflowSnapshot: E?.workflowSnapshot ?? null,
|
|
2115
|
+
workflowTokens: Ie
|
|
2069
2116
|
}) }) : null
|
|
2070
2117
|
] }),
|
|
2071
|
-
|
|
2118
|
+
E ? /* @__PURE__ */ w(_, {
|
|
2072
2119
|
modalType: "standard",
|
|
2073
|
-
onClose: () =>
|
|
2074
|
-
open:
|
|
2120
|
+
onClose: () => Je(!1),
|
|
2121
|
+
open: qe,
|
|
2075
2122
|
showModalHeader: !0,
|
|
2076
2123
|
size: "wide",
|
|
2077
|
-
supportingText: `${
|
|
2124
|
+
supportingText: `${at(E.state)} · ${t(E.startedAt)}`,
|
|
2078
2125
|
title: "流程圖",
|
|
2079
|
-
children: /* @__PURE__ */
|
|
2080
|
-
style:
|
|
2081
|
-
children: [/* @__PURE__ */
|
|
2082
|
-
style:
|
|
2083
|
-
children: /* @__PURE__ */
|
|
2084
|
-
edges:
|
|
2126
|
+
children: /* @__PURE__ */ T("div", {
|
|
2127
|
+
style: En,
|
|
2128
|
+
children: [/* @__PURE__ */ w("div", {
|
|
2129
|
+
style: Dn,
|
|
2130
|
+
children: /* @__PURE__ */ T(We, {
|
|
2131
|
+
edges: yt,
|
|
2085
2132
|
fitView: !0,
|
|
2086
2133
|
fitViewOptions: { padding: .18 },
|
|
2087
2134
|
maxZoom: 1.2,
|
|
2088
2135
|
minZoom: .2,
|
|
2089
|
-
nodes:
|
|
2136
|
+
nodes: vt,
|
|
2090
2137
|
nodesDraggable: !1,
|
|
2091
2138
|
nodesFocusable: !1,
|
|
2092
|
-
nodeTypes:
|
|
2139
|
+
nodeTypes: Fn,
|
|
2093
2140
|
panOnDrag: !0,
|
|
2094
2141
|
proOptions: { hideAttribution: !0 },
|
|
2095
|
-
children: [/* @__PURE__ */
|
|
2142
|
+
children: [/* @__PURE__ */ w(k, {}), /* @__PURE__ */ w(He, { showInteractive: !1 })]
|
|
2096
2143
|
})
|
|
2097
|
-
}),
|
|
2098
|
-
style:
|
|
2099
|
-
children:
|
|
2100
|
-
style:
|
|
2144
|
+
}), bt.length > 0 ? /* @__PURE__ */ w("div", {
|
|
2145
|
+
style: Mn,
|
|
2146
|
+
children: bt.map((e) => /* @__PURE__ */ w("span", {
|
|
2147
|
+
style: Nn,
|
|
2101
2148
|
children: e
|
|
2102
2149
|
}, e))
|
|
2103
2150
|
}) : null]
|
|
2104
2151
|
})
|
|
2105
2152
|
}) : null,
|
|
2106
|
-
/* @__PURE__ */
|
|
2153
|
+
/* @__PURE__ */ w(_, {
|
|
2107
2154
|
modalType: "standard",
|
|
2108
2155
|
onClose: () => {
|
|
2109
|
-
|
|
2156
|
+
tt(null), nt(null);
|
|
2110
2157
|
},
|
|
2111
|
-
open: !!(
|
|
2158
|
+
open: !!(B && H),
|
|
2112
2159
|
showModalHeader: !0,
|
|
2113
2160
|
size: "wide",
|
|
2114
|
-
supportingText:
|
|
2161
|
+
supportingText: B?.filename ?? void 0,
|
|
2115
2162
|
title: "PDF 預覽",
|
|
2116
|
-
children:
|
|
2117
|
-
filename:
|
|
2118
|
-
fileUrl:
|
|
2119
|
-
onDownload:
|
|
2163
|
+
children: H ? /* @__PURE__ */ w(Ze, {
|
|
2164
|
+
filename: B?.filename ?? "PDF 預覽",
|
|
2165
|
+
fileUrl: H,
|
|
2166
|
+
onDownload: B ? () => void wt(B) : void 0
|
|
2120
2167
|
}) : null
|
|
2121
2168
|
}),
|
|
2122
|
-
/* @__PURE__ */
|
|
2169
|
+
/* @__PURE__ */ w(_, {
|
|
2123
2170
|
cancelText: "保留案件",
|
|
2124
2171
|
confirmButtonProps: { variant: "destructive-primary" },
|
|
2125
2172
|
confirmText: "確認取消",
|
|
2126
|
-
loading:
|
|
2173
|
+
loading: M,
|
|
2127
2174
|
modalStatusType: "error",
|
|
2128
2175
|
modalType: "standard",
|
|
2129
|
-
onCancel: () =>
|
|
2130
|
-
onClose: () =>
|
|
2131
|
-
onConfirm: () => void
|
|
2132
|
-
open:
|
|
2176
|
+
onCancel: () => I(!1),
|
|
2177
|
+
onClose: () => I(!1),
|
|
2178
|
+
onConfirm: () => void Et(),
|
|
2179
|
+
open: F,
|
|
2133
2180
|
showModalFooter: !0,
|
|
2134
2181
|
showModalHeader: !0,
|
|
2135
2182
|
supportingText: "取消後會關閉目前待簽任務與候選簽核人。",
|
|
2136
2183
|
title: "取消案件",
|
|
2137
|
-
children: /* @__PURE__ */
|
|
2138
|
-
style:
|
|
2139
|
-
children: [/* @__PURE__ */
|
|
2184
|
+
children: /* @__PURE__ */ T("div", {
|
|
2185
|
+
style: Pn,
|
|
2186
|
+
children: [/* @__PURE__ */ T(S, {
|
|
2140
2187
|
variant: "body",
|
|
2141
2188
|
children: [
|
|
2142
2189
|
"確定要取消「",
|
|
2143
|
-
|
|
2190
|
+
E?.title ?? "",
|
|
2144
2191
|
"」嗎?"
|
|
2145
2192
|
]
|
|
2146
|
-
}), /* @__PURE__ */
|
|
2193
|
+
}), /* @__PURE__ */ w(n, {
|
|
2147
2194
|
label: "取消原因",
|
|
2148
2195
|
name: "cancelComment",
|
|
2149
|
-
children: /* @__PURE__ */
|
|
2150
|
-
onChange: (e) =>
|
|
2196
|
+
children: /* @__PURE__ */ w(ie, {
|
|
2197
|
+
onChange: (e) => P(e.target.value),
|
|
2151
2198
|
placeholder: "可填寫取消原因",
|
|
2152
2199
|
resize: "vertical",
|
|
2153
2200
|
rows: 3,
|
|
2154
|
-
value:
|
|
2201
|
+
value: Ye
|
|
2155
2202
|
})
|
|
2156
2203
|
})]
|
|
2157
2204
|
})
|
|
2158
2205
|
})
|
|
2159
2206
|
] });
|
|
2160
2207
|
}
|
|
2161
|
-
function
|
|
2208
|
+
function Ln(e) {
|
|
2162
2209
|
return e.data.label ? e.data.label : e.data.isDefault ? "其他情況" : e.data.condition ?? "";
|
|
2163
2210
|
}
|
|
2164
|
-
function
|
|
2165
|
-
return e.edges.map(
|
|
2211
|
+
function Rn(e) {
|
|
2212
|
+
return e.edges.map(Ln).filter((e) => e.trim().length > 0);
|
|
2166
2213
|
}
|
|
2167
|
-
function
|
|
2214
|
+
function zn(e) {
|
|
2168
2215
|
return e === "startEvent" ? "開始" : e === "endEvent" ? "完成" : e === "userTask" ? "簽核節點" : e === "serviceTask" ? "知會節點" : e === "exclusiveGateway" ? "條件分流" : "平行處理";
|
|
2169
2216
|
}
|
|
2170
|
-
function
|
|
2217
|
+
function Bn(e, t, n, r) {
|
|
2171
2218
|
return e.nodes.map((e) => {
|
|
2172
|
-
let i =
|
|
2219
|
+
let i = It(e, t, n, r);
|
|
2173
2220
|
return {
|
|
2174
2221
|
data: {
|
|
2175
|
-
kindLabel:
|
|
2222
|
+
kindLabel: zn(e.type),
|
|
2176
2223
|
label: e.data.label,
|
|
2177
2224
|
secondaryLabel: i.secondaryLabel,
|
|
2178
2225
|
statusLabel: i.statusLabel,
|
|
@@ -2180,42 +2227,42 @@ function Fn(e, t, n, r) {
|
|
|
2180
2227
|
},
|
|
2181
2228
|
id: e.id,
|
|
2182
2229
|
position: e.position,
|
|
2183
|
-
sourcePosition:
|
|
2184
|
-
targetPosition:
|
|
2230
|
+
sourcePosition: A.Right,
|
|
2231
|
+
targetPosition: A.Left,
|
|
2185
2232
|
type: "workflowRuntime"
|
|
2186
2233
|
};
|
|
2187
2234
|
});
|
|
2188
2235
|
}
|
|
2189
|
-
function
|
|
2190
|
-
let t = new
|
|
2236
|
+
function Vn(e) {
|
|
2237
|
+
let t = new j.graphlib.Graph();
|
|
2191
2238
|
return t.setDefaultEdgeLabel(() => ({})), t.setGraph({
|
|
2192
2239
|
nodesep: 56,
|
|
2193
2240
|
rankdir: "LR",
|
|
2194
2241
|
ranksep: 120
|
|
2195
2242
|
}), e.nodes.forEach((e) => {
|
|
2196
2243
|
t.setNode(e.id, {
|
|
2197
|
-
height:
|
|
2198
|
-
width:
|
|
2244
|
+
height: Tn,
|
|
2245
|
+
width: wn
|
|
2199
2246
|
});
|
|
2200
2247
|
}), e.edges.forEach((e) => {
|
|
2201
2248
|
t.setEdge(e.source, e.target);
|
|
2202
|
-
}),
|
|
2249
|
+
}), j.layout(t), {
|
|
2203
2250
|
...e,
|
|
2204
2251
|
nodes: e.nodes.map((e) => {
|
|
2205
2252
|
let n = t.node(e.id);
|
|
2206
2253
|
return n ? {
|
|
2207
2254
|
...e,
|
|
2208
2255
|
position: {
|
|
2209
|
-
x: n.x -
|
|
2210
|
-
y: n.y -
|
|
2256
|
+
x: n.x - wn / 2,
|
|
2257
|
+
y: n.y - Tn / 2
|
|
2211
2258
|
}
|
|
2212
2259
|
} : e;
|
|
2213
2260
|
})
|
|
2214
2261
|
};
|
|
2215
2262
|
}
|
|
2216
|
-
function
|
|
2263
|
+
function Hn(e) {
|
|
2217
2264
|
return e.edges.map((e) => {
|
|
2218
|
-
let t =
|
|
2265
|
+
let t = Ln(e);
|
|
2219
2266
|
return {
|
|
2220
2267
|
animated: !1,
|
|
2221
2268
|
id: e.id,
|
|
@@ -2243,25 +2290,25 @@ function Ln(e) {
|
|
|
2243
2290
|
};
|
|
2244
2291
|
});
|
|
2245
2292
|
}
|
|
2246
|
-
function
|
|
2293
|
+
function Un(e) {
|
|
2247
2294
|
return e === "current" ? {
|
|
2248
|
-
...
|
|
2295
|
+
...On,
|
|
2249
2296
|
border: "1px solid var(--mzn-color-primary, #0057ff)",
|
|
2250
2297
|
boxShadow: "0 0 0 3px rgba(0, 87, 255, 0.14)"
|
|
2251
2298
|
} : e === "completed" ? {
|
|
2252
|
-
...
|
|
2299
|
+
...On,
|
|
2253
2300
|
border: "1px solid #16a34a"
|
|
2254
2301
|
} : e === "cancelled" ? {
|
|
2255
|
-
...
|
|
2302
|
+
...On,
|
|
2256
2303
|
border: "1px solid #dc2626",
|
|
2257
2304
|
opacity: .72
|
|
2258
2305
|
} : e === "waiting" ? {
|
|
2259
|
-
...
|
|
2306
|
+
...On,
|
|
2260
2307
|
border: "1px dashed #64748b"
|
|
2261
|
-
} :
|
|
2308
|
+
} : On;
|
|
2262
2309
|
}
|
|
2263
|
-
function
|
|
2264
|
-
let t =
|
|
2310
|
+
function Wn(e) {
|
|
2311
|
+
let t = kn;
|
|
2265
2312
|
return e === "current" ? {
|
|
2266
2313
|
...t,
|
|
2267
2314
|
background: "#eff6ff",
|
|
@@ -2284,42 +2331,42 @@ function zn(e) {
|
|
|
2284
2331
|
color: "#64748b"
|
|
2285
2332
|
};
|
|
2286
2333
|
}
|
|
2287
|
-
function
|
|
2288
|
-
return /* @__PURE__ */
|
|
2289
|
-
style:
|
|
2334
|
+
function Gn({ data: e }) {
|
|
2335
|
+
return /* @__PURE__ */ T("div", {
|
|
2336
|
+
style: Un(e.tone),
|
|
2290
2337
|
children: [
|
|
2291
|
-
/* @__PURE__ */
|
|
2338
|
+
/* @__PURE__ */ w(Ue, {
|
|
2292
2339
|
isConnectable: !1,
|
|
2293
|
-
position:
|
|
2294
|
-
style:
|
|
2340
|
+
position: A.Left,
|
|
2341
|
+
style: jn,
|
|
2295
2342
|
type: "target"
|
|
2296
2343
|
}),
|
|
2297
|
-
/* @__PURE__ */
|
|
2344
|
+
/* @__PURE__ */ w(S, {
|
|
2298
2345
|
component: "span",
|
|
2299
2346
|
ellipsis: !0,
|
|
2300
2347
|
title: e.label,
|
|
2301
2348
|
variant: "label-primary",
|
|
2302
2349
|
children: e.label
|
|
2303
2350
|
}),
|
|
2304
|
-
/* @__PURE__ */
|
|
2305
|
-
style:
|
|
2351
|
+
/* @__PURE__ */ w("span", {
|
|
2352
|
+
style: Wn(e.tone),
|
|
2306
2353
|
children: e.statusLabel
|
|
2307
2354
|
}),
|
|
2308
|
-
/* @__PURE__ */
|
|
2355
|
+
/* @__PURE__ */ w("span", {
|
|
2309
2356
|
title: e.secondaryLabel,
|
|
2310
|
-
style:
|
|
2357
|
+
style: An,
|
|
2311
2358
|
children: e.secondaryLabel || e.kindLabel
|
|
2312
2359
|
}),
|
|
2313
|
-
/* @__PURE__ */
|
|
2360
|
+
/* @__PURE__ */ w(Ue, {
|
|
2314
2361
|
isConnectable: !1,
|
|
2315
|
-
position:
|
|
2316
|
-
style:
|
|
2362
|
+
position: A.Right,
|
|
2363
|
+
style: jn,
|
|
2317
2364
|
type: "source"
|
|
2318
2365
|
})
|
|
2319
2366
|
]
|
|
2320
2367
|
});
|
|
2321
2368
|
}
|
|
2322
2369
|
//#endregion
|
|
2323
|
-
export {
|
|
2370
|
+
export { nn as a, on as i, yn as n, Gt as o, hn as r, Ut as s, In as t };
|
|
2324
2371
|
|
|
2325
|
-
//# sourceMappingURL=detail-
|
|
2372
|
+
//# sourceMappingURL=detail-_c21WQla.js.map
|